From 09c2faad935a056f650f4c68865c73b6199435bd Mon Sep 17 00:00:00 2001
From: hcornet
Date: Tue, 4 Jul 2023 12:59:44 +0200
Subject: [PATCH] update
---
Active Directory/ADHTMLReports.ps1 | 1732 +
Active Directory/Audit-v3.ps1 | 1372 +
Active Directory/Audit.ps1 | 1658 +
Active Directory/Get-AdComputerInventory.ps1 | 50 +
Active Directory/Get-UserRights.ps1 | 64 +
Active Directory/Import-AdGroups.ps1 | 48 +
Active Directory/Import-AdUsers.ps1 | 52 +
Active Directory/Join-Domain.ps1 | 12 +
Active Directory/New-Domain.ps1 | 25 +
Active Directory/New-UsersHome.ps1 | 50 +
Active Directory/README.md | 11 +
.../Templates/Import-AdGroups.csv | 6 +
Active Directory/Templates/Import-AdUsers.csv | 6 +
Active Directory/Validate-GroupMembership.ps1 | 112 +
Active Directory/creation-automatique.ps1 | 409 +
Ansible/ConfigureRemotingForAnsible.ps1 | 453 +
Applications/AWS-CLI/Force-Update.ps1 | 8 +
.../Acrobat Reader DC/Force-Update.ps1 | 28 +
Applications/Edge/Force-Update.ps1 | 236 +
Applications/Firefox/Force-Update.ps1 | 2175 +
Applications/Flash Player/Force-Remove.ps1 | 126 +
Applications/Java/Force-Update.ps1 | 2268 +
Applications/Notepad++/Force-Update.ps1 | 24 +
Applications/Zoom/Force-Remove.ps1 | 437 +
Azure Active Directory/Get-AadGroups.ps1 | 34 +
Azure Active Directory/Get-MsolUser.ps1 | 12 +
Azure Active Directory/Import-MsolUsers.ps1 | 37 +
Azure Active Directory/MSolLicences.ps1 | 29 +
Azure Active Directory/O365HTMLReport.ps1 | 1370 +
Azure Active Directory/README.md | 1 +
.../Set-MsolUsersPassword.ps1 | 10 +
Azure Active Directory/Set-Upn.ps1 | 17 +
Azure Active Directory/Set-UsersLIcences.ps1 | 26 +
.../Templates/Import-MsolUsers.csv | 6 +
Azure Active Directory/Templates/Set-Upn.csv | 4 +
Centreon/Generation CLAPI.ps1 | 22 +
DNS/Check Server DNS Settings.ps1 | 104 +
Exchange Online/Import-SharedMailbox.ps1 | 33 +
Exchange Online/Init-MailBox.ps1 | 6 +
Exchange Online/Manage-Calendar.ps1 | 39 +
Exchange Online/README.md | 1 +
.../Templates/Import-SharedMailbox.csv | 4 +
Exchange Online/Upload-Pst.ps1 | 16 +
Exchange Online/audit_mail.ps1 | 45 +
Exchange Server/Export-Pst.ps1 | 28 +
Exchange Server/README.md | 1 +
Exchange Server/Restart-ExchServices.ps1 | 9 +
Exchange/ExchangeEnvironmentReport.ps1 | 1133 +
Exchange/Get-ExchangeEnvironmentReport.ps1 | 1143 +
Exchange/Rapports-MailBox.ps1 | 50 +
Exchange/Test-ExchangeServerHealth.ps1 | 2157 +
Exchange/purge.ps1 | 1 +
Exchange/scheduler.ps1 | 4 +
Exemples/Affichage-Calendrier.ps1 | 93 +
Exemples/Creation-Multi-Fichier.ps1 | 55 +
Exemples/Dichotomie.ps1 | 195 +
Exemples/Envoie-Mail.ps1 | 14 +
Exemples/Fichier multiple/Liste-import.csv | 431 +
.../Fichier multiple/script-multi-fichier.ps1 | 59 +
.../Fichier multiple/script-un-fichier.ps1 | 57 +
Exemples/Finalisation.ps1 | 96 +
Exemples/Get-FolderSize.ps1 | 125 +
.../Nagvis - generateur de carte/script.ps1 | 45 +
Exemples/README.md | 0
Exemples/couleur.ps1 | 54 +
Exemples/creation graphique - ligne/README.md | 0
.../creation graphique - ligne/script-002.ps1 | 55 +
.../creation graphique - ligne/script.ps1 | 197 +
Exemples/création-procédure.ps1 | 192 +
Exemples/etape1.ps1 | 178 +
Exemples/get_remoteapps_from_appserver.ps1 | 78 +
Exemples/test.ps1 | 1 +
Exemples/tirage euromillion/script-001.ps1 | 22 +
GLPI/Extraction.ps1 | 61 +
General/Cheat-Sheet-1.ps1 | 197 +
General/Get-RandomPassword.ps1 | 20 +
General/README.md | 1 +
General/Send-Mail.ps1 | 31 +
General/Templates/Send-Mail.csv | 4 +
Hyper-V/Compact-VHD.ps1 | 26 +
Hyper-V/Create-VM.ps1 | 108 +
Hyper-V/README.md | 1 +
Kemp/KEMP.ps1 | 22 +
Kemp/KEMP2.ps1 | 153 +
Kemp/Modification-KEMP.ps1 | 91 +
Kemp/README.md | 0
.../Kemp.LoadBalancer.Powershell-Help.xml | 197399 +++++++++++++++
.../Kemp.LoadBalancer.Powershell.psd1 | 120 +
.../Kemp.LoadBalancer.Powershell.psm1 | 21279 ++
.../deprecated.psm1 | 7771 +
LICENSE | 233 +-
Microsoft Azure/Azure-Migrate-Test.ps1 | 92 +
Microsoft Azure/Get-Storagelength.ps1 | 30 +
Microsoft Azure/README.md | 1 +
MsSQL/script.ps1 | 61 +
MySQL/scripts.ps1 | 71 +
NRPE/Check-AD-Accounts-Lock.ps1 | 119 +
NRPE/Check-NetLbfoTeamMember.ps1 | 76 +
NRPE/Check-Port-TCP.ps1 | 99 +
NRPE/Check-WSUS.ps1 | 137 +
NRPE/Check_Certificats.ps1 | 101 +
NRPE/Check_Dynamics-AX.ps1 | 83 +
NRPE/Check_diskdefragstatus.ps1 | 181 +
NRPE/Check_iis8_app_pool_state.ps1 | 69 +
NRPE/Check_iis8_connections.ps1 | 77 +
NRPE/Check_iis8_site.ps1 | 75 +
NRPE/Check_win_last_update.ps1 | 95 +
NRPE/Check_wsus_critical_updates.ps1 | 52 +
NRPE/README.md | 78 +
NRPE/Task-Defrag.ps1 | 54 +
NRPE/Task-Kill-Process.ps1 | 60 +
NRPE/Task-Restart-Service.ps1 | 72 +
NRPE/check-sql-listusers.ps1 | 61 +
NRPE/check-sql-monitoring.ps1 | 62 +
NRPE/check-sql-nbrrequeteencour.ps1 | 60 +
NRPE/check_veeam_endpointbackup.ps1 | 211 +
NRPE/check_windows_updates.ps1 | 173 +
OneDrive/Init-OneDrive.ps1 | 11 +
OneDrive/README.md | 1 +
.../Daily Jobs To Html/DailyJobsToHtml-V0.ps1 | 327 +
Opcon/Daily Jobs To Html/DailyJobsToHtml.ps1 | 525 +
Opcon/Daily Jobs To Html/HtmlTemplate.html | 61 +
Opcon/Daily Jobs To Html/Rapport-.html | Bin 0 -> 3830 bytes
Opcon/Daily Jobs To Html/horloge.png | Bin 0 -> 60487 bytes
Opcon/Daily Jobs To Html/outfile.html | Bin 0 -> 4246 bytes
Opcon/OpConModule.psm1 | 3585 +
Opcon/README.md | 0
POP3/Binaries/.keep | 0
POP3/Binaries/OpenPop.dll | Bin 0 -> 77824 bytes
POP3/Examples/Test-Message.eml | 12 +
POP3/README.md | 0
POP3/Source/FetchMail.ps1 | 359 +
Qlik/API.ps1 | 276 +
Qlik/README.md | 0
README.md | 3 +-
Réseau/Ping.ps1 | 19 +
Réseau/README.md | 1 +
Réseau/Templates/Ping.csv | 4 +
Serveur Microsoft/Configuration-serveur.ps1 | 131 +
Serveur Microsoft/Import-Module-Offline.ps1 | 58 +
Serveur Microsoft/Install-Service-RDS.ps1 | 76 +
Serveur Microsoft/Install-Service-SNMP.ps1 | 123 +
Serveur Microsoft/Key 2022/Key-Activation.ps1 | 58 +
Serveur Microsoft/Liste-Partage-Reseau.ps1 | 234 +
Serveur Microsoft/Modification-Fichier.ps1 | 87 +
Serveur Microsoft/README.md | 0
Serveur Microsoft/Remote-Reboot-Computer.ps1 | 60 +
Serveur Microsoft/logoff-rdp.ps1 | 4 +
Serveur Microsoft/service.ps1 | 22 +
.../Get-ExternalSharingReport.ps1 | 223 +
SharePoint Online/Get-SharePointReport.ps1 | 80 +
SharePoint Online/New-SpoLibrary.ps1 | 54 +
SharePoint Online/README.md | 1 +
SharePoint Online/Set-SpoLanguage.ps1 | 37 +
Système de fichiers/Compare-Csv.ps1 | 38 +
Système de fichiers/Connect-PsDrive.ps1 | 13 +
Système de fichiers/Copy-Files.ps1 | 27 +
Système de fichiers/New-SharedFolders.ps1 | 112 +
Système de fichiers/README.md | 11 +
.../Templates/Compare-Csv-1.csv | 5 +
.../Templates/Compare-Csv-2.csv | 6 +
Système de fichiers/Templates/Copy-Files.csv | 3 +
.../Templates/New-SharedFolders.csv | 13 +
Teams/Invoke-Webhook.ps1 | 33 +
Teams/README.md | 1 +
Teams/Start-SecondTeams.ps1 | 8 +
WSUS/Maintenace.ps1 | 58 +
WSUS/README.md | 0
WSUS/Update-Approuve-Crit.ps1 | 85 +
WSUS/Update-Approuve-Prod.ps1 | 77 +
WSUS/Update-MailReport.ps1 | 200 +
WSUS/update-Approuve.ps1 | 84 +
Windows 10/Activation-BitLocker.ps1 | 113 +
Windows 10/Debloat/.gitattributes | 5 +
Windows 10/Debloat/LICENSE | 9 +
Windows 10/Debloat/README.md | 153 +
Windows 10/Debloat/Win10ScriptCLI.ps1 | 52 +
Windows 10/Debloat/Win10ScriptGUI.ps1 | 1541 +
Windows 10/Debloat/lib/New-FolderForced.psm1 | 39 +
Windows 10/Debloat/lib/take-own.psm1 | 106 +
.../Debloat/scripts/block-telemetry.ps1 | 242 +
.../Debloat/scripts/disable-services.ps1 | 32 +
.../scripts/disable-windows-defender.ps1 | 48 +
.../scripts/experimental_unfuckery.ps1 | 50 +
.../Debloat/scripts/fix-privacy-settings.ps1 | 115 +
.../scripts/optimize-user-interface.ps1 | 93 +
.../scripts/optimize-windows-update.ps1 | 30 +
.../Debloat/scripts/remove-default-apps.ps1 | 170 +
.../Debloat/scripts/remove-onedrive.ps1 | 63 +
.../Debloat/utils/boot-advanced-startup.bat | 3 +
Windows 10/Debloat/utils/dark-theme.reg | 7 +
.../utils/disable-ShellExperienceHost.bat | 5 +
.../Debloat/utils/disable-edge-prelaunch.reg | 8 +
.../utils/disable-memory-compression.ps1 | 6 +
.../utils/disable-prefetch-prelaunch.ps1 | 7 +
.../Debloat/utils/disable-scheduled-tasks.ps1 | 207 +
Windows 10/Debloat/utils/disable-searchUI.bat | 2 +
Windows 10/Debloat/utils/enable-god-mode.ps1 | 19 +
.../Debloat/utils/enable-photo-viewer.reg | 36 +
.../Debloat/utils/install-basic-software.ps1 | 61 +
Windows 10/Debloat/utils/lower-ram-usage.reg | 173 +
Windows 10/Debloat/utils/ssd-tune.ps1 | 3 +
Windows 10/Debloat/utils/start_vert.png | Bin 0 -> 163 bytes
Windows 10/README.md | 0
Windows 10/Recherche-Fichier-Extension.ps1 | 60 +
Windows 10/VPN/VPN-Admin.ps1 | 4 +
Windows 10/w10.ps1 | 5 +
Windows Server/Clear-AppContainer.ps1 | 13 +
Windows Server/Disable-WindowsServices.ps1 | 44 +
Windows Server/Get-ServersHealth.ps1 | 89 +
Windows Server/Get-WinBackupStatus.ps1 | 61 +
Windows Server/Install-WacApp.ps1 | 45 +
Windows Server/New-RdsCertificat.ps1 | 5 +
Windows Server/README.md | 1 +
Windows Server/Remove-AadProxyAgent.ps1 | 18 +
Windows Server/Restart-RDS.ps1 | 77 +
Windows Server/Set-NTP.ps1 | 14 +
Windows/Convert-ESD-to-WIM.ps1 | 9 +
Windows/Enable-Bitlocker.ps1 | 16 +
Windows/Get-BitlockerStatus.ps1 | 44 +
Windows/Get-RemoteProgram.ps1 | 140 +
Windows/New-LocalUser.ps1 | 47 +
Windows/New-certificate.ps1 | 35 +
Windows/README.md | 1 +
Windows/Reset-Machine-Password.ps1 | 22 +
Windows/Set-NetworkCategory.ps1 | 10 +
Windows/Start-ControlPanelApplet | 101 +
Windows/Test-GroupMember.ps1 | 24 +
Windows/Windows-Notification.ps1 | 42 +
debug.log | 3 +
template.ps1 | 53 +
231 files changed, 261001 insertions(+), 4 deletions(-)
create mode 100644 Active Directory/ADHTMLReports.ps1
create mode 100644 Active Directory/Audit-v3.ps1
create mode 100644 Active Directory/Audit.ps1
create mode 100644 Active Directory/Get-AdComputerInventory.ps1
create mode 100644 Active Directory/Get-UserRights.ps1
create mode 100644 Active Directory/Import-AdGroups.ps1
create mode 100644 Active Directory/Import-AdUsers.ps1
create mode 100644 Active Directory/Join-Domain.ps1
create mode 100644 Active Directory/New-Domain.ps1
create mode 100644 Active Directory/New-UsersHome.ps1
create mode 100644 Active Directory/README.md
create mode 100644 Active Directory/Templates/Import-AdGroups.csv
create mode 100644 Active Directory/Templates/Import-AdUsers.csv
create mode 100644 Active Directory/Validate-GroupMembership.ps1
create mode 100644 Active Directory/creation-automatique.ps1
create mode 100644 Ansible/ConfigureRemotingForAnsible.ps1
create mode 100644 Applications/AWS-CLI/Force-Update.ps1
create mode 100644 Applications/Acrobat Reader DC/Force-Update.ps1
create mode 100644 Applications/Edge/Force-Update.ps1
create mode 100644 Applications/Firefox/Force-Update.ps1
create mode 100644 Applications/Flash Player/Force-Remove.ps1
create mode 100644 Applications/Java/Force-Update.ps1
create mode 100644 Applications/Notepad++/Force-Update.ps1
create mode 100644 Applications/Zoom/Force-Remove.ps1
create mode 100644 Azure Active Directory/Get-AadGroups.ps1
create mode 100644 Azure Active Directory/Get-MsolUser.ps1
create mode 100644 Azure Active Directory/Import-MsolUsers.ps1
create mode 100644 Azure Active Directory/MSolLicences.ps1
create mode 100644 Azure Active Directory/O365HTMLReport.ps1
create mode 100644 Azure Active Directory/README.md
create mode 100644 Azure Active Directory/Set-MsolUsersPassword.ps1
create mode 100644 Azure Active Directory/Set-Upn.ps1
create mode 100644 Azure Active Directory/Set-UsersLIcences.ps1
create mode 100644 Azure Active Directory/Templates/Import-MsolUsers.csv
create mode 100644 Azure Active Directory/Templates/Set-Upn.csv
create mode 100644 Centreon/Generation CLAPI.ps1
create mode 100644 DNS/Check Server DNS Settings.ps1
create mode 100644 Exchange Online/Import-SharedMailbox.ps1
create mode 100644 Exchange Online/Init-MailBox.ps1
create mode 100644 Exchange Online/Manage-Calendar.ps1
create mode 100644 Exchange Online/README.md
create mode 100644 Exchange Online/Templates/Import-SharedMailbox.csv
create mode 100644 Exchange Online/Upload-Pst.ps1
create mode 100644 Exchange Online/audit_mail.ps1
create mode 100644 Exchange Server/Export-Pst.ps1
create mode 100644 Exchange Server/README.md
create mode 100644 Exchange Server/Restart-ExchServices.ps1
create mode 100644 Exchange/ExchangeEnvironmentReport.ps1
create mode 100644 Exchange/Get-ExchangeEnvironmentReport.ps1
create mode 100644 Exchange/Rapports-MailBox.ps1
create mode 100644 Exchange/Test-ExchangeServerHealth.ps1
create mode 100644 Exchange/purge.ps1
create mode 100644 Exchange/scheduler.ps1
create mode 100644 Exemples/Affichage-Calendrier.ps1
create mode 100644 Exemples/Creation-Multi-Fichier.ps1
create mode 100644 Exemples/Dichotomie.ps1
create mode 100644 Exemples/Envoie-Mail.ps1
create mode 100644 Exemples/Fichier multiple/Liste-import.csv
create mode 100644 Exemples/Fichier multiple/script-multi-fichier.ps1
create mode 100644 Exemples/Fichier multiple/script-un-fichier.ps1
create mode 100644 Exemples/Finalisation.ps1
create mode 100644 Exemples/Get-FolderSize.ps1
create mode 100644 Exemples/Nagvis - generateur de carte/script.ps1
create mode 100644 Exemples/README.md
create mode 100644 Exemples/couleur.ps1
create mode 100644 Exemples/creation graphique - ligne/README.md
create mode 100644 Exemples/creation graphique - ligne/script-002.ps1
create mode 100644 Exemples/creation graphique - ligne/script.ps1
create mode 100644 Exemples/création-procédure.ps1
create mode 100644 Exemples/etape1.ps1
create mode 100644 Exemples/get_remoteapps_from_appserver.ps1
create mode 100644 Exemples/test.ps1
create mode 100644 Exemples/tirage euromillion/script-001.ps1
create mode 100644 GLPI/Extraction.ps1
create mode 100644 General/Cheat-Sheet-1.ps1
create mode 100644 General/Get-RandomPassword.ps1
create mode 100644 General/README.md
create mode 100644 General/Send-Mail.ps1
create mode 100644 General/Templates/Send-Mail.csv
create mode 100644 Hyper-V/Compact-VHD.ps1
create mode 100644 Hyper-V/Create-VM.ps1
create mode 100644 Hyper-V/README.md
create mode 100644 Kemp/KEMP.ps1
create mode 100644 Kemp/KEMP2.ps1
create mode 100644 Kemp/Modification-KEMP.ps1
create mode 100644 Kemp/README.md
create mode 100644 Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell-Help.xml
create mode 100644 Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell.psd1
create mode 100644 Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell.psm1
create mode 100644 Kemp/modules/Kemp.LoadBalancer.Powershell/deprecated.psm1
create mode 100644 Microsoft Azure/Azure-Migrate-Test.ps1
create mode 100644 Microsoft Azure/Get-Storagelength.ps1
create mode 100644 Microsoft Azure/README.md
create mode 100644 MsSQL/script.ps1
create mode 100644 MySQL/scripts.ps1
create mode 100644 NRPE/Check-AD-Accounts-Lock.ps1
create mode 100644 NRPE/Check-NetLbfoTeamMember.ps1
create mode 100644 NRPE/Check-Port-TCP.ps1
create mode 100644 NRPE/Check-WSUS.ps1
create mode 100644 NRPE/Check_Certificats.ps1
create mode 100644 NRPE/Check_Dynamics-AX.ps1
create mode 100644 NRPE/Check_diskdefragstatus.ps1
create mode 100644 NRPE/Check_iis8_app_pool_state.ps1
create mode 100644 NRPE/Check_iis8_connections.ps1
create mode 100644 NRPE/Check_iis8_site.ps1
create mode 100644 NRPE/Check_win_last_update.ps1
create mode 100644 NRPE/Check_wsus_critical_updates.ps1
create mode 100644 NRPE/README.md
create mode 100644 NRPE/Task-Defrag.ps1
create mode 100644 NRPE/Task-Kill-Process.ps1
create mode 100644 NRPE/Task-Restart-Service.ps1
create mode 100644 NRPE/check-sql-listusers.ps1
create mode 100644 NRPE/check-sql-monitoring.ps1
create mode 100644 NRPE/check-sql-nbrrequeteencour.ps1
create mode 100644 NRPE/check_veeam_endpointbackup.ps1
create mode 100644 NRPE/check_windows_updates.ps1
create mode 100644 OneDrive/Init-OneDrive.ps1
create mode 100644 OneDrive/README.md
create mode 100644 Opcon/Daily Jobs To Html/DailyJobsToHtml-V0.ps1
create mode 100644 Opcon/Daily Jobs To Html/DailyJobsToHtml.ps1
create mode 100644 Opcon/Daily Jobs To Html/HtmlTemplate.html
create mode 100644 Opcon/Daily Jobs To Html/Rapport-.html
create mode 100644 Opcon/Daily Jobs To Html/horloge.png
create mode 100644 Opcon/Daily Jobs To Html/outfile.html
create mode 100644 Opcon/OpConModule.psm1
create mode 100644 Opcon/README.md
create mode 100644 POP3/Binaries/.keep
create mode 100644 POP3/Binaries/OpenPop.dll
create mode 100644 POP3/Examples/Test-Message.eml
create mode 100644 POP3/README.md
create mode 100644 POP3/Source/FetchMail.ps1
create mode 100644 Qlik/API.ps1
create mode 100644 Qlik/README.md
create mode 100644 Réseau/Ping.ps1
create mode 100644 Réseau/README.md
create mode 100644 Réseau/Templates/Ping.csv
create mode 100644 Serveur Microsoft/Configuration-serveur.ps1
create mode 100644 Serveur Microsoft/Import-Module-Offline.ps1
create mode 100644 Serveur Microsoft/Install-Service-RDS.ps1
create mode 100644 Serveur Microsoft/Install-Service-SNMP.ps1
create mode 100644 Serveur Microsoft/Key 2022/Key-Activation.ps1
create mode 100644 Serveur Microsoft/Liste-Partage-Reseau.ps1
create mode 100644 Serveur Microsoft/Modification-Fichier.ps1
create mode 100644 Serveur Microsoft/README.md
create mode 100644 Serveur Microsoft/Remote-Reboot-Computer.ps1
create mode 100644 Serveur Microsoft/logoff-rdp.ps1
create mode 100644 Serveur Microsoft/service.ps1
create mode 100644 SharePoint Online/Get-ExternalSharingReport.ps1
create mode 100644 SharePoint Online/Get-SharePointReport.ps1
create mode 100644 SharePoint Online/New-SpoLibrary.ps1
create mode 100644 SharePoint Online/README.md
create mode 100644 SharePoint Online/Set-SpoLanguage.ps1
create mode 100644 Système de fichiers/Compare-Csv.ps1
create mode 100644 Système de fichiers/Connect-PsDrive.ps1
create mode 100644 Système de fichiers/Copy-Files.ps1
create mode 100644 Système de fichiers/New-SharedFolders.ps1
create mode 100644 Système de fichiers/README.md
create mode 100644 Système de fichiers/Templates/Compare-Csv-1.csv
create mode 100644 Système de fichiers/Templates/Compare-Csv-2.csv
create mode 100644 Système de fichiers/Templates/Copy-Files.csv
create mode 100644 Système de fichiers/Templates/New-SharedFolders.csv
create mode 100644 Teams/Invoke-Webhook.ps1
create mode 100644 Teams/README.md
create mode 100644 Teams/Start-SecondTeams.ps1
create mode 100644 WSUS/Maintenace.ps1
create mode 100644 WSUS/README.md
create mode 100644 WSUS/Update-Approuve-Crit.ps1
create mode 100644 WSUS/Update-Approuve-Prod.ps1
create mode 100644 WSUS/Update-MailReport.ps1
create mode 100644 WSUS/update-Approuve.ps1
create mode 100644 Windows 10/Activation-BitLocker.ps1
create mode 100644 Windows 10/Debloat/.gitattributes
create mode 100644 Windows 10/Debloat/LICENSE
create mode 100644 Windows 10/Debloat/README.md
create mode 100644 Windows 10/Debloat/Win10ScriptCLI.ps1
create mode 100644 Windows 10/Debloat/Win10ScriptGUI.ps1
create mode 100644 Windows 10/Debloat/lib/New-FolderForced.psm1
create mode 100644 Windows 10/Debloat/lib/take-own.psm1
create mode 100644 Windows 10/Debloat/scripts/block-telemetry.ps1
create mode 100644 Windows 10/Debloat/scripts/disable-services.ps1
create mode 100644 Windows 10/Debloat/scripts/disable-windows-defender.ps1
create mode 100644 Windows 10/Debloat/scripts/experimental_unfuckery.ps1
create mode 100644 Windows 10/Debloat/scripts/fix-privacy-settings.ps1
create mode 100644 Windows 10/Debloat/scripts/optimize-user-interface.ps1
create mode 100644 Windows 10/Debloat/scripts/optimize-windows-update.ps1
create mode 100644 Windows 10/Debloat/scripts/remove-default-apps.ps1
create mode 100644 Windows 10/Debloat/scripts/remove-onedrive.ps1
create mode 100644 Windows 10/Debloat/utils/boot-advanced-startup.bat
create mode 100644 Windows 10/Debloat/utils/dark-theme.reg
create mode 100644 Windows 10/Debloat/utils/disable-ShellExperienceHost.bat
create mode 100644 Windows 10/Debloat/utils/disable-edge-prelaunch.reg
create mode 100644 Windows 10/Debloat/utils/disable-memory-compression.ps1
create mode 100644 Windows 10/Debloat/utils/disable-prefetch-prelaunch.ps1
create mode 100644 Windows 10/Debloat/utils/disable-scheduled-tasks.ps1
create mode 100644 Windows 10/Debloat/utils/disable-searchUI.bat
create mode 100644 Windows 10/Debloat/utils/enable-god-mode.ps1
create mode 100644 Windows 10/Debloat/utils/enable-photo-viewer.reg
create mode 100644 Windows 10/Debloat/utils/install-basic-software.ps1
create mode 100644 Windows 10/Debloat/utils/lower-ram-usage.reg
create mode 100644 Windows 10/Debloat/utils/ssd-tune.ps1
create mode 100644 Windows 10/Debloat/utils/start_vert.png
create mode 100644 Windows 10/README.md
create mode 100644 Windows 10/Recherche-Fichier-Extension.ps1
create mode 100644 Windows 10/VPN/VPN-Admin.ps1
create mode 100644 Windows 10/w10.ps1
create mode 100644 Windows Server/Clear-AppContainer.ps1
create mode 100644 Windows Server/Disable-WindowsServices.ps1
create mode 100644 Windows Server/Get-ServersHealth.ps1
create mode 100644 Windows Server/Get-WinBackupStatus.ps1
create mode 100644 Windows Server/Install-WacApp.ps1
create mode 100644 Windows Server/New-RdsCertificat.ps1
create mode 100644 Windows Server/README.md
create mode 100644 Windows Server/Remove-AadProxyAgent.ps1
create mode 100644 Windows Server/Restart-RDS.ps1
create mode 100644 Windows Server/Set-NTP.ps1
create mode 100644 Windows/Convert-ESD-to-WIM.ps1
create mode 100644 Windows/Enable-Bitlocker.ps1
create mode 100644 Windows/Get-BitlockerStatus.ps1
create mode 100644 Windows/Get-RemoteProgram.ps1
create mode 100644 Windows/New-LocalUser.ps1
create mode 100644 Windows/New-certificate.ps1
create mode 100644 Windows/README.md
create mode 100644 Windows/Reset-Machine-Password.ps1
create mode 100644 Windows/Set-NetworkCategory.ps1
create mode 100644 Windows/Start-ControlPanelApplet
create mode 100644 Windows/Test-GroupMember.ps1
create mode 100644 Windows/Windows-Notification.ps1
create mode 100644 debug.log
create mode 100644 template.ps1
diff --git a/Active Directory/ADHTMLReports.ps1 b/Active Directory/ADHTMLReports.ps1
new file mode 100644
index 0000000..e377565
--- /dev/null
+++ b/Active Directory/ADHTMLReports.ps1
@@ -0,0 +1,1732 @@
+<#
+.SYNOPSIS
+ Generate graphed report for all Active Directory objects.
+
+.DESCRIPTION
+ Generate graphed report for all Active Directory objects.
+
+.PARAMETER CompanyLogo
+ Enter URL or UNC path to your desired Company Logo for generated report.
+
+ -CompanyLogo "\\Server01\Admin\Files\CompanyLogo.png"
+
+.PARAMETER RightLogo
+ Enter URL or UNC path to your desired right-side logo for generated report.
+
+ -RightLogo "https://www.psmpartners.com/wp-content/uploads/2017/10/porcaro-stolarek-mete.png"
+
+.PARAMETER ReportTitle
+ Enter desired title for generated report.
+
+ -ReportTitle "Active Directory Report"
+
+.PARAMETER Days
+ Users that have not logged in [X] amount of days or more.
+
+ -Days "30"
+
+.PARAMETER UserCreatedDays
+ Users that have been created within [X] amount of days.
+
+ -UserCreatedDays "7"
+
+.PARAMETER DaysUntilPWExpireINT
+ Users password expires within [X] amount of days
+
+ -DaysUntilPWExpireINT "7"
+
+.PARAMETER ADModNumber
+ Active Directory Objects that have been modified within [X] amount of days.
+
+ -ADModNumber "3"
+
+.NOTES
+ Version: 1.0.3
+ Author: Bradley Wyatt
+ Date: 12/4/2018
+ Modified: JBear 12/5/2018
+ Bradley Wyatt 12/8/2018
+ jporgand 12/6/2018
+#>
+
+param (
+
+ #Company logo that will be displayed on the left, can be URL or UNC
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Enter URL or UNC path to Company Logo")]
+ [String]$CompanyLogo = "http://thelazyadministrator.com/wp-content/uploads/2018/06/logo-2-e1529684959389.png",
+ #Logo that will be on the right side, UNC or URL
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Enter URL or UNC path for Side Logo")]
+ [String]$RightLogo = "http://thelazyadministrator.com/wp-content/uploads/2018/06/amd.png",
+ #Title of generated report
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Enter desired title for report")]
+ [String]$ReportTitle = "Active Directory Report",
+ #Location the report will be saved to
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Enter desired directory path to save; Default: C:\Automation\")]
+ [String]$ReportSavePath = "C:\Lab\",
+ #Find users that have not logged in X Amount of days, this sets the days
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Users that have not logged on in more than [X] days. amount of days; Default: 30")]
+ $Days = 30,
+ #Get users who have been created in X amount of days and less
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Users that have been created within [X] amount of days; Default: 7")]
+ $UserCreatedDays = 7,
+ #Get users whos passwords expire in less than X amount of days
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Users password expires within [X] amount of days; Default: 7")]
+ $DaysUntilPWExpireINT = 7,
+ #Get AD Objects that have been modified in X days and newer
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "AD Objects that have been modified within [X] amount of days; Default: 3")]
+ $ADModNumber = 3
+
+ #CSS template located C:\Program Files\WindowsPowerShell\Modules\ReportHTML\1.4.1.1\
+ #Default template is orange and named "Sample"
+)
+
+$DomainAdmin = "Admins du domaine"
+$EntrepriseAdmin = "Administrateurs de l`'entreprise"
+
+Write-Host "Gathering Report Customization..." -ForegroundColor White
+Write-Host "__________________________________" -ForegroundColor White
+(Write-Host -NoNewline "Company Logo (left): " -ForegroundColor Yellow), (Write-Host $CompanyLogo -ForegroundColor White)
+(Write-Host -NoNewline "Company Logo (right): " -ForegroundColor Yellow), (Write-Host $RightLogo -ForegroundColor White)
+(Write-Host -NoNewline "Report Title: " -ForegroundColor Yellow), (Write-Host $ReportTitle -ForegroundColor White)
+(Write-Host -NoNewline "Report Save Path: " -ForegroundColor Yellow), (Write-Host $ReportSavePath -ForegroundColor White)
+(Write-Host -NoNewline "Amount of Days from Last User Logon Report: " -ForegroundColor Yellow), (Write-Host $Days -ForegroundColor White)
+(Write-Host -NoNewline "Amount of Days for New User Creation Report: " -ForegroundColor Yellow), (Write-Host $UserCreatedDays -ForegroundColor White)
+(Write-Host -NoNewline "Amount of Days for User Password Expiration Report: " -ForegroundColor Yellow), (Write-Host $DaysUntilPWExpireINT -ForegroundColor White)
+(Write-Host -NoNewline "Amount of Days for Newly Modified AD Objects Report: " -ForegroundColor Yellow), (Write-Host $ADModNumber -ForegroundColor White)
+Write-Host "__________________________________" -ForegroundColor White
+
+function LastLogonConvert ($ftDate) {
+
+ $Date = [DateTime]::FromFileTime($ftDate)
+
+ if ($Date -lt (Get-Date '1/1/1900') -or $date -eq 0 -or $date -eq $null) {
+
+ "Never"
+ }
+
+ else {
+
+ $Date
+ }
+
+} #End function LastLogonConvert
+
+#Check for ReportHTML Module
+$Mod = Get-Module -ListAvailable -Name "ReportHTML"
+
+If ($null -eq $Mod) {
+
+ Write-Host "ReportHTML Module is not present, attempting to install it"
+
+ Install-Module -Name ReportHTML -Force
+ Import-Module ReportHTML -ErrorAction SilentlyContinue
+}
+
+#Array of default Security Groups
+$DefaultSGs = @(
+
+ "Access Control Assistance Operators"
+ "Account Operators"
+ "Administrators"
+ "Allowed RODC Password Replication Group"
+ "Backup Operators"
+ "Certificate Service DCOM Access"
+ "Cert Publishers"
+ "Cloneable Domain Controllers"
+ "Cryptographic Operators"
+ "Denied RODC Password Replication Group"
+ "Distributed COM Users"
+ "DnsUpdateProxy"
+ "DnsAdmins"
+ "Domain Admins"
+ "Domain Computers"
+ "Domain Controllers"
+ "Domain Guests"
+ "Domain Users"
+ "Enterprise Admins"
+ "Enterprise Key Admins"
+ "Enterprise Read-only Domain Controllers"
+ "Event Log Readers"
+ "Group Policy Creator Owners"
+ "Guests"
+ "Hyper-V Administrators"
+ "IIS_IUSRS"
+ "Incoming Forest Trust Builders"
+ "Key Admins"
+ "Network Configuration Operators"
+ "Performance Log Users"
+ "Performance Monitor Users"
+ "Print Operators"
+ "Pre-Windows 2000 Compatible Access"
+ "Protected Users"
+ "RAS and IAS Servers"
+ "RDS Endpoint Servers"
+ "RDS Management Servers"
+ "RDS Remote Access Servers"
+ "Read-only Domain Controllers"
+ "Remote Desktop Users"
+ "Remote Management Users"
+ "Replicator"
+ "Schema Admins"
+ "Server Operators"
+ "Storage Replica Administrators"
+ "System Managed Accounts Group"
+ "Terminal Server License Servers"
+ "Users"
+ "Windows Authorization Access Group"
+ "WinRMRemoteWMIUsers"
+)
+
+$Table = New-Object 'System.Collections.Generic.List[System.Object]'
+$OUTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$UserTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GroupTypetable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DefaultGrouptable = New-Object 'System.Collections.Generic.List[System.Object]'
+$EnabledDisabledUsersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DomainAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ExpiringAccountsTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$CompanyInfoTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$securityeventtable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DomainTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$OUGPOTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GroupMembershipTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$PasswordExpirationTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$PasswordExpireSoonTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$userphaventloggedonrecentlytable = New-Object 'System.Collections.Generic.List[System.Object]'
+$EnterpriseAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$NewCreatedUsersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GroupProtectionTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$OUProtectionTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GPOTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ADObjectTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ProtectedUsersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ComputersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ComputerProtectedTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ComputersEnabledTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DefaultComputersinDefaultOUTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DefaultUsersinDefaultOUTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$TOPUserTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$TOPGroupsTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$TOPComputersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GraphComputerOS = New-Object 'System.Collections.Generic.List[System.Object]'
+
+#Get all users right away. Instead of doing several lookups, we will use this object to look up all the information needed.
+$AllUsers = Get-ADUser -Filter * -Properties *
+
+$GPOs = Get-GPO -All | Select-Object DisplayName, GPOStatus, ModificationTime, @{ Label = "ComputerVersion"; Expression = { $_.computer.dsversion } }, @{ Label = "UserVersion"; Expression = { $_.user.dsversion } }
+
+<###########################
+ Dashboard
+############################>
+
+Write-Host "Working on Dashboard Report..." -ForegroundColor Green
+
+$dte = (Get-Date).AddDays(- $ADModNumber)
+
+$ADObjs = Get-ADObject -Filter { whenchanged -gt $dte -and ObjectClass -ne "domainDNS" -and ObjectClass -ne "rIDManager" -and ObjectClass -ne "rIDSet" } -Properties *
+
+foreach ($ADObj in $ADObjs) {
+
+ if ($ADObj.ObjectClass -eq "GroupPolicyContainer") {
+
+ $Name = $ADObj.DisplayName
+ }
+
+ else {
+
+ $Name = $ADObj.Name
+ }
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $Name
+ 'Object Type' = $ADObj.ObjectClass
+ 'When Changed' = $ADObj.WhenChanged
+ }
+
+ $ADObjectTable.Add($obj)
+}
+if (($ADObjectTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No AD Objects have been modified recently'
+ }
+
+ $ADObjectTable.Add($obj)
+}
+
+
+$ADRecycleBinStatus = (Get-ADOptionalFeature -Filter 'name -like "Recycle Bin Feature"').EnabledScopes
+
+if ($ADRecycleBinStatus.Count -lt 1) {
+
+ $ADRecycleBin = "Disabled"
+}
+
+else {
+
+ $ADRecycleBin = "Enabled"
+}
+
+#Company Information
+$ADInfo = Get-ADDomain
+$ForestObj = Get-ADForest
+$DomainControllerobj = Get-ADDomain
+$Forest = $ADInfo.Forest
+$InfrastructureMaster = $DomainControllerobj.InfrastructureMaster
+$RIDMaster = $DomainControllerobj.RIDMaster
+$PDCEmulator = $DomainControllerobj.PDCEmulator
+$DomainNamingMaster = $ForestObj.DomainNamingMaster
+$SchemaMaster = $ForestObj.SchemaMaster
+
+$obj = [PSCustomObject]@{
+
+ 'Domain' = $Forest
+ 'AD Recycle Bin' = $ADRecycleBin
+ 'Infrastructure Master' = $InfrastructureMaster
+ 'RID Master' = $RIDMaster
+ 'PDC Emulator' = $PDCEmulator
+ 'Domain Naming Master' = $DomainNamingMaster
+ 'Schema Master' = $SchemaMaster
+}
+
+$CompanyInfoTable.Add($obj)
+
+if (($CompanyInfoTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: Could not get items for table'
+ }
+ $CompanyInfoTable.Add($obj)
+}
+
+#Get newly created users
+$When = ((Get-Date).AddDays(- $UserCreatedDays)).Date
+$NewUsers = $AllUsers | Where-Object { $_.whenCreated -ge $When }
+
+foreach ($Newuser in $Newusers) {
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $Newuser.Name
+ 'Enabled' = $Newuser.Enabled
+ 'Creation Date' = $Newuser.whenCreated
+ }
+
+ $NewCreatedUsersTable.Add($obj)
+}
+if (($NewCreatedUsersTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No new users have been recently created'
+ }
+ $NewCreatedUsersTable.Add($obj)
+}
+
+
+
+#Get Domain Admins
+$DomainAdminMembers = Get-ADGroupMember $DomainAdmin
+
+foreach ($DomainAdminMember in $DomainAdminMembers) {
+
+ $Name = $DomainAdminMember.Name
+ $Type = $DomainAdminMember.ObjectClass
+ $Enabled = ($AllUsers | Where-Object { $_.Name -eq $Name }).Enabled
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $Name
+ 'Enabled' = $Enabled
+ 'Type' = $Type
+ }
+
+ $DomainAdminTable.Add($obj)
+}
+
+if (($DomainAdminTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No Domain Admin Members were found'
+ }
+ $DomainAdminTable.Add($obj)
+}
+
+
+#Get Enterprise Admins
+$EnterpriseAdminsMembers = Get-ADGroupMember $EntrepriseAdmin -Server $SchemaMaster
+
+foreach ($EnterpriseAdminsMember in $EnterpriseAdminsMembers) {
+
+ $Name = $EnterpriseAdminsMember.Name
+ $Type = $EnterpriseAdminsMember.ObjectClass
+ $Enabled = ($AllUsers | Where-Object { $_.Name -eq $Name }).Enabled
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $Name
+ 'Enabled' = $Enabled
+ 'Type' = $Type
+ }
+
+ $EnterpriseAdminTable.Add($obj)
+}
+
+if (($EnterpriseAdminTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: Enterprise Admin members were found'
+ }
+ $EnterpriseAdminTable.Add($obj)
+}
+
+$DefaultComputersOU = (Get-ADDomain).computerscontainer
+$DefaultComputers = Get-ADComputer -Filter * -Properties * -SearchBase "$DefaultComputersOU"
+
+foreach ($DefaultComputer in $DefaultComputers) {
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $DefaultComputer.Name
+ 'Enabled' = $DefaultComputer.Enabled
+ 'Operating System' = $DefaultComputer.OperatingSystem
+ 'Modified Date' = $DefaultComputer.Modified
+ 'Password Last Set' = $DefaultComputer.PasswordLastSet
+ 'Protect from Deletion' = $DefaultComputer.ProtectedFromAccidentalDeletion
+ }
+
+ $DefaultComputersinDefaultOUTable.Add($obj)
+}
+
+if (($DefaultComputersinDefaultOUTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No computers were found in the Default OU'
+ }
+ $DefaultComputersinDefaultOUTable.Add($obj)
+}
+
+$DefaultUsersOU = (Get-ADDomain).UsersContainer
+$DefaultUsers = $Allusers | Where-Object { $_.DistinguishedName -like "*$($DefaultUsersOU)" } | Select-Object Name, UserPrincipalName, Enabled, ProtectedFromAccidentalDeletion, EmailAddress, @{ Name = 'lastlogon'; Expression = { LastLogonConvert $_.lastlogon } }, DistinguishedName
+
+foreach ($DefaultUser in $DefaultUsers) {
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $DefaultUser.Name
+ 'UserPrincipalName' = $DefaultUser.UserPrincipalName
+ 'Enabled' = $DefaultUser.Enabled
+ 'Protected from Deletion' = $DefaultUser.ProtectedFromAccidentalDeletion
+ 'Last Logon' = $DefaultUser.LastLogon
+ 'Email Address' = $DefaultUser.EmailAddress
+ }
+
+ $DefaultUsersinDefaultOUTable.Add($obj)
+}
+if (($DefaultUsersinDefaultOUTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No Users were found in the default OU'
+ }
+ $DefaultUsersinDefaultOUTable.Add($obj)
+}
+
+
+#Expiring Accounts
+$LooseUsers = Search-ADAccount -AccountExpiring -UsersOnly
+
+foreach ($LooseUser in $LooseUsers) {
+
+ $NameLoose = $LooseUser.Name
+ $UPNLoose = $LooseUser.UserPrincipalName
+ $ExpirationDate = $LooseUser.AccountExpirationDate
+ $enabled = $LooseUser.Enabled
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $NameLoose
+ 'UserPrincipalName' = $UPNLoose
+ 'Expiration Date' = $ExpirationDate
+ 'Enabled' = $enabled
+ }
+
+ $ExpiringAccountsTable.Add($obj)
+}
+
+if (($ExpiringAccountsTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No Users were found to expire soon'
+ }
+ $ExpiringAccountsTable.Add($obj)
+}
+
+#Security Logs
+$SecurityLogs = Get-EventLog -Newest 7 -LogName "Security" | Where-Object { $_.Message -like "*An account*" }
+
+foreach ($SecurityLog in $SecurityLogs) {
+
+ $TimeGenerated = $SecurityLog.TimeGenerated
+ $EntryType = $SecurityLog.EntryType
+ $Recipient = $SecurityLog.Message
+
+ $obj = [PSCustomObject]@{
+
+ 'Time' = $TimeGenerated
+ 'Type' = $EntryType
+ 'Message' = $Recipient
+ }
+
+ $SecurityEventTable.Add($obj)
+}
+
+if (($SecurityEventTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No logon security events were found'
+ }
+ $SecurityEventTable.Add($obj)
+}
+
+#Tenant Domain
+$Domains = Get-ADForest | Select-Object -ExpandProperty upnsuffixes | ForEach-Object {
+
+ $obj = [PSCustomObject]@{
+
+ 'UPN Suffixes' = $_
+ Valid = "True"
+ }
+
+ $DomainTable.Add($obj)
+}
+if (($DomainTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No UPN Suffixes were found'
+ }
+ $DomainTable.Add($obj)
+}
+
+Write-Host "Done!" -ForegroundColor White
+
+<###########################
+
+ Groups
+
+############################>
+
+Write-Host "Working on Groups Report..." -ForegroundColor Green
+
+#Get groups and sort in alphabetical order
+$Groups = Get-ADGroup -Filter * -Properties *
+$SecurityCount = 0
+$MailSecurityCount = 0
+$CustomGroup = 0
+$DefaultGroup = 0
+$Groupswithmemebrship = 0
+$Groupswithnomembership = 0
+$GroupsProtected = 0
+$GroupsNotProtected = 0
+
+foreach ($Group in $Groups) {
+
+ $DefaultADGroup = 'False'
+ $Type = New-Object 'System.Collections.Generic.List[System.Object]'
+ $Gemail = (Get-ADGroup $Group -Properties mail).mail
+
+ if (($group.GroupCategory -eq "Security") -and ($Gemail -ne $Null)) {
+
+ $MailSecurityCount++
+ }
+
+ if (($group.GroupCategory -eq "Security") -and (($Gemail) -eq $Null)) {
+
+ $SecurityCount++
+ }
+
+ if ($Group.ProtectedFromAccidentalDeletion -eq $True) {
+
+ $GroupsProtected++
+ }
+
+ else {
+
+ $GroupsNotProtected++
+ }
+
+ if ($DefaultSGs -contains $Group.Name) {
+
+ $DefaultADGroup = "True"
+ $DefaultGroup++
+ }
+
+ else {
+
+ $CustomGroup++
+ }
+
+ if ($group.GroupCategory -eq "Distribution") {
+
+ $Type = "Distribution Group"
+ }
+
+ if (($group.GroupCategory -eq "Security") -and (($Gemail) -eq $Null)) {
+
+ $Type = "Security Group"
+ }
+
+ if (($group.GroupCategory -eq "Security") -and (($Gemail) -ne $Null)) {
+
+ $Type = "Mail-Enabled Security Group"
+ }
+
+ if ($Group.Name -ne "Domain Users") {
+
+ $Users = (Get-ADGroupMember -Identity $Group | Sort-Object DisplayName | Select-Object -ExpandProperty Name) -join ", "
+
+ if (!($Users)) {
+
+ $Groupswithnomembership++
+ }
+
+ else {
+
+ $Groupswithmemebrship++
+
+ }
+ }
+
+ else {
+
+ $Users = "Skipped Domain Users Membership"
+ }
+
+ $OwnerDN = Get-ADGroup -Filter { name -eq $Group.Name } -Properties managedBy | Select-Object -ExpandProperty ManagedBy
+ Try {
+ $Manager = Get-ADUser -Filter { distinguishedname -like $OwnerDN } | Select-Object -ExpandProperty Name
+ }
+ Catch {
+ write-host -ForegroundColor Yellow "Cannot resolve the manager, " $Manager " on the group " $group.name
+ }
+
+ #$Manager = $AllUsers | Where-Object { $_.distinguishedname -eq $OwnerDN } | Select-Object -ExpandProperty Name
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $Group.name
+ 'Type' = $Type
+ 'Members' = $users
+ 'Managed By' = $Manager
+ 'E-mail Address' = $GEmail
+ 'Protected from Deletion' = $Group.ProtectedFromAccidentalDeletion
+ 'Default AD Group' = $DefaultADGroup
+ }
+
+ $table.Add($obj)
+}
+
+if (($table).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No Groups were found'
+ }
+ $table.Add($obj)
+}
+#TOP groups table
+$obj1 = [PSCustomObject]@{
+
+ 'Total Groups' = $Groups.Count
+ 'Mail-Enabled Security Groups' = $MailSecurityCount
+ 'Security Groups' = $SecurityCount
+ 'Distribution Groups' = $DistroCount
+}
+
+$TOPGroupsTable.Add($obj1)
+
+$obj1 = [PSCustomObject]@{
+
+ 'Name' = 'Mail-Enabled Security Groups'
+ 'Count' = $MailSecurityCount
+}
+
+$GroupTypetable.Add($obj1)
+
+$obj1 = [PSCustomObject]@{
+
+ 'Name' = 'Security Groups'
+ 'Count' = $SecurityCount
+}
+
+$GroupTypetable.Add($obj1)
+$DistroCount = ($Groups | Where-Object { $_.GroupCategory -eq "Distribution" }).Count
+
+$obj1 = [PSCustomObject]@{
+
+ 'Name' = 'Distribution Groups'
+ 'Count' = $DistroCount
+}
+
+$GroupTypetable.Add($obj1)
+
+#Default Group Pie Chart
+$obj1 = [PSCustomObject]@{
+
+ 'Name' = 'Default Groups'
+ 'Count' = $DefaultGroup
+}
+
+$DefaultGrouptable.Add($obj1)
+
+$obj1 = [PSCustomObject]@{
+
+ 'Name' = 'Custom Groups'
+ 'Count' = $CustomGroup
+}
+
+$DefaultGrouptable.Add($obj1)
+
+#Group Protection Pie Chart
+$obj1 = [PSCustomObject]@{
+
+ 'Name' = 'Protected'
+ 'Count' = $GroupsProtected
+}
+
+$GroupProtectionTable.Add($obj1)
+
+$obj1 = [PSCustomObject]@{
+
+ 'Name' = 'Not Protected'
+ 'Count' = $GroupsNotProtected
+}
+
+$GroupProtectionTable.Add($obj1)
+
+#Groups with membership vs no membership pie chart
+$objmem = [PSCustomObject]@{
+
+ 'Name' = 'With Members'
+ 'Count' = $Groupswithmemebrship
+}
+
+$GroupMembershipTable.Add($objmem)
+
+$objmem = [PSCustomObject]@{
+
+ 'Name' = 'No Members'
+ 'Count' = $Groupswithnomembership
+}
+
+$GroupMembershipTable.Add($objmem)
+
+Write-Host "Done!" -ForegroundColor White
+
+<###########################
+
+ Organizational Units
+
+############################>
+
+Write-Host "Working on Organizational Units Report..." -ForegroundColor Green
+
+#Get all OUs'
+$OUs = Get-ADOrganizationalUnit -Filter * -Properties *
+$OUwithLinked = 0
+$OUwithnoLink = 0
+$OUProtected = 0
+$OUNotProtected = 0
+
+foreach ($OU in $OUs) {
+
+ $LinkedGPOs = New-Object 'System.Collections.Generic.List[System.Object]'
+
+ if (($OU.linkedgrouppolicyobjects).length -lt 1) {
+
+ $LinkedGPOs = "None"
+ $OUwithnoLink++
+ }
+
+ else {
+
+ $OUwithLinked++
+ $GPOslinks = $OU.linkedgrouppolicyobjects
+
+ foreach ($GPOlink in $GPOslinks) {
+
+ $Split1 = $GPOlink -split "{" | Select-Object -Last 1
+ $Split2 = $Split1 -split "}" | Select-Object -First 1
+ $LinkedGPOs.Add((Get-GPO -Guid $Split2 -ErrorAction SilentlyContinue).DisplayName)
+ }
+ }
+
+ if ($OU.ProtectedFromAccidentalDeletion -eq $True) {
+
+ $OUProtected++
+ }
+
+ else {
+
+ $OUNotProtected++
+ }
+
+ $LinkedGPOs = $LinkedGPOs -join ", "
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $OU.Name
+ 'Linked GPOs' = $LinkedGPOs
+ 'Modified Date' = $OU.WhenChanged
+ 'Protected from Deletion' = $OU.ProtectedFromAccidentalDeletion
+ }
+
+ $OUTable.Add($obj)
+}
+
+if (($OUTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No OUs were found'
+ }
+ $OUTable.Add($obj)
+}
+
+#OUs with no GPO Linked
+$obj1 = [PSCustomObject]@{
+
+ 'Name' = "OUs with no GPO's linked"
+ 'Count' = $OUwithnoLink
+}
+
+$OUGPOTable.Add($obj1)
+
+$obj2 = [PSCustomObject]@{
+
+ 'Name' = "OUs with GPO's linked"
+ 'Count' = $OUwithLinked
+}
+
+$OUGPOTable.Add($obj2)
+
+#OUs Protected Pie Chart
+$obj1 = [PSCustomObject]@{
+
+ 'Name' = "Protected"
+ 'Count' = $OUProtected
+}
+
+$OUProtectionTable.Add($obj1)
+
+$obj2 = [PSCustomObject]@{
+
+ 'Name' = "Not Protected"
+ 'Count' = $OUNotProtected
+}
+
+$OUProtectionTable.Add($obj2)
+
+Write-Host "Done!" -ForegroundColor White
+
+<###########################
+
+ USERS
+
+############################>
+
+Write-Host "Working on Users Report..." -ForegroundColor Green
+
+$UserEnabled = 0
+$UserDisabled = 0
+$UserPasswordExpires = 0
+$UserPasswordNeverExpires = 0
+$ProtectedUsers = 0
+$NonProtectedUsers = 0
+
+$UsersWIthPasswordsExpiringInUnderAWeek = 0
+$UsersNotLoggedInOver30Days = 0
+$AccountsExpiringSoon = 0
+
+
+#Get users that haven't logged on in X amount of days, var is set at start of script
+$userphaventloggedonrecentlytable = New-Object 'System.Collections.Generic.List[System.Object]'
+foreach ($User in $AllUsers) {
+
+ $AttVar = $User | Select-Object Enabled, PasswordExpired, PasswordLastSet, PasswordNeverExpires, PasswordNotRequired, Name, SamAccountName, EmailAddress, AccountExpirationDate, @{ Name = 'lastlogon'; Expression = { LastLogonConvert $_.lastlogon } }, DistinguishedName
+ $maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days
+
+ if ((($AttVar.PasswordNeverExpires) -eq $False) -and (($AttVar.Enabled) -ne $false)) {
+
+ #Get Password last set date
+ $passwordSetDate = ($User | ForEach-Object { $_.PasswordLastSet })
+
+ if ($null -eq $passwordSetDate) {
+
+ $daystoexpire = "User has never logged on"
+ }
+
+ else {
+
+ #Check for Fine Grained Passwords
+ $PasswordPol = (Get-ADUserResultantPasswordPolicy $user)
+
+ if (($PasswordPol) -ne $null) {
+
+ $maxPasswordAge = ($PasswordPol).MaxPasswordAge
+ }
+
+ $expireson = $passwordsetdate.AddDays($maxPasswordAge)
+ $today = (Get-Date)
+
+ #Gets the count on how many days until the password expires and stores it in the $daystoexpire var
+ $daystoexpire = (New-TimeSpan -Start $today -End $Expireson).Days
+ }
+ }
+
+ else {
+
+ $daystoexpire = "N/A"
+ }
+
+ if (($User.Enabled -eq $True) -and ($AttVar.LastLogon -lt ((Get-Date).AddDays(- $Days))) -and ($User.LastLogon -ne $NULL)) {
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $User.Name
+ 'UserPrincipalName' = $User.UserPrincipalName
+ 'Enabled' = $AttVar.Enabled
+ 'Protected from Deletion' = $User.ProtectedFromAccidentalDeletion
+ 'Last Logon' = $AttVar.lastlogon
+ 'Password Never Expires' = $AttVar.PasswordNeverExpires
+ 'Days Until Password Expires' = $daystoexpire
+ }
+
+ $userphaventloggedonrecentlytable.Add($obj)
+ }
+
+ #Items for protected vs non protected users
+ if ($User.ProtectedFromAccidentalDeletion -eq $False) {
+
+ $NonProtectedUsers++
+ }
+
+ else {
+
+ $ProtectedUsers++
+ }
+
+ #Items for the enabled vs disabled users pie chart
+ if (($AttVar.PasswordNeverExpires) -ne $false) {
+
+ $UserPasswordNeverExpires++
+ }
+
+ else {
+
+ $UserPasswordExpires++
+ }
+
+ #Items for password expiration pie chart
+ if (($AttVar.Enabled) -ne $false) {
+
+ $UserEnabled++
+ }
+
+ else {
+
+ $UserDisabled++
+ }
+
+ $Name = $User.Name
+ $UPN = $User.UserPrincipalName
+ $Enabled = $AttVar.Enabled
+ $EmailAddress = $AttVar.EmailAddress
+ $AccountExpiration = $AttVar.AccountExpirationDate
+ $PasswordExpired = $AttVar.PasswordExpired
+ $PasswordLastSet = $AttVar.PasswordLastSet
+ $PasswordNeverExpires = $AttVar.PasswordNeverExpires
+ $daysUntilPWExpire = $daystoexpire
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $Name
+ 'UserPrincipalName' = $UPN
+ 'Enabled' = $Enabled
+ 'Protected from Deletion' = $User.ProtectedFromAccidentalDeletion
+ 'Last Logon' = $LastLogon
+ 'Email Address' = $EmailAddress
+ 'Account Expiration' = $AccountExpiration
+ 'Change Password Next Logon' = $PasswordExpired
+ 'Password Last Set' = $PasswordLastSet
+ 'Password Never Expires' = $PasswordNeverExpires
+ 'Days Until Password Expires' = $daystoexpire
+ }
+
+ $usertable.Add($obj)
+
+ if ($daystoexpire -lt $DaysUntilPWExpireINT) {
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $Name
+ 'Days Until Password Expires' = $daystoexpire
+ }
+
+ $PasswordExpireSoonTable.Add($obj)
+ }
+}
+if (($userphaventloggedonrecentlytable).Count -eq 0) {
+ $userphaventloggedonrecentlytable = [PSCustomObject]@{
+
+ Information = "Information: No Users were found to have not logged on in $Days days or more"
+ }
+}
+if (($PasswordExpireSoonTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No users were found to have passwords expiring soon'
+ }
+ $PasswordExpireSoonTable.Add($obj)
+}
+
+
+if (($usertable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No users were found'
+ }
+ $usertable.Add($obj)
+}
+
+#Data for users enabled vs disabled pie graph
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Enabled'
+ 'Count' = $UserEnabled
+}
+
+$EnabledDisabledUsersTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Disabled'
+ 'Count' = $UserDisabled
+}
+
+$EnabledDisabledUsersTable.Add($objULic)
+
+#Data for users password expires pie graph
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Password Expires'
+ 'Count' = $UserPasswordExpires
+}
+
+$PasswordExpirationTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Password Never Expires'
+ 'Count' = $UserPasswordNeverExpires
+}
+
+$PasswordExpirationTable.Add($objULic)
+
+#Data for protected users pie graph
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Protected'
+ 'Count' = $ProtectedUsers
+}
+
+$ProtectedUsersTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Not Protected'
+ 'Count' = $NonProtectedUsers
+}
+
+$ProtectedUsersTable.Add($objULic)
+if ($null -ne (($userphaventloggedonrecentlytable).Information)) {
+ $UHLONXD = "0"
+
+}
+Else {
+ $UHLONXD = $userphaventloggedonrecentlytable.Count
+
+}
+#TOP User table
+If ($null -eq (($ExpiringAccountsTable).Information)) {
+
+ $objULic = [PSCustomObject]@{
+ 'Total Users' = $AllUsers.Count
+ "Users with Passwords Expiring in less than $DaysUntilPWExpireINT days" = $PasswordExpireSoonTable.Count
+ 'Expiring Accounts' = $ExpiringAccountsTable.Count
+ "Users Haven't Logged on in $Days Days or more" = $UHLONXD
+ }
+
+ $TOPUserTable.Add($objULic)
+
+
+}
+Else {
+
+ $objULic = [PSCustomObject]@{
+ 'Total Users' = $AllUsers.Count
+ "Users with Passwords Expiring in less than $DaysUntilPWExpireINT days" = $PasswordExpireSoonTable.Count
+ 'Expiring Accounts' = "0"
+ "Users Haven't Logged on in $Days Days or more" = $UHLONXD
+ }
+ $TOPUserTable.Add($objULic)
+}
+
+Write-Host "Done!" -ForegroundColor White
+<###########################
+
+ Group Policy
+
+############################>
+Write-Host "Working on Group Policy Report..." -ForegroundColor Green
+
+$GPOTable = New-Object 'System.Collections.Generic.List[System.Object]'
+
+foreach ($GPO in $GPOs) {
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $GPO.DisplayName
+ 'Status' = $GPO.GpoStatus
+ 'Modified Date' = $GPO.ModificationTime
+ 'User Version' = $GPO.UserVersion
+ 'Computer Version' = $GPO.ComputerVersion
+ }
+
+ $GPOTable.Add($obj)
+}
+if (($GPOTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No Group Policy Obejects were found'
+ }
+ $GPOTable.Add($obj)
+}
+Write-Host "Done!" -ForegroundColor White
+<###########################
+
+ Computers
+
+############################>
+Write-Host "Working on Computers Report..." -ForegroundColor Green
+
+$Computers = Get-ADComputer -Filter * -Properties *
+$ComputersProtected = 0
+$ComputersNotProtected = 0
+$ComputerEnabled = 0
+$ComputerDisabled = 0
+#Only search for versions of windows that exist in the Environment
+$WindowsRegex = "(Windows (Server )?(\d+|XP)?( R2)?).*"
+$OsVersions = $Computers | Select-Object OperatingSystem -unique | ForEach-Object {
+ if ($_.OperatingSystem -match $WindowsRegex ) {
+ return $matches[1]
+ }
+ elseif ($_.OperatingSystem -ne $null) {
+ return $_.OperatingSystem
+ }
+} | Select-Object -unique | Sort-Object
+
+$OsObj = [PSCustomObject]@{}
+
+$OsVersions | ForEach-Object {
+
+ $OsObj | Add-Member -Name $_ -Value 0 -Type NoteProperty
+
+}
+
+foreach ($Computer in $Computers) {
+
+ if ($Computer.ProtectedFromAccidentalDeletion -eq $True) {
+
+ $ComputersProtected++
+ }
+
+ else {
+
+ $ComputersNotProtected++
+ }
+
+ if ($Computer.Enabled -eq $True) {
+
+ $ComputerEnabled++
+ }
+
+ else {
+
+ $ComputerDisabled++
+ }
+
+ $obj = [PSCustomObject]@{
+
+ 'Name' = $Computer.Name
+ 'Enabled' = $Computer.Enabled
+ 'Operating System' = $Computer.OperatingSystem
+ 'Modified Date' = $Computer.Modified
+ 'Password Last Set' = $Computer.PasswordLastSet
+ 'Protect from Deletion' = $Computer.ProtectedFromAccidentalDeletion
+ }
+
+ $ComputersTable.Add($obj)
+
+ if ($Computer.OperatingSystem -match $WindowsRegex) {
+ $OsObj."$($matches[1])"++
+ }
+
+}
+
+if (($ComputersTable).Count -eq 0) {
+
+ $Obj = [PSCustomObject]@{
+
+ Information = 'Information: No computers were found'
+ }
+ $ComputersTable.Add($obj)
+}
+
+#Pie chart breaking down OS for computer obj
+$OsObj.PSObject.Properties | ForEach-Object {
+ $GraphComputerOS.Add([PSCustomObject]@{'Name' = $_.Name; "Count" = $_.Value })
+}
+
+#Data for TOP Computers data table
+$OsObj | Add-Member -Name 'Total Computers' -Value $Computers.Count -Type NoteProperty
+
+$TOPComputersTable.Add($OsObj)
+
+
+#Data for protected Computers pie graph
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Protected'
+ 'Count' = $ComputerProtected
+}
+
+$ComputerProtectedTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Not Protected'
+ 'Count' = $ComputersNotProtected
+}
+
+$ComputerProtectedTable.Add($objULic)
+
+#Data for enabled/vs Computers pie graph
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Enabled'
+ 'Count' = $ComputerEnabled
+}
+
+$ComputersEnabledTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+
+ 'Name' = 'Disabled'
+ 'Count' = $ComputerDisabled
+}
+
+$ComputersEnabledTable.Add($objULic)
+
+Write-Host "Done!" -ForegroundColor White
+
+$tabarray = @('Dashboard', 'Groups', 'Organizational Units', 'Users', 'Group Policy', 'Computers')
+
+Write-Host "Compiling Report..." -ForegroundColor Green
+
+##--OU Protection PIE CHART--##
+#Basic Properties
+$PO12 = Get-HTMLPieChartObject
+$PO12.Title = "Organizational Units Protected from Deletion"
+$PO12.Size.Height = 250
+$PO12.Size.width = 250
+$PO12.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PO12.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PO12.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PO12.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PO12.DataDefinition.DataNameColumnName = 'Name'
+$PO12.DataDefinition.DataValueColumnName = 'Count'
+
+##--Computer OS Breakdown PIE CHART--##
+$PieObjectComputerObjOS = Get-HTMLPieChartObject
+$PieObjectComputerObjOS.Title = "Computer Operating Systems"
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectComputerObjOS.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectComputerObjOS.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectComputerObjOS.ChartStyle.ColorSchemeName = 'Random'
+
+##--Computers Protection PIE CHART--##
+#Basic Properties
+$PieObjectComputersProtected = Get-HTMLPieChartObject
+$PieObjectComputersProtected.Title = "Computers Protected from Deletion"
+$PieObjectComputersProtected.Size.Height = 250
+$PieObjectComputersProtected.Size.width = 250
+$PieObjectComputersProtected.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectComputersProtected.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectComputersProtected.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectComputersProtected.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectComputersProtected.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectComputersProtected.DataDefinition.DataValueColumnName = 'Count'
+
+##--Computers Enabled PIE CHART--##
+#Basic Properties
+$PieObjectComputersEnabled = Get-HTMLPieChartObject
+$PieObjectComputersEnabled.Title = "Computers Enabled vs Disabled"
+$PieObjectComputersEnabled.Size.Height = 250
+$PieObjectComputersEnabled.Size.width = 250
+$PieObjectComputersEnabled.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectComputersEnabled.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectComputersEnabled.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectComputersEnabled.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectComputersEnabled.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectComputersEnabled.DataDefinition.DataValueColumnName = 'Count'
+
+##--USERS Protection PIE CHART--##
+#Basic Properties
+$PieObjectProtectedUsers = Get-HTMLPieChartObject
+$PieObjectProtectedUsers.Title = "Users Protected from Deletion"
+$PieObjectProtectedUsers.Size.Height = 250
+$PieObjectProtectedUsers.Size.width = 250
+$PieObjectProtectedUsers.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectProtectedUsers.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectProtectedUsers.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectProtectedUsers.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectProtectedUsers.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectProtectedUsers.DataDefinition.DataValueColumnName = 'Count'
+
+#Basic Properties
+$PieObjectOUGPOLinks = Get-HTMLPieChartObject
+$PieObjectOUGPOLinks.Title = "OU GPO Links"
+$PieObjectOUGPOLinks.Size.Height = 250
+$PieObjectOUGPOLinks.Size.width = 250
+$PieObjectOUGPOLinks.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectOUGPOLinks.ChartStyle.ColorSchemeName = "ColorScheme4"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectOUGPOLinks.ChartStyle.ColorSchemeName = "Generated5"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectOUGPOLinks.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectOUGPOLinks.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectOUGPOLinks.DataDefinition.DataValueColumnName = 'Count'
+
+#Basic Properties
+$PieObject4 = Get-HTMLPieChartObject
+$PieObject4.Title = "Office 365 Unassigned Licenses"
+$PieObject4.Size.Height = 250
+$PieObject4.Size.width = 250
+$PieObject4.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObject4.ChartStyle.ColorSchemeName = "ColorScheme4"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObject4.ChartStyle.ColorSchemeName = "Generated4"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObject4.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObject4.DataDefinition.DataNameColumnName = 'Name'
+$PieObject4.DataDefinition.DataValueColumnName = 'Unassigned Licenses'
+
+#Basic Properties
+$PieObjectGroupType = Get-HTMLPieChartObject
+$PieObjectGroupType.Title = "Group Types"
+$PieObjectGroupType.Size.Height = 250
+$PieObjectGroupType.Size.width = 250
+$PieObjectGroupType.ChartStyle.ChartType = 'doughnut'
+
+#Pie Chart Groups with members vs no members
+$PieObjectGroupMembersType = Get-HTMLPieChartObject
+$PieObjectGroupMembersType.Title = "Group Membership"
+$PieObjectGroupMembersType.Size.Height = 250
+$PieObjectGroupMembersType.Size.width = 250
+$PieObjectGroupMembersType.ChartStyle.ChartType = 'doughnut'
+$PieObjectGroupMembersType.ChartStyle.ColorSchemeName = "ColorScheme4"
+$PieObjectGroupMembersType.ChartStyle.ColorSchemeName = "Generated8"
+$PieObjectGroupMembersType.ChartStyle.ColorSchemeName = 'Random'
+$PieObjectGroupMembersType.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectGroupMembersType.DataDefinition.DataValueColumnName = 'Count'
+
+#Basic Properties
+$PieObjectGroupType2 = Get-HTMLPieChartObject
+$PieObjectGroupType2.Title = "Custom vs Default Groups"
+$PieObjectGroupType2.Size.Height = 250
+$PieObjectGroupType2.Size.width = 250
+$PieObjectGroupType2.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectGroupType.ChartStyle.ColorSchemeName = "ColorScheme4"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectGroupType.ChartStyle.ColorSchemeName = "Generated8"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectGroupType.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectGroupType.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectGroupType.DataDefinition.DataValueColumnName = 'Count'
+
+##--Enabled users vs Disabled Users PIE CHART--##
+#Basic Properties
+$EnabledDisabledUsersPieObject = Get-HTMLPieChartObject
+$EnabledDisabledUsersPieObject.Title = "Enabled vs Disabled Users"
+$EnabledDisabledUsersPieObject.Size.Height = 250
+$EnabledDisabledUsersPieObject.Size.width = 250
+$EnabledDisabledUsersPieObject.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$EnabledDisabledUsersPieObject.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$EnabledDisabledUsersPieObject.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$EnabledDisabledUsersPieObject.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$EnabledDisabledUsersPieObject.DataDefinition.DataNameColumnName = 'Name'
+$EnabledDisabledUsersPieObject.DataDefinition.DataValueColumnName = 'Count'
+
+##--PasswordNeverExpires PIE CHART--##
+#Basic Properties
+$PWExpiresUsersTable = Get-HTMLPieChartObject
+$PWExpiresUsersTable.Title = "Password Expiration"
+$PWExpiresUsersTable.Size.Height = 250
+$PWExpiresUsersTable.Size.Width = 250
+$PWExpiresUsersTable.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PWExpiresUsersTable.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PWExpiresUsersTable.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PWExpiresUsersTable.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PWExpiresUsersTable.DataDefinition.DataNameColumnName = 'Name'
+$PWExpiresUsersTable.DataDefinition.DataValueColumnName = 'Count'
+
+##--Group Protection PIE CHART--##
+#Basic Properties
+$PieObjectGroupProtection = Get-HTMLPieChartObject
+$PieObjectGroupProtection.Title = "Groups Protected from Deletion"
+$PieObjectGroupProtection.Size.Height = 250
+$PieObjectGroupProtection.Size.width = 250
+$PieObjectGroupProtection.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectGroupProtection.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectGroupProtection.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectGroupProtection.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectGroupProtection.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectGroupProtection.DataDefinition.DataValueColumnName = 'Count'
+
+#Dashboard Report
+$FinalReport = New-Object 'System.Collections.Generic.List[System.Object]'
+$FinalReport.Add($(Get-HTMLOpenPage -TitleText $ReportTitle -LeftLogoString $CompanyLogo -RightLogoString $RightLogo))
+$FinalReport.Add($(Get-HTMLTabHeader -TabNames $tabarray))
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[0] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Company Information"))
+$FinalReport.Add($(Get-HTMLContentTable $CompanyInfoTable))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Groups"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText 'Domain Administrators'))
+$FinalReport.Add($(Get-HTMLContentDataTable $DomainAdminTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText 'Enterprise Administrators'))
+$FinalReport.Add($(Get-HTMLContentDataTable $EnterpriseAdminTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Objects in Default OUs"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText 'Computers'))
+$FinalReport.Add($(Get-HTMLContentDataTable $DefaultComputersinDefaultOUTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText 'Users'))
+$FinalReport.Add($(Get-HTMLContentDataTable $DefaultUsersinDefaultOUTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "AD Objects Modified in Last $ADModNumber Days"))
+$FinalReport.Add($(Get-HTMLContentDataTable $ADObjectTable))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Expiring Items"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Users with Passwords Expiring in less than $DaysUntilPWExpireINT days"))
+$FinalReport.Add($(Get-HTMLContentDataTable $PasswordExpireSoonTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText 'Accounts Expiring Soon'))
+$FinalReport.Add($(Get-HTMLContentDataTable $ExpiringAccountsTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Accounts"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Users Haven't Logged on in $Days Days or more"))
+$FinalReport.Add($(Get-HTMLContentDataTable $userphaventloggedonrecentlytable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Accounts Created in $UserCreatedDays Days or Less"))
+$FinalReport.Add($(Get-HTMLContentDataTable $NewCreatedUsersTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Security Logs"))
+$FinalReport.Add($(Get-HTMLContentDataTable $securityeventtable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "UPN Suffixes"))
+$FinalReport.Add($(Get-HTMLContentTable $DomainTable))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#Groups Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[1] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Groups Overivew"))
+$FinalReport.Add($(Get-HTMLContentTable $TOPGroupsTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Active Directory Groups"))
+$FinalReport.Add($(Get-HTMLContentDataTable $Table -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText 'Domain Administrators'))
+$FinalReport.Add($(Get-HTMLContentDataTable $DomainAdminTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText 'Enterprise Administrators'))
+$FinalReport.Add($(Get-HTMLContentDataTable $EnterpriseAdminTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Active Directory Groups Chart"))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 4))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectGroupType -DataSet $GroupTypetable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 4))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectGroupType2 -DataSet $DefaultGrouptable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 4))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectGroupMembersType -DataSet $GroupMembershipTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 4 -ColumnCount 4))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectGroupProtection -DataSet $GroupProtectionTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#Organizational Unit Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[2] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Organizational Units"))
+$FinalReport.Add($(Get-HTMLContentDataTable $OUTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Organizational Units Charts"))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 2))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectOUGPOLinks -DataSet $OUGPOTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 2))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PO12 -DataSet $OUProtectionTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentclose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#Users Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[3] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Users Overivew"))
+$FinalReport.Add($(Get-HTMLContentTable $TOPUserTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Active Directory Users"))
+$FinalReport.Add($(Get-HTMLContentDataTable $UserTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Expiring Items"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Users with Passwords Expiring in less than $DaysUntilPWExpireINT days"))
+$FinalReport.Add($(Get-HTMLContentDataTable $PasswordExpireSoonTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText 'Accounts Expiring Soon'))
+$FinalReport.Add($(Get-HTMLContentDataTable $ExpiringAccountsTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Accounts"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Users Haven't Logged on in $Days Days or more"))
+$FinalReport.Add($(Get-HTMLContentDataTable $userphaventloggedonrecentlytable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Accounts Created in $UserCreatedDays Days or Less"))
+$FinalReport.Add($(Get-HTMLContentDataTable $NewCreatedUsersTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Users Charts"))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 3))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $EnabledDisabledUsersPieObject -DataSet $EnabledDisabledUsersTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 3))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PWExpiresUsersTable -DataSet $PasswordExpirationTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 3))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectProtectedUsers -DataSet $ProtectedUsersTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#GPO Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[4] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Group Policies"))
+$FinalReport.Add($(Get-HTMLContentDataTable $GPOTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#Computers Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[5] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Computers Overivew"))
+$FinalReport.Add($(Get-HTMLContentTable $TOPComputersTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Computers"))
+$FinalReport.Add($(Get-HTMLContentDataTable $ComputersTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Computers Charts"))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 2))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectComputersProtected -DataSet $ComputerProtectedTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 2))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectComputersEnabled -DataSet $ComputersEnabledTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentclose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Computers Operating System Breakdown"))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectComputerObjOS -DataSet $GraphComputerOS))
+$FinalReport.Add($(Get-HTMLContentclose))
+
+$FinalReport.Add($(Get-HTMLTabContentClose))
+$FinalReport.Add($(Get-HTMLClosePage))
+
+$Day = (Get-Date).Day
+$Month = (Get-Date).Month
+$Year = (Get-Date).Year
+$ReportName = ("$Day - $Month - $Year - AD Report")
+
+Save-HTMLReport -ReportContent $FinalReport -ShowReport -ReportName $ReportName -ReportPath $ReportSavePath
diff --git a/Active Directory/Audit-v3.ps1 b/Active Directory/Audit-v3.ps1
new file mode 100644
index 0000000..0408449
--- /dev/null
+++ b/Active Directory/Audit-v3.ps1
@@ -0,0 +1,1372 @@
+<#
+ .NOTES
+ Author : phillips321.co.uk
+ Creation Date: 16/08/2018
+ Script Name : ADAudit.ps1
+ .SYNOPSIS
+ PowerShell Script to perform a quick AD audit
+ .DESCRIPTION
+ o Compatibility :
+ * PowerShell v2.0 (PowerShell 5.0 needed if you intend to use DSInternals PowerShell module)
+ * Tested on Windows Server 2008R2/2012/2012R2/2016/2019/2022
+ * All languages (you may need to adjust $AdministratorTranslation variable)
+ o Changelog :
+ [x] Version 5.4 - 16/08/2022
+ * Added nessus output tags for LAPS
+ * Added nessus output for GPO issues
+ [ ] Version 5.3 - 07/03/2022
+ * Added SamAccountName to Get-PrivilegedGroupMembership output
+ * Swapped some write-host to write-both so it's captured in the consolelog.txt
+ [ ] Version 5.2 - 28/01/2022
+ * Enhanced Get-LAPSStatus
+ * Added news checks (AD services + Windows Update + NTP source + Computer/User container + RODC + Locked accounts + Password Quality + SYSVOL & NETLOGON share presence)
+ * Added support for WS 2022
+ * Fix OS version difference check for WS 2008
+ * Fix Write-Progress not disappearing when done
+ [ ] Version 5.1
+ * Added check for newly created users and groups
+ * Added check for replication mechanism
+ * Added check for Recycle Bin
+ * Fix ProtectedUsers for WS 2008
+ [ ] Version 5.0
+ * Make the script compatible with other language than English
+ * Fix the cpassword search in GPO
+ * Fix Get-ACL bad syntax error
+ * Fix Get-DNSZoneInsecure for WS 2008
+ [ ] Version 4.9
+ * Bug fix in checking password comlexity
+ [ ] Version 4.8
+ * Added checks for vista, win7 and 2008 old operating systems
+ * Added insecure DNS zone checks
+ [ ] Version 4.7
+ * Added powershel-v2 suport and fixed array issue
+ [ ] Version 4.6
+ * Fixed potential division by zero
+ [ ] Version 4.5
+ * PR to resolve count issue when count = 1
+ [ ] Version 4.4
+ * Reinstated nessus fix and put output in a list for findings
+ * Changed Get-AdminSDHolders with Get-PrivilegedGroupAccounts
+ [ ] Version 4.3
+ * Temp fix with nessus output
+ [ ] Version 4.2
+ * Bug fix on cpassword count
+ [ ] Version 4.1
+ * Loads of fixes
+ * Works with Powershellv2 again now
+ * Filtered out disabled accounts
+ * Improved domain trusts checking
+ * OUperms improvements and filtering
+ * Check for w2k
+ * Fixed typos/spelling and various other fixes
+ [ ] Version 4.0
+ * Added XML output for import to CheckSecCanopy
+ [ ] Version 3.5
+ * Added KB more references for internal use
+ [ ] Version 3.4
+ * Added KB references for internal use
+ [ ] Version 3.3
+ * Added a greater level of accuracy to Inactive Accounts (thanks exceedio)
+ [ ] Version 3.2
+ * Added search for DCs not owned by Domain Admins group
+ [ ] Version 3.1
+ * Added progress to functions that have count
+ * Added check for transitive trusts
+ [ ] Version 3.0
+ * Added ability to choose functions before runtime
+ * Cleaned up get-ouperms output
+ [ ] Version 2.5
+ * Bug fixes to version check for 2012R2 or greater specific checks
+ [ ] Version 2.4
+ * Forked project
+ * Added Get-OUPerms, Get-LAPSStatus, Get-AdminSDHolders, Get-ProtectedUsers and Get-AuthenticationPoliciesAndSilos functions
+ * Also added FineGrainedPasswordPolicies to Get-PasswordPolicy and changed order slightly
+ [ ] Version 2.3
+ * Added more useful user output to .txt files (Cheers DK)
+ [ ] Version 2.2
+ * Minor typo fix
+ [ ] Version 2.1
+ * Added check for null sessions
+ [ ] Version 2.0
+ * Multiple Additions and knocked off lots of the todo list
+ [ ] Version 1.9
+ * Fixed bug, that used Administrator account name instead of UID 500 and a bug with inactive accounts timespan
+ [ ] Version 1.8
+ * Added check for last time 'Administrator' account logged on
+ [ ] Version 1.6
+ * Added Get-FunctionalLevel and krbtgt password last changed check
+ [ ] Version 1.5
+ * Added Get-HostDetails to output simple info like username, hostname, etc...
+ [ ] Version 1.4
+ * Added Get-WinVersion version to assist with some checks (SMBv1 currently)
+ [ ] Version 1.3
+ * Added XML output for GPO (for offline processing using grouper https://github.com/l0ss/Grouper/blob/master/grouper.psm1)
+ [ ] Version 1.2
+ * Added check for modules
+ [ ] Version 1.1
+ * Fixed bug where SYSVOL research returns empty
+ [ ] Version 1.0
+ * First release
+ .EXAMPLE
+ PS> ADAudit.ps1 -installdeps -all
+ Install external features and launch all checks
+ .EXAMPLE
+ PS> ADAudit.ps1 -all
+ Launch all checks (but do not install external modules)
+ .EXAMPLE
+ PS> ADAudit.ps1 -installdeps
+ Installs optionnal features (DSInternals)
+ .EXAMPLE
+ PS> ADAudit.ps1 -hostdetails -domainaudit
+ Retrieves hostname and other useful audit info
+ Retrieves information about the AD such as functional level
+#>
+[CmdletBinding()]
+Param (
+ [switch]$installdeps = $false,
+ [switch]$hostdetails = $false,
+ [switch]$domainaudit = $false,
+ [switch]$trusts = $false,
+ [switch]$accounts = $false,
+ [switch]$passwordpolicy = $false,
+ [switch]$ntds = $false,
+ [switch]$oldboxes = $false,
+ [switch]$gpo = $false,
+ [switch]$ouperms = $false,
+ [switch]$laps = $false,
+ [switch]$authpolsilos = $false,
+ [switch]$insecurednszone = $false,
+ [switch]$recentchanges = $false,
+ [switch]$all = $false
+)
+$versionnum = "v5.4"
+$AdministratorTranslation = @("Administrator","Administrateur","Administrador")#If missing put the default Administrator name for your own language here
+
+Function Get-Variables(){#Retrieve group names and OS version
+ $script:OSVersion = (Get-Itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
+ $script:Administrators = (Get-ADGroup -Identity S-1-5-32-544).SamAccountName
+ $script:Users = (Get-ADGroup -Identity S-1-5-32-545).SamAccountName
+ $script:DomainAdminsSID = ((Get-ADDomain -Current LoggedOnUser).domainsid.value)+"-512"
+ $script:DomainUsersSID = ((Get-ADDomain -Current LoggedOnUser).domainsid.value)+"-513"
+ $script:DomainControllersSID = ((Get-ADDomain -Current LoggedOnUser).domainsid.value)+"-516"
+ $script:SchemaAdminsSID = ((Get-ADDomain -Current LoggedOnUser).domainsid.value)+"-518"
+ $script:EnterpriseAdminsSID = ((Get-ADDomain -Current LoggedOnUser).domainsid.value)+"-519"
+ $script:EveryOneSID = New-Object System.Security.Principal.SecurityIdentifier "S-1-1-0"
+ $script:EntrepriseDomainControllersSID = New-Object System.Security.Principal.SecurityIdentifier "S-1-5-9"
+ $script:AuthenticatedUsersSID = New-Object System.Security.Principal.SecurityIdentifier "S-1-5-11"
+ $script:SystemSID = New-Object System.Security.Principal.SecurityIdentifier "S-1-5-18"
+ $script:LocalServiceSID = New-Object System.Security.Principal.SecurityIdentifier "S-1-5-19"
+ $script:DomainAdmins = (Get-ADGroup -Identity $DomainAdminsSID).SamAccountName
+ $script:DomainUsers = (Get-ADGroup -Identity $DomainUsersSID).SamAccountName
+ $script:DomainControllers = (Get-ADGroup -Identity $DomainControllersSID).SamAccountName
+ $script:SchemaAdmins = (Get-ADGroup -Identity $SchemaAdminsSID).SamAccountName
+ $script:EnterpriseAdmins = (Get-ADGroup -Identity $EnterpriseAdminsSID).SamAccountName
+ $script:EveryOne = $EveryOneSID.Translate([System.Security.Principal.NTAccount]).Value
+ $script:EntrepriseDomainControllers = $EntrepriseDomainControllersSID.Translate([System.Security.Principal.NTAccount]).Value
+ $script:AuthenticatedUsers = $AuthenticatedUsersSID.Translate([System.Security.Principal.NTAccount]).Value
+ $script:System = $SystemSID.Translate([System.Security.Principal.NTAccount]).Value
+ $script:LocalService = $LocalServiceSID.Translate([System.Security.Principal.NTAccount]).Value
+ Write-Both " [+] Administrators : $Administrators"
+ Write-Both " [+] Users : $Users"
+ Write-Both " [+] Domain Admins : $DomainAdmins"
+ Write-Both " [+] Domain Users : $DomainUsers"
+ Write-Both " [+] Domain Controllers : $DomainControllers"
+ Write-Both " [+] Schema Admins : $SchemaAdmins"
+ Write-Both " [+] Enterprise Admins : $EnterpriseAdmins"
+ Write-Both " [+] Every One : $EveryOne"
+ Write-Both " [+] Entreprise Domain Controllers: $EntrepriseDomainControllers"
+ Write-Both " [+] Authenticated Users : $AuthenticatedUsers"
+ Write-Both " [+] System : $System"
+ Write-Both " [+] Local Service : $LocalService"
+}
+Function Write-Both(){#Writes to console screen and output file
+ Write-Host "$args"
+ Add-Content -Path "$outputdir\consolelog.txt" -Value "$args"
+}
+Function Write-Nessus-Header(){#Creates nessus XML file header
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value ""
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value ""
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value ""
+}
+Function Write-Nessus-Finding( [string]$pluginname, [string]$pluginid, [string]$pluginexample){
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value ""
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value "There's an issue with $pluginname"
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value "remoteLow"
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value "CCS Recommends fixing the issues with $pluginname on the host"
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value "There's an issue with the $pluginname settings on the host"
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value "$pluginexample"
+}
+Function Write-Nessus-Footer(){
+ Add-Content -Path "$outputdir\adaudit.nessus" -Value ""
+}
+Function Get-DNSZoneInsecure{#Check DNS zones allowing insecure updates
+ if($OSVersion -notlike "Windows Server 2008*"){
+ $count = 0
+ $progresscount = 0
+ $insecurezones = Get-DnsServerZone | Where-Object {$_.DynamicUpdate -like '*nonsecure*'}
+ $totalcount = ($insecurezones | Measure-Object | Select-Object Count).count
+ if($totalcount -gt 0){
+ foreach($insecurezone in $insecurezones ){
+ Add-Content -Path "$outputdir\insecure_dns_zones.txt" -Value "The DNS Zone $($insecurezone.ZoneName) allows insecure updates ($($insecurezone.DynamicUpdate))"
+ }
+ Write-Both " [!] There were $totalcount DNS zones configured to allow insecure updates (KB842)"
+ Write-Nessus-Finding "InsecureDNSZone" "KB842" ([System.IO.File]::ReadAllText("$outputdir\insecure_dns_zones.txt"))
+ }
+ }else{
+ Write-Both " [-] Not Windows 2012 or above, skipping Get-DNSZoneInsecure check."
+ }
+}
+Function Get-OUPerms{#Check for non-standard perms for authenticated users, domain users, users and everyone groups
+ $count = 0
+ $progresscount = 0
+ $objects = (Get-ADObject -Filter *)
+ $totalcount = ($objects | Measure-Object | Select-Object Count).count
+ foreach($object in $objects){
+ if($totalcount -eq 0){ break }
+ $progresscount++
+ Write-Progress -Activity "Searching for non standard permissions for authenticated users..." -Status "Currently identifed $count" -PercentComplete ($progresscount / $totalcount*100)
+ if($OSVersion -like "Windows Server 2019*" -or $OSVersion -like "Windows Server 2022*"){
+ $output = (Get-Acl "Microsoft.ActiveDirectory.Management.dll\ActiveDirectory:://RootDSE/$object").Access | Where-Object {($_.IdentityReference -eq "$AuthenticatedUsers") -or ($_.IdentityReference -eq "$EveryOne") -or ($_.IdentityReference -like "*\$DomainUsers") -or ($_.IdentityReference -eq "BUILTIN\$Users")} | Where-Object {($_.ActiveDirectoryRights -ne 'GenericRead') -and ($_.ActiveDirectoryRights -ne 'GenericExecute') -and ($_.ActiveDirectoryRights -ne 'ExtendedRight') -and ($_.ActiveDirectoryRights -ne 'ReadControl') -and ($_.ActiveDirectoryRights -ne 'ReadProperty') -and ($_.ActiveDirectoryRights -ne 'ListObject') -and ($_.ActiveDirectoryRights -ne 'ListChildren') -and ($_.ActiveDirectoryRights -ne 'ListChildren, ReadProperty, ListObject') -and ($_.ActiveDirectoryRights -ne 'ReadProperty, GenericExecute') -and ($_.AccessControlType -ne 'Deny')}
+ }else{
+ $output = (Get-Acl AD:$object).Access | Where-Object {($_.IdentityReference -eq "$AuthenticatedUsers") -or ($_.IdentityReference -eq "$EveryOne") -or ($_.IdentityReference -like "*\$DomainUsers") -or ($_.IdentityReference -eq "BUILTIN\$Users")} | Where-Object {($_.ActiveDirectoryRights -ne 'GenericRead') -and ($_.ActiveDirectoryRights -ne 'GenericExecute') -and ($_.ActiveDirectoryRights -ne 'ExtendedRight') -and ($_.ActiveDirectoryRights -ne 'ReadControl') -and ($_.ActiveDirectoryRights -ne 'ReadProperty') -and ($_.ActiveDirectoryRights -ne 'ListObject') -and ($_.ActiveDirectoryRights -ne 'ListChildren') -and ($_.ActiveDirectoryRights -ne 'ListChildren, ReadProperty, ListObject') -and ($_.ActiveDirectoryRights -ne 'ReadProperty, GenericExecute') -and ($_.AccessControlType -ne 'Deny')}
+ }
+ if($output -ne $null){
+ $count++
+ Add-Content -Path "$outputdir\ou_permissions.txt" -Value "OU: $object"
+ Add-Content -Path "$outputdir\ou_permissions.txt" -Value "[!] Rights: $($output.IdentityReference) $($output.ActiveDirectoryRights) $($output.AccessControlType)"
+ }
+ }
+ Write-Progress -Activity "Searching for non standard permissions for authenticated users..." -Status "Ready" -Completed
+ if($count -gt 0){
+ Write-Both " [!] Issue identified, see $outputdir\ou_permissions.txt"
+ Write-Nessus-Finding "OUPermissions" "KB551" ([System.IO.File]::ReadAllText("$outputdir\ou_permissions.txt"))
+ }
+}
+Function Get-LAPSStatus{#Check for presence of LAPS in domain
+ try{
+ Get-ADObject "CN=ms-Mcs-AdmPwd,CN=Schema,CN=Configuration,$((Get-ADDomain).DistinguishedName)" -ErrorAction Stop | Out-Null
+ Write-Both " [+] LAPS Installed in domain"
+ }
+ catch{
+ Write-Both " [!] LAPS Not Installed in domain (KB258)"
+ Write-Nessus-Finding "LAPSMissing" "KB258" "LAPS Not Installed in domain"
+ }
+ if(Get-Module -ListAvailable -Name AdmPwd.PS){
+ Import-Module AdmPwd.PS
+ $count = 0
+ $missingComputers = (Get-ADComputer -Filter {ms-Mcs-AdmPwd -notlike "*"}).Name
+ $totalcount = ($missingComputers | Measure-Object | Select-Object Count).count
+ if($totalcount -gt 0){
+ $missingComputers | Add-Content -Path $outputdir\laps_missing-computers.txt
+ Write-Both " [!] Some computers/servers don't have LAPS password set, see $outputdir\laps_missing-computers.txt"
+ Write-Nessus-Finding "LAPSMissingorExpired" "KB258" ([System.IO.File]::ReadAllText("$outputdir\laps_missing-computers.txt"))
+ }
+ $count = 0
+ $computersList = (Get-ADComputer -Filter {ms-Mcs-AdmPwdExpirationTime -like "*"} -Properties ms-Mcs-AdmPwdExpirationTime | select Name,ms-Mcs-AdmPwdExpirationTime)
+ foreach($computer in $computersList ){
+ $expiration = [datetime]::FromFileTime($computer.'ms-Mcs-AdmPwdExpirationTime')
+ $today = Get-Date
+ if($expiration -lt $today){
+ $count++
+ "$($computer.Name) password is expired since $expiration" | Add-Content -Path $outputdir\laps_expired-passwords.txt
+ }
+ }
+ if($count -gt 0){
+ Write-Both " [!] Some computers/servers have LAPS password expired, see $outputdir\laps_expired-passwords.txt"
+ Write-Nessus-Finding "LAPSMissingorExpired" "KB258" ([System.IO.File]::ReadAllText("$outputdir\laps_expired-passwords.txt"))
+ }
+ Get-ADOrganizationalUnit -Filter * | Find-AdmPwdExtendedRights -PipelineVariable OU | foreach{
+ $_.ExtendedRightHolders | foreach{
+ if($_ -ne $System){
+ "$_ can read password attribute of $($Ou.ObjectDN)" | Add-Content -Path $outputdir\laps_read-extendedrights.txt
+ }
+ }
+ }
+ Write-Both " [!] LAPS extended rights exported, see $outputdir\laps_read-extendedrights.txt"
+ Write-Nessus-Finding "LAPSMissingorExpired" "KB258" ([System.IO.File]::ReadAllText("$outputdir\laps_read-extendedrights.txt"))
+
+ }else{
+ Write-Both " [!] LAPS PowerShell module is not installed, can't run LAPS checks on this DC"
+ }
+}
+Function Get-PrivilegedGroupAccounts{#Lists users in Admininstrators, DA and EA groups
+ [array]$privilegedusers = @()
+ $privilegedusers += Get-ADGroupMember $Administrators -Recursive
+ $privilegedusers += Get-ADGroupMember $DomainAdmins -Recursive
+ $privilegedusers += Get-ADGroupMember $EnterpriseAdmins -Recursive
+ $privusersunique = $privilegedusers | Sort-Object -Unique
+ $count = 0
+ $totalcount = ($privilegedusers | Measure-Object | Select-Object Count).count
+ foreach($account in $privusersunique){
+ if($totalcount -eq 0){ break }
+ Write-Progress -Activity "Searching for users who are in privileged groups..." -Status "Currently identifed $count" -PercentComplete ($count / $totalcount*100)
+ Add-Content -Path "$outputdir\accounts_userPrivileged.txt" -Value "$($account.SamAccountName) ($($account.Name))"
+ $count++
+ }
+ Write-Progress -Activity "Searching for users who are in privileged groups..." -Status "Ready" -Completed
+ if($count -gt 0){
+ Write-Both " [!] There are $count accounts in privileged groups, see accounts_userPrivileged.txt (KB426)"
+ Write-Nessus-Finding "AdminSDHolders" "KB426" ([System.IO.File]::ReadAllText("$outputdir\accounts_userPrivileged.txt"))
+ }
+}
+Function Get-ProtectedUsers{#Lists users in "Protected Users" group (2012R2 and above)
+ $DomainLevel = (Get-ADDomain).domainMode
+ if($DomainLevel -eq "Windows2012Domain" -or $DomainLevel -eq "Windows2012R2Domain" -or $DomainLevel -eq "Windows2016Domain"){#Checking for 2012 or above domain functional level
+ $ProtectedUsersSID = ((Get-ADDomain -Current LoggedOnUser).domainsid.value)+"-525"
+ $ProtectedUsers = (Get-ADGroup -Identity $ProtectedUsersSID).SamAccountName
+ $count = 0
+ $protectedaccounts = (Get-ADGroup $ProtectedUsers -Properties members).Members
+ $totalcount = ($protectedaccounts | Measure-Object | Select-Object Count).count
+ foreach($members in $protectedaccounts){
+ if($totalcount -eq 0){ break }
+ Write-Progress -Activity "Searching for protected users..." -Status "Currently identifed $count" -PercentComplete ($count / $totalcount*100)
+ $account = Get-ADObject $members -Properties SamAccountName
+ Add-Content -Path "$outputdir\accounts_protectedusers.txt" -Value "$($account.SamAccountName) ($($account.Name))"
+ $count++
+ }
+ Write-Progress -Activity "Searching for protected users..." -Status "Ready" -Completed
+ if($count -gt 0){
+ Write-Both " [!] There are $count accounts in the 'Protected Users' group, see accounts_protectedusers.txt"
+ Write-Nessus-Finding "ProtectedUsers" "KB549" ([System.IO.File]::ReadAllText("$outputdir\accounts_protectedusers.txt"))
+ }
+ }
+ else {Write-Both " [-] Not Windows 2012 Domain Functional level or above, skipping Get-ProtectedUsers check."}
+}
+Function Get-AuthenticationPoliciesAndSilos {#Lists any authentication policies and silos (2012R2 and above)
+ if([single](Get-WinVersion) -ge [single]6.3){#NT6.2 or greater detected so running this script
+ $count = 0
+ foreach($policy in Get-ADAuthenticationPolicy -Filter *){
+ Write-Both " [!] Found $policy Authentication Policy"
+ $count++
+ }
+ if($count -lt 1){
+ Write-Both " [!] There were no AD Authentication Policies found in the domain"
+ }
+ $count = 0
+ foreach($policysilo in Get-ADAuthenticationPolicySilo -Filter *){
+ Write-Both " [!] Found $policysilo Authentication Policy Silo"
+ $count++
+ }
+ if($count -lt 1){
+ Write-Both " [!] There were no AD Authentication Policy Silos found in the domain"
+ }
+ }
+}
+Function Get-MachineAccountQuota{#Get number of machines a user can add to a domain
+ $MachineAccountQuota = (Get-ADDomain | select -ExpandProperty DistinguishedName | Get-ADObject -Property 'ms-DS-MachineAccountQuota' | select -ExpandProperty ms-DS-MachineAccountQuota)
+ if($MachineAccountQuota -gt 0){
+ Write-Both " [!] Domain users can add $MachineAccountQuota devices to the domain! (KB251)"
+ Write-Nessus-Finding "DomainAccountQuota" "KB251" "Domain users can add $MachineAccountQuota devices to the domain"
+ }
+}
+Function Get-PasswordPolicy{
+ Write-Both " [+] Checking default password policy"
+ if(!(Get-ADDefaultDomainPasswordPolicy).ComplexityEnabled){
+ Write-Both " [!] Password Complexity not enabled (KB262)"
+ Write-Nessus-Finding "PasswordComplexity" "KB262" "Password Complexity not enabled"
+ }
+ if((Get-ADDefaultDomainPasswordPolicy).LockoutThreshold -lt 5){
+ Write-Both " [!] Lockout threshold is less than 5, currently set to $((Get-ADDefaultDomainPasswordPolicy).LockoutThreshold) (KB263)"
+ Write-Nessus-Finding "LockoutThreshold" "KB263" "Lockout threshold is less than 5, currently set to $((Get-ADDefaultDomainPasswordPolicy).LockoutThreshold)"
+ }
+ if((Get-ADDefaultDomainPasswordPolicy).MinPasswordLength -lt 14){
+ Write-Both " [!] Minimum password length is less than 14, currently set to $((Get-ADDefaultDomainPasswordPolicy).MinPasswordLength) (KB262)"
+ Write-Nessus-Finding "PasswordLength" "KB262" "Minimum password length is less than 14, currently set to $((Get-ADDefaultDomainPasswordPolicy).MinPasswordLength)"
+ }
+ if((Get-ADDefaultDomainPasswordPolicy).ReversibleEncryptionEnabled){
+ Write-Both " [!] Reversible encryption is enabled"
+ }
+ if((Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge -eq "00:00:00"){
+ Write-Both " [!] Passwords do not expire (KB254)"
+ Write-Nessus-Finding "PasswordsDoNotExpire" "KB254" "Passwords do not expire"
+ }
+ if((Get-ADDefaultDomainPasswordPolicy).PasswordHistoryCount -lt 12){
+ Write-Both " [!] Passwords history is less than 12, currently set to $((Get-ADDefaultDomainPasswordPolicy).PasswordHistoryCount) (KB262)"
+ Write-Nessus-Finding "PasswordHistory" "KB262" "Passwords history is less than 12, currently set to $((Get-ADDefaultDomainPasswordPolicy).PasswordHistoryCount)"
+ }
+ if((Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa).NoLmHash -eq 0){
+ Write-Both " [!] LM Hashes are stored! (KB510)"
+ Write-Nessus-Finding "LMHashesAreStored" "KB510" "LM Hashes are stored"
+ }
+ Write-Both " [-] Finished checking default password policy"
+ Write-Both " [+] Checking fine-grained password policies if they exist"
+ foreach($finegrainedpolicy in Get-ADFineGrainedPasswordPolicy -Filter *){
+ $finegrainedpolicyappliesto=$finegrainedpolicy.AppliesTo
+ Write-Both " [!] Policy: $finegrainedpolicy"
+ Write-Both " [!] AppliesTo: $($finegrainedpolicyappliesto)"
+ if(!($finegrainedpolicy).PasswordComplexity){
+ Write-Both " [!] Password Complexity not enabled (KB262)"
+ Write-Nessus-Finding "PasswordComplexity" "KB262" "Password Complexity not enabled for $finegrainedpolicy"
+ }
+ if(($finegrainedpolicy).LockoutThreshold -lt 5){
+ Write-Both " [!] Lockout threshold is less than 5, currently set to $($finegrainedpolicy).LockoutThreshold) (KB263)"
+ Write-Nessus-Finding "LockoutThreshold" "KB263" " Lockout threshold for $finegrainedpolicy is less than 5, currently set to $(($finegrainedpolicy).LockoutThreshold)"
+ }
+ if(($finegrainedpolicy).MinPasswordLength -lt 14){
+ Write-Both " [!] Minimum password length is less than 14, currently set to $(($finegrainedpolicy).MinPasswordLength) (KB262)"
+ Write-Nessus-Finding "PasswordLength" "KB262" "Minimum password length for $finegrainedpolicy is less than 14, currently set to $(($finegrainedpolicy).MinPasswordLength)"
+ }
+ if(($finegrainedpolicy).ReversibleEncryptionEnabled){
+ Write-Both " [!] Reversible encryption is enabled"
+ }
+ if(($finegrainedpolicy).MaxPasswordAge -eq "00:00:00"){
+ Write-Both " [!] Passwords do not expire (KB254)"
+ }
+ if(($finegrainedpolicy).PasswordHistoryCount -lt 12){
+ Write-Both " [!] Passwords history is less than 12, currently set to $(($finegrainedpolicy).PasswordHistoryCount) (KB262)"
+ Write-Nessus-Finding "PasswordHistory" "KB262" "Passwords history for $finegrainedpolicy is less than 12, currently set to $(($finegrainedpolicy).PasswordHistoryCount)"
+ }
+ }
+ Write-Both " [-] Finished checking fine-grained password policy"
+}
+Function Get-NULLSessions{
+ if((Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa).RestrictAnonymous -eq 0){
+ Write-Both " [!] RestrictAnonymous is set to 0! (KB81)"
+ Write-Nessus-Finding "NullSessions" "KB81" " RestrictAnonymous is set to 0"
+ }
+ if((Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa).RestrictAnonymousSam -eq 0){
+ Write-Both " [!] RestrictAnonymousSam is set to 0! (KB81)"
+ Write-Nessus-Finding "NullSessions" "KB81" " RestrictAnonymous is set to 0"
+ }
+ if((Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa).everyoneincludesanonymous -eq 1){
+ Write-Both " [!] EveryoneIncludesAnonymous is set to 1! (KB81)"
+ Write-Nessus-Finding "NullSessions" "KB81" "EveryoneIncludesAnonymous is set to 1"
+ }
+}
+Function Get-DomainTrusts{#Lists domain trusts if they are bad
+ foreach($trust in (Get-ADObject -Filter {objectClass -eq "trustedDomain"} -Properties TrustPartner,TrustDirection,trustType,trustAttributes)){
+ if($trust.TrustDirection -eq 2){
+ if($trust.TrustAttributes -eq 1 -or $trust.TrustAttributes -eq 4){#1 means trust is non-transitive, 4 is external so we check for anything but that
+ Write-Both " [!] The domain $($trust.Name) is trusted by $env:UserDomain! (KB250)"
+ Write-Nessus-Finding "DomainTrusts" "KB250" "The domain $($trust.Name) is trusted by $env:UserDomain."
+ }else{
+ Write-Both " [!] The domain $($trust.Name) is trusted by $env:UserDomain and it is Transitive! (KB250)"
+ Write-Nessus-Finding "DomainTrusts" "KB250" "The domain $($trust.Name) is trusted by $env:UserDomain and it is Transitive!"
+ }
+ }
+ if($trust.TrustDirection -eq 3){
+ if($trust.TrustAttributes -eq 1 -or $trust.TrustAttributes -eq 4){#1 means trust is non-transitive, 4 is external so we check for anything but that
+ Write-Both " [!] The domain $($trust.Name) is trusted by $env:UserDomain! (KB250)"
+ Write-Nessus-Finding "DomainTrusts" "KB250" "The domain $($trust.Name) is trusted by $env:UserDomain."
+ }else{
+ Write-Both " [!] The domain $($trust.Name) is trusted by $env:UserDomain and it is Transitive! (KB250)"
+ Write-Nessus-Finding "DomainTrusts" "KB250" "The domain $($trust.Name) is trusted by $env:UserDomain and it is Transitive!"
+ }
+ }
+ }
+}
+Function Get-WinVersion{
+ $WinVersion = [single]([string][environment]::OSVersion.Version.Major + "." + [string][environment]::OSVersion.Version.Minor)
+ return [single]$WinVersion
+}
+Function Get-SMB1Support{#Check if server supports SMBv1
+ if([single](Get-WinVersion) -le [single]6.1){#NT6.1 or less detected so checking reg key
+ if(!(Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters).SMB1 -eq 0){
+ Write-Both " [!] SMBv1 is not disabled (KB290)"
+ Write-Nessus-Finding "SMBv1Support" "KB290" "SMBv1 is enabled"
+ }
+ }elseif([single](Get-WinVersion) -ge [single]6.2){#NT6.2 or greater detected so using powershell function
+ if((Get-SmbServerConfiguration).EnableSMB1Protocol){
+ Write-Both " [!] SMBv1 is enabled! (KB290)"
+ Write-Nessus-Finding "SMBv1Support" "KB290" "SMBv1 is enabled"
+ }
+ }
+}
+Function Get-UserPasswordNotChangedRecently{#Reports users that haven't changed passwords in more than 90 days
+ $count = 0
+ $DaysAgo = (Get-Date).AddDays(-90)
+ $accountsoldpasswords = Get-ADUser -Filter {PwdLastSet -lt $DaysAgo -and Enabled -eq "true"} -Properties PasswordLastSet
+ $totalcount = ($accountsoldpasswords | Measure-Object | Select-Object Count).count
+ foreach($account in $accountsoldpasswords){
+ if($totalcount -eq 0){ break }
+ Write-Progress -Activity "Searching for passwords older than 90days..." -Status "Currently identifed $count" -PercentComplete ($count / $totalcount*100)
+ if($account.PasswordLastSet){
+ $datelastchanged = $account.PasswordLastSet
+ }else{
+ $datelastchanged = "Never"
+ }
+ Add-Content -Path "$outputdir\accounts_with_old_passwords.txt" -Value "User $($account.SamAccountName) ($($account.Name)) has not changed their password since $datelastchanged"
+ $count++
+ }
+ Write-Progress -Activity "Searching for passwords older than 90days..." -Status "Ready" -Completed
+ if($count -gt 0){
+ Write-Both " [!] $count accounts with passwords older than 90days, see accounts_with_old_passwords.txt (KB550)"
+ Write-Nessus-Finding "AccountsWithOldPasswords" "KB550" ([System.IO.File]::ReadAllText("$outputdir\accounts_with_old_passwords.txt"))
+ }
+ $krbtgtPasswordDate = (Get-ADUser -Filter {SamAccountName -eq "krbtgt"} -Properties PasswordLastSet).PasswordLastSet
+ if($krbtgtPasswordDate -lt (Get-Date).AddDays(-180)){
+ Write-Both " [!] krbtgt password not changed since $krbtgtPasswordDate! (KB253)"
+ Write-Nessus-Finding "krbtgtPasswordNotChanged" "KB253" "krbtgt password not changed since $krbtgtPasswordDate"
+ }
+}
+Function Get-GPOtoFile{#Outputs complete GPO report
+ if(Test-Path "$outputdir\GPOReport.html"){ Remove-Item "$outputdir\GPOReport.html" -Recurse }
+ Get-GPOReport -All -ReportType HTML -Path "$outputdir\GPOReport.html"
+ Write-Both " [+] GPO Report saved to GPOReport.html"
+ if(Test-Path "$outputdir\GPOReport.xml"){ Remove-Item "$outputdir\GPOReport.xml" -Recurse }
+ Get-GPOReport -All -ReportType XML -Path "$outputdir\GPOReport.xml"
+ Write-Both " [+] GPO Report saved to GPOReport.xml, now run Grouper offline using the following command (KB499)"
+ Write-Both " [+] PS>Import-Module Grouper.psm1 ; Invoke-AuditGPOReport -Path C:\GPOReport.xml -Level 3"
+}
+Function Get-GPOsPerOU{#Lists all OUs and which GPOs apply to them
+ $count = 0
+ $ousgpos = @(Get-ADOrganizationalUnit -Filter *)
+ $totalcount = ($ousgpos | Measure-Object | Select-Object Count).count
+ foreach($ouobject in $ousgpos){
+ if($totalcount -eq 0){ break }
+ Write-Progress -Activity "Identifying which GPOs apply to which OUs..." -Status "Currently identifed $count OUs" -PercentComplete ($count / $totalcount*100)
+ $combinedgpos = ($(((Get-GPInheritance -Target $ouobject).InheritedGpoLinks) | select DisplayName) | ForEach-Object { $_.DisplayName }) -join ','
+ Add-Content -Path "$outputdir\ous_inheritedGPOs.txt" -Value "$($ouobject.Name) Inherits these GPOs: $combinedgpos"
+ $count++
+ }
+ Write-Progress -Activity "Identifying which GPOs apply to which OUs..." -Status "Ready" -Completed
+ Write-Both " [+] Inherited GPOs saved to ous_inheritedGPOs.txt"
+}
+Function Get-NTDSdit{#Dumps NTDS.dit, SYSTEM and SAM for password cracking
+ if(Test-Path "$outputdir\ntds.dit"){ Remove-Item "$outputdir\ntds.dit" -Recurse }
+ $outputdirntds = '\"' + $outputdir + '\ntds.dit\"'
+ $command = "ntdsutil `"ac in ntds`" `"ifm`" `"cr fu $outputdirntds `" q q"
+ $hide = cmd.exe /c "$command" 2>&1
+ Write-Both " [+] NTDS.dit, SYSTEM & SAM saved to output folder"
+ Write-Both " [+] Use secretsdump.py -system registry/SYSTEM -ntds Active\ Directory/ntds.dit LOCAL -outputfile customer"
+}
+Function Get-SYSVOLXMLS{#Finds XML files in SYSVOL (thanks --> https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Get-GPPPassword.ps1)
+ $XMLFiles = Get-ChildItem -Path "\\$Env:USERDNSDOMAIN\SYSVOL" -Recurse -ErrorAction SilentlyContinue -Include 'Groups.xml','Services.xml','Scheduledtasks.xml','DataSources.xml','Printers.xml','Drives.xml'
+ $count = 0
+ if($XMLFiles){
+ $progresscount = 0
+ $totalcount = ($XMLFiles | Measure-Object | Select-Object Count).count
+ foreach($File in $XMLFiles){
+ if($totalcount -eq 0){ break }
+ $progresscount++
+ Write-Progress -Activity "Searching SYSVOL *.xmls for cpassword..." -Status "Currently searched through $count" -PercentComplete ($progresscount / $totalcount*100)
+ $Filename = Split-Path $File -Leaf
+ $Distinguishedname = (Split-Path (Split-Path (Split-Path( Split-Path (Split-Path $File -Parent) -Parent ) -Parent ) -Parent) -Leaf).Substring(1).TrimEnd('}')
+ [xml]$Xml = Get-Content ($File)
+ if($Xml.innerxml -like "*cpassword*" -and $Xml.innerxml -notlike '*cpassword=""*'){
+ if(!(Test-Path "$outputdir\sysvol")){ New-Item -ItemType Directory -Path "$outputdir\sysvol" | Out-Null }
+ Write-Both " [!] cpassword found in file, copying to output folder (KB329)"
+ Write-Both " $File"
+ Copy-Item -Path $File -Destination $outputdir\sysvol\$Distinguishedname.$Filename
+ $count++
+ }
+ }
+ Write-Progress -Activity "Searching SYSVOL *.xmls for cpassword..." -Status "Ready" -Completed
+ }
+ if($count -eq 0){
+ Write-Both " ...cpassword not found in the $($XMLFiles.count) XML files found."
+ }else{
+ $GPOxml = (Get-Content "$outputdir\sysvol\*.xml" -ErrorAction SilentlyContinue)
+ $GPOxml = $GPOxml -Replace "<", "<"
+ $GPOxml = $GPOxml -Replace ">", ">"
+ Write-Nessus-Finding "GPOPasswordStorage" "KB329" "$GPOxml"
+ }
+}
+Function Get-InactiveAccounts{#Lists accounts not used in past 180 days plus some checks for admin accounts
+ $count = 0
+ $progresscount = 0
+ $inactiveaccounts = Search-ADaccount -AccountInactive -Timespan (New-TimeSpan -Days 180) -UsersOnly | Where-Object {$_.Enabled -eq $true}
+ $totalcount = ($inactiveaccounts | Measure-Object | Select-Object Count).count
+ foreach($account in $inactiveaccounts){
+ if($totalcount -eq 0){ break }
+ $progresscount++
+ Write-Progress -Activity "Searching for inactive users..." -Status "Currently identifed $count" -PercentComplete ($progresscount / $totalcount*100)
+ if($account.Enabled){
+ if($account.LastLogonDate){
+ $userlastused = $account.LastLogonDate
+ }else{
+ $userlastused = "Never"
+ }
+ Add-Content -Path "$outputdir\accounts_inactive.txt" -Value "User $($account.SamAccountName) ($($account.Name)) has not logged on since $userlastused"
+ $count++
+ }
+ }
+ Write-Progress -Activity "Searching for inactive users..." -Status "Ready" -Completed
+ if($count -gt 0){
+ Write-Both " [!] $count inactive user accounts(180days), see accounts_inactive.txt (KB500)"
+ Write-Nessus-Finding "InactiveAccounts" "KB500" ([System.IO.File]::ReadAllText("$outputdir\accounts_inactive.txt"))
+ }
+}
+Function Get-AdminAccountChecks{#Checks if Administrator account has been renamed, replaced and is no longer used.
+ $AdministratorSID = ((Get-ADDomain -Current LoggedOnUser).domainsid.value)+"-500"
+ $AdministratorSAMAccountName = (Get-ADUser -Filter {SID -eq $AdministratorSID} -Properties SamAccountName).SamAccountName
+ $AdministratorName = (Get-ADUser -Filter {SID -eq $AdministratorSID} -Properties SamAccountName).Name
+ if($AdministratorTranslation -contains $AdministratorSAMAccountName){
+ Write-Both " [!] Local Administrator account (UID500) has not been renamed (KB309)"
+ Write-Nessus-Finding "AdminAccountRenamed" "KB309" "Local Administrator account (UID500) has not been renamed"
+ }else{
+ $count = 0
+ foreach($AdminName in $AdministratorTranslation){
+ if((Get-ADUser -Filter {SamAccountName -eq $AdminName})) { $count++ }
+ }
+ if($count -eq 0){
+ Write-Both " [!] Local Administrator account renamed to $AdministratorSAMAccountName ($($AdministratorName)), but a dummy account not made in it's place! (KB309)"
+ Write-Nessus-Finding "AdminAccountRenamed" "KB309" "Local Admin account renamed to $AdministratorSAMAccountName ($($AdministratorName)), but a dummy account not made in it's place"
+ }
+ }
+ $AdministratorLastLogonDate = (Get-ADUser -Filter {SID -eq $AdministratorSID} -Properties LastLogonDate).LastLogonDate
+ if($AdministratorLastLogonDate -gt (Get-Date).AddDays(-180)){
+ Write-Both " [!] UID500 (LocalAdministrator) account is still used, last used $AdministratorLastLogonDate! (KB309)"
+ Write-Nessus-Finding "AdminAccountRenamed" "KB309" "UID500 (LocalAdmini) account is still used, last used $AdministratorLastLogonDate"
+ }
+}
+Function Get-DisabledAccounts{#Lists disabled accounts
+ $disabledaccounts = Search-ADaccount -AccountDisabled -UsersOnly
+ $count = 0
+ $totalcount = ($disabledaccounts | Measure-Object | Select-Object Count).count
+ foreach($account in $disabledaccounts){
+ if($totalcount -eq 0){ break }
+ Write-Progress -Activity "Searching for disabled users..." -Status "Currently identifed $count" -PercentComplete ($count / $totalcount*100)
+ Add-Content -Path "$outputdir\accounts_disabled.txt" -Value "Account $($account.SamAccountName) ($($account.Name)) is disabled"
+ $count++
+ }
+ Write-Progress -Activity "Searching for disabled users..." -Status "Ready" -Completed
+ if($count -gt 0){
+ Write-Both " [!] $count disabled user accounts, see accounts_disabled.txt (KB501)"
+ Write-Nessus-Finding "DisabledAccounts" "KB501" ([System.IO.File]::ReadAllText("$outputdir\accounts_disabled.txt"))
+ }
+}
+Function Get-LockedAccounts{#Lists locked accounts
+ $lockedAccounts = Get-ADUser -Filter * -Properties LockedOut | Where-Object {$_.LockedOut -eq $true}
+ $count = 0
+ $totalcount = ($lockedAccounts | Measure-Object | Select-Object Count).Count
+ foreach($account in $lockedAccounts){
+ if($totalcount -eq 0){ break }
+ Write-Progress -Activity "Searching for locked users..." -Status "Currently identifed $count" -PercentComplete ($count / $totalcount*100)
+ Add-Content -Path "$outputdir\accounts_locked.txt" -Value "Account $($account.SamAccountName) ($($account.Name)) is locked"
+ $count++
+ }
+ Write-Progress -Activity "Searching for locked users..." -Status "Ready" -Completed
+ if($count -gt 0){
+ Write-Both " [!] $count locked user accounts, see accounts_locked.txt"
+ }
+}
+Function Get-AccountPassDontExpire{#Lists accounts who's passwords dont expire
+ $count = 0
+ $nonexpiringpasswords = Search-ADAccount -PasswordNeverExpires -UsersOnly | Where-Object {$_.Enabled -eq $true}
+ $totalcount = ($nonexpiringpasswords | Measure-Object | Select-Object Count).count
+ foreach($account in $nonexpiringpasswords){
+ if($totalcount -eq 0){ break }
+ Write-Progress -Activity "Searching for users with passwords that dont expire..." -Status "Currently identifed $count" -PercentComplete ($count / $totalcount*100)
+ Add-Content -Path "$outputdir\accounts_passdontexpire.txt" -Value "$($account.SamAccountName) ($($account.Name))"
+ $count++
+ }
+ Write-Progress -Activity "Searching for users with passwords that dont expire..." -Status "Ready" -Completed
+ if($count -gt 0){
+ Write-Both " [!] There are $count accounts that don't expire, see accounts_passdontexpire.txt (KB254)"
+ Write-Nessus-Finding "AccountsThatDontExpire" "KB254" ([System.IO.File]::ReadAllText("$outputdir\accounts_passdontexpire.txt"))
+ }
+}
+Function Get-OldBoxes{#Lists 2000/2003/XP/Vista/7/2008 machines
+ $count = 0
+ $oldboxes = Get-ADComputer -Filter {OperatingSystem -Like "*2003*" -and Enabled -eq "true" -or OperatingSystem -Like "*XP*" -and Enabled -eq "true" -or OperatingSystem -Like "*2000*" -and Enabled -eq "true" -or OperatingSystem -like '*Windows 7*' -and Enabled -eq "true" -or OperatingSystem -like '*vista*' -and Enabled -eq "true" -or OperatingSystem -like '*2008*' -and Enabled -eq "true"} -Property OperatingSystem
+ $totalcount = ($oldboxes | Measure-Object | Select-Object Count).count
+ foreach($machine in $oldboxes){
+ if($totalcount -eq 0){ break }
+ Write-Progress -Activity "Searching for 2000/2003/XP/Vista/7/2008 devices joined to the domain..." -Status "Currently identifed $count" -PercentComplete ($count / $totalcount*100)
+ Add-Content -Path "$outputdir\machines_old.txt" -Value "$($machine.Name), $($machine.OperatingSystem), $($machine.OperatingSystemServicePack), $($machine.OperatingSystemVersio), $($machine.IPv4Address)"
+ $count++
+ }
+ Write-Progress -Activity "Searching for 2000/2003/XP/Vista/7/2008 devices joined to the domain..." -Status "Ready" -Completed
+ if($count -gt 0){
+ Write-Both " [!] We found $count machines running 2000/2003/XP/Vista/7/2008! see machines_old.txt (KB3/37/38/KB259)"
+ Write-Nessus-Finding "OldBoxes" "KB259" ([System.IO.File]::ReadAllText("$outputdir\machines_old.txt"))
+ }
+}
+Function Get-DCsNotOwnedByDA {#Searches for DC objects not owned by the Domain Admins group
+ $count = 0
+ $progresscount = 0
+ $domaincontrollers = Get-ADComputer -Filter {PrimaryGroupID -eq 516 -or PrimaryGroupID -eq 521} -Property *
+ $totalcount = ($domaincontrollers | Measure-Object | Select-Object Count).count
+ if($totalcount -gt 0){
+ foreach($machine in $domaincontrollers){
+ $progresscount++
+ Write-Progress -Activity "Searching for DCs not owned by Domain Admins group..." -Status "Currently identifed $count" -PercentComplete ($progresscount / $totalcount*100)
+ if($machine.ntsecuritydescriptor.Owner -ne "$env:UserDomain\$DomainAdmins"){
+ Add-Content -Path "$outputdir\dcs_not_owned_by_da.txt" -Value "$($machine.Name), $($machine.OperatingSystem), $($machine.OperatingSystemServicePack), $($machine.OperatingSystemVersio), $($machine.IPv4Address), owned by $($machine.ntsecuritydescriptor.Owner)"
+ $count++
+ }
+ }
+ Write-Progress -Activity "Searching for DCs not owned by Domain Admins group..." -Status "Ready" -Completed
+ }
+ if($count -gt 0){
+ Write-Both " [!] We found $count DCs not owned by Domains Admins group! see dcs_not_owned_by_da.txt"
+ Write-Nessus-Finding "DCsNotByDA" "KB547" ([System.IO.File]::ReadAllText("$outputdir\dcs_not_owned_by_da.txt"))
+ }
+}
+Function Get-HostDetails{#Gets basic information about the host
+ Write-Both " [+] Device Name: $env:ComputerName"
+ Write-Both " [+] Domain Name: $env:UserDomain"
+ Write-Both " [+] User Name : $env:UserName"
+ Write-Both " [+] NT Version : $(Get-WinVersion)"
+ $IPAddresses = [net.dns]::GetHostAddresses("") | select -ExpandProperty IP*
+ foreach($ip in $IPAddresses){
+ if($ip -ne "::1"){
+ Write-Both " [+] IP Address : $ip"
+ }
+ }
+}
+Function Get-FunctionalLevel{#Gets the functional level for domain and forest
+ $DomainLevel = (Get-ADDomain).domainMode
+ if($DomainLevel -eq "Windows2000Domain" -and [single](Get-WinVersion) -gt 5.0) { Write-Both " [!] DomainLevel is reduced for backwards compatibility to $DomainLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "DomainLevel is reduced for backwards compatibility to $DomainLevel" }
+ if($DomainLevel -eq "Windows2003InterimDomain" -and [single](Get-WinVersion) -gt 5.1) { Write-Both " [!] DomainLevel is reduced for backwards compatibility to $DomainLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "DomainLevel is reduced for backwards compatibility to $DomainLevel" }
+ if($DomainLevel -eq "Windows2003Domain" -and [single](Get-WinVersion) -gt 5.2) { Write-Both " [!] DomainLevel is reduced for backwards compatibility to $DomainLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "DomainLevel is reduced for backwards compatibility to $DomainLevel" }
+ if($DomainLevel -eq "Windows2008Domain" -and [single](Get-WinVersion) -gt 6.0) { Write-Both " [!] DomainLevel is reduced for backwards compatibility to $DomainLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "DomainLevel is reduced for backwards compatibility to $DomainLevel" }
+ if($DomainLevel -eq "Windows2008R2Domain" -and [single](Get-WinVersion) -gt 6.1) { Write-Both " [!] DomainLevel is reduced for backwards compatibility to $DomainLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "DomainLevel is reduced for backwards compatibility to $DomainLevel" }
+ if($DomainLevel -eq "Windows2012Domain" -and [single](Get-WinVersion) -gt 6.2) { Write-Both " [!] DomainLevel is reduced for backwards compatibility to $DomainLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "DomainLevel is reduced for backwards compatibility to $DomainLevel" }
+ if($DomainLevel -eq "Windows2012R2Domain" -and [single](Get-WinVersion) -gt 6.3) { Write-Both " [!] DomainLevel is reduced for backwards compatibility to $DomainLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "DomainLevel is reduced for backwards compatibility to $DomainLevel" }
+ if($DomainLevel -eq "Windows2016Domain" -and [single](Get-WinVersion) -gt 10.0){ Write-Both " [!] DomainLevel is reduced for backwards compatibility to $DomainLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "DomainLevel is reduced for backwards compatibility to $DomainLevel" }
+ $ForestLevel = (Get-ADForest).ForestMode
+ if($ForestLevel -eq "Windows2000Forest" -and [single](Get-WinVersion) -gt 5.0) { Write-Both " [!] ForestLevel is reduced for backwards compatibility to $ForestLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "ForestLevel is reduced for backwards compatibility to $ForestLevel" }
+ if($ForestLevel -eq "Windows2003InterimForest" -and [single](Get-WinVersion) -gt 5.1) { Write-Both " [!] ForestLevel is reduced for backwards compatibility to $ForestLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "ForestLevel is reduced for backwards compatibility to $ForestLevel" }
+ if($ForestLevel -eq "Windows2003Forest" -and [single](Get-WinVersion) -gt 5.2) { Write-Both " [!] ForestLevel is reduced for backwards compatibility to $ForestLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "ForestLevel is reduced for backwards compatibility to $ForestLevel" }
+ if($ForestLevel -eq "Windows2008Forest" -and [single](Get-WinVersion) -gt 6.0) { Write-Both " [!] ForestLevel is reduced for backwards compatibility to $ForestLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "ForestLevel is reduced for backwards compatibility to $ForestLevel" }
+ if($ForestLevel -eq "Windows2008R2Forest" -and [single](Get-WinVersion) -gt 6.1) { Write-Both " [!] ForestLevel is reduced for backwards compatibility to $ForestLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "ForestLevel is reduced for backwards compatibility to $ForestLevel" }
+ if($ForestLevel -eq "Windows2012Forest" -and [single](Get-WinVersion) -gt 6.2) { Write-Both " [!] ForestLevel is reduced for backwards compatibility to $ForestLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "ForestLevel is reduced for backwards compatibility to $ForestLevel" }
+ if($ForestLevel -eq "Windows2012R2Forest" -and [single](Get-WinVersion) -gt 6.3) { Write-Both " [!] ForestLevel is reduced for backwards compatibility to $ForestLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "ForestLevel is reduced for backwards compatibility to $ForestLevel" }
+ if($ForestLevel -eq "Windows2016Forest" -and [single](Get-WinVersion) -gt 10.0){ Write-Both " [!] ForestLevel is reduced for backwards compatibility to $ForestLevel!" ; Write-Nessus-Finding "FunctionalLevel" "KB546" "ForestLevel is reduced for backwards compatibility to $ForestLevel" }
+}
+Function Get-GPOEnum{#Loops GPOs for some important domain-wide settings
+ $AllowedJoin = @()
+ $HardenNTLM = @()
+ $DenyNTLM = @()
+ $AuditNTLM = @()
+ $NTLMAuthExceptions = @()
+ $EncryptionTypesNotConfigured = $true
+ $AdminLocalLogonAllowed = $true
+ $AdminRPDLogonAllowed = $true
+ $AdminNetworkLogonAllowed = $true
+ $AllGPOs = Get-GPO -All | sort DisplayName
+ foreach($GPO in $AllGPOs){
+ $GPOreport = Get-GPOReport -Guid $GPO.Id -ReportType Xml
+ #Look for GPO that allows join PC to domain
+ $permissionindex = $GPOreport.IndexOf('SeMachineAccountPrivilege')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeMachineAccountPrivilege'}).Member) ){
+ $obj = New-Object -TypeName PSObject
+ $obj | Add-Member -MemberType NoteProperty -Name GPO -Value $GPO.DisplayName
+ $obj | Add-Member -MemberType NoteProperty -Name SID -Value $member.Sid.'#text'
+ $obj | Add-Member -MemberType NoteProperty -Name Name -Value $member.Name.'#text'
+ $AllowedJoin += $obj
+ }
+ }
+ #Look for GPO that hardens NTLM
+ $permissionindex = $GPOreport.IndexOf('NoLMHash')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ $value = $xmlreport.GPO.Computer.ExtensionData.Extension.SecurityOptions | Where-Object {$_.KeyName -Match 'NoLMHash'}
+ $obj = New-Object -TypeName PSObject
+ $obj | Add-Member -MemberType NoteProperty -Name GPO -Value $GPO.DisplayName
+ $obj | Add-Member -MemberType NoteProperty -Name Value -Value "NoLMHash $($value.Display.DisplayBoolean)"
+ $HardenNTLM += $obj
+ }
+ $permissionindex = $GPOreport.IndexOf('LmCompatibilityLevel')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ $value = $xmlreport.GPO.Computer.ExtensionData.Extension.SecurityOptions | Where-Object {$_.KeyName -Match 'LmCompatibilityLevel'}
+ $obj = New-Object -TypeName PSObject
+ $obj | Add-Member -MemberType NoteProperty -Name GPO -Value $GPO.DisplayName
+ $obj | Add-Member -MemberType NoteProperty -Name Value -Value "LmCompatibilityLevel $($value.Display.DisplayString)"
+ $HardenNTLM += $obj
+ }
+ #Look for GPO that denies NTLM
+ $permissionindex = $GPOreport.IndexOf('RestrictNTLMInDomain')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ $value = $xmlreport.GPO.Computer.ExtensionData.Extension.SecurityOptions | Where-Object {$_.KeyName -Match 'RestrictNTLMInDomain'}
+ $obj = New-Object -TypeName PSObject
+ $obj | Add-Member -MemberType NoteProperty -Name GPO -Value $GPO.DisplayName
+ $obj | Add-Member -MemberType NoteProperty -Name Value -Value "RestrictNTLMInDomain $($value.Display.DisplayString)"
+ $DenyNTLM += $obj
+ }
+ #Look for GPO that audits NTLM
+ $permissionindex = $GPOreport.IndexOf('AuditNTLMInDomain')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ $value = $xmlreport.GPO.Computer.ExtensionData.Extension.SecurityOptions | Where-Object {$_.KeyName -Match 'AuditNTLMInDomain'}
+ $obj = New-Object -TypeName PSObject
+ $obj | Add-Member -MemberType NoteProperty -Name GPO -Value $GPO.DisplayName
+ $obj | Add-Member -MemberType NoteProperty -Name Value -Value "AuditNTLMInDomain $($value.Display.DisplayString)"
+ $AuditNTLM += $obj
+ }
+ $permissionindex = $GPOreport.IndexOf('AuditReceivingNTLMTraffic')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ $value = $xmlreport.GPO.Computer.ExtensionData.Extension.SecurityOptions | Where-Object {$_.KeyName -Match 'AuditReceivingNTLMTraffic'}
+ $obj = New-Object -TypeName PSObject
+ $obj | Add-Member -MemberType NoteProperty -Name GPO -Value $GPO.DisplayName
+ $obj | Add-Member -MemberType NoteProperty -Name Value -Value "AuditReceivingNTLMTraffic $($value.Display.DisplayString)"
+ $AuditNTLM += $obj
+ }
+ #Look for GPO that allows NTLM exclusions
+ $permissionindex = $GPOreport.IndexOf('DCAllowedNTLMServers')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.SecurityOptions | Where-Object {$_.KeyName -Match 'DCAllowedNTLMServers'}).SettingStrings.Value) ){
+ $NTLMAuthExceptions += $member
+ }
+ }
+ #Validate Kerberos Encryption algorythm
+ $permissionindex = $GPOreport.IndexOf('MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters\SupportedEncryptionTypes')
+ if($permissionindex -gt 0){
+ $EncryptionTypesNotConfigured = $false
+ $xmlreport = [xml]$GPOreport
+ $EncryptionTypes = $xmlreport.GPO.Computer.ExtensionData.Extension.SecurityOptions.Display.DisplayFields.Field
+ if(($EncryptionTypes | Where-Object {$_.Name -eq 'DES_CBC_CRC'} | select -ExpandProperty value) -eq 'true') { Write-Both " [!] GPO [$($GPO.DisplayName)] enabled DES_CBC_CRC for Kerberos!" }
+ elseif(($EncryptionTypes | Where-Object {$_.Name -eq 'DES_CBC_MD5'} | select -ExpandProperty value) -eq 'true') { Write-Both " [!] GPO [$($GPO.DisplayName)] enabled DES_CBC_MD5 for Kerberos!" }
+ elseif(($EncryptionTypes | Where-Object {$_.Name -eq 'RC4_HMAC_MD5'} | select -ExpandProperty value) -eq 'true') { Write-Both " [!] GPO [$($GPO.DisplayName)] enabled RC4_HMAC_MD5 for Kerberos!" }
+ elseif(($EncryptionTypes | Where-Object {$_.Name -eq 'AES128_HMAC_SHA1'} | select -ExpandProperty value) -eq 'false'){ Write-Both " [!] AES128_HMAC_SHA1 not enabled for Kerberos!" }
+ elseif(($EncryptionTypes | Where-Object {$_.Name -eq 'AES256_HMAC_SHA1'} | select -ExpandProperty value) -eq 'false'){ Write-Both " [!] AES256_HMAC_SHA1 not enabled for Kerberos!" }
+ elseif(($EncryptionTypes | Where-Object {$_.Name -eq 'Future encryption types'} | select -ExpandProperty value) -eq 'false'){ Write-Both " [!] Future encryption types not enabled for Kerberos!" }
+ }
+ #Validates Admins local logon restrictions
+ $permissionindex = $GPOreport.IndexOf('SeDenyInteractiveLogonRight')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeDenyInteractiveLogonRight'}).Member)){
+ if($member.Name.'#text' -match "$SchemaAdmins" -or $member.Name.'#text' -match "$DomainAdmins" -or $member.Name.'#text' -match "$EnterpriseAdmins"){
+ $AdminLocalLogonAllowed = $false
+ Add-Content -Path "$outputdir\admin_logon_restrictions.txt" -Value "$($GPO.DisplayName) SeDenyInteractiveLogonRight $($member.Name.'#text')"
+ }
+ }
+ }
+ #Validates Admins RDP logon restrictions
+ $permissionindex = $GPOreport.IndexOf('SeDenyRemoteInteractiveLogonRight')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeDenyRemoteInteractiveLogonRight'}).Member)){
+ if($member.Name.'#text' -match "$SchemaAdmins" -or $member.Name.'#text' -match "$DomainAdmins" -or $member.Name.'#text' -match "$EnterpriseAdmins"){
+ $AdminRPDLogonAllowed = $false
+ Add-Content -Path "$outputdir\admin_logon_restrictions.txt" -Value "$($GPO.DisplayName) SeDenyRemoteInteractiveLogonRight $($member.Name.'#text')"
+ }
+ }
+ }
+ #Validates Admins network logon restrictions
+ $permissionindex = $GPOreport.IndexOf('SeDenyNetworkLogonRight')
+ if($permissionindex -gt 0){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeDenyNetworkLogonRight'}).Member)){
+ if($member.Name.'#text' -match "$SchemaAdmins" -or $member.Name.'#text' -match "$DomainAdmins" -or $member.Name.'#text' -match "$EnterpriseAdmins"){
+ $AdminNetworkLogonAllowed = $false
+ Add-Content -Path "$outputdir\admin_logon_restrictions.txt" -Value "$($GPO.DisplayName) SeDenyNetworkLogonRight $($member.Name.'#text')"
+ }
+ }
+ }
+ }
+ #Output for join PC to domain
+ foreach($record in $AllowedJoin){
+ Write-Both " [+] GPO [$($record.GPO)] allows [$($record.Name)] to join computers to domain"
+ }
+ #Output for Admins local logon restrictions
+ if($AdminLocalLogonAllowed){
+ Write-Both " [!] No GPO restricts Domain, Schema and Enterprise local logon across domain!!!"
+ Write-Nessus-Finding "AdminLogon" "KB479" "No GPO restricts Domain, Schema and Enterprise local logon across domain!"
+ }
+ #Output for Admins RDP logon restrictions
+ if($AdminRPDLogonAllowed){
+ Write-Both " [!] No GPO restricts Domain, Schema and Enterprise RDP logon across domain!!!"
+ Write-Nessus-Finding "AdminLogon" "KB479" "No GPO restricts Domain, Schema and Enterprise RDP logon across domain!"
+ }
+ #Output for Admins network logon restrictions
+ if($AdminNetworkLogonAllowed){
+ Write-Both " [!] No GPO restricts Domain, Schema and Enterprise network logon across domain!!!"
+ Write-Nessus-Finding "AdminLogon" "KB479" "No GPO restricts Domain, Schema and Enterprise network logon across domain!"
+ }
+ #Output for Validate Kerberos Encryption algorythm
+ if($EncryptionTypesNotConfigured){
+ Write-Both " [!] RC4_HMAC_MD5 enabled for Kerberos across domain!!!"
+ Write-Nessus-Finding "WeakKerberosEncryption" "KB995" "RC4_HMAC_MD5 enabled for Kerberos across domain!"
+ }
+ #Output for deny NTLM
+ if($DenyNTLM.count -eq 0){
+ if($HardenNTLM.count -eq 0){
+ Write-Both " [!] No GPO denies NTLM authentication!"
+ Write-Both " [!] No GPO explicitely restricts LM or NTLMv1!"
+ }else{
+ Write-Both " [+] NTLM authentication hardening implemented, but NTLM not denied"
+ foreach($record in $HardenNTLM){
+ Write-Both " [-] $($record.value)"
+ Add-Content -Path "$outputdir\ntlm_restrictions.txt" -Value "NTLM restricted by GPO [$($record.gpo)] with value [$($record.value)]"
+ }
+ }
+ }else{
+ foreach($record in $DenyNTLM){
+ Add-Content -Path "$outputdir\ntlm_restrictions.txt" -Value "NTLM restricted by GPO [$($record.gpo)] with value [$($record.value)]"
+ }
+ }
+ #Output for NTLM exceptions
+ if($NTLMAuthExceptions.count -ne 0){
+ foreach($record in $NTLMAuthExceptions){
+ Add-Content -Path "$outputdir\ntlm_restrictions.txt" -Value "NTLM auth exceptions $($record)"
+ }
+ }
+ #Output for NTLM audit
+ if($AuditNTLM.count -eq 0){
+ Write-Both " [!] No GPO enables NTLM audit authentication!"
+ }else{
+ foreach($record in $DenyNTLM){
+ Add-Content -Path "$outputdir\ntlm_restrictions.txt" -Value "NTLM audit GPO [$($record.gpo)] with value [$($record.value)]"
+ }
+ }
+}
+Function Get-PrivilegedGroupMembership{#List Domain Admins, Enterprise Admins and Schema Admins members
+ $SchemaMembers = Get-ADGroup $SchemaAdmins | Get-ADGroupMember
+ $EnterpriseMembers = Get-ADGroup $EnterpriseAdmins | Get-ADGroupMember
+ $DomainAdminsMembers = Get-ADGroup $DomainAdmins | Get-ADGroupMember
+ if(($SchemaMembers | measure).count -ne 0){
+ Write-Both " [!] Schema Admins not empty!!!"
+ foreach($member in $SchemaMembers){
+ Add-Content -Path "$outputdir\schema_admins.txt" -Value "$($member.objectClass) $($member.SamAccountName) $($member.Name)"
+ }
+ }
+ if(($EnterpriseMembers | measure).count -ne 0){
+ Write-Both " [!] Enterprise Admins not empty!!!"
+ foreach($member in $EnterpriseMembers){
+ Add-Content -Path "$outputdir\enterprise_admins.txt" -Value "$($member.objectClass) $($member.SamAccountName) $($member.Name)"
+ }
+ }
+ foreach($member in $DomainAdminsMembers){
+ Add-Content -Path "$outputdir\domain_admins.txt" -Value "$($member.objectClass) $($member.SamAccountName) $($member.Name)"
+ }
+}
+Function Get-DCEval{#Basic validation of all DCs in forest
+ #Collect all DCs in forest
+ $Forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
+ $ADs = Get-ADDomainController -Filter { Site -like "*" }
+ #Validate OS version of DCs
+ $osList = @()
+ $ADs | ForEach-Object { $osList += $_.OperatingSystem }
+ if(($osList | sort -Unique | measure).Count -eq 1){
+ Write-Both " [+] All DCs are the same OS version of $($osList | sort -Unique)"
+ }else{
+ Write-Both " [!] Operating system differs across DCs!!!"
+ if(($ADs | Where-Object {$_.OperatingSystem -Match '2003'}) -ne $null){ Write-Both " [+] Domain controllers with WS 2003" ; $ADs | Where-Object {$_.OperatingSystem -Match '2003'} | ForEach-Object { Write-Both " [-] $($_.Name) has $($_.OperatingSystem)" }}
+ if(($ADs | Where-Object {$_.OperatingSystem -Match '2008 !(R2)'}) -ne $null){ Write-Both " [+] Domain controllers with WS 2008" ; $ADs | Where-Object {$_.OperatingSystem -Match '2008 !(R2)'} | ForEach-Object { Write-Both " [-] $($_.Name) has $($_.OperatingSystem)" }}
+ if(($ADs | Where-Object {$_.OperatingSystem -Match '2008 R2'}) -ne $null){ Write-Both " [+] Domain controllers with WS 2008 R2" ; $ADs | Where-Object {$_.OperatingSystem -Match '2008 R2'} | ForEach-Object { Write-Both " [-] $($_.Name) has $($_.OperatingSystem)" }}
+ if(($ADs | Where-Object {$_.OperatingSystem -Match '2012 !(R2)'}) -ne $null){ Write-Both " [+] Domain controllers with WS 2012" ; $ADs | Where-Object {$_.OperatingSystem -Match '2012 !(R2)'} | ForEach-Object { Write-Both " [-] $($_.Name) has $($_.OperatingSystem)" }}
+ if(($ADs | Where-Object {$_.OperatingSystem -Match '2012 R2'}) -ne $null){ Write-Both " [+] Domain controllers with WS 2012 R2" ; $ADs | Where-Object {$_.OperatingSystem -Match '2012 R2'} | ForEach-Object { Write-Both " [-] $($_.Name) has $($_.OperatingSystem)" }}
+ if(($ADs | Where-Object {$_.OperatingSystem -Match '2016'}) -ne $null){ Write-Both " [+] Domain controllers with WS 2016" ; $ADs | Where-Object {$_.OperatingSystem -Match '2016'} | ForEach-Object { Write-Both " [-] $($_.Name) has $($_.OperatingSystem)" }}
+ if(($ADs | Where-Object {$_.OperatingSystem -Match '2019'}) -ne $null){ Write-Both " [+] Domain controllers with WS 2019" ; $ADs | Where-Object {$_.OperatingSystem -Match '2019'} | ForEach-Object { Write-Both " [-] $($_.Name) has $($_.OperatingSystem)" }}
+ if(($ADs | Where-Object {$_.OperatingSystem -Match '2022'}) -ne $null){ Write-Both " [+] Domain controllers with WS 2022" ; $ADs | Where-Object {$_.OperatingSystem -Match '2022'} | ForEach-Object { Write-Both " [-] $($_.Name) has $($_.OperatingSystem)" }}
+ }
+ #Validate DCs hotfix level
+ if( (( $ADs | Select-Object OperatingSystemHotfix -Unique ) | measure).count -eq 1 -or ( $ADs | Select-Object OperatingSystemHotfix -Unique ) -eq $null ){
+ Write-Both " [+] All DCs have the same hotfix of [$($ADs | Select-Object OperatingSystemHotFix -Unique | ForEach-Object {$_.OperatingSystemHotfix})]"
+ }else{
+ Write-Both " [!] Hotfix level differs across DCs!!!"
+ $ADs | ForEach-Object {
+ Write-Both " [-] DC $($_.Name) hotfix [$($_.OperatingSystemHotfix)]"
+ }
+ }
+ #Validate DCs Service Pack level
+ if((($ADs | Select-Object OperatingSystemServicePack -Unique) | measure).count -eq 1 -or ($ADs | Select-Object OperatingSystemServicePack -Unique) -eq $null){
+ Write-Both " [+] All DCs have the same Service Pack of [$($ADs | Select-Object OperatingSystemServicePack -Unique | ForEach-Object {$_.OperatingSystemServicePack})]"
+ }else{
+ Write-Both " [!] Service Pack level differs across DCs!!!"
+ $ADs | ForEach-Object {
+ Write-Both " [-] DC $($_.Name) Service Pack [$($_.OperatingSystemServicePack)]"
+ }
+ }
+ #Validate DCs OS Version
+ if((($ADs | Select-Object OperatingSystemVersion -Unique ) | measure).count -eq 1 -or ($ADs | Select-Object OperatingSystemVersion -Unique) -eq $null){
+ Write-Both " [+] All DCs have the same OS Version of [$($ADs | Select-Object OperatingSystemVersion -Unique | ForEach-Object {$_.OperatingSystemVersion})]"
+ }else{
+ Write-Both " [!] OS Version differs across DCs!!!"
+ $ADs | ForEach-Object {
+ Write-Both " [-] DC $($_.Name) OS Version [$($_.OperatingSystemVersion)]"
+ }
+ }
+ #List sites without GC
+ $SitesWithNoGC = $false
+ foreach($Site in $Forest.Sites){
+ if(($ADs | Where-Object {$_.Site -eq $Site.Name} | Where-Object {$_.IsGlobalCatalog -eq $true}) -eq $null){
+ $SitesWithNoGC = $true
+ Add-Content -Path "$outputdir\sites_no_gc.txt" -Value "$($Site.Name)"
+ }
+ }
+ if($SitesWithNoGC -eq $true){
+ Write-Both " [!] You have sites with no Global Catalog!"
+ }
+ #Does one DC holds all FSMO
+ if(($ADs | Where-Object {$_.OperationMasterRoles -ne $null} | measure).count -eq 1){
+ Write-Both " [!] DC $($ADs | Where-Object {$_.OperationMasterRoles -ne $null} | select -ExpandProperty Hostname) holds all FSMO roles!"
+ }
+ #DCs with weak Kerberos algorhythm (*CH* Changed below to look for msDS-SupportedEncryptionTypes to work with 2008R2)
+ $ADcomputers = $ADs | ForEach-Object {Get-ADComputer $_.Name -Properties msDS-SupportedEncryptionTypes}
+ $WeakKerberos = $false
+ foreach($DC in $ADcomputers){#(*CH* Need to define all combinations here, only done 28 and 31 so far) (31 = "DES, RC4, AES128, AES256", 28 = "RC4, AES128, AES256")
+ if( $DC."msDS-SupportedEncryptionTypes" -eq 28 -or $DC."msDS-SupportedEncryptionTypes" -eq 31 ){
+ $WeakKerberos = $true
+ Add-Content -Path "$outputdir\dcs_weak_kerberos_ciphersuite.txt" -Value "$($DC.DNSHostName) $($dc."msDS-SupportedEncryptionTypes")"
+ }
+ }
+ Write-Both " [!] You have DCs with RC4 or DES allowed for Kerberos!!!"
+ #Check where newly joined computers go
+ $newComputers = (Get-ADDomain).ComputersContainer
+ $newUsers = (Get-ADDomain).UsersContainer
+ Write-Both " [+] New joined computers are stored in $newComputers"
+ Write-Both " [+] New users are stored in $newUsers"
+}
+Function Get-DefaultDomainControllersPolicy{#Enumerates Default Domain Controllers Policy for default unsecure and excessive options
+ $ExcessiveDCInteractiveLogon = $false
+ $ExcessiveDCBackupPermissions = $false
+ $ExcessiveDCRestorePermissions = $false
+ $ExcessiveDCDriverPermissions = $false
+ $ExcessiveDCLocalShutdownPermissions = $false
+ $ExcessiveDCRemoteShutdownPermissions = $false
+ $ExcessiveDCTimePermissions = $false
+ $ExcessiveDCBatchLogonPermissions = $false
+ $ExcessiveDCRDPLogonPermissions = $false
+ $GPO = Get-GPO 'Default Domain Controllers Policy'
+ $GPOreport = Get-GPOReport -Guid $GPO.Id -ReportType Xml
+ #Interactive local logon
+ $permissionindex = $GPOreport.IndexOf('SeInteractiveLogonRight')
+ if($permissionindex -gt 0 -and $GPO.DisplayName -eq 'Default Domain Controllers Policy'){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeInteractiveLogonRight'}).Member)){
+ if($member.Name.'#text' -ne 'BUILTIN\$Administrators' -and $member.Name.'#text' -ne "$EntrepriseDomainControllers"){
+ $ExcessiveDCInteractiveLogon = $true
+ Add-Content -Path "$outputdir\default_domain_controller_policy_audit.txt" -Value "SeInteractiveLogonRight $($member.Name.'#text')"
+ }
+ }
+ }
+ #Batch logon
+ $permissionindex = $GPOreport.IndexOf('SeBatchLogonRight')
+ if($permissionindex -gt 0 -and $GPO.DisplayName -eq 'Default Domain Controllers Policy'){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeBatchLogonRight'}).Member)){
+ if($member.Name.'#text' -ne 'BUILTIN\$Administrators'){
+ $ExcessiveDCBatchLogonPermissions = $true
+ Add-Content -Path "$outputdir\default_domain_controller_policy_audit.txt" -Value "SeBatchLogonRight $($member.Name.'#text')"
+ }
+ }
+ }
+ #RDP logon
+ $permissionindex = $GPOreport.IndexOf('SeInteractiveLogonRight')
+ if($permissionindex -gt 0 -and $GPO.DisplayName -eq 'Default Domain Controllers Policy'){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeInteractiveLogonRight'}).Member)){
+ if($member.Name.'#text' -ne 'BUILTIN\$Administrators' -and $member.Name.'#text' -ne "$EntrepriseDomainControllers"){
+ $ExcessiveDCRDPLogonPermissions = $true
+ Add-Content -Path "$outputdir\default_domain_controller_policy_audit.txt" -Value "SeInteractiveLogonRight $($member.Name.'#text')"
+ }
+ }
+ }
+ #Backup
+ $permissionindex = $GPOreport.IndexOf('SeBackupPrivilege')
+ if($permissionindex -gt 0 -and $GPO.DisplayName -eq 'Default Domain Controllers Policy'){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeBackupPrivilege'}).Member)){
+ if($member.Name.'#text' -ne 'BUILTIN\$Administrators'){
+ $ExcessiveDCBackupPermissions = $true
+ Add-Content -Path "$outputdir\default_domain_controller_policy_audit.txt" -Value "SeBackupPrivilege $($member.Name.'#text')"
+ }
+ }
+ }
+ #Restore
+ $permissionindex = $GPOreport.IndexOf('SeRestorePrivilege')
+ if($permissionindex -gt 0 -and $GPO.DisplayName -eq 'Default Domain Controllers Policy'){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeRestorePrivilege'}).Member)){
+ if($member.Name.'#text' -ne 'BUILTIN\$Administrators'){
+ $ExcessiveDCRestorePermissions = $true
+ Add-Content -Path "$outputdir\default_domain_controller_policy_audit.txt" -Value "SeRestorePrivilege $($member.Name.'#text')"
+ }
+ }
+ }
+ #Load driver
+ $permissionindex = $GPOreport.IndexOf('SeLoadDriverPrivilege')
+ if($permissionindex -gt 0 -and $GPO.DisplayName -eq 'Default Domain Controllers Policy'){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeLoadDriverPrivilege'}).Member)){
+ if($member.Name.'#text' -ne 'BUILTIN\$Administrators'){
+ $ExcessiveDCDriverPermissions = $true
+ Add-Content -Path "$outputdir\default_domain_controller_policy_audit.txt" -Value "SeLoadDriverPrivilege $($member.Name.'#text')"
+ }
+ }
+ }
+ #Local shutdown
+ $permissionindex = $GPOreport.IndexOf('SeShutdownPrivilege')
+ if($permissionindex -gt 0 -and $GPO.DisplayName -eq 'Default Domain Controllers Policy'){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeShutdownPrivilege'}).Member)){
+ if($member.Name.'#text' -ne 'BUILTIN\$Administrators'){
+ $ExcessiveDCLocalShutdownPermissions = $true
+ Add-Content -Path "$outputdir\default_domain_controller_policy_audit.txt" -Value "SeShutdownPrivilege $($member.Name.'#text')"
+ }
+ }
+ }
+ #Remote shutdown
+ $permissionindex = $GPOreport.IndexOf('SeRemoteShutdownPrivilege')
+ if($permissionindex -gt 0 -and $GPO.DisplayName -eq 'Default Domain Controllers Policy'){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeRemoteShutdownPrivilege'}).Member)){
+ if($member.Name.'#text' -ne 'BUILTIN\$Administrators'){
+ $ExcessiveDCRemoteShutdownPermissions = $true
+ Add-Content -Path "$outputdir\default_domain_controller_policy_audit.txt" -Value "SeRemoteShutdownPrivilege $($member.Name.'#text')"
+ }
+ }
+ }
+ #Change time
+ $permissionindex = $GPOreport.IndexOf('SeSystemTimePrivilege')
+ if($permissionindex -gt 0 -and $GPO.DisplayName -eq 'Default Domain Controllers Policy'){
+ $xmlreport = [xml]$GPOreport
+ foreach($member in (($xmlreport.GPO.Computer.ExtensionData.Extension.UserRightsAssignment | Where-Object {$_.Name -eq 'SeSystemTimePrivilege'}).Member)){
+ if($member.Name.'#text' -ne 'BUILTIN\$Administrators' -and $member.Name.'#text' -ne "$LocalService"){
+ $ExcessiveDCTimePermissions = $true
+ Add-Content -Path "$outputdir\default_domain_controller_policy_audit.txt" -Value "SeSystemTimePrivilege $($member.Name.'#text')"
+ }
+ }
+ }
+ #Output for Default Domain Controllers Policy
+ if($ExcessiveDCInteractiveLogon -or $ExcessiveDCBackupPermissions -or $ExcessiveDCRestorePermissions -or $ExcessiveDCDriverPermissions -or $ExcessiveDCLocalShutdownPermissions -or $ExcessiveDCRemoteShutdownPermissions -or $ExcessiveDCTimePermissions -or $ExcessiveDCBatchLogonPermissions -or $ExcessiveDCRDPLogonPermissions){
+ Write-Both " [!] Excessive permissions in Default Domain Controllers Policy detected!"
+ }
+}
+Function Get-RecentChanges(){#Retrieve users and groups that have been created during last 30 days
+ $DateCutOff = ((Get-Date).AddDays(-30)).Date
+ $newUsers = Get-ADUser -Filter {whenCreated -ge $DateCutOff} -Properties whenCreated | select whenCreated,SamAccountName
+ $newGroups = Get-ADGroup -Filter {whenCreated -ge $DateCutOff} -Properties whenCreated | select whenCreated,SamAccountName
+ $countUsers = 0
+ $countGroups = 0
+ $progresscountUsers = 0
+ $progresscountGroups = 0
+ $totalcountUsers = ($newUsers | Measure-Object | Select-Object Count).count
+ $totalcountGroups = ($newGroups | Measure-Object | Select-Object Count).count
+ if($totalcountUsers -gt 0){
+ foreach($newUser in $newUsers ){Add-Content -Path "$outputdir\new_users.txt" -Value "Account $($newUser.SamAccountName) was created $($newUser.whenCreated)"}
+ Write-Both " [!] $totalcountUsers new users were created last 30 days, see $outputdir\new_users.txt"
+ }
+ if($totalcountGroups -gt 0){
+ foreach($newGroup in $newGroups ){Add-Content -Path "$outputdir\new_groups.txt" -Value "Group $($newGroup.SamAccountName) was created $($newGroup.whenCreated)"}
+ Write-Both " [!] $totalcountGroups new groups were created last 30 days, see $outputdir\new_groups.txt"
+ }
+}
+Function Get-ReplicationType{#Retrieve replication mechanism (FRS or DFSR)
+ $objectName = "DFSR-GlobalSettings"
+ $searcher = [ADSISearcher] "(objectClass=msDFSR-GlobalSettings)"
+ $objectExists = $searcher.FindOne() -ne $null
+ if($objectExists){
+ $DFSRFlags=(Get-ADObject -Identity "CN=DFSR-GlobalSettings,$((Get-ADDomain).systemscontainer)" -Properties msDFSR-Flags).'msDFSR-Flags'
+ switch($DFSRFlags){
+ 0 { Write-Both " [!] Migration from FRS to DFSR is not finished. Current state: started!" }
+ 16 { Write-Both " [!] Migration from FRS to DFSR is not finished. Current state: prepared!" }
+ 32 { Write-Both " [!] Migration from FRS to DFSR is not finished. Current state: redirected!" }
+ 48 { Write-Both " [+] DFSR mechanism is used to replicate across domain controllers." }
+ }
+ }else{
+ Write-Both " [!] FRS mechanism is still used to replicate across domain controllers, you should migrate to DFSR!"
+ }
+}
+Function Get-RecycleBinState {#Check if recycle bin is enabled
+ if((Get-ADOptionalFeature -Filter 'Name -eq "Recycle Bin Feature"').EnabledScopes){
+ Write-Both " [+] Recycle Bin is enabled in the domain"
+ }else{
+ Write-Both " [!] Recycle Bin is disabled in the domain, you should consider enabling it!"
+ }
+}
+Function Get-CriticalServicesStatus{#Check AD services status
+ Write-Both " [+] Checking services on all DCs"
+ $dcList = @()
+ (Get-ADDomainController -Filter *) | ForEach-Object{$dcList += $_.Name}
+ $objectName = "DFSR-GlobalSettings"
+ $searcher = [ADSISearcher] "(objectClass=msDFSR-GlobalSettings)"
+ $objectExists = $searcher.FindOne() -ne $null
+ if($objectExists){
+ $services = @("dns","netlogon","kdc","w32time","ntds","dfsr")
+ }else{
+ $services = @("dns","netlogon","kdc","w32time","ntds","ntfrs")
+ }
+ foreach($DC in $dcList){
+ foreach($service in $services){
+ $checkService = Get-Service $service -ComputerName $DC -ErrorAction SilentlyContinue
+ $serviceName = $checkService.Name
+ $serviceStatus = $checkService.Status
+ if(!($serviceStatus)){
+ Write-Both " [!] Service $($service) cannot be checked on $DC!"
+ }
+ elseif($serviceStatus -ne "Running"){
+ Write-Both " [!] Service $($service) is not running on $DC!"
+ }
+ }
+ }
+}
+Function Get-LastWUDate{#Check Windows update status and last install date
+ $dcList = @()
+ (Get-ADDomainController -Filter *) | ForEach-Object{$dcList+=$_.Name}
+ $lastMonth = (Get-Date).AddDays(-30)
+ Write-Both " [+] Checking Windows Update"
+ foreach($DC in $dcList){
+
+ $startMode = (Get-WmiObject -ComputerName $DC -Class Win32_Service -Property StartMode -Filter "Name='wuauserv'" -ErrorAction SilentlyContinue).StartMode
+ if(!($startMode)){
+ Write-Both " [!] Windows Update service cannot be checked on $DC!"
+ }
+ elseif($startMode -eq "Disabled"){
+ Write-Both " [!] Windows Update service is disabled on $DC!"
+ }
+ }
+ $progresscount = 0
+ $totalcount = ($dcList | Measure-Object | Select-Object Count).count
+ foreach($DC in $dcList){
+ if($totalcount -eq 0){ break }
+ Write-Progress -Activity "Searching for last Windows Update installation on all DCs..." -Status "Currently searching on $DC" -PercentComplete ($progresscount / $totalcount*100)
+ try{
+ $lastHotfix = (Get-HotFix -ComputerName $DC | Where-Object {$_.InstalledOn -ne $null} | Sort-Object -Descending InstalledOn | Select-Object -First 1).InstalledOn
+ if($lastHotfix -lt $lastMonth){
+ Write-Both " [!] Windows is not up to date on $DC, last install: $($lastHotfix)"
+ }else{
+ Write-Both " [+] Windows is up to date on $DC, last install: $($lastHotfix)"
+ }
+ }
+ catch{
+ Write-Both " [!] Cannot check last update date on $DC"
+ }
+ $progresscount++
+ }
+ Write-Progress -Activity "Searching for last Windows Update installation on all DCs..." -Status "Ready" -Completed
+}
+Function Get-TimeSource {#Get NTP sync source
+ $dcList = @()
+ (Get-ADDomainController -Filter *) | ForEach-Object{$dcList += $_.Name}
+ Write-Both " [+] Checking NTP configuration"
+ foreach($DC in $dcList){
+ $ntpSource = w32tm /query /source /computer:$DC
+ if($ntpSource -like '*0x800706BA*'){
+ Write-Both " [+] Cannot get time source for $DC"
+ }else{
+ Write-Both " [+] $DC is syncing time from $ntpSource"
+ }
+ }
+}
+Function Get-RODC{#Check for RODC
+ Write-Both " [+] Checking for Read Only DCs"
+ $ADs = Get-ADDomainController -Filter { Site -like "*" }
+ $ADs | ForEach-Object{
+ if($_.IsReadOnly){
+ Write-Both " [+] DC $($_.Name) is a RODC server!"
+ }
+ }
+}
+Function Install-Dependencies{#Install DSInternals
+ if($PSVersionTable.PSVersion.Major -ge 5){
+ [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor
+ [Net.SecurityProtocolType]::Tls12
+ $count = 0
+ $totalcount = 3
+ Write-Progress -Activity "Installing dependencies..." -Status "Currently installing NuGet Package Provider" -PercentComplete ($count / $totalcount*100)
+ if(!(Get-PackageProvider -ListAvailable -Name Nuget -ErrorAction SilentlyContinue)){ Install-PackageProvider -Name NuGet -Force | Out-Null }
+ $count++
+ Write-Progress -Activity "Installing dependencies..." -Status "Currently adding PSGallery to trusted Repositories" -PercentComplete ($count / $totalcount*100)
+ if((Get-PSRepository -Name PSGallery).InstallationPolicy -eq "Untrusted"){ Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted }
+ $count++
+ Write-Progress -Activity "Installing dependencies..." -Status "Currently installing module DSInternals" -PercentComplete ($count / $totalcount*100)
+ if(!(Get-Module -ListAvailable -Name DSInternals)){ Install-Module -Name DSInternals -Force }
+ Write-Progress -Activity "Installing dependencies..." -Status "Ready" -Completed
+ Import-Module DSInternals
+ }else{
+ Write-Both " [!] PowerShell 5 or greater is needed, see https://www.microsoft.com/en-us/download/details.aspx?id=54616"
+ }
+}
+Function Remove-StringLatinCharacters{#Removes latin characters
+ PARAM ([string]$String)
+ [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding("Cyrillic").GetBytes($String))
+}
+Function Get-PasswordQuality{#Use DSInternals to evaluate password quality
+ if(Get-Module -ListAvailable -Name DSInternals){
+ $totalSite = (Get-ADObject -Filter {objectClass -like "site" } -SearchBase (Get-ADRootDSE).ConfigurationNamingContext | measure).Count
+ $count = 0
+ Get-ADObject -Filter {objectClass -like "site" } -SearchBase (Get-ADRootDSE).ConfigurationNamingContext | ForEach-Object{
+ if($_.Name -eq $(Remove-StringLatinCharacters $_.Name)){ $count++ }
+ }
+ if($count -ne $totalSite){
+ Write-Both " [!] One or more site have illegal characters in their name, can't get password quality!"
+ }else{
+ Get-ADReplAccount -All -Server $env:ComputerName -NamingContext $(Get-ADDomain | select -ExpandProperty DistinguishedName) | Test-PasswordQuality -IncludeDisabledAccounts | Out-File "$outputdir\password_quality.txt"
+ Write-Both " [!] Password quality test done, see $outputdir\password_quality.txt"
+ }
+ }
+}
+Function Check-Shares {#Check SYSVOL and NETLOGON share exists
+ $dcList = @()
+ (Get-ADDomainController -Filter *) | ForEach-Object{$dcList += $_.Name}
+ Write-Both " [+] Checking SYSVOL and NETLOGON shares on all DCs"
+ foreach($DC in $dcList){
+ $shareList = (Get-WmiObject -Class Win32_Share -ComputerName $DC -ErrorAction SilentlyContinue)
+ if(!($shareList)){
+ Write-Both " [!] Cannot test shares on $DC!"
+ }else{
+ $sysvolShare = ($shareList | ?{$_ -match 'SYSVOL'} | measure).Count
+ $netlogonShare = ($shareList | ?{$_ -match 'NETLOGON'} | measure).Count
+ if($sysvolShare -eq 0){ Write-Both " [!] SYSVOL share is missing on $DC!" }
+ if($netlogonShare -eq 0){ Write-Both " [!] NETLOGON share is missing on $DC!" }
+ }
+ }
+}
+
+$outputdir = (Get-Item -Path ".\").FullName + "\" + $env:computername
+$starttime = Get-Date
+$scriptname = $MyInvocation.MyCommand.Name
+if(!(Test-Path "$outputdir")){ New-Item -ItemType Directory -Path $outputdir | Out-Null }
+Write-Both " _____ ____ _____ _ _ _
+| _ | \ | _ |_ _ _| |_| |_
+| | | | | | | | . | | _|
+|__|__|____/ |__|__|___|___|_|_|
+$versionnum by phillips321
+"
+$running=$false
+Write-Both "[*] Script start time $starttime"
+if(Get-Module -ListAvailable -Name ActiveDirectory){ Import-Module ActiveDirectory }else{ Write-Both "[!] ActiveDirectory module not installed, exiting..." ; exit }
+if(Get-Module -ListAvailable -Name ServerManager) { Import-Module ServerManager }else{ Write-Both "[!] ServerManager module not installed, exiting..." ; exit }
+if(Get-Module -ListAvailable -Name GroupPolicy) { Import-Module GroupPolicy }else{ Write-Both "[!] GroupPolicy module not installed, exiting..." ; exit }
+if(Get-Module -ListAvailable -Name DSInternals) { Import-Module DSInternals }else{ Write-Both "[!] DSInternals module not installed, use -installdeps to force install" }
+if(Test-Path "$outputdir\adaudit.nessus"){ Remove-Item -recurse "$outputdir\adaudit.nessus" | Out-Null }
+Write-Nessus-Header
+Write-Host "[+] Outputting to $outputdir"
+Write-Both "[*] Lang specific variables"
+Get-Variables
+if($installdeps) { $running=$true ; Write-Both "[*] Installing optionnal features" ; Install-Dependencies }
+if($hostdetails -or $all) { $running=$true ; Write-Both "[*] Device Information" ; Get-HostDetails }
+if($domainaudit -or $all) { $running=$true ; Write-Both "[*] Domain Audit" ; Get-LastWUDate ; Get-DCEval ; Get-TimeSource ; Get-PrivilegedGroupMembership ; Get-MachineAccountQuota; Get-DefaultDomainControllersPolicy ; Get-SMB1Support ; Get-FunctionalLevel ; Get-DCsNotOwnedByDA ; Get-ReplicationType ; Check-Shares ; Get-RecycleBinState ; Get-CriticalServicesStatus ; Get-RODC }
+if($trusts -or $all) { $running=$true ; Write-Both "[*] Domain Trust Audit" ; Get-DomainTrusts }
+if($accounts -or $all) { $running=$true ; Write-Both "[*] Accounts Audit" ; Get-InactiveAccounts ; Get-DisabledAccounts ; Get-LockedAccounts ; Get-AdminAccountChecks ; Get-NULLSessions ; Get-PrivilegedGroupAccounts ; Get-ProtectedUsers }
+if($passwordpolicy -or $all) { $running=$true ; Write-Both "[*] Password Information Audit" ; Get-AccountPassDontExpire ; Get-UserPasswordNotChangedRecently ; Get-PasswordPolicy ; Get-PasswordQuality }
+if($ntds -or $all) { $running=$true ; Write-Both "[*] Trying to save NTDS.dit, please wait..." ; Get-NTDSdit }
+if($oldboxes -or $all) { $running=$true ; Write-Both "[*] Computer Objects Audit" ; Get-OldBoxes }
+if($gpo -or $all) { $running=$true ; Write-Both "[*] GPO audit (and checking SYSVOL for passwords)" ; Get-GPOtoFile ; Get-GPOsPerOU ; Get-SYSVOLXMLS; Get-GPOEnum }
+if($ouperms -or $all) { $running=$true ; Write-Both "[*] Check Generic Group AD Permissions" ; Get-OUPerms }
+if($laps -or $all) { $running=$true ; Write-Both "[*] Check For Existence of LAPS in domain" ; Get-LAPSStatus }
+if($authpolsilos -or $all) { $running=$true ; Write-Both "[*] Check For Existence of Authentication Polices and Silos" ; Get-AuthenticationPoliciesAndSilos }
+if($insecurednszone -or $all){ $running=$true ; Write-Both "[*] Check For Existence DNS Zones allowing insecure updates" ; Get-DNSZoneInsecure }
+if($recentchanges -or $all) { $running=$true ; Write-Both "[*] Check For newly created users and groups" ; Get-RecentChanges }
+if(!$running){ Write-Both "[!] No arguments selected"
+ Write-Both "[!] Other options are as follows, they can be used in combination"
+ Write-Both " -installdeps installs optionnal features (DSInternals)"
+ Write-Both " -hostdetails retrieves hostname and other useful audit info"
+ Write-Both " -domainaudit retrieves information about the AD such as functional level"
+ Write-Both " -trusts retrieves information about any doman trusts"
+ Write-Both " -accounts identifies account issues such as expired, disabled, etc..."
+ Write-Both " -passwordpolicy retrieves password policy information"
+ Write-Both " -ntds dumps the NTDS.dit file using ntdsutil"
+ Write-Both " -oldboxes identifies outdated OSs like 2000/2003/XP/Vista/7/2008 joined to the domain"
+ Write-Both " -gpo dumps the GPOs in XML and HTML for later analysis"
+ Write-Both " -ouperms checks generic OU permission issues"
+ Write-Both " -laps checks if LAPS is installed"
+ Write-Both " -authpolsilos checks for existence of authentication policies and silos"
+ Write-Both " -insecurednszone checks for insecure DNS zones"
+ Write-Both " -recentchanges checks for newly created users and groups (last 30 days)"
+ Write-Both " -all runs all checks, e.g. $scriptname -all"
+}
+Write-Nessus-Footer
+
+#Dirty fix for .nessus characters (will do this properly or as a function later. Will need more characters adding here...)
+$originalnessusoutput = Get-Content $outputdir\adaudit.nessus
+$nessusoutput = $originalnessusoutput -Replace "&", "&"
+$nessusoutput = $nessusoutput -Replace "`“", """
+$nessusoutput = $nessusoutput -Replace "`'", "'"
+$nessusoutput = $nessusoutput -Replace "ü", "u"
+$nessusoutput | Out-File $outputdir\adaudit-replaced.nessus
+
+$endtime = Get-Date
+Write-Both "[*] Script end time $endtime"
\ No newline at end of file
diff --git a/Active Directory/Audit.ps1 b/Active Directory/Audit.ps1
new file mode 100644
index 0000000..4baad61
--- /dev/null
+++ b/Active Directory/Audit.ps1
@@ -0,0 +1,1658 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date : 20/11/2022
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER CompanyLogo
+ Enter URL or UNC path to your desired Company Logo for generated report.
+
+ -CompanyLogo "https://www.fichorga.fr/images/logo-logiciel-fichorga.png"
+
+.PARAMETER ReportTitle
+ Enter desired title for generated report.
+
+ -ReportTitle "Active Directory Report"
+
+.PARAMETER Days
+ Users that have not logged in within [X] amount of days.
+
+ -Days "90"
+
+.PARAMETER UserCreatedDays
+ Users that have been created within [X] amount of days.
+
+ -UserCreatedDays "15"
+
+.PARAMETER DaysUntilPWExpireINT
+ Users password expires within [X] amount of days
+
+ -DaysUntilPWExpireINT "15"
+
+.PARAMETER ADModNumber
+ Active Directory Objects that have been modified within [X] amount of days.
+
+ -ADModNumber "15"
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+param (
+ #Company logo that will be displayed on the left, can be URL or UNC
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Entrez l'URL ou le chemin UNC vers le logo de l'entreprise")]
+ [String]$CompanyLogo = "https://www.fichorga.fr/images/logo-logiciel-fichorga.png",
+ #Logo that will be on the right side, UNC or URL
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Entrez le titre souhaité pour le rapport")]
+ [String]$ReportTitle = "Rapport Active Directory",
+ #Location the report will be saved to
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Entrez le chemin du répertoire souhaité pour enregistrer; Default: C:\Automation\")]
+ [String]$ReportSavePath = "C:\Automation\",
+ #Find users that have not logged in X Amount of days, this sets the days
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Les utilisateurs qui ne se sont pas connectés dans les [X] nombre de jours; Default: 90")]
+ $Days = 90,
+ #Get users who have been created in X amount of days and less
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Les utilisateurs qui ont été créés dans [X] nombre de jours; Default: 15")]
+ $UserCreatedDays = 15,
+ #Get users whos passwords expire in less than X amount of days
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Le mot de passe de l'utilisateur expire dans un délai de [X] nombre de jours; Default: 15")]
+ $DaysUntilPWExpireINT = 15,
+ #Get AD Objects that have been modified in X days and newer
+
+ [Parameter(ValueFromPipeline = $true, HelpMessage = "Les objets AD qui ont été modifiés dans [X] nombre de jours; Default: 15")]
+ $ADModNumber =15
+
+ #CSS template located C:\Program Files\WindowsPowerShell\Modules\ReportHTML\1.4.1.1\
+ #Default template is orange and named "Sample"
+)
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+$Minute = (Get-Date).Minute
+$Hour = (Get-Date).Hour
+$Day = (Get-Date).Day
+$Month = (Get-Date).Month
+$Year = (Get-Date).Year
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+Function LastLogonConvert ($ftDate) {
+ $Date = [DateTime]::FromFileTime($ftDate)
+ If ($Date -lt (Get-Date '1/1/1900') -or $date -eq 0 -or $date -eq $null) {
+ "Never"
+ }
+ Else {
+ $Date
+ }
+
+}
+
+Function Write-Color([String[]]$Text, [ConsoleColor[]]$Color = "White", [int]$StartTab = 0, [int] $LinesBefore = 0,[int] $LinesAfter = 0, [string] $LogFile = "", $TimeFormat = "yyyy-MM-dd HH:mm:ss") {
+
+ $DefaultColor = $Color[0]
+
+ If ($LinesBefore -ne 0) { for ($i = 0; $i -lt $LinesBefore; $i++) { Write-Host "`n" -NoNewline } } # Add empty line before
+
+ If ($StartTab -ne 0) { for ($i = 0; $i -lt $StartTab; $i++) { Write-Host "`t" -NoNewLine } } # Add TABS before text
+
+ If ($Color.Count -ge $Text.Count) {
+ For ($i = 0; $i -lt $Text.Length; $i++) { Write-Host $Text[$i] -ForegroundColor $Color[$i] -NoNewLine }
+ }
+ Else {
+ For ($i = 0; $i -lt $Color.Length ; $i++) { Write-Host $Text[$i] -ForegroundColor $Color[$i] -NoNewLine }
+ For ($i = $Color.Length; $i -lt $Text.Length; $i++) { Write-Host $Text[$i] -ForegroundColor $DefaultColor -NoNewLine }
+ }
+
+ Write-Host
+ If ($LinesAfter -ne 0) { for ($i = 0; $i -lt $LinesAfter; $i++) { Write-Host "`n" } } # Add empty line after
+ If ($LogFile -ne "") {
+ $TextToFile = ""
+ For ($i = 0; $i -lt $Text.Length; $i++) {
+ $TextToFile += $Text[$i]
+ }
+ Write-Output "[$([datetime]::Now.ToString($TimeFormat))]$TextToFile" | Out-File $LogFile -Encoding unicode -Append
+ }
+}
+
+#--------------------------------------------------------[Debut Du Script]---------------------------------------------------------
+
+Clear-Host
+
+#Check for ReportHTML Module
+$Mod = Get-Module -ListAvailable -Name "ReportHTML"
+
+If ($null -eq $Mod) {
+ Write-Host "Le module ReportHTML n'est pas présent, tentative d'installation."
+
+ Install-Module -Name ReportHTML -Force
+ Import-Module ReportHTML -ErrorAction SilentlyContinue
+}
+
+Write-host "`n"
+Write-Color "Personnalisation des rapports de collecte ..." -Color White
+Write-host "`n"
+Write-Color "__________________________________________________________________________________" -Color White
+Write-Color "Logo de l'entreprise (gauche) : __________________________________________________ ", $CompanyLogo -Color White, Green
+Write-Color "Titre du rapport : _______________________________________________________________ ", $ReportTitle -Color White, Green
+Write-Color "Chemin de sauvegarde du rapport : ________________________________________________ ", $ReportSavePath -Color White, Green
+Write-Color "Rapport sur le nombre de jours depuis la dernière connexion de l'utilisateur : ___ ", $Days -Color White, Green
+Write-Color "Nombre de jours pour la création de nouveaux utilisateurs : ______________________ ", $UserCreatedDays -Color White, Green
+Write-Color "Nombre de jours pour l'expiration du mot de passe : ______________________________ ", $DaysUntilPWExpireINT -Color White, Green
+Write-Color "Nombre de jours pour les objets AD nouvellement modifiés : _______________________ ", $ADModNumber -Color White, Green
+Write-Color "__________________________________________________________________________________" -Color White
+
+#Array of default Security Groups
+$DefaultSGs = @(
+ "Opérateurs d’assistance Access Control"
+ "Opérateurs de compte"
+ "Administrateurs"
+ "Réplication de mot de passe RODC autorisée"
+ "Opérateurs de sauvegarde"
+ "Accès DCOM au service de certificats"
+ "Éditeurs de certificats"
+ "Contrôleurs de domaine clonables"
+ "Opérateurs de chiffrement"
+ "Réplication de mot de passe RODC refusée"
+ "Propriétaires d’appareils"
+ "Administrateurs DHCP"
+ "Utilisateurs DHCP"
+ "Utilisateurs du modèle COM distribué"
+ "DnsUpdateProxy"
+ "DnsAdmins"
+ "Administrateurs du domaine"
+ "Ordinateurs de domaine"
+ "Contrôleurs de domaine"
+ "Invités de domaine"
+ "Utilisateurs du domaine"
+ "Administrateurs de l’entreprise"
+ "Enterprise Key Admins"
+ "Contrôleurs de domaine d’entreprise en lecture seule"
+ "Lecteurs des journaux d’événements"
+ "Propriétaires créateurs de la stratégie de groupe"
+ "Invités"
+ "Administrateurs Hyper-V"
+ "IIS_IUSRS"
+ "Générateurs d’approbation de forêt entrante"
+ "Administrateurs de clés"
+ "Opérateurs de configuration réseau"
+ "Utilisateurs du journal des performances"
+ "Utilisateurs de l’Analyseur de performances"
+ "Accès pré-Windows 2000 compatible"
+ "Opérateurs d'impression"
+ "Utilisateurs protégés"
+ "Serveurs RAS et IAS"
+ "Serveurs de points de terminaison..."
+ "Serveurs d’administration RDS"
+ "Serveurs d’accès à distance RDS"
+ "Contrôleurs de domaine en lecture seule"
+ "Utilisateurs du Bureau à distance"
+ "Utilisateurs de gestion à distance"
+ "Duplicateur"
+ "Administrateurs du schéma"
+ "Opérateurs de serveur"
+ "Administrateurs de réplica de stockage"
+ "Comptes gérés par le système"
+ "Serveurs de licences Terminal Server"
+ "Utilisateurs"
+ "Accès à l’autorisation Windows"
+ "WinRMRemoteWMIUsers_"
+)
+
+$Table = New-Object 'System.Collections.Generic.List[System.Object]'
+$OUTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$UserTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$UserPasswordTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GroupTypetable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DefaultGrouptable = New-Object 'System.Collections.Generic.List[System.Object]'
+$EnabledDisabledUsersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DomainAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ExpiringAccountsTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$CompanyInfoTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$securityeventtable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DomainTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$OUGPOTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GroupMembershipTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$PasswordExpirationTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$PasswordExpireSoonTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$userphaventloggedonrecentlytable = New-Object 'System.Collections.Generic.List[System.Object]'
+$EnterpriseAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$NewCreatedUsersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GroupProtectionTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$OUProtectionTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GPOTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ADObjectTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ProtectedUsersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ComputersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ComputerProtectedTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ComputersEnabledTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DefaultComputersinDefaultOUTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DefaultUsersinDefaultOUTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$TOPUserTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$TOPGroupsTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$TOPComputersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GraphComputerOS = New-Object 'System.Collections.Generic.List[System.Object]'
+
+#Get all users right away. Instead of doing several lookups, we will use this object to look up all the information needed.
+$AllUsers = Get-ADUser -Filter * -Properties *
+
+$GPOs = Get-GPO -All | Select-Object DisplayName, GPOStatus, ModificationTime, @{ Label = "ComputerVersion"; Expression = { $_.computer.dsversion } }, @{ Label = "UserVersion"; Expression = { $_.user.dsversion } }
+
+<###########################
+ Dashboard
+############################>
+Write-Host "Analyse sur le rapport du tableau de bord ........................................ " -ForegroundColor Green -NoNewline
+
+$dte = (Get-Date).AddDays(- $ADModNumber)
+
+$ADObjs = Get-ADObject -Filter { whenchanged -gt $dte -and ObjectClass -ne "domainDNS" -and ObjectClass -ne "rIDManager" -and ObjectClass -ne "rIDSet" } -Properties *
+$Compteur = 0
+
+Foreach ($ADObj in $ADObjs) {
+ $Compteur++
+ Write-Progress -Id 0 -Activity "Analyse : " -Status "Processing $($Compteur) of $($ADObjs.count)" -CurrentOperation $ADObj -PercentComplete (($Compteur / $ADObjs.count) * 100)
+
+ If ($ADObj.ObjectClass -eq "GroupPolicyContainer") {
+ $Name = $ADObj.DisplayName
+ }
+ Else{
+ $Name = $ADObj.Name
+ }
+
+ $obj = [PSCustomObject]@{
+ "Name" = $Name
+ "Type Object" = $ADObj.ObjectClass
+ "Date changement" = $ADObj.WhenChanged
+ }
+ $ADObjectTable.Add($obj)
+}
+
+$ADRecycleBinStatus = (Get-ADOptionalFeature -Filter 'name -like "Recycle Bin Feature"').EnabledScopes
+
+If ($ADRecycleBinStatus.Count -lt 1) {
+ $ADRecycleBin = "Desactive"
+}
+Else {
+ $ADRecycleBin = "Actif"
+}
+
+#Company Information
+$ADInfo = Get-ADDomain
+$ForestObj = Get-ADForest
+$DomainControllerobj = Get-ADDomain
+$Forest = $ADInfo.Forest
+$InfrastructureMaster = $DomainControllerobj.InfrastructureMaster
+$RIDMaster = $DomainControllerobj.RIDMaster
+$PDCEmulator = $DomainControllerobj.PDCEmulator
+$DomainNamingMaster = $ForestObj.DomainNamingMaster
+$SchemaMaster = $ForestObj.SchemaMaster
+
+$obj = [PSCustomObject]@{
+ "Domaine" = $Forest
+ "Corbeille AD" = $ADRecycleBin
+ "Maitre de l'infrastructure" = $InfrastructureMaster
+ "Maitre RID" = $RIDMaster
+ "Emulateur PDC" = $PDCEmulator
+ "Maitre des noms de domaine" = $DomainNamingMaster
+ "Maitre Schema" = $SchemaMaster
+}
+
+$CompanyInfoTable.Add($obj)
+
+#Get newly created users
+$When = ((Get-Date).AddDays(- $UserCreatedDays)).Date
+$NewUsers = $AllUsers | Where-Object { $_.whenCreated -ge $When }
+
+Foreach ($Newuser in $Newusers) {
+ $obj = [PSCustomObject]@{
+ "Name" = $Newuser.Name
+ "Actif" = $Newuser.Enabled
+ "Date creation" = $Newuser.whenCreated
+ }
+ $NewCreatedUsersTable.Add($obj)
+}
+
+#Get Domain Admins
+$DomainAdminMembers = Get-ADGroupMember "Admins du domaine"
+
+Foreach ($DomainAdminMember in $DomainAdminMembers) {
+ $Name = $DomainAdminMember.Name
+ $Type = $DomainAdminMember.ObjectClass
+ $Enabled = ($AllUsers | Where-Object { $_.Name -eq $Name }).Enabled
+
+ $obj = [PSCustomObject]@{
+ "Name" = $Name
+ "Actif" = $Enabled
+ "Type" = $Type
+ }
+ $DomainAdminTable.Add($obj)
+}
+
+#Get Enterprise Admins
+$EnterpriseAdminsMembers = Get-ADGroupMember "Administrateurs de l’entreprise"
+
+If (($EnterpriseAdminsMembers).Count -eq 0) {
+ $EnterpriseAdminsMember = [PSCustomObject]@{
+ Information = "Informations : Aucun utilisateur n'a ete trouve dans le groupe Administrateurs de l’entreprise"
+ }
+}
+Else {
+ Foreach ($EnterpriseAdminsMember in $EnterpriseAdminsMembers) {
+ $Name = $EnterpriseAdminsMember.Name
+ $Type = $EnterpriseAdminsMember.ObjectClass
+ $Enabled = ($AllUsers | Where-Object { $_.Name -eq $Name }).Enabled
+
+ $obj = [PSCustomObject]@{
+ "Name" = $Name
+ "Actif" = $Enabled
+ "Type" = $Type
+ }
+ $EnterpriseAdminTable.Add($obj)
+ }
+}
+
+$DefaultComputersOU = (Get-ADDomain).computerscontainer
+$DefaultComputers = Get-ADComputer -Filter * -Properties * -SearchBase "$DefaultComputersOU"
+
+Foreach ($DefaultComputer in $DefaultComputers) {
+ $obj = [PSCustomObject]@{
+ "Name" = $DefaultComputer.Name
+ "Actif" = $DefaultComputer.Enabled
+ "Systeme d'exploitation" = $DefaultComputer.OperatingSystem
+ "Date modification" = $DefaultComputer.Modified
+ "Dernier mot de passe defini" = $DefaultComputer.PasswordLastSet
+ "Protege contre la suppression" = $DefaultComputer.ProtectedFromAccidentalDeletion
+ }
+ $DefaultComputersinDefaultOUTable.Add($obj)
+}
+
+$DefaultUsersOU = (Get-ADDomain).UsersContainer
+$DefaultUsers = $Allusers | Where-Object { $_.DistinguishedName -like "*$($DefaultUsersOU)" } | Select-Object Name, UserPrincipalName, Enabled, ProtectedFromAccidentalDeletion, EmailAddress, @{ Name = 'lastlogon'; Expression = { LastLogonConvert $_.lastlogon } }, DistinguishedName
+
+Foreach ($DefaultUser in $DefaultUsers) {
+ $obj = [PSCustomObject]@{
+ "Name" = $DefaultUser.Name
+ "UserPrincipalName" = $DefaultUser.UserPrincipalName
+ "Actif" = $DefaultUser.Enabled
+ "Protege contre la suppression" = $DefaultUser.ProtectedFromAccidentalDeletion
+ "Derniere connexion" = $DefaultUser.LastLogon
+ "Adresse mail" = $DefaultUser.EmailAddress
+ }
+ $DefaultUsersinDefaultOUTable.Add($obj)
+}
+
+#Expiring Accounts
+$LooseUsers = Search-ADAccount -AccountExpiring -UsersOnly
+
+Foreach ($LooseUser in $LooseUsers) {
+ $NameLoose = $LooseUser.Name
+ $UPNLoose = $LooseUser.UserPrincipalName
+ $ExpirationDate = $LooseUser.AccountExpirationDate
+ $enabled = $LooseUser.Enabled
+
+ $obj = [PSCustomObject]@{
+ "Name" = $NameLoose
+ "UserPrincipalName" = $UPNLoose
+ "Date expiration" = $ExpirationDate
+ "Actif" = $enabled
+ }
+ $ExpiringAccountsTable.Add($obj)
+}
+
+If (($ExpiringAccountsTable).Count -eq 0) {
+ $ExpiringAccountsTable = [PSCustomObject]@{
+ Information = "Informations : Aucun utilisateur n'expire bientot"
+ }
+}
+
+#Analyse journaux audti sécurité
+$SecurityLogs = Get-EventLog -Newest 7 -LogName "Security" | Where-Object { $_.Message -like "*An account*" }
+
+Foreach ($SecurityLog in $SecurityLogs) {
+ $TimeGenerated = $SecurityLog.TimeGenerated
+ $EntryType = $SecurityLog.EntryType
+ $Recipient = $SecurityLog.Message
+
+ $obj = [PSCustomObject]@{
+ "Time" = $TimeGenerated
+ "Type" = $EntryType
+ "Message" = $Recipient
+ }
+ $SecurityEventTable.Add($obj)
+}
+
+If (($securityeventtable).Count -eq 0) {
+ $securityeventtable = [PSCustomObject]@{
+ Information = "Informations : Aucun journal de securite recent"
+ }
+}
+
+#Tenant Domain
+$Domains = Get-ADForest | Select-Object -ExpandProperty upnsuffixes | ForEach-Object{
+ $obj = [PSCustomObject]@{
+ "UPN Suffixes" = $_
+ Valid = "True"
+ }
+ $DomainTable.Add($obj)
+}
+
+Write-Host "Terminé !" -ForegroundColor White
+
+Write-Progress -Id 0 -Activity "Analyse : " -completed
+
+<###########################
+ Groups
+############################>
+Write-Host "Rapport sur les groupes .......................................................... " -ForegroundColor Green -NoNewline
+
+#Get groups and sort in alphabetical order
+$Groups = Get-ADGroup -Filter * -Properties *
+$SecurityCount = 0
+$MailSecurityCount = 0
+$CustomGroup = 0
+$DefaultGroup = 0
+$Groupswithmemebrship = 0
+$Groupswithnomembership = 0
+$GroupsProtected = 0
+$GroupsNotProtected = 0
+$Compteur = 0
+
+Foreach ($Group in $Groups) {
+ $Compteur++
+ Write-Progress -Id 1 -Activity "Analyse : " -Status "Processing $($Compteur) of $($Groups.count)" -CurrentOperation $Group -PercentComplete (($Compteur / $Groups.count) * 100)
+ $DefaultADGroup = 'False'
+ $Type = New-Object 'System.Collections.Generic.List[System.Object]'
+ $Gemail = (Get-ADGroup $Group -Properties mail).mail
+
+ If (($group.GroupCategory -eq "Security") -and ($Gemail -ne $Null)) {
+ $MailSecurityCount++
+ }
+
+ If (($group.GroupCategory -eq "Security") -and (($Gemail) -eq $Null)) {
+ $SecurityCount++
+ }
+
+ If ($Group.ProtectedFromAccidentalDeletion -eq $True) {
+ $GroupsProtected++
+ }
+ Else {
+ $GroupsNotProtected++
+ }
+
+ If ($DefaultSGs -contains $Group.Name) {
+ $DefaultADGroup = "True"
+ $DefaultGroup++
+ }
+ Else {
+ $CustomGroup++
+ }
+
+ If ($group.GroupCategory -eq "Distribution") {
+ $Type = "Groupe de distribution"
+ }
+
+ If (($group.GroupCategory -eq "Security") -and (($Gemail) -eq $Null)) {
+ $Type = "Groupe de securite"
+ }
+
+ If (($group.GroupCategory -eq "Security") -and (($Gemail) -ne $Null)) {
+ $Type = "Groupe de securite active par courrier"
+ }
+
+ If ($Group.Name -ne "Domain Users") {
+ $Users = (Get-ADGroupMember -Identity $Group | Sort-Object DisplayName | Select-Object -ExpandProperty Name) -join ", "
+
+ If (!($Users)) {
+ $Groupswithnomembership++
+ }
+ Else {
+ $Groupswithmemebrship++
+ }
+ }
+ Else {
+ $Users = "Skipped Domain Users Membership"
+ }
+
+ $OwnerDN = Get-ADGroup -Filter { name -eq $Group.Name } -Properties managedBy | Select-Object -ExpandProperty ManagedBy
+ $Manager = $AllUsers | Where-Object { $_.distinguishedname -eq $OwnerDN } | Select-Object -ExpandProperty Name
+
+ $obj = [PSCustomObject]@{
+ "Name" = $Group.name
+ "Type" = $Type
+ "Membres" = $users
+ "Gere par" = $Manager
+ "Adresse mail" = $GEmail
+ "Protege contre la suppression" = $Group.ProtectedFromAccidentalDeletion
+ "Default AD Groupe" = $DefaultADGroup
+ }
+ $table.Add($obj)
+}
+
+If (($table).Count -eq 0) {
+ $table = [PSCustomObject]@{
+ Information = "Information : Aucun groupe n'a ete trouve"
+ }
+}
+
+#TOP groups table
+$obj1 = [PSCustomObject]@{
+ "Total Groupes" = $Groups.Count
+ "Groupes de securite compatibles avec la messagerie" = $MailSecurityCount
+ "Groupes de securite" = $SecurityCount
+ "Groupes de distribution" = $DistroCount
+}
+
+$TOPGroupsTable.Add($obj1)
+
+$obj1 = [PSCustomObject]@{
+ 'Name' = "Groupes de securite compatibles avec la messagerie"
+ 'Count' = $MailSecurityCount
+}
+
+$GroupTypetable.Add($obj1)
+
+$obj1 = [PSCustomObject]@{
+ 'Name' = "Groupes de securite"
+ 'Count' = $SecurityCount
+}
+
+$GroupTypetable.Add($obj1)
+$DistroCount = ($Groups | Where-Object { $_.GroupCategory -eq "Distribution" }).Count
+
+$obj1 = [PSCustomObject]@{
+ 'Name' = "Groupes de distribution"
+ 'Count' = $DistroCount
+}
+
+$GroupTypetable.Add($obj1)
+
+#Default Group Pie Chart
+$obj1 = [PSCustomObject]@{
+ 'Name' = "Groupes par defaut"
+ 'Count' = $DefaultGroup
+}
+
+$DefaultGrouptable.Add($obj1)
+
+$obj1 = [PSCustomObject]@{
+ 'Name' = "Groupes personnalises"
+ 'Count' = $CustomGroup
+}
+
+$DefaultGrouptable.Add($obj1)
+
+#Group Protection Pie Chart
+$obj1 = [PSCustomObject]@{
+ 'Name' = "Protege"
+ 'Count' = $GroupsProtected
+}
+
+$GroupProtectionTable.Add($obj1)
+
+$obj1 = [PSCustomObject]@{
+ 'Name' = "Non Protege"
+ 'Count' = $GroupsNotProtected
+}
+
+$GroupProtectionTable.Add($obj1)
+
+#Groups with membership vs no membership pie chart
+$objmem = [PSCustomObject]@{
+ 'Name' = "Avec les membres"
+ 'Count' = $Groupswithmemebrship
+}
+
+$GroupMembershipTable.Add($objmem)
+
+$objmem = [PSCustomObject]@{
+ 'Name' = "Aucun membre"
+ 'Count' = $Groupswithnomembership
+}
+
+$GroupMembershipTable.Add($objmem)
+
+Write-Host "Terminé !" -ForegroundColor White
+
+Write-Progress -Id 1 -Activity "Analyse : " -completed
+
+<###########################
+ Organizational Units
+############################>
+Write-Host "Analyse sur le rapport sur les unités organisation ............................... " -ForegroundColor Green -NoNewline
+
+#Get all OUs'
+$OUs = Get-ADOrganizationalUnit -Filter * -Properties *
+$OUwithLinked = 0
+$OUwithnoLink = 0
+$OUProtected = 0
+$OUNotProtected = 0
+$Compteur = 0
+
+Foreach ($OU in $OUs) {
+ $Compteur++
+ Write-Progress -Id 2 -Activity "Analyse : " -Status "Processing $($Compteur) of $($OUs.count)" -CurrentOperation $OU -PercentComplete (($Compteur / $OUs.count) * 100)
+ $LinkedGPOs = New-Object 'System.Collections.Generic.List[System.Object]'
+
+ If (($OU.linkedgrouppolicyobjects).length -lt 1) {
+ $LinkedGPOs = "None"
+ $OUwithnoLink++
+ }
+ Else {
+ $OUwithLinked++
+ $GPOslinks = $OU.linkedgrouppolicyobjects
+
+ Foreach ($GPOlink in $GPOslinks) {
+ $Split1 = $GPOlink -split "{" | Select-Object -Last 1
+ $Split2 = $Split1 -split "}" | Select-Object -First 1
+ $LinkedGPOs.Add((Get-GPO -Guid $Split2 -ErrorAction SilentlyContinue).DisplayName)
+ }
+ }
+
+ If ($OU.ProtectedFromAccidentalDeletion -eq $True) {
+ $OUProtected++
+ }
+ Else {
+ $OUNotProtected++
+ }
+
+ $LinkedGPOs = $LinkedGPOs -join ", "
+ $obj = [PSCustomObject]@{
+ "Name" = $OU.Name
+ "Linked GPOs" = $LinkedGPOs
+ "Date modification" = $OU.WhenChanged
+ "Protege contre la suppression" = $OU.ProtectedFromAccidentalDeletion
+ }
+ $OUTable.Add($obj)
+}
+
+If (($OUTable).Count -eq 0) {
+ $OUTable = [PSCustomObject]@{
+ Information = "Information : Aucune unite organisationnelle n'a ete trouvee"
+ }
+}
+
+#OUs with no GPO Linked
+$obj1 = [PSCustomObject]@{
+ 'Name' = "OU sans GPOs lies"
+ 'Count' = $OUwithnoLink
+}
+
+$OUGPOTable.Add($obj1)
+
+$obj2 = [PSCustomObject]@{
+ 'Name' = "OU avec GPO's lies"
+ 'Count' = $OUwithLinked
+}
+
+$OUGPOTable.Add($obj2)
+
+#OUs Protected Pie Chart
+$obj1 = [PSCustomObject]@{
+ 'Name' = "Protege"
+ 'Count' = $OUProtected
+}
+
+$OUProtectionTable.Add($obj1)
+
+$obj2 = [PSCustomObject]@{
+ 'Name' = "Non protege"
+ 'Count' = $OUNotProtected
+}
+
+$OUProtectionTable.Add($obj2)
+
+Write-Host "Terminé !" -ForegroundColor White
+
+Write-Progress -Id 2 -Activity "Analyse : " -completed
+
+<###########################
+ USERS
+############################>
+Write-Host "Analyse sur le rapport des utilisateurs .......................................... " -ForegroundColor Green -NoNewline
+
+$UserEnabled = 0
+$UserDisabled = 0
+$UserPasswordExpires = 0
+$UserPasswordNeverExpires = 0
+$ProtectedUsers = 0
+$NonProtectedUsers = 0
+$Compteur = 0
+
+$UsersWithPasswordsExpiringInUnderAWeek = 0
+$UsersNotLoggedInOver30Days = 0
+$AccountsExpiringSoon = 0
+
+Foreach ($User in $AllUsers) {
+ $Compteur++
+ Write-Progress -Id 3 -Activity "Analyse : " -Status "Processing $($Compteur) of $($AllUsers.count)" -CurrentOperation $User -PercentComplete (($Compteur / $AllUsers.count) * 100)
+
+ $AttVar = $User | Select-Object Enabled, PasswordExpired, PasswordLastSet, PasswordNeverExpires, PasswordNotRequired, Name, SamAccountName, EmailAddress, AccountExpirationDate, @{ Name = 'lastlogon'; Expression = { LastLogonConvert $_.lastlogon } }, DistinguishedName
+ $maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
+
+ If ((($AttVar.PasswordNeverExpires) -eq $False) -and (($AttVar.Enabled) -ne $false)) {
+ #Get Password last set date
+ $passwordSetDate = ($User | ForEach-Object { $_.PasswordLastSet })
+
+ If ($null -eq $passwordSetDate) {
+ $daystoexpire = "Utilisateur ne s'est jamais connecte"
+ }
+ Else {
+ #Check for Fine Grained Passwords
+ $PasswordPol = (Get-ADUserResultantPasswordPolicy $user)
+
+ If (($PasswordPol) -ne $null) {
+ $maxPasswordAge = ($PasswordPol).MaxPasswordAge
+ }
+
+ $expireson = $passwordsetdate + $maxPasswordAge
+ $today = (Get-Date)
+
+ #Gets the count on how many days until the password expires and stores it in the $daystoexpire var
+ $daystoexpire = (New-TimeSpan -Start $today -End $Expireson).Days
+ }
+ }
+ Else {
+ $daystoexpire = "N/A"
+ }
+
+ #Get users that haven't logged on in X amount of days, var is set at start of script
+ If (($User.Enabled -eq $True) -and ($User.LastLogonDate -lt (Get-Date).AddDays(- $Days)) -and ($User.LastLogonDate -ne $NULL)) {
+ $obj = [PSCustomObject]@{
+ "Name" = $User.Name
+ "UserPrincipalName" = $User.UserPrincipalName
+ "Actif" = $AttVar.Enabled
+ "Protege contre la suppression" = $User.ProtectedFromAccidentalDeletion
+ "Derniere connexion" = $AttVar.lastlogon
+ "Mot de passe n'expire jamais" = $AttVar.PasswordNeverExpires
+ "Jours avant l'expiration du mot de passe" = $daystoexpire
+ }
+ $userphaventloggedonrecentlytable.Add($obj)
+ }
+
+ If (($userphaventloggedonrecentlytable).Count -eq 0) {
+ $userphaventloggedonrecentlytable = [PSCustomObject]@{
+ Information = "Information : Aucun utilisateur n'a ete trouve comme n'ayant pas ete connecte en $Days jours"
+ }
+ }
+
+ #Items for protected vs non protected users
+ If ($User.ProtectedFromAccidentalDeletion -eq $False) {
+ $NonProtectedUsers++
+ }
+ Else {
+ $ProtectedUsers++
+ }
+
+ #Items for the enabled vs disabled users pie chart
+ If (($AttVar.PasswordNeverExpires) -ne $false) {
+ $UserPasswordNeverExpires++
+ }
+ Else {
+ $UserPasswordExpires++
+ }
+
+ #Items for password expiration pie chart
+ If (($AttVar.Enabled) -ne $false) {
+ $UserEnabled++
+ }
+ Else {
+ $UserDisabled++
+ }
+
+ $Name = $User.Name
+ $UPN = $User.UserPrincipalName
+ $Enabled = $AttVar.Enabled
+ $EmailAddress = $AttVar.EmailAddress
+ $AccountExpiration = $AttVar.AccountExpirationDate
+ $PasswordExpired = $AttVar.PasswordExpired
+ $PasswordLastSet = $AttVar.PasswordLastSet
+ $PasswordNeverExpires = $AttVar.PasswordNeverExpires
+ $daysUntilPWExpire = $daystoexpire
+
+ $obj = [PSCustomObject]@{
+ "Name" = $Name
+ "UserPrincipalName" = $UPN
+ "Actif" = $Enabled
+ "Protege contre la suppression" = $User.ProtectedFromAccidentalDeletion
+ "Derniere connexion" = $LastLogon
+ "Adresse mail " = $EmailAddress
+ "Expiration du compte" = $AccountExpiration
+ "Changer du mot de passe Prochaine" = $PasswordExpired
+ "Dernier mot de passe defini" = $PasswordLastSet
+ "Mot de passe n'expire jamais" = $PasswordNeverExpires
+ "Jours avant l'expiration du mot de passe" = $daystoexpire
+ }
+
+ $usertable.Add($obj)
+
+ If ($daystoexpire -lt $DaysUntilPWExpireINT) {
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ "Jours avant l'expiration du mot de passe" = $daystoexpire
+ }
+ $PasswordExpireSoonTable.Add($obj)
+ }
+}
+
+If (($usertable).Count -eq 0) {
+ $usertable = [PSCustomObject]@{
+ Information = "Information : Aucun utilisateur n'a ete trouve"
+ }
+}
+
+#Data for users enabled vs disabled pie graph
+$objULic = [PSCustomObject]@{
+ 'Name' = "Actif"
+ 'Count' = $UserEnabled
+}
+
+$EnabledDisabledUsersTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ 'Name' = "Desactiver"
+ 'Count' = $UserDisabled
+}
+
+$EnabledDisabledUsersTable.Add($objULic)
+
+#Data for users password expires pie graph
+$objULic = [PSCustomObject]@{
+ 'Name' = "Expiration du mot de passe"
+ 'Count' = $UserPasswordExpires
+}
+
+$PasswordExpirationTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ 'Name' = "Le mot de passe n'expire jamais"
+ 'Count' = $UserPasswordNeverExpires
+}
+
+$PasswordExpirationTable.Add($objULic)
+
+#Data for protected users pie graph
+$objULic = [PSCustomObject]@{
+ 'Name' = "Protege"
+ 'Count' = $ProtectedUsers
+}
+
+$ProtectedUsersTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ 'Name' = "Non protege"
+ 'Count' = $NonProtectedUsers
+}
+
+$ProtectedUsersTable.Add($objULic)
+
+#TOP User table
+If (($ExpiringAccountsTable).Count -gt 0) {
+ $objULic = [PSCustomObject]@{
+ "Total des utilisateurs" = $AllUsers.Count
+ "Utilisateurs dont les mots de passe expirent dans moins de $DaysUntilPWExpireINT jours" = $PasswordExpireSoonTable.Count
+ "Comptes arrivant a expiration" = $ExpiringAccountsTable.Count
+ "Utilisateurs non connectes depuis $Days jours" = $userphaventloggedonrecentlytable.Count
+ }
+ $TOPUserTable.Add($objULic)
+}
+Else {
+ $objULic = [PSCustomObject]@{
+ "Total des utilisateurs" = $AllUsers.Count
+ "Utilisateurs dont les mots de passe expirent dans moins de $DaysUntilPWExpireINT jours" = $PasswordExpireSoonTable.Count
+ "Comptes arrivant a expiration" = "0"
+ "Utilisateurs non connectes depuis $Days jours" = $userphaventloggedonrecentlytable.Count
+ }
+ $TOPUserTable.Add($objULic)
+}
+
+#Get-ADReplAccount -All -Server $env:ComputerName -NamingContext $(Get-ADDomain | select -ExpandProperty DistinguishedName) | Test-PasswordQuality -IncludeDisabledAccounts
+
+
+Write-Host "Terminé !" -ForegroundColor White
+
+Write-Progress -Id 3 -Activity "Done" -completed
+
+<###########################
+ Group Policy Object
+############################>
+Write-Host "Rapport sur les GPOs ............................................................. " -ForegroundColor Green -NoNewline
+
+$Compteur = 0
+
+$GPOTable = New-Object 'System.Collections.Generic.List[System.Object]'
+
+Foreach ($GPO in $GPOs) {
+ $Compteur++
+ Write-Progress -Id 4 -Activity "Analyse : " -Status "Processing $($Compteur) of $($GPOs.count)" -CurrentOperation $GPO -PercentComplete (($Compteur / $GPOs.count) * 100)
+
+ $obj = [PSCustomObject]@{
+ "Name" = $GPO.DisplayName
+ "Status" = $GPO.GpoStatus
+ "Date modification" = $GPO.ModificationTime
+ "User Version" = $GPO.UserVersion
+ "Computer Version" = $GPO.ComputerVersion
+ }
+
+ $GPOTable.Add($obj)
+}
+Write-Host "Terminé !" -ForegroundColor White
+
+Write-Progress -Id 4 -Activity "Done" -completed
+
+<###########################
+ Computers
+############################>
+Write-Host "Rapport sur le travail sur ordinateur ............................................ " -ForegroundColor Green -NoNewline
+
+$Computers = Get-ADComputer -Filter * -Properties *
+$ComputersProtected = 0
+$ComputersNotProtected = 0
+$ComputerEnabled = 0
+$ComputerDisabled = 0
+$Server2022 = 0
+$Server2019 = 0
+$Server2016 = 0
+$Server2012 = 0
+$Server2012R2 = 0
+$Server2008R2 = 0
+$Windows11 = 0
+$Windows10 = 0
+$Windows8 = 0
+$Windows7 = 0
+$Server2012R2 = 0
+$Compteur = 0
+
+Foreach ($Computer in $Computers) {
+ $Compteur++
+ Write-Progress -Id 5 -Activity "Analyse : " -Status "Processing $($Compteur) of $($Computers.count)" -CurrentOperation $Computer -PercentComplete (($Compteur / $Computers.count) * 100)
+
+ If ($Computer.ProtectedFromAccidentalDeletion -eq $True) {
+ $ComputersProtected++
+ }
+ Else {
+ $ComputersNotProtected++
+ }
+
+ If ($Computer.Enabled -eq $True) {
+ $ComputerEnabled++
+ }
+ Else {
+ $ComputerDisabled++
+ }
+
+ $obj = [PSCustomObject]@{
+ "ComputerName" = $Computer.Name
+ "Actif" = $Computer.Enabled
+ "Systeme d'exploitation" = $Computer.OperatingSystem
+ "Description" = $Computer.Description
+ "Date modification" = $Computer.Modified
+ "Date dernier mot de passe defini" = $Computer.PasswordLastSet
+ "Protege contre la suppression" = $Computer.ProtectedFromAccidentalDeletion
+ }
+
+ $ComputersTable.Add($obj)
+
+ If ($Computer.OperatingSystem -like "*Server 2022*") {
+ $Server2022++
+ }
+ Elseif ($Computer.OperatingSystem -like "*Server 2019*") {
+ $Server2019++
+ }
+ Elseif ($Computer.OperatingSystem -like "*Server 2016*") {
+ $Server2016++
+ }
+ Elseif ($Computer.OperatingSystem -like "*Server 2012 R2*") {
+ $Server2012R2++
+ }
+ Elseif ($Computer.OperatingSystem -like "*Server 2012*") {
+ $Server2012++
+ }
+ Elseif ($Computer.OperatingSystem -like "*Server 2008 R2*") {
+ $Server2008R2++
+ }
+ Elseif ($Computer.OperatingSystem -like "*Windows 11*") {
+ $Windows11++
+ }
+ Elseif ($Computer.OperatingSystem -like "*Windows 10*") {
+ $Windows10++
+ }
+ Elseif ($Computer.OperatingSystem -like "*Windows 8*") {
+ $Windows8++
+ }
+ Elseif ($Computer.OperatingSystem -like "*Windows 7*") {
+ $Windows7++
+ }
+}
+
+If (($ComputersTable).Count -eq 0) {
+ $ComputersTable = [PSCustomObject]@{
+ Information = "Information : Aucun ordinateur n'a ete trouve"
+ }
+}
+
+#Data for TOP Computers data table
+$objULic = [PSCustomObject]@{
+ "Total Ordinateurs" = $Computers.Count
+ "Serveur 2022" = $Server2022
+ "Serveur 2019" = $Server2019
+ "Serveur 2016" = $Server2016
+ "Serveur 2012 R2" = $Server2012R2
+ "Serveur 2012" = $Server2012
+ "Serveur 2008 R2" = $Server2008R2
+ "Windows 11" = $Windows11
+ "Windows 10" = $Windows10
+ "Windows 8" = $Windows8
+ "Windows 7" = $Windows7
+}
+
+$TOPComputersTable.Add($objULic)
+
+#Pie chart breaking down OS for computer obj
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Serveur 2022"
+ "Count" = $Server2022
+}
+
+$GraphComputerOS.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Serveur 2019"
+ "Count" = $Server2019
+}
+
+$GraphComputerOS.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Serveur 2016"
+ "Count" = $Server2016
+}
+
+$GraphComputerOS.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Serveur 2012 R2"
+ "Count" = $Server2012R2
+}
+
+$GraphComputerOS.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Serveur 2012"
+ "Count" = $Server2012
+}
+
+$GraphComputerOS.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Serveur 2008 R2"
+ "Count" = $Server2008R2
+}
+
+$GraphComputerOS.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Windows 11"
+ "Count" = $Windows11
+}
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Windows 10"
+ "Count" = $Windows10
+}
+
+$GraphComputerOS.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Windows 8"
+ "Count" = $Windows8
+}
+
+$GraphComputerOS.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Windows 7"
+ "Count" = $Windows7
+}
+
+$GraphComputerOS.Add($objULic)
+
+#Data for protected Computers pie graph
+$objULic = [PSCustomObject]@{
+ "Name" = "Protege"
+ "Count" = $ComputerProtected
+}
+
+$ComputerProtectedTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Non protege"
+ "Count" = $ComputersNotProtected
+}
+
+$ComputerProtectedTable.Add($objULic)
+
+#Data for enabled/vs Computers pie graph
+$objULic = [PSCustomObject]@{
+ "Name" = "Actif"
+ "Count" = $ComputerEnabled
+}
+
+$ComputersEnabledTable.Add($objULic)
+
+$objULic = [PSCustomObject]@{
+ "Name" = "Desactiver"
+ "Count" = $ComputerDisabled
+}
+
+$ComputersEnabledTable.Add($objULic)
+
+Write-Host "Terminé !" -ForegroundColor White
+
+Write-Progress -Id 5 -Activity "Done" -completed
+
+$tabarray = @("Tableau de bord", "Groupes", "Unites d'Organisation", "Utilisateurs", "Groupe Police Objet", "Ordinateurs")
+
+Write-Host "Compilation du rapport ........................................................... " -ForegroundColor Green -NoNewline
+
+##--OU Protection PIE CHART--##
+#Basic Properties
+$PO12 = Get-HTMLPieChartObject
+$PO12.Title = "Unites organisation protegees contre la suppression"
+$PO12.Size.Height = 250
+$PO12.Size.width = 250
+$PO12.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PO12.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PO12.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PO12.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PO12.DataDefinition.DataNameColumnName = 'Name'
+$PO12.DataDefinition.DataValueColumnName = 'Count'
+
+##--Computer OS Breakdown PIE CHART--##
+$PieObjectComputerObjOS = Get-HTMLPieChartObject
+$PieObjectComputerObjOS.Title = "Computer Operating Systems"
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectComputerObjOS.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectComputerObjOS.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectComputerObjOS.ChartStyle.ColorSchemeName = 'Random'
+
+##--Computers Protection PIE CHART--##
+#Basic Properties
+$PieObjectComputersProtected = Get-HTMLPieChartObject
+$PieObjectComputersProtected.Title = "Ordinateurs proteges contre la suppression"
+$PieObjectComputersProtected.Size.Height = 250
+$PieObjectComputersProtected.Size.width = 250
+$PieObjectComputersProtected.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectComputersProtected.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectComputersProtected.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectComputersProtected.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectComputersProtected.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectComputersProtected.DataDefinition.DataValueColumnName = 'Count'
+
+##--Computers Enabled PIE CHART--##
+#Basic Properties
+$PieObjectComputersEnabled = Get-HTMLPieChartObject
+$PieObjectComputersEnabled.Title = "Ordinateurs actives et desactives"
+$PieObjectComputersEnabled.Size.Height = 250
+$PieObjectComputersEnabled.Size.width = 250
+$PieObjectComputersEnabled.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectComputersEnabled.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectComputersEnabled.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectComputersEnabled.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectComputersEnabled.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectComputersEnabled.DataDefinition.DataValueColumnName = 'Count'
+
+##--USERS Protection PIE CHART--##
+#Basic Properties
+$PieObjectProtectedUsers = Get-HTMLPieChartObject
+$PieObjectProtectedUsers.Title = "Utilisateurs proteges contre la suppression"
+$PieObjectProtectedUsers.Size.Height = 250
+$PieObjectProtectedUsers.Size.width = 250
+$PieObjectProtectedUsers.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectProtectedUsers.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectProtectedUsers.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectProtectedUsers.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectProtectedUsers.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectProtectedUsers.DataDefinition.DataValueColumnName = 'Count'
+
+#Basic Properties
+$PieObjectOUGPOLinks = Get-HTMLPieChartObject
+$PieObjectOUGPOLinks.Title = "Liens OU/GPO"
+$PieObjectOUGPOLinks.Size.Height = 250
+$PieObjectOUGPOLinks.Size.width = 250
+$PieObjectOUGPOLinks.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectOUGPOLinks.ChartStyle.ColorSchemeName = "ColorScheme4"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectOUGPOLinks.ChartStyle.ColorSchemeName = "Generated5"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectOUGPOLinks.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectOUGPOLinks.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectOUGPOLinks.DataDefinition.DataValueColumnName = 'Count'
+
+#Basic Properties
+$PieObject4 = Get-HTMLPieChartObject
+$PieObject4.Title = "Office 365 Unassigned Licenses"
+$PieObject4.Size.Height = 250
+$PieObject4.Size.width = 250
+$PieObject4.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObject4.ChartStyle.ColorSchemeName = "ColorScheme4"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObject4.ChartStyle.ColorSchemeName = "Generated4"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObject4.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObject4.DataDefinition.DataNameColumnName = 'Name'
+$PieObject4.DataDefinition.DataValueColumnName = 'Unassigned Licenses'
+
+#Basic Properties
+$PieObjectGroupType = Get-HTMLPieChartObject
+$PieObjectGroupType.Title = "Types de groupes"
+$PieObjectGroupType.Size.Height = 250
+$PieObjectGroupType.Size.width = 250
+$PieObjectGroupType.ChartStyle.ChartType = 'doughnut'
+
+#Pie Chart Groups with members vs no members
+$PieObjectGroupMembersType = Get-HTMLPieChartObject
+$PieObjectGroupMembersType.Title = "Adhesion au groupe"
+$PieObjectGroupMembersType.Size.Height = 250
+$PieObjectGroupMembersType.Size.width = 250
+$PieObjectGroupMembersType.ChartStyle.ChartType = 'doughnut'
+$PieObjectGroupMembersType.ChartStyle.ColorSchemeName = "ColorScheme4"
+$PieObjectGroupMembersType.ChartStyle.ColorSchemeName = "Generated8"
+$PieObjectGroupMembersType.ChartStyle.ColorSchemeName = 'Random'
+$PieObjectGroupMembersType.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectGroupMembersType.DataDefinition.DataValueColumnName = 'Count'
+
+#Basic Properties
+$PieObjectGroupType2 = Get-HTMLPieChartObject
+$PieObjectGroupType2.Title = "Groupes personnalises et groupes par defaut"
+$PieObjectGroupType2.Size.Height = 250
+$PieObjectGroupType2.Size.width = 250
+$PieObjectGroupType2.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectGroupType.ChartStyle.ColorSchemeName = "ColorScheme4"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectGroupType.ChartStyle.ColorSchemeName = "Generated8"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectGroupType.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectGroupType.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectGroupType.DataDefinition.DataValueColumnName = 'Count'
+
+##--Enabled users vs Disabled Users PIE CHART--##
+#Basic Properties
+$EnabledDisabledUsersPieObject = Get-HTMLPieChartObject
+$EnabledDisabledUsersPieObject.Title = "Utilisateurs actives et desactives"
+$EnabledDisabledUsersPieObject.Size.Height = 250
+$EnabledDisabledUsersPieObject.Size.width = 250
+$EnabledDisabledUsersPieObject.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$EnabledDisabledUsersPieObject.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$EnabledDisabledUsersPieObject.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$EnabledDisabledUsersPieObject.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$EnabledDisabledUsersPieObject.DataDefinition.DataNameColumnName = 'Name'
+$EnabledDisabledUsersPieObject.DataDefinition.DataValueColumnName = 'Count'
+
+##--PasswordNeverExpires PIE CHART--##
+#Basic Properties
+$PWExpiresUsersTable = Get-HTMLPieChartObject
+$PWExpiresUsersTable.Title = "Expiration Mot De Passe"
+$PWExpiresUsersTable.Size.Height = 250
+$PWExpiresUsersTable.Size.Width = 250
+$PWExpiresUsersTable.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PWExpiresUsersTable.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PWExpiresUsersTable.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PWExpiresUsersTable.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PWExpiresUsersTable.DataDefinition.DataNameColumnName = 'Name'
+$PWExpiresUsersTable.DataDefinition.DataValueColumnName = 'Count'
+
+##--Group Protection PIE CHART--##
+#Basic Properties
+$PieObjectGroupProtection = Get-HTMLPieChartObject
+$PieObjectGroupProtection.Title = "Groupes proteges contre la suppression"
+$PieObjectGroupProtection.Size.Height = 250
+$PieObjectGroupProtection.Size.width = 250
+$PieObjectGroupProtection.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectGroupProtection.ChartStyle.ColorSchemeName = "ColorScheme3"
+
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectGroupProtection.ChartStyle.ColorSchemeName = "Generated3"
+
+#you can also ask for a random scheme. Which also happens ifyou have too many records for the scheme
+$PieObjectGroupProtection.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectGroupProtection.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectGroupProtection.DataDefinition.DataValueColumnName = 'Count'
+
+#Tableau de bord Report
+$FinalReport = New-Object 'System.Collections.Generic.List[System.Object]'
+$FinalReport.Add($(Get-HTMLOpenPage -TitleText $ReportTitle -LeftLogoString $CompanyLogo -RightLogoString $CompanyLogo))
+$FinalReport.Add($(Get-HTMLTabHeader -TabNames $tabarray))
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[0] -TabHeading ("Rapport: " + (Get-Date -Format dd-MM-yyyy))))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Informations sur l'entreprise"))
+$FinalReport.Add($(Get-HTMLContentTable $CompanyInfoTable))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Groupes"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Administrateurs de domaines"))
+$FinalReport.Add($(Get-HTMLContentDataTable $DomainAdminTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Administrateurs d'entreprise"))
+$FinalReport.Add($(Get-HTMLContentDataTable $EnterpriseAdminTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Objets dans les OU par defaut"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Ordinateurs"))
+$FinalReport.Add($(Get-HTMLContentDataTable $DefaultComputersinDefaultOUTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Utilisateurs"))
+$FinalReport.Add($(Get-HTMLContentDataTable $DefaultUsersinDefaultOUTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Objets AD modifies en dernier $ADModNumber jours"))
+$FinalReport.Add($(Get-HTMLContentDataTable $ADObjectTable))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Objets en voie d'expiration"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Utilisateurs dont les mots de passe expirent dans $DaysUntilPWExpireINT jours"))
+$FinalReport.Add($(Get-HTMLContentDataTable $PasswordExpireSoonTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Comptes expirant bientot"))
+$FinalReport.Add($(Get-HTMLContentDataTable $ExpiringAccountsTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Comptes"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Utilisateurs non connectes depuis $Days jours"))
+$FinalReport.Add($(Get-HTMLContentDataTable $userphaventloggedonrecentlytable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Comptes crees en $UserCreatedDays jours"))
+$FinalReport.Add($(Get-HTMLContentDataTable $NewCreatedUsersTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Journaux de securite"))
+$FinalReport.Add($(Get-HTMLContentDataTable $securityeventtable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "UPN Suffixes"))
+$FinalReport.Add($(Get-HTMLContentTable $DomainTable))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#Groups Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[1] -TabHeading ("Rapport: " + (Get-Date -Format dd-MM-yyyy))))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Apercu des groupes"))
+$FinalReport.Add($(Get-HTMLContentTable $TOPGroupsTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Groupes Active Directory"))
+$FinalReport.Add($(Get-HTMLContentDataTable $Table -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Administrateurs de domaines"))
+$FinalReport.Add($(Get-HTMLContentDataTable $DomainAdminTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Administrateurs d'entreprise"))
+$FinalReport.Add($(Get-HTMLContentDataTable $EnterpriseAdminTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Graphiques Groupes Active Directory"))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 4))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectGroupType -DataSet $GroupTypetable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 4))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectGroupType2 -DataSet $DefaultGrouptable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 4))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectGroupMembersType -DataSet $GroupMembershipTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 4 -ColumnCount 4))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectGroupProtection -DataSet $GroupProtectionTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#Organizational Unit Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[2] -TabHeading ("Rapport: " + (Get-Date -Format dd-MM-yyyy))))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Unites organisations"))
+$FinalReport.Add($(Get-HTMLContentDataTable $OUTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Graphiques unites organisations"))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 2))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectOUGPOLinks -DataSet $OUGPOTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 2))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PO12 -DataSet $OUProtectionTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentclose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#Users Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[3] -TabHeading ("Rapport: " + (Get-Date -Format dd-MM-yyyy))))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Apercu des utilisateurs"))
+$FinalReport.Add($(Get-HTMLContentTable $TOPUserTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Utilisateurs d'Active Directory"))
+$FinalReport.Add($(Get-HTMLContentDataTable $UserTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Groupe de mot de passe"))
+$FinalReport.Add($(Get-HTMLContentDataTable $$UserPasswordTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Articles en voie d'expiration"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Utilisateurs dont les mots de passe expirent dans $DaysUntilPWExpireINT jours"))
+$FinalReport.Add($(Get-HTMLContentDataTable $PasswordExpireSoonTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Comptes expirant bientot"))
+$FinalReport.Add($(Get-HTMLContentDataTable $ExpiringAccountsTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Comptes"))
+$FinalReport.Add($(Get-HTMLColumn1of2))
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Utilisateurs non connectes depuis $Days jours"))
+$FinalReport.Add($(Get-HTMLContentDataTable $userphaventloggedonrecentlytable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumn2of2))
+
+$FinalReport.Add($(Get-HTMLContentOpen -BackgroundShade 1 -HeaderText "Comptes crees en $UserCreatedDays jours"))
+$FinalReport.Add($(Get-HTMLContentDataTable $NewCreatedUsersTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Graphiques utilisateurs"))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 3))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $EnabledDisabledUsersPieObject -DataSet $EnabledDisabledUsersTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 3))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PWExpiresUsersTable -DataSet $PasswordExpirationTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 3 -ColumnCount 3))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectProtectedUsers -DataSet $ProtectedUsersTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#GPO Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[4] -TabHeading ("Rapport: " + (Get-Date -Format dd-MM-yyyy))))
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Police Groupe Objet"))
+$FinalReport.Add($(Get-HTMLContentDataTable $GPOTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+$FinalReport.Add($(Get-HTMLTabContentClose))
+
+#Computers Report
+$FinalReport.Add($(Get-HTMLTabContentopen -TabName $tabarray[5] -TabHeading ("Rapport: " + (Get-Date -Format dd-MM-yyyy))))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Apercu des ordinateurs"))
+$FinalReport.Add($(Get-HTMLContentTable $TOPComputersTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Ordinateurs"))
+$FinalReport.Add($(Get-HTMLContentDataTable $ComputersTable -HideFooter))
+$FinalReport.Add($(Get-HTMLContentClose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Graphiques d'ordinateurs"))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 2))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectComputersProtected -DataSet $ComputerProtectedTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 2))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectComputersEnabled -DataSet $ComputersEnabledTable))
+$FinalReport.Add($(Get-HTMLColumnClose))
+$FinalReport.Add($(Get-HTMLContentclose))
+
+$FinalReport.Add($(Get-HTMLContentOpen -HeaderText "Repartition des systemes d'exploitation des ordinateurs"))
+$FinalReport.Add($(Get-HTMLPieChart -ChartObject $PieObjectComputerObjOS -DataSet $GraphComputerOS))
+$FinalReport.Add($(Get-HTMLContentclose))
+
+$FinalReport.Add($(Get-HTMLTabContentClose))
+$FinalReport.Add($(Get-HTMLClosePage))
+
+$ReportName = ("$Day-$Month-$Year-$Hour-$Minute-AD Report")
+
+#Save-HTMLReport -ReportContent $FinalReport -ShowReport -ReportName $ReportName -ReportPath $ReportSavePath
+Add-Content $ReportSavePath$ReportName".html" $FinalReport
+
+Write-Host "Terminé !" -ForegroundColor White
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
\ No newline at end of file
diff --git a/Active Directory/Get-AdComputerInventory.ps1 b/Active Directory/Get-AdComputerInventory.ps1
new file mode 100644
index 0000000..d4bb7e5
--- /dev/null
+++ b/Active Directory/Get-AdComputerInventory.ps1
@@ -0,0 +1,50 @@
+$Computers = Get-ADComputer -filter * | Select-Object -ExpandProperty Name
+# Get-ADComputer -Filter { OperatingSystem -NotLike '*Server*' } -Properties OperatingSystem
+
+Foreach ($computer in $computers) {
+
+ if (!(Test-Connection -Cn $computer -BufferSize 16 -Count 1 -ea 0 -quiet)) {
+ write-host "cannot reach $computer offline" -f red
+ }
+ else {
+ $outtbl = @()
+ Try {
+ $sr = Get-WmiObject win32_bios -ComputerName $Computer -ErrorAction Stop
+ $Xr = Get-WmiObject –class Win32_processor -ComputerName $computer -ErrorAction Stop
+ $ld = get-adcomputer $computer -properties Name, Lastlogondate, operatingsystem, ipv4Address, enabled, description, DistinguishedName -ErrorAction Stop
+ $r = "{0} GB" -f ((Get-WmiObject Win32_PhysicalMemory -ComputerName $computer | Measure-Object Capacity -Sum).Sum / 1GB)
+ $x = gwmi win32_computersystem -ComputerName $computer | Select-Object @{Name = "Type"; Expression = { if (($_.pcsystemtype -eq '2') ) {
+ 'Laptop'
+ }
+ Else {
+ 'Desktop Or Other something else'
+ }
+ }
+ }, Manufacturer, @{Name = "Model"; Expression = { if (($_.model -eq "$null") ) { 'Virtual' } Else { $_.model } } }, username -ErrorAction Stop
+ $t = New-Object PSObject -Property @{
+ serialnumber = $sr.serialnumber
+ computername = $ld.name
+ Ipaddress = $ld.ipv4Address
+ Enabled = $ld.Enabled
+ Description = $ld.description
+ Ou = $ld.DistinguishedName.split(',')[1].split('=')[1]
+ Type = $x.type
+ Manufacturer = $x.Manufacturer
+ Model = $x.Model
+ Ram = $R
+ ProcessorName = ($xr.name | Out-String).Trim()
+ NumberOfCores = ($xr.NumberOfCores | Out-String).Trim()
+ NumberOfLogicalProcessors = ($xr.NumberOfLogicalProcessors | Out-String).Trim()
+ Addresswidth = ($xr.Addresswidth | Out-String).Trim()
+ Operatingsystem = $ld.operatingsystem
+ Lastlogondate = $ld.lastlogondate
+ LoggedinUser = $x.username
+ }
+ $outtbl += $t
+ }
+ catch [Exception] {
+ "Error communicating with $computer, skipping to next"
+ }
+ $outtbl | Select-Object Computername, enabled, description, ipAddress, Ou, Type, Serialnumber, Manufacturer, Model, Ram, ProcessorName, NumberOfCores, NumberOfLogicalProcessors, Addresswidth, Operatingsystem, loggedinuser, Lastlogondate
+ }
+}
\ No newline at end of file
diff --git a/Active Directory/Get-UserRights.ps1 b/Active Directory/Get-UserRights.ps1
new file mode 100644
index 0000000..983396e
--- /dev/null
+++ b/Active Directory/Get-UserRights.ps1
@@ -0,0 +1,64 @@
+#Paremetres Utilisateur et racine du partage
+
+$User = "Username"
+$Path = "PATH"
+
+#Nom de Domaine NetBios
+$Domain = "DOMSNS"
+
+Function Get-ADUserNestedGroups {
+ Param
+ (
+ [string]$DistinguishedName,
+ [array]$Groups = @()
+ )
+
+ #Get the AD object, and get group membership.
+ $ADObject = Get-ADObject -Filter "DistinguishedName -eq '$DistinguishedName'" -Properties memberOf, DistinguishedName;
+
+ #If object exists.
+ If ($ADObject) {
+ #Enummurate through each of the groups.
+ Foreach ($GroupDistinguishedName in $ADObject.memberOf) {
+ #Get member of groups from the enummerated group.
+ $CurrentGroup = Get-ADObject -Filter "DistinguishedName -eq '$GroupDistinguishedName'" -Properties memberOf, DistinguishedName;
+
+ #Check if the group is already in the array.
+ If (($Groups | Where-Object { $_.DistinguishedName -eq $GroupDistinguishedName }).Count -eq 0) {
+ #Add group to array.
+ $Groups += $CurrentGroup;
+
+ #Get recursive groups.
+ $Groups = Get-ADUserNestedGroups -DistinguishedName $GroupDistinguishedName -Groups $Groups;
+ }
+ }
+ }
+
+ Return $Groups;
+}
+
+$Groups = Get-ADUserNestedGroups -DistinguishedName (Get-ADUser -Identity $User).DistinguishedName;
+
+$list = Get-ChildItem $Path -Recurse -Directory
+
+Foreach ($item in $list) {
+
+ $ACL = (Get-Acl $item.FullName).Access
+
+ if (($ACL.IdentityReference -contains ("$($Domain)\" + $User)) -and ($ACL.IsInherited -eq $false)) {
+
+ Write-Host "$($User) a les droits $($ACL.FileSystemRights) sur $($item.FullName)"
+
+ }
+
+ Foreach ($Group in $Groups.Name) {
+
+ if (($ACL.IdentityReference -contains ("$($Domain)\" + $Group)) -and ($ACL.IsInherited -eq $false)) {
+
+ Write-Host "$($User) est dans le groupe $($Group) qui a les droits $($ACL.FileSystemRights) sur $($item.FullName)"
+
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/Active Directory/Import-AdGroups.ps1 b/Active Directory/Import-AdGroups.ps1
new file mode 100644
index 0000000..7b9fc3e
--- /dev/null
+++ b/Active Directory/Import-AdGroups.ps1
@@ -0,0 +1,48 @@
+#Importer le module Active Directory
+Import-Module activedirectory
+
+[string]$Mode
+$Rights = Import-csv "Templates\Import-AdGroups.csv" -Delimiter ";" -Encoding UTF8
+
+# $Groups_Names = ($Rights[0].psobject.Properties).name | Where-Object { $_ -ne "Utilisateur" }
+# $Groups_Names -contains $Property.name
+
+ForEach ($User in $Rights) {
+ ForEach ($Property in $User.PsObject.Properties) {
+ if ($Property.Value -eq "0") {
+ $Mode = "Access"
+ }
+ elseif ($Property.Value -eq "1") {
+ $Mode = "Read"
+ }
+ elseif ($Property.Value -eq "2") {
+ $Mode = "Write"
+ }
+
+ $Group = (($Property.name -replace " ", "-" -replace "\\", "_" -replace ",", "-") + "_" + $Mode)
+
+ Try {
+
+ $TheGroup = Get-ADGroup $Group
+
+ $GroupMembers = Get-ADGroupMember -Identity ($($TheGroup.name))
+
+ if ($GroupMembers.SamAccountName -contains $User.Utilisateur) {
+ Write-Host "User $($User.Utilisateur) is already in the group" ($($TheGroup.name)) -BackgroundColor Blue
+ }
+ else {
+ try {
+ Add-AdGroupMember -Identity ($($TheGroup.name)) -members $User.Utilisateur
+ Write-Host "User $($User.Utilisateur) added to the group" ($($TheGroup.name)) -BackgroundColor Green
+ }
+ catch {
+ Write-Host "User $($User.Utilisateur) not added to the group" ($($TheGroup.name)) -BackgroundColor Yellow
+ }
+ }
+ }
+ Catch {
+ Write-Host "Group $($Group) not exist, skipped !" -BackgroundColor Red
+ }
+ Remove-Variable Mode -ErrorAction SilentlyContinue
+ }
+}
\ No newline at end of file
diff --git a/Active Directory/Import-AdUsers.ps1 b/Active Directory/Import-AdUsers.ps1
new file mode 100644
index 0000000..19f4ff5
--- /dev/null
+++ b/Active Directory/Import-AdUsers.ps1
@@ -0,0 +1,52 @@
+# Import active directory module for running AD cmdlets
+Import-Module activedirectory
+
+#Store the data from ADUsers.csv in the $ADUsers variable
+$ADUsers = Import-csv "Templates\Import-AdUsers.csv" -Delimiter ";" -Encoding UTF8
+$Domain = "dom.hitea.fr"
+
+#Loop through each row containing user details in the CSV file
+foreach ($User in $ADUsers) {
+
+ $FullName = "$($User.firstname) $($User.lastname)"
+ $Upn = "$($User.username)@$Domain"
+
+ if ((Get-AdUser -Filter "SamAccountName -eq '$($User.username)'")) {
+ Write-Warning "A user account with username $($User.username) already exist in Active Directory."
+ }
+ elseif (([string]::IsNullOrEmpty($User.password))) {
+ Write-Warning "The password for $($User.username) is nul or empty."
+ }
+ elseif (($User.username).Length -gt 19) {
+ Write-Warning "The username $($User.username) is too long (Greater than 20)."
+ }
+ else {
+ try {
+ New-ADUser `
+ -SamAccountName $User.username `
+ -UserPrincipalName $Upn `
+ -GivenName $User.firstname `
+ -Surname $User.lastname `
+ -Name $FullName `
+ -DisplayName $FullName `
+ -Path $User.ou `
+ -Company $User.company `
+ -State $User.state `
+ -City $User.city `
+ -StreetAddress $User.streetaddress `
+ -OfficePhone $User.telephone `
+ -EmailAddress $User.email `
+ -Title $User.jobtitle `
+ -Department $User.department `
+ -AccountPassword (convertto-securestring $User.password -AsPlainText -Force) `
+ -Enabled $True `
+ -ChangePasswordAtLogon $False `
+ -PasswordNeverExpires $True `
+ -CannotChangePassword $False
+ Write-Host "The user $($User.firstname) $($User.lastname) ($($User.username)) was created."
+ }
+ catch {
+ Write-Error "The user $($User.firstname) $($User.lastname) ($($User.username)) was not created."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Active Directory/Join-Domain.ps1 b/Active Directory/Join-Domain.ps1
new file mode 100644
index 0000000..3e00d14
--- /dev/null
+++ b/Active Directory/Join-Domain.ps1
@@ -0,0 +1,12 @@
+# Parametres Domaine
+$domain = "DOMAIN"
+
+# Le nom d'utilisateur
+$username = "$domain\USERNAME HERE"
+
+# Le mot de passe de l'utilisateur
+$password = "PASSWORD HERE" | ConvertTo-SecureString -asPlainText -Force
+
+$credential = New-Object System.Management.Automation.PSCredential($username, $password)
+
+Add-Computer -DomainName $domain -Credential $credential
\ No newline at end of file
diff --git a/Active Directory/New-Domain.ps1 b/Active Directory/New-Domain.ps1
new file mode 100644
index 0000000..4bc1020
--- /dev/null
+++ b/Active Directory/New-Domain.ps1
@@ -0,0 +1,25 @@
+#Installer la fonctionnalité AD DS
+Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
+
+#Importer le module de déploiement
+Import-Module ADDSDeployment
+
+#Créer une nouvelle forêt
+Install-ADDSForest `
+ -CreateDnsDelegation:$false `
+ -DatabasePath "C:\Windows\NTDS" `
+ -DomainMode "WinThreshold" `
+ -DomainName "DOMAINE.LOCAL" `
+ -DomainNetbiosName "DOMAINE" `
+ -ForestMode "WinThreshold" `
+ -InstallDns:$true `
+ -LogPath "C:\Windows\NTDS" `
+ -NoRebootOnCompletion:$false `
+ -SysvolPath "C:\Windows\SYSVOL" `
+ -Force:$true
+
+#Voir les rédirecteurs du serveur DNS
+Get-DnsServerForwarder
+
+#Ajouter un redirecteur au serveur DNS, Exemple avec le DNS de CloudFare
+Add-DnsServerForwarder -IPAddress 1.1.1.1
\ No newline at end of file
diff --git a/Active Directory/New-UsersHome.ps1 b/Active Directory/New-UsersHome.ps1
new file mode 100644
index 0000000..abdcd47
--- /dev/null
+++ b/Active Directory/New-UsersHome.ps1
@@ -0,0 +1,50 @@
+<#
+
+ .SYNOPSIS
+ Créer des dossiers utilisateurs avec les autorisations contrôle total
+
+ .PARAMETER Domain
+ Indique le domaine
+
+ .PARAMETER BaseDir
+ Indique le dossier racine
+
+ .EXAMPLE
+ New-UsersHome -Domain "@Domaine.local" -BaseDir "C:\UsersHome"
+
+#>
+
+param (
+ [parameter(Mandatory = $True)]
+ [ValidateNotNullOrEmpty()]$Domain,
+ [parameter(Mandatory = $true)]
+ [ValidateNotNullOrEmpty()]$BaseDir
+)
+
+# Lister tous les utilisateurs du domaine
+$Users = Get-ADUser -Filter { UserPrincipalName -like "*$($Domain)" } | Select SAMAccountName, SID
+
+# Déactiver l'héritage sur le dossier racine et supprimer les autorisation Utilisateurs
+Foreach ($User in $Users) {
+
+ $UserDir = Join-Path $BaseDir $User.SAMAccountName
+
+ If (!(test-path $UserDir)) {
+ New-Item -ItemType Directory -Path $UserDir
+ }
+
+ $acl = Get-Acl $UserDir
+ $acl.SetAccessRuleProtection($true, $true)
+
+ $FileSystemRights = [System.Security.AccessControl.FileSystemRights]"FullControl"
+ $AccessControlType = [System.Security.AccessControl.AccessControlType]::Allow
+ $InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"
+ $PropagationFlags = [System.Security.AccessControl.PropagationFlags]::None
+
+ $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ($User.SID, $FileSystemRights, $InheritanceFlags, $PropagationFlags, $AccessControlType)
+ $acl.AddAccessRule($AccessRule)
+
+ Set-Acl -Path $UserDir -AclObject $acl -ea Stop
+
+}
+
diff --git a/Active Directory/README.md b/Active Directory/README.md
new file mode 100644
index 0000000..70ad26e
--- /dev/null
+++ b/Active Directory/README.md
@@ -0,0 +1,11 @@
+# Active Directory
+
+- Installer les fonctionnalités AD DS, créer une nouvelle forêt.
+
+
+
+- Importer des utilisateurs à partir d'un fichier CSV
+
+
diff --git a/Active Directory/Templates/Import-AdGroups.csv b/Active Directory/Templates/Import-AdGroups.csv
new file mode 100644
index 0000000..a40030f
--- /dev/null
+++ b/Active Directory/Templates/Import-AdGroups.csv
@@ -0,0 +1,6 @@
+Utilisateur;Commun;Commerce;Achats;Direction;Marketing;Technique
+p.dupont;2;2;2;2;2;2
+b.durand;2;;2;;2;2
+d.bellier;2;1;2;;;
+j.tartas;2;;;;1;2
+b.canu;2;;;;1;2
diff --git a/Active Directory/Templates/Import-AdUsers.csv b/Active Directory/Templates/Import-AdUsers.csv
new file mode 100644
index 0000000..da4683b
--- /dev/null
+++ b/Active Directory/Templates/Import-AdUsers.csv
@@ -0,0 +1,6 @@
+firstname;lastname;username;email;streetaddress;city;state;department;password;telephone;jobtitle;company;ou
+Paul;Dupont;p.dupont;p.dupont@hitea.fr;;Agen;;;Test123Test1;;;;OU=Utilisateurs,OU=Agen,DC=dom,DC=hitea,DC=fr
+Bernard;Durand;b.durand;b.durand@hitea.fr;;Agen;;;Test123Test2;;;;OU=Utilisateurs,OU=Agen,DC=dom,DC=hitea,DC=fr
+David;Bellier;d.bellier;d.bellier@hitea.fr;;Agen;;;Test123Test3;;;;OU=Utilisateurs,OU=Agen,DC=dom,DC=hitea,DC=fr
+Joël;Tartas;j.tartas;j.tartas@hitea.fr;;Agen;;;Test123Test4;;;;OU=Utilisateurs,OU=Agen,DC=dom,DC=hitea,DC=fr
+Benoît;Canu;b.canu;b.canu@hitea.fr;;Agen;;;Test123Test5;;;;OU=Utilisateurs,OU=Agen,DC=dom,DC=hitea,DC=fr
\ No newline at end of file
diff --git a/Active Directory/Validate-GroupMembership.ps1 b/Active Directory/Validate-GroupMembership.ps1
new file mode 100644
index 0000000..921eee8
--- /dev/null
+++ b/Active Directory/Validate-GroupMembership.ps1
@@ -0,0 +1,112 @@
+<#
+
+ .SYNOPSIS
+ Validates AD group membership for a user or computer object
+
+ .PARAMETER SearchString
+ Provide Username or Computer Name
+
+ .PARAMETER SearchType
+ Specify type (User or Computer)
+
+ .PARAMETER Group
+ Provide AD Group name
+
+ .EXAMPLE
+ Validate-GroupMembership -SearchString $env:USERNAME -SearchType User -Group "Test Group"
+
+ .EXAMPLE
+ Validate-GroupMembership -SearchString $env:COMPUTERNAME -SearchType Computer -Group "ORL Computers"
+
+#>
+
+param (
+ [parameter(Mandatory = $True)]
+ [ValidateNotNullOrEmpty()]$SearchString,
+ [parameter(Mandatory = $True)]
+ [ValidateSet("User", "Computer")]
+ [ValidateNotNullOrEmpty()]$SearchType,
+ [parameter(Mandatory = $true)]
+ [ValidateNotNullOrEmpty()]$Group
+)
+
+Try {
+
+ $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
+ $objSearcher.SearchRoot = New-Object System.DirectoryServices.DirectoryEntry
+
+ If ($SearchType -eq "User") {
+
+ $objSearcher.Filter = "(&(objectCategory=User)(SAMAccountName=$SearchString))"
+
+ }
+ Else {
+
+ $objSearcher.Filter = "(&(objectCategory=Computer)(cn=$SearchString))"
+
+ }
+
+ $objSearcher.SearchScope = "Subtree"
+ $obj = $objSearcher.FindOne()
+ $User = $obj.Properties["distinguishedname"]
+
+ $objSearcher.PageSize = 1000
+ $objSearcher.Filter = "(&(objectClass=group)(cn=$Group))"
+ $obj = $objSearcher.FindOne()
+
+ [String[]]$Members = $obj.Properties["member"]
+
+ If ($Members.count -eq 0) {
+
+ $retrievedAllMembers = $false
+ $rangeBottom = 0
+ $rangeTop = 0
+
+ While (! $retrievedAllMembers) {
+
+ $rangeTop = $rangeBottom + 1499
+
+ $memberRange = "member;range=$rangeBottom-$rangeTop"
+
+ $objSearcher.PropertiesToLoad.Clear()
+ [void]$objSearcher.PropertiesToLoad.Add("$memberRange")
+
+ $rangeBottom += 1500
+
+ Try {
+
+ $obj = $objSearcher.FindOne()
+ $rangedProperty = $obj.Properties.PropertyNames -like "member;range=*"
+ $Members += $obj.Properties.item($rangedProperty)
+
+ if ($Members.count -eq 0) { $retrievedAllMembers = $true }
+ }
+
+ Catch {
+
+ $retrievedAllMembers = $true
+ }
+
+ }
+
+ }
+
+}
+
+Catch {
+
+ Write-Host "Either group or user does not exist"
+ Return $False
+
+}
+
+If ($Members -contains $User) {
+
+ Return $True
+
+}
+Else {
+
+ Return $False
+
+}
\ No newline at end of file
diff --git a/Active Directory/creation-automatique.ps1 b/Active Directory/creation-automatique.ps1
new file mode 100644
index 0000000..8bfa764
--- /dev/null
+++ b/Active Directory/creation-automatique.ps1
@@ -0,0 +1,409 @@
+# Fonction pour les requetes SQL
+Function QuerySQLServer([string]$DBServer, [string]$DBName, [string]$Query) {
+ Try {
+ $ErrorActionPreference = "Stop"
+
+ $resultsDataTable = New-Object System.Data.DataTable
+
+ $cn = new-object System.Data.SqlClient.SqlConnection("Data Source=$DBServer;Integrated Security=SSPI;Initial Catalog=$DBName")
+ $cn.open()
+
+ $cmd = new-object "System.Data.SqlClient.SqlCommand" ($Query , $cn)
+ $reader = $cmd.ExecuteReader()
+
+ $resultsDataTable.Load($reader)
+
+ $cn.Close()
+
+ return $resultsDataTable
+ }
+ Catch {
+ write-host $_.Exception.Message
+ $_.Exception.Message >> "d:\tmp\error.log"
+ }
+ Finally {
+ $ErrorActionPreference = "Continue"
+ }
+}
+
+# Fonction pour les requetes dans GLPI
+Function QueryGLPI([string]$Titre, [string]$Message, [string]$Categorie) {
+ Write-host $Titre
+ Write-host $Message
+ Write-host $Categorie
+
+ $UtilisateurGLPI = Get-GlpiToolsUsers -UserName helpdesk
+
+ $Ticket = New-GlpiToolsTicket -Name $Titre -Content $Message -Type Request -itilcategories_id $Categorie -Priority Medium -requester_id $UtilisateurGLPI.ID
+
+ Update-GlpiToolsTicket -ticket_id $Ticket.id -requester_id $UtilisateurGLPI.ID -technician_id '12'
+}
+
+cls
+
+$ListeException = $null
+$ListeVide = $null
+$FichierException = "D:\tmp\Exception.txt"
+$FichierVide = "D:\tmp\vide.txt"
+$percentCompleteA = $null
+$percentCompleteB = $null
+$CounterA = $null
+$CounterB = $null
+$EtatUtilisateur = $null
+
+$DateDesactivation = Get-Date -Format "dd/MM/yyyy"
+$DateExpiration = (Get-Date $DateDesactivation).AddDays(-1)
+$DateDelete = (Get-Date $DateDesactivation).AddDays(-30)
+
+$DateTmp = (Get-Date).AddDays(-1)
+$DateCreation = Get-Date $DateTmp -Format "yyyy-dd-MM"
+
+Start-Transcript -path "D:\tmp\MyTranscript-$DateCreation.txt"
+
+$OuPath = "OU=Utilisateurs,DC=fr,DC=dgs,DC=group"
+$ListeUserAD = Get-ADUser -Filter * -SearchBase $OuPath -Properties cn,description,sAMAccountName
+
+## Desactivation ou Update de compte
+
+Foreach ($UserAD in $ListeUserAD) {
+ # Barre de progression
+ $percentCompleteA = $(($CounterA / $ListeUserAD.Count) * 100 )
+
+ $ProgressA = @{
+ Activity = "Getting folder information for '$($UserAD.Name)'."
+ Status = "Processing $CounterA of $($ListeUserAD.Count)"
+ PercentComplete = $([math]::Round($percentCompleteA, 2))
+ }
+
+ Write-Progress @ProgressA -Id 1
+
+ # recherche inforamtiopn 1 utilisateur
+ $InfoUser = Get-ADUser -identity $UserAD.sAMAccountName -properties 'msDS-cloudExtensionAttribute1','msDS-cloudExtensionAttribute2',mail,employeeID,EmployeeNumber,EmployeeType,Title,Initials
+
+ $C = $UserAD.C
+ $City = $UserAD.City
+ $Cn = $UserAD.Cn
+ $Company = $UserAD.Company
+ $department = $UserAD.Department
+ $displayName = $UserAD.DisplayName
+ $EmailAddress = $UserAD.EmailAddress
+ $Enable = $UserAD.Enabled
+ $GivenName = $UserAD.GivenName
+ $Name = $UserAD.Name
+ $Office = $UserAD.Office
+ $Organization = $UserAD.Organization
+ $PostalCode = $UserAD.PostalCode
+ $sn = $UserAD.Sn
+ $Surname = $UserAD.Surname
+
+ $ExtensionAttribute1 = $InfoUser.'msDS-cloudExtensionAttribute1'
+ $ExtensionAttribute2 = $InfoUser.'msDS-cloudExtensionAttribute2'
+ $Mail = $InfoUser.Mail
+ $EmployeeID = $InfoUser.employeeID
+ $EmployeeNumber = $InfoUser.EmployeeNumber
+ $EmployeeType = $InfoUser.EmployeeType
+ $Title = $InfoUser.Title
+ $Initials = $InfoUser.Initials
+
+ # Est-ce qu'il est actif
+ If ($Enable -eq "True") {
+ # Est-ce qu'il est interne
+ If($EmployeeType -eq "Interne") {
+ # Est-ce qu'il a un ID
+ If ($EmployeeID) {
+ # Si l'employeeID est bien présent
+ $EtatUtilisateurD = QuerySQLServer "SWDHBBDDP01.fr.dgs.group" "dhb_prd" "SELECT NOM,PRN,NOM_PAT,LIB_EMP,ADR_EML,MTR,NUM_ALC,COD_SEX,FLG_AGT,DAT_SRT FROM [dhb_prd].[dhbref].[TAB_RH_SAL] WHERE MTR = '$EmployeeID' And DAT_SRT IS NOT NULL"
+ $EtatUtilisateurU = QuerySQLServer "SWDHBBDDP01.fr.dgs.group" "dhb_prd" "SELECT NOM,PRN,NOM_PAT,LIB_EMP,ADR_EML,MTR,NUM_ALC,COD_SEX,FLG_AGT,DAT_SRT FROM [dhb_prd].[dhbref].[TAB_RH_SAL] WHERE MTR = '$EmployeeID'"
+
+ # Desactivation du compte ?
+ If ($EtatUtilisateurD) {
+ If ($DateExpiration -gt $EtatUtilisateurD.DAT_SRT) {
+
+ Get-ADUser -Identity $UserAD.sAMAccountName | Move-ADObject -TargetPath "OU=_A_SUPPRIMER,OU=Utilisateurs,DC=fr,DC=dgs,DC=group"
+ Set-ADAccountExpiration -Identity $UserAD.sAMAccountName -DateTime $dateExpiration
+ Set-ADUser -Identity $Utilisateur -Clear msDS-cloudExtensionAttribute2
+ Set-ADUser -Identity $UserAD.sAMAccountName -Add @{'msDS-cloudExtensionAttribute2' = "$DateExpiration"}
+ Disable-ADAccount -Identity $UserAD.sAMAccountName
+
+ $TitreA = "Désactivation du compte Active Directory : $UserAD.sAMAccountName "
+
+ $MessageA = "Bonjour, `r`n `r`n" `
+ +"Nous venons de désactiver le compte de : $DisplayName `r`n `r`n" `
+ +"Prénom : $GivenName `r`n" `
+ +"Nom : $Surname `r`n" `
+ +"Mail : $Mail `r`n" `
+ +"Matricule : $EmployeeID `r`n" `
+ +"Fonction : $Title `r`n" `
+ +"`r`n" `
+ +"Conformément à la politique entreprise le compte restera en état désactivé pendant 30 jours avant d'être supprimé `r`n" `
+ +"La suppression du compte GMAIL se fait également en automatique."
+
+ QueryGLPI $TitreA $MessageA "213"
+ }
+ }
+
+ # Mise en place de la civilité
+ If ($EtatUtilisateurU) {
+ If (($Initials -ne "Mr") -And ($EtatUtilisateurU.COD_SEX -eq "H")) {
+
+ Set-ADUser -Identity $UserAD.sAMAccountName -Clear Initials
+ Set-ADUser -Identity $UserAD.sAMAccountName -Initials "Mr"
+
+ Write-Host " - Update civilité - Mr"
+ }
+ ElseIf (($Initials -ne "Mme") -And ($EtatUtilisateurU.COD_SEX -eq "F")) {
+
+ Set-ADUser -Identity $UserAD.sAMAccountName -Clear Initials
+ Set-ADUser -Identity $UserAD.sAMAccountName -Initials "Mme"
+
+ Write-Host " - Update civilité - Mme"
+ }
+ Else {
+ # Write-Host " - Pas de modification"
+ }
+ }
+
+ # Mise en place du Employee Number
+ If ($EmployeeNumber -ne $EtatUtilisateurU.NUM_ALC) {
+ If ($EmployeeID.substring(0, 1) -eq 0 ) {
+ $tmp = ($EtatUtilisateurU.NUM_ALC).Remove(0,1)
+ If (!($EmployeeNumber -eq $tmp)) {
+ Write-host " - 2erreur : "$EtatUtilisateurU.MTR" > $EmployeeID | "$EtatUtilisateurU.NUM_ALC" > $EmployeeNumber"
+ }
+ }
+ Else {
+ Write-host " - erreur : "$EtatUtilisateurU.MTR" > $EmployeeID | "$EtatUtilisateurU.NUM_ALC" > $EmployeeNumber"
+ }
+ }
+
+ # Controle du status
+ If (($ExtensionAttribute1 -eq $null) -Or ($ExtensionAttribute1 -ne $EmployeeType)) {
+ Set-ADUser -Identity $UserAD.sAMAccountName -Add @{'msDS-cloudExtensionAttribute1' = $EmployeeType}
+ }
+ }
+ Else {
+ # Si l'employé ID n'est pas présent
+ $EtatUtilisateurID = QuerySQLServer "SWDHBBDDP01.fr.dgs.group" "dhb_prd" "SELECT NOM,PRN,NOM_PAT,LIB_EMP,ADR_EML,MTR,NUM_ALC,COD_SEX,FLG_AGT,DAT_SRT FROM [dhb_prd].[dhbref].[TAB_RH_SAL] WHERE NOM = '$Surname' And PRN ='$GivenName' And DAT_SRT IS NULL"
+
+ If ($EtatUtilisateurID) {
+
+ Set-ADUser -Identity $UserAD.sAMAccountName -EmployeeID $EtatUtilisateurID.MTR
+
+ Write-Host " - Mise en place de employee ID"
+ }
+ }
+ }
+ Else {
+ # Passage d'un externe en interne
+ }
+ }
+ $EtatUtilisateurD = $null
+ $EtatUtilisateurU = $null
+
+ $CounterA++
+}
+
+## Suppression des comptes de plus 1 mois
+
+$OuPathDelete = "OU=_A_SUPPRIMER,OU=Utilisateurs,DC=fr,DC=dgs,DC=group"
+$ListeUserADDelete = Get-ADUser -Filter * -SearchBase $OuPathDelete -Properties cn,description,sAMAccountName
+
+Foreach ($UserADDelete in $ListeUserADDelete) {
+ # Barre de progression
+ $percentCompleteB = $(($CounterB / $ListeUserADDelete.Count) * 100 )
+
+ $ProgressB = @{
+ Activity = "Getting folder information for '$($UserADDelete.Name)'."
+ Status = "Processing $CounterB of $($ListeUserADDelete.Count)"
+ PercentComplete = $([math]::Round($percentCompleteB, 2))
+ }
+
+ Write-Progress @ProgressB -Id 1
+
+ $InfoUserDelete = Get-ADUser -identity $UserADDelete.sAMAccountName -properties 'msDS-cloudExtensionAttribute2'
+
+ $ExtensionAttributeDelete2 = $InfoUserDelete.'msDS-cloudExtensionAttribute2'
+
+ If ($Enable -eq $False) {
+ If ($DateDelete -gt $ExtensionAttributeDelete2) {
+ Remove-ADUser -Identity $UserADDelete.sAMAccountName
+
+ $TitreB = "Suppression du compte Active Directory : $UserAD.sAMAccountName "
+
+ $MessageB = "Bonjour, `r`n `r`n" `
+ +"Nous venons de supprimer le compte de : $DisplayName `r`n `r`n" `
+ +"Prénom : $GivenName `r`n" `
+ +"Nom : $Surname `r`n" `
+ +"Mail : $Mail `r`n" `
+ +"Matricule : $EmployeeID `r`n" `
+ +"Fonction : $Title `r`n" `
+ +"`r`n" `
+ +"Conformément à la politique entreprise le compte est resté en état désactivé pendant 30 jours `r`n" `
+ +"La suppression du compte GMAIL se fait également en automatique."
+
+ QueryGLPI $TitreB $MessageB "213"
+ }
+ }
+ $EtatUtilisateur = $null
+
+ $CounterB++
+}
+
+## Creation compte
+
+$ListeNouveau = QuerySQLServer "SWDHBBDDP01.fr.dgs.group" "dhb_prd" "SELECT NOM,PRN,NOM_PAT,LIB_EMP,ADR_EML,MTR,NUM_ALC,COD_SEX,FLG_AGT,DAT_SRT,NUM_MAG_AGT FROM [dhb_prd].[dhbref].[TAB_RH_SAL] WHERE DTH_CRE >= '$DateCreation' ORDER BY DTH_CRE DESC"
+$ListeNouveau | Format-Table
+Pause
+If ($ListeNouveau) {
+ Foreach ($NouveauUtilisateur in $ListeNouveau) {
+
+ $InfoUserNew = Get-ADUser -Filter * | Where-Object {$_.GivenName -like $NouveauUtilisateur.PRN -and $_.Surname -like $NouveauUtilisateur.NOM}
+
+ If ($InfoUserNew) {
+ $InfoUserNewA = Get-ADUser -identity $InfoUserNew.sAMAccountName -properties 'msDS-cloudExtensionAttribute1','msDS-cloudExtensionAttribute2',mail,employeeID,EmployeeNumber,EmployeeType,Title,Initials
+ }
+
+ $C = $InfoUserNew.c
+ $City = $InfoUserNew.City
+ $Cn = $InfoUserNew.cn
+ $Company = $InfoUserNew.company
+ $department = $InfoUserNew.department
+ $DisplayName = $InfoUserNew.displayName
+ $EmailAddress = $InfoUserNew.EmailAddress
+ $Enable = $InfoUserNew.Enabled
+ $GivenName = $InfoUserNew.GivenName
+ $Name = $InfoUserNew.Name
+ $Office = $InfoUserNew.Office
+ $Organization = $InfoUserNew.Organization
+ $PostalCode = $InfoUserNew.PostalCode
+ $sn = $InfoUserNew.sn
+ $Surname = $InfoUserNew.Surname
+
+ $ExtensionAttribute1 = $InfoUserNewA.'msDS-cloudExtensionAttribute1'
+ $ExtensionAttribute2 = $InfoUserNewA.'msDS-cloudExtensionAttribute2'
+ $Mail = $InfoUserNewA.Mail
+ $EmployeeID = $InfoUserNewA.employeeID
+ $EmployeeNumber = $InfoUserNewA.EmployeeNumber
+ $EmployeeType = $InfoUserNewA.EmployeeType
+ $Title = $InfoUserNewA.Title
+ $Initials = $InfoUserNewA.Initials
+
+ If ($NouveauUtilisateur.MTR -eq $EmployeeID) {
+ Write-host "Existe deja"
+ }
+ Else {
+ Write-Host "A creer"
+
+ $Surnametmp = ($NouveauUtilisateur.NOM).ToLower()
+ $GivenNametmp = ($NouveauUtilisateur.PRN).ToLower()
+ $Titletmp = ($NouveauUtilisateur.LIB_EMP).ToLower()
+ $Initialstmp = $NouveauUtilisateur.COD_SEX
+ $CodeMagtmp = $NouveauUtilisateur.NUM_MAG_AGT
+
+ $SurnameNew = (Get-Culture).TextInfo.ToTitleCase($Surnametmp)
+ $GivenNameNew = (Get-Culture).TextInfo.ToTitleCase($GivenNametmp)
+ $TitleNew = (Get-Culture).TextInfo.ToTitleCase($Titletmp)
+ $EmployeeIDNew = $NouveauUtilisateur.MTR
+
+ If ($NouveauUtilisateur.NOM_PAT) {
+ $SurnamePattmp = ($NouveauUtilisateur.NOM_PAT).ToLower()
+ $SurnamePatNew = (Get-Culture).TextInfo.ToTitleCase($SurnamePattmp)
+ }
+
+ $NameNew = $GivenNameNew+" "+$SurnameNew
+ $DisplayNameNew = $GivenNameNew+" "+$SurnameNew+" "+$SurnamePatNew
+ $SamAccountNameNew = (("$GivenNameNew.$SurnameNew").Replace(' ','').Replace('é','e').Replace('è','e').Replace('ç','c').Replace('ï','i').Replace('î','i').Replace('ë','e').Replace('ö','o').Replace('ô','o')).ToLower()
+ $UserPrincipalNameNew = (("$GivenNameNew.$SurnameNew@fr.dgs.group").Replace(' ','').Replace('é','e').Replace('è','e').Replace('ç','c').Replace('ï','i').Replace('î','i').Replace('ë','e').Replace('ö','o').Replace('ô','o')).ToLower()
+ $MailNew = (("$GivenNameNew.$SurnameNew@saint-maclou.com").Replace(' ','').Replace('é','e').Replace('è','e').Replace('ç','c').Replace('ï','i').Replace('î','i').Replace('ë','e').Replace('ö','o').Replace('ô','o')).ToLower()
+ $Password = ([System.Guid]::NewGuid()).ToString()
+
+
+ If ($SamAccountNameNew.Length -gt 20) {
+ $tmp = ($SamAccountNameNew).substring(0, 20)
+ $SamAccountNameNew = $tmp
+ }
+
+ Write-host $NameNew
+ Write-host $DisplayNameNew
+ Write-host $SamAccountNameNew
+ Write-host $UserPrincipalNameNew
+ Write-host $MailNew
+ Write-host $Password
+ Write-host $EmployeeIDNew
+ Write-host $TitleNew
+
+ New-ADUser -Name "$NameNew" -DisplayName "$DisplayNameNew" -GivenName "$GivenNameNew" -Surname "$SurnameNew" -SamAccountName "$SamAccountNameNew" -UserPrincipalName "$UserPrincipalNameNew" -Path "OU=_ARRIVER,OU=Utilisateurs,DC=fr,DC=dgs,DC=group" -AccountPassword (ConvertTo-SecureString "$Password" -AsPlainText -force) -Enabled $true -EmailAddress $MailNew
+
+ sleep 10
+
+ Set-ADUser -Identity $SamAccountNameNew -replace @{c="FR";co="France";countrycode=250}
+ Set-ADUser -Identity $SamAccountNameNew -Add @{'msDS-cloudExtensionAttribute1' = "Interne"}
+ Set-ADUser -Identity $SamAccountNameNew -Add @{'EmployeeType' = "Interne"}
+ Set-ADUser -Identity $SamAccountNameNew -Add @{'EmployeeID' = "$EmployeeIDNew"}
+ Set-ADUser -Identity $SamAccountNameNew -Title "$TitleNew"
+ Set-ADUser -Identity $SamAccountNameNew -Description "A remplir par le Helpdesk"
+ Set-ADUser -Identity $SamAccountNameNew -City "A remplir par le Helpdesk"
+
+ If ($Initialstmp -eq "H") {
+ Set-ADUser -Identity $SamAccountNameNew -Initials "Mr"
+ Write-Host "Update civilite - Mr"
+ }
+ ElseIf ($Initialstmp -eq "F") {
+ Set-ADUser -Identity $SamAccountNameNew -Initials "Mme"
+ Write-Host "Update civilite - Mme"
+ }
+ Else {
+
+ }
+
+ $TitreC = "Creation du compte de : $DisplayNameNew "
+
+ $MessageC = "Bonjour, `r`n `r`n" `
+ +"la creation de compte automatique a cree le compte de : $DisplayNameNew `r`n `r`n" `
+ +"Prenom : $GivenNameNew `r`n" `
+ +"Nom : $SurnameNew `r`n" `
+ +"Mail : $MailNew `r`n" `
+ +"Password temporaire : $Password `r`n" `
+ +"Matricule : $EmployeeIDNew `r`n" `
+ +"Fonction : $TitleNew `r`n"
+
+ QueryGLPI $TitreC $MessageC "104"
+
+ $C = $Null
+ $City = $Null
+ $Cn = $Null
+ $Company = $Null
+ $department = $Null
+ $DisplayName = $Null
+ $EmailAddress = $Null
+ $Enable = $Null
+ $GivenName = $Null
+ $Name = $Null
+ $Office = $Null
+ $Organization = $Null
+ $PostalCode = $Null
+ $sn = $Null
+ $Surname = $Null
+ $ExtensionAttribute1 = $Null
+ $ExtensionAttribute2 = $Null
+ $Mail = $Null
+ $EmployeeID = $Null
+ $EmployeeNumber = $Null
+ $EmployeeType = $Null
+ $Title = $Null
+ $Initials = $Null
+ $Surnametmp = $Null
+ $GivenNametmp = $Null
+ $Titletmp = $Null
+ $Initialstmp = $Null
+ $CodeMagtmp = $Null
+ $SurnameNew = $Null
+ $SurnamePatNew = $Null
+ $GivenNameNew = $Null
+ $TitleNew = $Null
+ $EmployeeIDNew = $Null
+ }
+ }
+}
+
+Stop-Transcript
diff --git a/Ansible/ConfigureRemotingForAnsible.ps1 b/Ansible/ConfigureRemotingForAnsible.ps1
new file mode 100644
index 0000000..7e039bb
--- /dev/null
+++ b/Ansible/ConfigureRemotingForAnsible.ps1
@@ -0,0 +1,453 @@
+#Requires -Version 3.0
+
+# Configure a Windows host for remote management with Ansible
+# -----------------------------------------------------------
+#
+# This script checks the current WinRM (PS Remoting) configuration and makes
+# the necessary changes to allow Ansible to connect, authenticate and
+# execute PowerShell commands.
+#
+# All events are logged to the Windows EventLog, useful for unattended runs.
+#
+# Use option -Verbose in order to see the verbose output messages.
+#
+# Use option -CertValidityDays to specify how long this certificate is valid
+# starting from today. So you would specify -CertValidityDays 3650 to get
+# a 10-year valid certificate.
+#
+# Use option -ForceNewSSLCert if the system has been SysPreped and a new
+# SSL Certificate must be forced on the WinRM Listener when re-running this
+# script. This is necessary when a new SID and CN name is created.
+#
+# Use option -EnableCredSSP to enable CredSSP as an authentication option.
+#
+# Use option -DisableBasicAuth to disable basic authentication.
+#
+# Use option -SkipNetworkProfileCheck to skip the network profile check.
+# Without specifying this the script will only run if the device's interfaces
+# are in DOMAIN or PRIVATE zones. Provide this switch if you want to enable
+# WinRM on a device with an interface in PUBLIC zone.
+#
+# Use option -SubjectName to specify the CN name of the certificate. This
+# defaults to the system's hostname and generally should not be specified.
+
+# Written by Trond Hindenes
+# Updated by Chris Church
+# Updated by Michael Crilly
+# Updated by Anton Ouzounov
+# Updated by Nicolas Simond
+# Updated by Dag Wieërs
+# Updated by Jordan Borean
+# Updated by Erwan Quélin
+# Updated by David Norman
+#
+# Version 1.0 - 2014-07-06
+# Version 1.1 - 2014-11-11
+# Version 1.2 - 2015-05-15
+# Version 1.3 - 2016-04-04
+# Version 1.4 - 2017-01-05
+# Version 1.5 - 2017-02-09
+# Version 1.6 - 2017-04-18
+# Version 1.7 - 2017-11-23
+# Version 1.8 - 2018-02-23
+# Version 1.9 - 2018-09-21
+
+# Support -Verbose option
+[CmdletBinding()]
+
+Param (
+ [string]$SubjectName = $env:COMPUTERNAME,
+ [int]$CertValidityDays = 1095,
+ [switch]$SkipNetworkProfileCheck,
+ $CreateSelfSignedCert = $true,
+ [switch]$ForceNewSSLCert,
+ [switch]$GlobalHttpFirewallAccess,
+ [switch]$DisableBasicAuth = $false,
+ [switch]$EnableCredSSP
+)
+
+Function Write-Log
+{
+ $Message = $args[0]
+ Write-EventLog -LogName Application -Source $EventSource -EntryType Information -EventId 1 -Message $Message
+}
+
+Function Write-VerboseLog
+{
+ $Message = $args[0]
+ Write-Verbose $Message
+ Write-Log $Message
+}
+
+Function Write-HostLog
+{
+ $Message = $args[0]
+ Write-Output $Message
+ Write-Log $Message
+}
+
+Function New-LegacySelfSignedCert
+{
+ Param (
+ [string]$SubjectName,
+ [int]$ValidDays = 1095
+ )
+
+ $hostnonFQDN = $env:computerName
+ $hostFQDN = [System.Net.Dns]::GetHostByName(($env:computerName)).Hostname
+ $SignatureAlgorithm = "SHA256"
+
+ $name = New-Object -COM "X509Enrollment.CX500DistinguishedName.1"
+ $name.Encode("CN=$SubjectName", 0)
+
+ $key = New-Object -COM "X509Enrollment.CX509PrivateKey.1"
+ $key.ProviderName = "Microsoft Enhanced RSA and AES Cryptographic Provider"
+ $key.KeySpec = 1
+ $key.Length = 4096
+ $key.SecurityDescriptor = "D:PAI(A;;0xd01f01ff;;;SY)(A;;0xd01f01ff;;;BA)(A;;0x80120089;;;NS)"
+ $key.MachineContext = 1
+ $key.Create()
+
+ $serverauthoid = New-Object -COM "X509Enrollment.CObjectId.1"
+ $serverauthoid.InitializeFromValue("1.3.6.1.5.5.7.3.1")
+ $ekuoids = New-Object -COM "X509Enrollment.CObjectIds.1"
+ $ekuoids.Add($serverauthoid)
+ $ekuext = New-Object -COM "X509Enrollment.CX509ExtensionEnhancedKeyUsage.1"
+ $ekuext.InitializeEncode($ekuoids)
+
+ $cert = New-Object -COM "X509Enrollment.CX509CertificateRequestCertificate.1"
+ $cert.InitializeFromPrivateKey(2, $key, "")
+ $cert.Subject = $name
+ $cert.Issuer = $cert.Subject
+ $cert.NotBefore = (Get-Date).AddDays(-1)
+ $cert.NotAfter = $cert.NotBefore.AddDays($ValidDays)
+
+ $SigOID = New-Object -ComObject X509Enrollment.CObjectId
+ $SigOID.InitializeFromValue(([Security.Cryptography.Oid]$SignatureAlgorithm).Value)
+
+ [string[]] $AlternativeName += $hostnonFQDN
+ $AlternativeName += $hostFQDN
+ $IAlternativeNames = New-Object -ComObject X509Enrollment.CAlternativeNames
+
+ foreach ($AN in $AlternativeName)
+ {
+ $AltName = New-Object -ComObject X509Enrollment.CAlternativeName
+ $AltName.InitializeFromString(0x3,$AN)
+ $IAlternativeNames.Add($AltName)
+ }
+
+ $SubjectAlternativeName = New-Object -ComObject X509Enrollment.CX509ExtensionAlternativeNames
+ $SubjectAlternativeName.InitializeEncode($IAlternativeNames)
+
+ [String[]]$KeyUsage = ("DigitalSignature", "KeyEncipherment")
+ $KeyUsageObj = New-Object -ComObject X509Enrollment.CX509ExtensionKeyUsage
+ $KeyUsageObj.InitializeEncode([int][Security.Cryptography.X509Certificates.X509KeyUsageFlags]($KeyUsage))
+ $KeyUsageObj.Critical = $true
+
+ $cert.X509Extensions.Add($KeyUsageObj)
+ $cert.X509Extensions.Add($ekuext)
+ $cert.SignatureInformation.HashAlgorithm = $SigOID
+ $CERT.X509Extensions.Add($SubjectAlternativeName)
+ $cert.Encode()
+
+ $enrollment = New-Object -COM "X509Enrollment.CX509Enrollment.1"
+ $enrollment.InitializeFromRequest($cert)
+ $certdata = $enrollment.CreateRequest(0)
+ $enrollment.InstallResponse(2, $certdata, 0, "")
+
+ # extract/return the thumbprint from the generated cert
+ $parsed_cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
+ $parsed_cert.Import([System.Text.Encoding]::UTF8.GetBytes($certdata))
+
+ return $parsed_cert.Thumbprint
+}
+
+Function Enable-GlobalHttpFirewallAccess
+{
+ Write-Verbose "Forcing global HTTP firewall access"
+ # this is a fairly naive implementation; could be more sophisticated about rule matching/collapsing
+ $fw = New-Object -ComObject HNetCfg.FWPolicy2
+
+ # try to find/enable the default rule first
+ $add_rule = $false
+ $matching_rules = $fw.Rules | Where-Object { $_.Name -eq "Windows Remote Management (HTTP-In)" }
+ $rule = $null
+ If ($matching_rules) {
+ If ($matching_rules -isnot [Array]) {
+ Write-Verbose "Editing existing single HTTP firewall rule"
+ $rule = $matching_rules
+ }
+ Else {
+ # try to find one with the All or Public profile first
+ Write-Verbose "Found multiple existing HTTP firewall rules..."
+ $rule = $matching_rules | ForEach-Object { $_.Profiles -band 4 }[0]
+
+ If (-not $rule -or $rule -is [Array]) {
+ Write-Verbose "Editing an arbitrary single HTTP firewall rule (multiple existed)"
+ # oh well, just pick the first one
+ $rule = $matching_rules[0]
+ }
+ }
+ }
+
+ If (-not $rule) {
+ Write-Verbose "Creating a new HTTP firewall rule"
+ $rule = New-Object -ComObject HNetCfg.FWRule
+ $rule.Name = "Windows Remote Management (HTTP-In)"
+ $rule.Description = "Inbound rule for Windows Remote Management via WS-Management. [TCP 5985]"
+ $add_rule = $true
+ }
+
+ $rule.Profiles = 0x7FFFFFFF
+ $rule.Protocol = 6
+ $rule.LocalPorts = 5985
+ $rule.RemotePorts = "*"
+ $rule.LocalAddresses = "*"
+ $rule.RemoteAddresses = "*"
+ $rule.Enabled = $true
+ $rule.Direction = 1
+ $rule.Action = 1
+ $rule.Grouping = "Windows Remote Management"
+
+ If ($add_rule) {
+ $fw.Rules.Add($rule)
+ }
+
+ Write-Verbose "HTTP firewall rule $($rule.Name) updated"
+}
+
+# Setup error handling.
+Trap
+{
+ $_
+ Exit 1
+}
+$ErrorActionPreference = "Stop"
+
+# Get the ID and security principal of the current user account
+$myWindowsID=[System.Security.Principal.WindowsIdentity]::GetCurrent()
+$myWindowsPrincipal=new-object System.Security.Principal.WindowsPrincipal($myWindowsID)
+
+# Get the security principal for the Administrator role
+$adminRole=[System.Security.Principal.WindowsBuiltInRole]::Administrator
+
+# Check to see if we are currently running "as Administrator"
+if (-Not $myWindowsPrincipal.IsInRole($adminRole))
+{
+ Write-Output "ERROR: You need elevated Administrator privileges in order to run this script."
+ Write-Output " Start Windows PowerShell by using the Run as Administrator option."
+ Exit 2
+}
+
+$EventSource = $MyInvocation.MyCommand.Name
+If (-Not $EventSource)
+{
+ $EventSource = "Powershell CLI"
+}
+
+If ([System.Diagnostics.EventLog]::Exists('Application') -eq $False -or [System.Diagnostics.EventLog]::SourceExists($EventSource) -eq $False)
+{
+ New-EventLog -LogName Application -Source $EventSource
+}
+
+# Detect PowerShell version.
+If ($PSVersionTable.PSVersion.Major -lt 3)
+{
+ Write-Log "PowerShell version 3 or higher is required."
+ Throw "PowerShell version 3 or higher is required."
+}
+
+# Find and start the WinRM service.
+Write-Verbose "Verifying WinRM service."
+If (!(Get-Service "WinRM"))
+{
+ Write-Log "Unable to find the WinRM service."
+ Throw "Unable to find the WinRM service."
+}
+ElseIf ((Get-Service "WinRM").Status -ne "Running")
+{
+ Write-Verbose "Setting WinRM service to start automatically on boot."
+ Set-Service -Name "WinRM" -StartupType Automatic
+ Write-Log "Set WinRM service to start automatically on boot."
+ Write-Verbose "Starting WinRM service."
+ Start-Service -Name "WinRM" -ErrorAction Stop
+ Write-Log "Started WinRM service."
+
+}
+
+# WinRM should be running; check that we have a PS session config.
+If (!(Get-PSSessionConfiguration -Verbose:$false) -or (!(Get-ChildItem WSMan:\localhost\Listener)))
+{
+ If ($SkipNetworkProfileCheck) {
+ Write-Verbose "Enabling PS Remoting without checking Network profile."
+ Enable-PSRemoting -SkipNetworkProfileCheck -Force -ErrorAction Stop
+ Write-Log "Enabled PS Remoting without checking Network profile."
+ }
+ Else {
+ Write-Verbose "Enabling PS Remoting."
+ Enable-PSRemoting -Force -ErrorAction Stop
+ Write-Log "Enabled PS Remoting."
+ }
+}
+Else
+{
+ Write-Verbose "PS Remoting is already enabled."
+}
+
+# Ensure LocalAccountTokenFilterPolicy is set to 1
+# https://github.com/ansible/ansible/issues/42978
+$token_path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
+$token_prop_name = "LocalAccountTokenFilterPolicy"
+$token_key = Get-Item -Path $token_path
+$token_value = $token_key.GetValue($token_prop_name, $null)
+if ($token_value -ne 1) {
+ Write-Verbose "Setting LocalAccountTOkenFilterPolicy to 1"
+ if ($null -ne $token_value) {
+ Remove-ItemProperty -Path $token_path -Name $token_prop_name
+ }
+ New-ItemProperty -Path $token_path -Name $token_prop_name -Value 1 -PropertyType DWORD > $null
+}
+
+# Make sure there is a SSL listener.
+$listeners = Get-ChildItem WSMan:\localhost\Listener
+If (!($listeners | Where-Object {$_.Keys -like "TRANSPORT=HTTPS"}))
+{
+ # We cannot use New-SelfSignedCertificate on 2012R2 and earlier
+ $thumbprint = New-LegacySelfSignedCert -SubjectName $SubjectName -ValidDays $CertValidityDays
+ Write-HostLog "Self-signed SSL certificate generated; thumbprint: $thumbprint"
+
+ # Create the hashtables of settings to be used.
+ $valueset = @{
+ Hostname = $SubjectName
+ CertificateThumbprint = $thumbprint
+ }
+
+ $selectorset = @{
+ Transport = "HTTPS"
+ Address = "*"
+ }
+
+ Write-Verbose "Enabling SSL listener."
+ New-WSManInstance -ResourceURI 'winrm/config/Listener' -SelectorSet $selectorset -ValueSet $valueset
+ Write-Log "Enabled SSL listener."
+}
+Else
+{
+ Write-Verbose "SSL listener is already active."
+
+ # Force a new SSL cert on Listener if the $ForceNewSSLCert
+ If ($ForceNewSSLCert)
+ {
+
+ # We cannot use New-SelfSignedCertificate on 2012R2 and earlier
+ $thumbprint = New-LegacySelfSignedCert -SubjectName $SubjectName -ValidDays $CertValidityDays
+ Write-HostLog "Self-signed SSL certificate generated; thumbprint: $thumbprint"
+
+ $valueset = @{
+ CertificateThumbprint = $thumbprint
+ Hostname = $SubjectName
+ }
+
+ # Delete the listener for SSL
+ $selectorset = @{
+ Address = "*"
+ Transport = "HTTPS"
+ }
+ Remove-WSManInstance -ResourceURI 'winrm/config/Listener' -SelectorSet $selectorset
+
+ # Add new Listener with new SSL cert
+ New-WSManInstance -ResourceURI 'winrm/config/Listener' -SelectorSet $selectorset -ValueSet $valueset
+ }
+}
+
+# Check for basic authentication.
+$basicAuthSetting = Get-ChildItem WSMan:\localhost\Service\Auth | Where-Object {$_.Name -eq "Basic"}
+
+If ($DisableBasicAuth)
+{
+ If (($basicAuthSetting.Value) -eq $true)
+ {
+ Write-Verbose "Disabling basic auth support."
+ Set-Item -Path "WSMan:\localhost\Service\Auth\Basic" -Value $false
+ Write-Log "Disabled basic auth support."
+ }
+ Else
+ {
+ Write-Verbose "Basic auth is already disabled."
+ }
+}
+Else
+{
+ If (($basicAuthSetting.Value) -eq $false)
+ {
+ Write-Verbose "Enabling basic auth support."
+ Set-Item -Path "WSMan:\localhost\Service\Auth\Basic" -Value $true
+ Write-Log "Enabled basic auth support."
+ }
+ Else
+ {
+ Write-Verbose "Basic auth is already enabled."
+ }
+}
+
+# If EnableCredSSP if set to true
+If ($EnableCredSSP)
+{
+ # Check for CredSSP authentication
+ $credsspAuthSetting = Get-ChildItem WSMan:\localhost\Service\Auth | Where-Object {$_.Name -eq "CredSSP"}
+ If (($credsspAuthSetting.Value) -eq $false)
+ {
+ Write-Verbose "Enabling CredSSP auth support."
+ Enable-WSManCredSSP -role server -Force
+ Write-Log "Enabled CredSSP auth support."
+ }
+}
+
+If ($GlobalHttpFirewallAccess) {
+ Enable-GlobalHttpFirewallAccess
+}
+
+# Configure firewall to allow WinRM HTTPS connections.
+$fwtest1 = netsh advfirewall firewall show rule name="Allow WinRM HTTPS"
+$fwtest2 = netsh advfirewall firewall show rule name="Allow WinRM HTTPS" profile=any
+If ($fwtest1.count -lt 5)
+{
+ Write-Verbose "Adding firewall rule to allow WinRM HTTPS."
+ netsh advfirewall firewall add rule profile=any name="Allow WinRM HTTPS" dir=in localport=5986 protocol=TCP action=allow
+ Write-Log "Added firewall rule to allow WinRM HTTPS."
+}
+ElseIf (($fwtest1.count -ge 5) -and ($fwtest2.count -lt 5))
+{
+ Write-Verbose "Updating firewall rule to allow WinRM HTTPS for any profile."
+ netsh advfirewall firewall set rule name="Allow WinRM HTTPS" new profile=any
+ Write-Log "Updated firewall rule to allow WinRM HTTPS for any profile."
+}
+Else
+{
+ Write-Verbose "Firewall rule already exists to allow WinRM HTTPS."
+}
+
+# Test a remoting connection to localhost, which should work.
+$httpResult = Invoke-Command -ComputerName "localhost" -ScriptBlock {$env:COMPUTERNAME} -ErrorVariable httpError -ErrorAction SilentlyContinue
+$httpsOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
+
+$httpsResult = New-PSSession -UseSSL -ComputerName "localhost" -SessionOption $httpsOptions -ErrorVariable httpsError -ErrorAction SilentlyContinue
+
+If ($httpResult -and $httpsResult)
+{
+ Write-Verbose "HTTP: Enabled | HTTPS: Enabled"
+}
+ElseIf ($httpsResult -and !$httpResult)
+{
+ Write-Verbose "HTTP: Disabled | HTTPS: Enabled"
+}
+ElseIf ($httpResult -and !$httpsResult)
+{
+ Write-Verbose "HTTP: Enabled | HTTPS: Disabled"
+}
+Else
+{
+ Write-Log "Unable to establish an HTTP or HTTPS remoting session."
+ Throw "Unable to establish an HTTP or HTTPS remoting session."
+}
+Write-VerboseLog "PS Remoting has been successfully configured for Ansible."
diff --git a/Applications/AWS-CLI/Force-Update.ps1 b/Applications/AWS-CLI/Force-Update.ps1
new file mode 100644
index 0000000..38a5feb
--- /dev/null
+++ b/Applications/AWS-CLI/Force-Update.ps1
@@ -0,0 +1,8 @@
+# https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html
+$dlurl = "https://s3.amazonaws.com/aws-cli/AWSCLI64PY3.msi"
+$installerPath = Join-Path $env:TEMP (Split-Path $dlurl -Leaf)
+$ProgressPreference = 'SilentlyContinue'
+Invoke-WebRequest $dlurl -OutFile $installerPath
+Start-Process -FilePath msiexec -Args "/i $installerPath /passive" -Verb RunAs -Wait
+Remove-Item $installerPath
+$env:Path += ";C:\Program Files\Amazon\AWSCLI\bin"
\ No newline at end of file
diff --git a/Applications/Acrobat Reader DC/Force-Update.ps1 b/Applications/Acrobat Reader DC/Force-Update.ps1
new file mode 100644
index 0000000..9ad1bdd
--- /dev/null
+++ b/Applications/Acrobat Reader DC/Force-Update.ps1
@@ -0,0 +1,28 @@
+# Silently install Adobe Reader DC with Microsoft Intune
+# In order to distribute Adobe Acrobat Reader DC software you need to have
+# a valid Adobe Acrobat Reader DC Distribution Agreement in place.
+# See http://www.adobe.com/products/acrobat/distribute.html?readstep for details.
+
+# Check if Software is installed already in registry.
+$CheckADCReg = Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | where {$_.DisplayName -like "Adobe Acrobat Reader DC*"}
+# If Adobe Reader is not installed continue with script. If it's istalled already script will exit.
+If ($CheckADCReg -eq $null) {
+
+ # Path for the temporary downloadfolder. Script will run as system so no issues here
+ $Installdir = "c:\temp\install_adobe"
+ New-Item -Path $Installdir -ItemType directory
+
+ # Download the installer from the Adobe website. Always check for new versions!!
+ $source = "ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/1800920044/AcroRdrDC1800920044_fr_FR.exe"
+ $destination = "$Installdir\AcroRdrDC1800920044_fr_FR.exe"
+ Invoke-WebRequest $source -OutFile $destination
+
+ # Start the installation when download is finished
+ Start-Process -FilePath "$Installdir\AcroRdrDC1800920044_fr_FR.exe" -ArgumentList "/sAll /rs /rps /msi /norestart /quiet EULA_ACCEPT=YES"
+
+ # Wait for the installation to finish. Test the installation and time it yourself. I've set it to 240 seconds.
+ Start-Sleep -s 240
+
+ # Finish by cleaning up the download. I choose to leave c:\temp\ for future installations.
+ rm -Force $Installdir\AcroRdrDC*
+}
\ No newline at end of file
diff --git a/Applications/Edge/Force-Update.ps1 b/Applications/Edge/Force-Update.ps1
new file mode 100644
index 0000000..06eb4fd
--- /dev/null
+++ b/Applications/Edge/Force-Update.ps1
@@ -0,0 +1,236 @@
+<#
+.SYNOPSIS
+ Get-EdgeEnterpriseMSI
+
+.DESCRIPTION
+ Imports all device configurations in a folder to a specified tenant
+
+.PARAMETER Channel
+ Channel to download, Valid Options are: Dev, Beta, Stable, EdgeUpdate, Policy.
+
+.PARAMETER Platform
+ Platform to download, Valid Options are: Windows or MacOS, if using channel "Policy" this should be set to "any"
+ Defaults to Windows if not set.
+
+.PARAMETER Architecture
+ Architecture to download, Valid Options are: x86, x64, arm64, if using channel "Policy" this should be set to "any"
+ Defaults to x64 if not set.
+
+.PARAMETER Version
+ If set the script will try and download a specific version. If not set it will download the latest.
+
+.PARAMETER Folder
+ Specifies the Download folder
+
+.PARAMETER Force
+ Overwrites the file without asking.
+
+.NOTES
+ Version: 1.2
+ Author: Mattias Benninge
+ Creation Date: 2020-07-01
+
+ Version history:
+
+ 1.0 - Initial script development
+ 1.1 - Fixes and improvements by @KarlGrindon
+ - Script now handles multiple files for e.g. MacOS Edge files
+ - Better error handling and formating
+ - URI Validation
+ 1.2 - Better compability on servers (force TLS and remove dependency to IE)
+
+
+ https://docs.microsoft.com/en-us/mem/configmgr/apps/deploy-use/deploy-edge
+
+.EXAMPLE
+
+ Download the latest version for the Beta channel and overwrite any existing file
+ .\Get-EdgeEnterpriseMSI.ps1 -Channel Beta -Folder D:\SourceCode\PowerShell\Div -Force
+
+#>
+[CmdletBinding()]
+param(
+ [Parameter(Mandatory = $True, HelpMessage = 'Channel to download, Valid Options are: Dev, Beta, Stable, EdgeUpdate, Policy')]
+ [ValidateSet('Dev', 'Beta', 'Stable', 'EdgeUpdate', 'Policy')]
+ [string]$Channel = "Stable",
+
+ [Parameter(Mandatory = $True, HelpMessage = 'Folder where the file will be downloaded')]
+ [ValidateNotNullOrEmpty()]
+ [string]$Folder = "C:\temp",
+
+ [Parameter(Mandatory = $false, HelpMessage = 'Platform to download, Valid Options are: Windows or MacOS')]
+ [ValidateSet('Windows', 'MacOS', 'any')]
+ [string]$Platform = "Windows",
+
+ [Parameter(Mandatory = $false, HelpMessage = "Architecture to download, Valid Options are: x86, x64, arm64, any")]
+ [ValidateSet('x86', 'x64', 'arm64', 'any')]
+ [string]$Architecture = "x64",
+
+ [parameter(Mandatory = $false, HelpMessage = "Specifies which version to download")]
+ [ValidateNotNullOrEmpty()]
+ [string]$ProductVersion,
+
+ [parameter(Mandatory = $false, HelpMessage = "Overwrites the file without asking")]
+ [Switch]$Force
+)
+
+$ErrorActionPreference = "Stop"
+
+$edgeEnterpriseMSIUri = 'https://edgeupdates.microsoft.com/api/products?view=enterprise'
+
+# Validating parameters to reduce user errors
+if ($Channel -eq "Policy" -and ($Architecture -ne "Any" -or $Platform -ne "Any")) {
+ Write-Warning ("Channel 'Policy' requested, but either 'Architecture' and/or 'Platform' is not set to 'Any'.
+ Setting Architecture and Platform to 'Any'")
+
+ $Architecture = "Any"
+ $Platform = "Any"
+}
+elseif ($Channel -ne "Policy" -and ($Architecture -eq "Any" -or $Platform -eq "Any")) {
+ throw "If Channel isn't set to policy, architecture and/or platform can't be set to 'Any'"
+}
+elseif ($Channel -eq "EdgeUpdate" -and ($Architecture -ne "x86" -or $Platform -eq "Windows")) {
+ Write-Warning ("Channel 'EdgeUpdate' requested, but either 'Architecture' is not set to x86 and/or 'Platform'
+ is not set to 'Windows'. Setting Architecture to 'x86' and Platform to 'Windows'")
+
+ $Architecture = "x86"
+ $Platform = "Windows"
+}
+
+Write-Host "Enabling connection over TLS for better compability on servers" -ForegroundColor Green
+[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
+
+# Test if HTTP status code 200 is returned from URI
+try {
+ Invoke-WebRequest $edgeEnterpriseMSIUri -UseBasicParsing | Where-Object StatusCode -match 200 | Out-Null
+}
+catch {
+ throw "Unable to get HTTP status code 200 from $edgeEnterpriseMSIUri. Does the URL still exist?"
+}
+
+Write-Host "Getting available files from $edgeEnterpriseMSIUri" -ForegroundColor Green
+
+# Try to get JSON data from Microsoft
+try {
+ $response = Invoke-WebRequest -Uri $edgeEnterpriseMSIUri -Method Get -ContentType "application/json" -UseBasicParsing -ErrorVariable InvokeWebRequestError
+ $jsonObj = ConvertFrom-Json $([String]::new($response.Content))
+ Write-Host "Succefully retrived data" -ForegroundColor Green
+}
+catch {
+ throw "Could not get MSI data: $InvokeWebRequestError"
+}
+
+# Alternative is to use Invoke-RestMethod to get a Json object directly
+# $jsonObj = Invoke-RestMethod -Uri "https://edgeupdates.microsoft.com/api/products?view=enterprise" -UseBasicParsing
+
+$selectedIndex = [array]::indexof($jsonObj.Product, "$Channel")
+
+if (-not $ProductVersion) {
+ try {
+ Write-host "No version specified, getting the latest for $Channel" -ForegroundColor Green
+ $selectedVersion = (([Version[]](($jsonObj[$selectedIndex].Releases |
+ Where-Object { $_.Architecture -eq $Architecture -and $_.Platform -eq $Platform }).ProductVersion) |
+ Sort-Object -Descending)[0]).ToString(4)
+
+ Write-Host "Latest Version for channel $Channel is $selectedVersion`n" -ForegroundColor Green
+ $selectedObject = $jsonObj[$selectedIndex].Releases |
+ Where-Object { $_.Architecture -eq $Architecture -and $_.Platform -eq $Platform -and $_.ProductVersion -eq $selectedVersion }
+ }
+ catch {
+ throw "Unable to get object from Microsoft. Check your parameters and refer to script help."
+ }
+}
+else {
+ Write-Host "Matching $ProductVersion on channel $Channel" -ForegroundColor Green
+ $selectedObject = ($jsonObj[$selectedIndex].Releases |
+ Where-Object { $_.Architecture -eq $Architecture -and $_.Platform -eq $Platform -and $_.ProductVersion -eq $ProductVersion })
+
+ if (-not $selectedObject) {
+ throw "No version matching $ProductVersion found in $channel channel for $Architecture architecture."
+ }
+ else {
+ Write-Host "Found matching version`n" -ForegroundColor Green
+ }
+}
+
+
+if (Test-Path $Folder) {
+ foreach ($artifacts in $selectedObject.Artifacts) {
+ # Not showing the progress bar in Invoke-WebRequest is quite a bit faster than default
+ $ProgressPreference = 'SilentlyContinue'
+
+ Write-host "Starting download of: $($artifacts.Location)" -ForegroundColor Green
+ # Work out file name
+ $fileName = Split-Path $artifacts.Location -Leaf
+
+ if (Test-Path "$Folder\$fileName" -ErrorAction SilentlyContinue) {
+ if ($Force) {
+ Write-Host "Force specified. Will attempt to download and overwrite existing file." -ForegroundColor Green
+ try {
+ Invoke-WebRequest -Uri $artifacts.Location -OutFile "$Folder\$fileName" -UseBasicParsing
+ }
+ catch {
+ throw "Attempted to download file, but failed: $error[0]"
+ }
+ }
+ else {
+ # CR-someday: There should be an evaluation of the file version, if possible. Currently the function only
+ # checks if a file of the same name exists, not if the versions differ
+ Write-Host "$Folder\$fileName already exists!" -ForegroundColor Yellow
+
+ do {
+ $overWrite = Read-Host -Prompt "Press Y to overwrite or N to quit."
+ }
+ # -notmatch is case insensitive
+ while ($overWrite -notmatch '^y$|^n$')
+
+ if ($overWrite -match '^y$') {
+ Write-Host "Starting Download" -ForegroundColor Green
+ try {
+ Invoke-WebRequest -Uri $artifacts.Location -OutFile "$Folder\$fileName" -UseBasicParsing
+ }
+ catch {
+ throw "Attempted to download file, but failed: $error[0]"
+ }
+ }
+ else {
+ Write-Host "File already exists and user chose not to overwrite, exiting script." -ForegroundColor Red
+ exit
+ }
+ }
+ }
+ else {
+ Write-Host "Starting Download" -ForegroundColor Green
+ try {
+ Invoke-WebRequest -Uri $artifacts.Location -OutFile "$Folder\$fileName" -UseBasicParsing
+ }
+ catch {
+ throw "Attempted to download file, but failed: $error[0]"
+ }
+ }
+ if (((Get-FileHash -Algorithm $artifacts.HashAlgorithm -Path "$Folder\$fileName").Hash) -eq $artifacts.Hash) {
+ Write-Host "Calculated checksum matches known checksum`n" -ForegroundColor Green
+ }
+ else {
+ Write-Warning "Checksum mismatch!"
+ Write-Warning "Expected Hash: $($artifacts.Hash)"
+ Write-Warning "Downloaded file Hash: $((Get-FileHash -Algorithm $($artifacts.HashAlgorithm) -Path "$Folder\$fileName").Hash)`n"
+ }
+ }
+}
+Else {
+ throw "Folder $Folder does not exist"
+}
+Write-Host "-- Script Completed: File Downloaded -- " -ForegroundColor Green
+
+Write-Host "Installing..." -ForegroundColor Green
+
+cmd /c start /wait msiexec /i "$Folder\$fileName" /qn /norestart
+
+Set-Service edgeupdate -StartupType Manual -ErrorAction SilentlyContinue
+Set-Service edgeupdatem -StartupType Manual -ErrorAction SilentlyContinue
+
+Unregister-ScheduledTask -TaskName MicrosoftEdgeUpdateTaskMachineCore -Confirm:$false -ErrorAction SilentlyContinue
+Unregister-ScheduledTask -TaskName MicrosoftEdgeUpdateTaskMachineUA -Confirm:$false -ErrorAction SilentlyContinue
+
+Write-Host "Installed Microsoft Edge" -ForegroundColor Green
\ No newline at end of file
diff --git a/Applications/Firefox/Force-Update.ps1 b/Applications/Firefox/Force-Update.ps1
new file mode 100644
index 0000000..6fac3a3
--- /dev/null
+++ b/Applications/Firefox/Force-Update.ps1
@@ -0,0 +1,2175 @@
+<#
+Update-MozillaFirefox.ps1
+
+
+Requires either (a) PowerShell v3 or later or (b) .NET 3.5 or later (at Step 8: JSON import and conversion).
+Assumes that one instance (the latest non-beta version) of Mozilla Firefox is to be used. The script will exit at Step 15, if more than one instance of Firefox is detected.
+
+
+Latest Firefox version numbers:
+https://product-details.mozilla.org/
+https://product-details.mozilla.org/1.0/firefox_versions.json
+https://product-details.mozilla.org/1.0/thunderbird_versions.json
+
+Languages:
+https://product-details.mozilla.org/1.0/languages.json
+
+Regions:
+https://product-details.mozilla.org/1.0/regions/en-US.json
+
+Release History:
+https://product-details.mozilla.org/1.0/firefox_history_stability_releases.json
+
+Download Latest Firefox Version URLs:
+https://ftp.mozilla.org/pub/firefox/releases/latest/README.txt
+https://download.mozilla.org/?product=firefox-latest&os=win&lang=en-US
+http://www.mozilla.org/firefox/organizations/all/
+https://www.mozilla.org/en-US/firefox/all/
+
+Check if the installed version of Firefox is the latest:
+https://www.mozilla.org/en-US/firefox/new/
+
+Uninstall Firefox:
+https://support.mozilla.org/en-US/kb/uninstall-firefox-from-your-computer
+https://wiki.mozilla.org/Installer:Command_Line_Arguments
+
+
+#>
+
+
+# Step 1
+# Establish the common parameters
+$path = $env:temp
+$computer = $env:COMPUTERNAME
+$ErrorActionPreference = "Stop"
+$start_time = Get-Date
+$empty_line = ""
+$quote ='"'
+$unquote ='"'
+$firefox_enumeration = @()
+$latest_firefox = @()
+$after_update_firefoxes = @()
+
+
+# Function to check whether a program is installed or not
+Function Check-InstalledSoftware ($display_name) {
+ Return Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName -like $display_name }
+} # function
+
+
+
+
+# Step 2
+# Determine the architecture of a machine # Credit: Tobias Weltner: "PowerTips Monthly vol 8 January 2014"
+If ([IntPtr]::Size -eq 8) {
+ $empty_line | Out-String
+ "Running in a 64-bit subsystem" | Out-String
+ $64 = $true
+ $bit_number = "64"
+ $registry_paths = @(
+ 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*',
+ 'HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
+ )
+ $empty_line | Out-String
+} Else {
+ $empty_line | Out-String
+ "Running in a 32-bit subsystem" | Out-String
+ $64 = $false
+ $bit_number = "32"
+ $registry_paths = @(
+ 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'
+ )
+ $empty_line | Out-String
+} # Else
+
+
+
+
+# Step 3
+# Determine whether Firefox is installed or not
+$firefox_is_installed = $false
+If ((Check-InstalledSoftware "*Firefox*") -ne $null) {
+ $firefox_is_installed = $true
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 4
+# Enumerate the existing installed Firefoxes
+$32_bit_firefox_is_installed = $false
+$64_bit_firefox_is_installed = $false
+$registry_paths_selection = Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { ($_.DisplayName -like "*Firefox*" ) -and ($_.Publisher -like "Mozilla*" )}
+
+If ($registry_paths_selection -ne $null) {
+
+ ForEach ($item in $registry_paths_selection) {
+
+ # Custom Values
+ If (($item.DisplayName.Split(" ")[-1] -match "\(") -eq $false) {
+ $locale = ($item.DisplayName.Split(" ")[-1]).Replace(")","")
+ } Else {
+ $continue = $true
+ } # Else
+
+
+ If (($item.DisplayName.Split(" ")[-1] -match "\(x") -eq $true) {
+
+ If ($item.DisplayName.Split(" ")[-1] -like "(x86") {
+ $32_bit_firefox_is_installed = $true
+ $type = "32-bit"
+ } ElseIf ($item.DisplayName.Split(" ")[-1] -like "(x64") {
+ $64_bit_firefox_is_installed = $true
+ $type = "64-bit"
+ } Else {
+ $continue = $true
+ } # Else
+
+ } ElseIf (($item.DisplayName.Split(" ")[-2] -match "\(x") -eq $true) {
+
+ If ($item.DisplayName.Split(" ")[-2] -like "(x86") {
+ $32_bit_firefox_is_installed = $true
+ $type = "32-bit"
+ } ElseIf ($item.DisplayName.Split(" ")[-2] -like "(x64") {
+ $64_bit_firefox_is_installed = $true
+ $type = "64-bit"
+ } Else {
+ $continue = $true
+ } # Else
+
+ } Else {
+ $continue = $true
+ } # Else
+
+ # $product_version_enum = ((Get-ItemProperty -Path "C:\Program Files (x86)\Mozilla Firefox\Firefox.exe" -ErrorAction SilentlyContinue -Name VersionInfo).VersionInfo).ProductVersion
+ $product_version_enum = ((Get-ItemProperty -Path "$($item.InstallLocation)\Firefox.exe" -ErrorAction SilentlyContinue -Name VersionInfo).VersionInfo).ProductVersion
+ $test_stability = $product_version_enum -match "(\d+)\.(\d+)\.(\d+)"
+ $test_major = $product_version_enum -match "(\d+)\.(\d+)"
+ If (($product_version_enum -ne $null) -and ($test_stability -eq $true)) { $product_version_enum -match "(?\d+)\.(?\d+)\.(?\d+)" | Out-Null } Else { $continue = $true }
+ If (($product_version_enum -ne $null) -and ($test_stability -eq $false) -and ($test_major -eq $true)) { $product_version_enum -match "(?\d+)\.(?\d+)" | Out-Null } Else { $continue = $true }
+
+
+ $firefox_enumeration += $obj_firefox = New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $item.DisplayName.Replace("(TM)","")
+ 'Publisher' = $item.Publisher
+ 'Product' = $item.DisplayName.Split(" ")[1]
+ 'Type' = $type
+ 'Locale' = $locale
+ 'Major Version' = If ($Matches.C1 -ne $null) { $Matches.C1 } Else { $continue = $true }
+ 'Minor Version' = If ($Matches.C2 -ne $null) { $Matches.C2 } Else { $continue = $true }
+ 'Build Number' = If ($Matches.C3 -ne $null) { $Matches.C3 } Else { "-" }
+ 'Computer' = $computer
+ 'Install Location' = $item.InstallLocation
+ 'Standard Uninstall String' = $item.UninstallString.Trim('"')
+ 'Release Notes' = $item.URLUpdateInfo
+ 'Identifying Number' = $item.PSChildName
+ 'Version' = $item.DisplayVersion
+ } # New-Object
+ } # foreach ($item)
+
+
+ # Display the Firefox Version Enumeration in console
+ If ($firefox_enumeration -ne $null) {
+ $firefox_enumeration.PSObject.TypeNames.Insert(0,"Firefox Version Enumeration")
+ $firefox_enumeration_selection = $firefox_enumeration | Select-Object 'Name','Publisher','Product','Type','Locale','Major Version','Minor Version','Build Number','Computer','Install Location','Standard Uninstall String','Release Notes','Version'
+ $empty_line | Out-String
+ $header_firefox_enumeration = "Enumeration of Firefox Versions Found on the System"
+ $coline_firefox_enumeration = "---------------------------------------------------"
+ Write-Output $header_firefox_enumeration
+ $coline_firefox_enumeration | Out-String
+ Write-Output $firefox_enumeration_selection
+ } Else {
+ $continue = $true
+ } # Else
+
+} Else {
+ $continue = $true
+} # Else (Step 4)
+
+
+
+
+# Step 5
+# Warn the user if more than one instance of Firefox is installed on the system
+$multiple_firefoxes = $false
+If ((($firefox_enumeration | Measure-Object Name).Count) -eq 0) {
+ Write-Verbose "No Firefox seems to be installed on the system."
+} ElseIf ((($firefox_enumeration | Measure-Object Name).Count) -eq 1) {
+ # One instance of Firefox seems to be installed.
+ $continue = $true
+} ElseIf ((($firefox_enumeration | Measure-Object Name).Count) -ge 2) {
+ $empty_line | Out-String
+ Write-Warning "More than one instance of Firefox seems to be installed on the system."
+ $multiple_firefoxes = $true
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 6
+# Check if the computer is connected to the Internet # Credit: ps1: "Test Internet connection"
+If (([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet) -eq $false) {
+ $empty_line | Out-String
+ Return "The Internet connection doesn't seem to be working. Exiting without checking the latest Firefox version numbers or without updating Firefox (at Step 6)."
+} Else {
+ Write-Verbose 'Checking the most recent Firefox version numbers from the Mozilla website...'
+} # Else
+
+
+
+
+# Step 7
+# Check the baseline Firefox version numbers by connecting to the Mozilla website and write it to a file (The Baseline). Also download three additional auxillary JSON files from Mozilla.
+# Source: https://groups.google.com/forum/#!topic/mozilla.release.engineering/EOyvryJNq7A
+
+$baseline_url = "https://product-details.mozilla.org/1.0/firefox_versions.json"
+$baseline_file = "$path\firefox_current_versions.json"
+
+ try
+ {
+ $download_baseline = New-Object System.Net.WebClient
+ $download_baseline.DownloadFile($baseline_url, $baseline_file)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $baseline_url"
+ If (([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet) -eq $true) {
+ $page_exception_text = "Please consider running this script again. Sometimes this Mozilla page just isn't queryable for no apparent reason. The success rate 'in the second go' usually seems to be a bit higher."
+ $empty_line | Out-String
+ Write-Output $page_exception_text
+ } Else {
+ $continue = $true
+ } # Else
+ $empty_line | Out-String
+ Return "Exiting without checking the latest Firefox version numbers or without updating Firefox (at Step 7)."
+ }
+
+
+
+
+$history_url = "https://product-details.mozilla.org/1.0/firefox_history_stability_releases.json"
+$history_file = "$path\firefox_release_history.json"
+
+ try
+ {
+ $download_history = New-Object System.Net.WebClient
+ $download_history.DownloadFile($history_url, $history_file)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $history_url"
+ If (([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet) -eq $true) {
+ $empty_line | Out-String
+ Write-Output $page_exception_text
+ } Else {
+ $continue = $true
+ } # Else
+ $empty_line | Out-String
+ Return "Exiting without checking the latest Firefox version numbers or without updating Firefox (at Step 7 while trying to download the history file)."
+ }
+
+
+
+
+# https://product-details.mozilla.org/1.0/all.json
+# https://product-details.mozilla.org/1.0/firefox.json
+$major_url = "https://product-details.mozilla.org/1.0/firefox_history_major_releases.json"
+$major_file = "$path\firefox_major_versions.json"
+
+ try
+ {
+ $download_major = New-Object System.Net.WebClient
+ $download_major.DownloadFile($major_url, $major_file)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $major_url"
+ If (([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet) -eq $true) {
+ $empty_line | Out-String
+ Write-Output $page_exception_text
+ } Else {
+ $continue = $true
+ } # Else
+ $empty_line | Out-String
+ Return "Exiting without checking the latest Firefox version numbers or without updating Firefox (at Step 7 while trying to download a file containing the major version release dates)."
+ }
+
+
+
+
+$language_url = "https://product-details.mozilla.org/1.0/languages.json"
+$language_file = "$path\firefox_languages.json"
+
+ try
+ {
+ $download_language = New-Object System.Net.WebClient
+ $download_language.DownloadFile($language_url, $language_file)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $language_url"
+ If (([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet) -eq $true) {
+ $empty_line | Out-String
+ Write-Output $page_exception_text
+ } Else {
+ $continue = $true
+ } # Else
+ $empty_line | Out-String
+ Return "Exiting without checking the latest Firefox version numbers or without updating Firefox (at Step 7 while trying to download the languages file)."
+ }
+
+
+
+
+$region_url = "https://product-details.mozilla.org/1.0/regions/en-US.json"
+$region_file = "$path\firefox_regions.json"
+
+ try
+ {
+ $download_region = New-Object System.Net.WebClient
+ $download_region.DownloadFile($region_url, $region_file)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $region_url"
+ If (([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet) -eq $true) {
+ $empty_line | Out-String
+ Write-Output $page_exception_text
+ } Else {
+ $continue = $true
+ } # Else
+ $empty_line | Out-String
+ Return "Exiting without checking the latest Firefox version numbers or without updating Firefox (at Step 7 while trying to download the regions file)."
+ }
+
+Start-Sleep -Seconds 2
+
+
+
+
+# Step 8
+# Import the downloaded JSON files as objects
+# Source: http://stackoverflow.com/questions/1825585/determine-installed-powershell-version?rq=1
+# Source: https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/convertfrom-json
+# Source: https://blogs.technet.microsoft.com/heyscriptingguy/2014/04/23/powertip-convert-json-file-to-powershell-object/
+# Source: http://powershelldistrict.com/powershell-json/
+# Source: https://technet.microsoft.com/en-us/library/ee692803.aspx
+# Source: http://stackoverflow.com/questions/32887583/powershell-v2-converts-dictionary-to-array-when-returned-from-a-function
+<#
+
+ Update channels - Advanced
+
+ Updates can be retrieved from a number of different update channels. To check which channel you are on, look in about:config at app.update.channel. This determines what kind of updates you will receive. The current update channels are:
+
+ nightly: The nightly channel allows you to update to every nightly test build that is produced. There are nightly channels for the trunk (i.e., current release version plus 3 numbers); this is also a nightly channel for the remaining legacy branches (Firefox 3.6 & Thunderbird 3.1 builds).
+
+ aurora: This is a new channel which has been introduced with the rapid-release scheme; these builds reflect changes which also went into beta for the next release, thus making them available immediately, or which were deemed unsuitable for beta but safe for the following release (and, in general don't contain any string changes).
+
+ beta: The beta channel lets you receive every beta, release candidate, and release version of the product (e.g. Firefox 1.5 beta 1, Firefox 1.5 RC 1, Firefox 1.5, etc.). With the new rapid-release process (starting with Firefox/Thunderbird 5.0 and SeaMonkey 2.1), every beta is a release candidate for the next version now, and the actual release build is no longer provided on the beta channel.
+
+ esr: This is a special release channel for extended-support releases which are mostly targeting enterprise users. Features are frozen with every 7th or so update cycle and only security updates provided (i.e., Firefox/Thunderbird 10.0 ESR updates to 10.0.1, 10.0.2, ..., 10.0.x, then 17.0 as the next ESR branch).
+
+ default: This channel is used when there is no channel information, for example if you build Firefox or Thunderbird yourself. There are no updates on this channel. This channel is frequently used by Linux distributions, given that they provide own updates through their respective package-management system.
+
+ release: The release channel will provide stable release versions, including security updates (e.g. Firefox 2.0, 2.0.0.4 etc.).
+
+ Source: http://kb.mozillazine.org/Software_Update
+
+#>
+
+# Join the two files containing release dates
+# Source: https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/convertfrom-stringdata
+# Source: https://technet.microsoft.com/en-us/library/ee692803.aspx
+# $history_file_content = (Get-Content -Path $history_file)
+# $major_file_content = (Get-Content -Path $major_file)
+$history_conversion = [System.IO.File]::ReadAllText($history_file).Replace("}",", ")
+$major_conversion = [System.IO.File]::ReadAllText($major_file).Replace("{","")
+$all_firefox = [string]$history_conversion + $major_conversion
+
+If ((($PSVersionTable.PSVersion).Major -lt 3) -or (($PSVersionTable.PSVersion).Major -eq $null)) {
+
+ # PowerShell v2 or earlier JSON import # Credit: Goyuix: "Read Json Object in Powershell 2.0"
+ # Requires .NET 3.5 or later
+ $powershell_v2_or_earlier = $true
+
+ If (($PSVersionTable.PSVersion).Major -eq $null) {
+ $powershell_v1 = $true
+ # LoadWithPartialName is obsolete, source: https://msdn.microsoft.com/en-us/library/system.reflection.assembly(v=vs.110).aspx
+ [System.Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions")
+ } ElseIf (($PSVersionTable.PSVersion).Major -lt 3) {
+ $powershell_v2 = $true
+ Add-Type -AssemblyName "System.Web.Extensions"
+ } Else {
+ $continue = $true
+ } # Else
+
+ $serializer = New-Object System.Web.Script.Serialization.JavaScriptSerializer
+ $latest = $serializer.DeserializeObject((Get-Content -Path $baseline_file) -join "`n")
+ $history = $serializer.DeserializeObject((Get-Content -Path $history_file) -join "`n")
+ $major = $serializer.DeserializeObject((Get-Content -Path $major_file) -join "`n")
+ $all_dates = $serializer.DeserializeObject(($all_firefox) -join "`n")
+ $language = $serializer.DeserializeObject((Get-Content -Path $language_file) -join "`n")
+ $region = $serializer.DeserializeObject((Get-Content -Path $region_file) -join "`n")
+ try
+ {
+ $latest_release_date = (Get-Date ($all_dates.Get_Item("$($latest.LATEST_FIREFOX_VERSION)"))).ToShortDateString()
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+} ElseIf (($PSVersionTable.PSVersion).Major -ge 3) {
+
+ # PowerShell v3 or later JSON import
+ $latest = (Get-Content -Raw -Path $baseline_file) | ConvertFrom-Json
+ $history = (Get-Content -Raw -Path $history_file) | ConvertFrom-Json
+ $major = (Get-Content -Raw -Path $major_file) | ConvertFrom-Json
+ $all_dates = ($all_firefox) | ConvertFrom-Json
+ $language = (Get-Content -Raw -Path $language_file) | ConvertFrom-Json
+ $region = (Get-Content -Raw -Path $region_file) | ConvertFrom-Json
+ try
+ {
+ $latest_release_date = (Get-Date ($all_dates | Select-Object -ExpandProperty "$($latest.LATEST_FIREFOX_VERSION)")).ToShortDateString()
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+} Else {
+ $continue = $true
+} # Else
+
+
+ # Had the release date not yet been resolved, convert the .json formatted dates to a hash table and try to figure out the date
+ # Source: https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/convertfrom-stringdata
+ # Source: https://technet.microsoft.com/en-us/library/ee692803.aspx
+ If ($latest_release_date -eq $null) {
+ $raw_conversion = $all_firefox.Replace("{","").Replace(": "," = ").Replace(",","`r`n").Replace("}","`r`n").Replace('"','')
+ $release_dates = ConvertFrom-StringData -StringData $raw_conversion
+ $release_dates_list = $release_dates.GetEnumerator() | Sort-Object Value -Descending
+
+ If ($release_dates.ContainsKey("$($latest.LATEST_FIREFOX_VERSION)")) {
+ $latest_release_date = $release_dates.Get_Item("$($latest.LATEST_FIREFOX_VERSION)")
+ } Else {
+ $latest_release_date = "[unknown]"
+ } # Else
+
+ } Else {
+ $continue = $true
+ } # Else
+
+ $latest_firefox += $obj_latest = New-Object -TypeName PSCustomObject -Property @{
+ 'Nightly' = $latest.FIREFOX_NIGHTLY
+ 'Aurora' = $latest.FIREFOX_AURORA
+ 'In Development' = $latest.LATEST_FIREFOX_DEVEL_VERSION
+ 'Released Beta' = $latest.LATEST_FIREFOX_RELEASED_DEVEL_VERSION
+ 'Extended-Support Release (ESR)' = $latest.FIREFOX_ESR
+ 'Extended-Support Release (ESR) Next' = $latest.FIREFOX_ESR_NEXT
+ 'Old' = $latest.LATEST_FIREFOX_OLDER_VERSION
+ 'Latest Release Date' = $latest_release_date
+ 'Major Versions' = $major_url
+ 'Release History' = $history_url
+ 'History' = "https://www.mozilla.org/en-US/firefox/releases/"
+ 'Info' = [string]"https://www.mozilla.org/en-US/firefox/" + $latest.LATEST_FIREFOX_VERSION + "/releasenotes/"
+ 'Current' = $latest.LATEST_FIREFOX_VERSION
+ } # New-Object
+ $latest_firefox.PSObject.TypeNames.Insert(0,"Latest Firefox Versions")
+ $most_recent_firefox_version = $latest_firefox | Select-Object -ExpandProperty Current
+
+ # Display the most recent and extended support Firefox version numbers in console
+ If ($latest_firefox -ne $null) {
+ $latest_firefox_selection = $latest_firefox | Select-Object 'Nightly','Aurora','In Development','Released Beta','Extended-Support Release (ESR)','Old','Latest Release Date','Release History','History','Info','Current'
+ $empty_line | Out-String
+ $header_firefox_enumeration = "Latest Firefox Versions"
+ $coline_firefox_enumeration = "-----------------------"
+ Write-Output $header_firefox_enumeration
+ $coline_firefox_enumeration | Out-String
+ Write-Output $latest_firefox_selection
+ } Else {
+ $continue = $true
+ } # Else
+
+
+
+
+# Step 9
+# Try to determine which Firefox versions, if any, are outdated and need to be updated.
+$downloading_firefox_is_required = $false
+$downloading_firefox_32_is_required = $false
+$downloading_firefox_64_is_required = $false
+
+If ($firefox_is_installed -eq $true) {
+
+ $most_recent_firefox_already_exists = Check-InstalledSoftware "Mozilla Firefox $($most_recent_firefox_version)*"
+ $most_recent_32_bit_firefox_already_exists = Check-InstalledSoftware "Mozilla Firefox $($most_recent_firefox_version) (x86*"
+ $most_recent_64_bit_firefox_already_exists = Check-InstalledSoftware "Mozilla Firefox $($most_recent_firefox_version) (x64*"
+ $all_32_bit_firefoxes = $firefox_enumeration | Where-Object { $_.Type -eq "32-bit" }
+ $number_of_32_bit_firefoxes = ($all_32_bit_firefoxes | Measure-Object).Count
+ $all_64_bit_firefoxes = $firefox_enumeration | Where-Object { $_.Type -eq "64-bit" }
+ $number_of_64_bit_firefoxes = ($all_64_bit_firefoxes | Measure-Object).Count
+
+
+ # 32-bit
+ If ($32_bit_firefox_is_installed -eq $false) {
+ $continue = $true
+
+ } ElseIf (($32_bit_firefox_is_installed -eq $true) -and ($most_recent_32_bit_firefox_already_exists) -and ($number_of_32_bit_firefoxes -eq 1)) {
+
+ # $downloading_firefox_32_is_required = $false
+ $locale = If (($most_recent_32_bit_firefox_already_exists.DisplayName.Split(" ")[-1] -match "\(") -eq $false) {
+ If ($powershell_v2_or_earlier -eq $true) {
+ $language.Get_Item(($most_recent_32_bit_firefox_already_exists.DisplayName.Split(" ")[-1]).Replace(")",""))
+ } Else {
+ $language | Select-Object -ExpandProperty (($most_recent_32_bit_firefox_already_exists.DisplayName.Split(" ")[-1]).Replace(")",""))
+ } # Else
+
+ } Else {
+ $continue = $true
+ } # Else ($locale)
+
+ If ($powershell_v2_or_earlier -eq $true) {
+ try
+ {
+ $release_date = $all_dates.Get_Item($most_recent_32_bit_firefox_already_exists.DisplayVersion)
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } Else {
+ try
+ {
+ $release_date = $all_dates | Select-Object -ExpandProperty $most_recent_32_bit_firefox_already_exists.DisplayVersion
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } # Else
+
+ $currently_installed_32 += New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $most_recent_32_bit_firefox_already_exists.DisplayName.replace("(TM)","")
+ 'Publisher' = $most_recent_32_bit_firefox_already_exists.Publisher
+ 'Product' = $most_recent_32_bit_firefox_already_exists.DisplayName.Split(" ")[1]
+ 'Type' = "32-bit"
+ 'Locale' = $locale
+ 'Computer' = $computer
+ 'Install Location' = $most_recent_32_bit_firefox_already_exists.InstallLocation
+ 'Release Notes' = $most_recent_32_bit_firefox_already_exists.URLUpdateInfo
+ 'Standard Uninstall String' = $most_recent_32_bit_firefox_already_exists.UninstallString.Trim('"')
+ 'Identifying Number' = $most_recent_32_bit_firefox_already_exists.PSChildName
+ 'Release_Date' = $release_date
+ 'Version' = $most_recent_32_bit_firefox_already_exists.DisplayVersion
+
+ } # New-Object
+ $currently_installed_32.PSObject.TypeNames.Insert(0,"Existing Current Firefox 32-bit")
+
+ $empty_line | Out-String
+ Write-Output "Currently (until the next Firefox version is released) the $($($currently_installed_32.Locale).English) 32-bit $($currently_installed_32.Name) released on $((Get-Date ($currently_installed_32.Release_Date)).ToShortDateString()) doesn't need any further maintenance or care."
+
+ } Else {
+ $downloading_firefox_32_is_required = $true
+ $downloading_firefox_is_required = $true
+
+ ForEach ($32_bit_firefox in $all_32_bit_firefoxes) {
+
+ If ($32_bit_firefox.Version -eq $most_recent_firefox_version) {
+
+ If ($powershell_v2_or_earlier -eq $true) {
+ try
+ {
+ $release_date = $all_dates.Get_Item($32_bit_firefox.Version)
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } Else {
+ try
+ {
+ $release_date_32 = $all_dates | Select-Object -ExpandProperty "$($32_bit_firefox.Version)"
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } # Else
+
+ $empty_line | Out-String
+ Write-Output "Currently (until the next Firefox version is released) the 32-bit $($32_bit_firefox.Name) released on $((Get-Date ($release_date_32)).ToShortDateString()) doesn't need any further maintenance or care."
+ } Else {
+ $empty_line | Out-String
+ Write-Warning "$($32_bit_firefox.Name) seems to be outdated."
+ $empty_line | Out-String
+ Write-Output "The most recent non-beta Firefox version is $most_recent_firefox_version. The installed 32-bit Firefox version $($32_bit_firefox.Version) needs to be updated."
+ } # Else
+
+
+ } # ForEach
+ } # Else
+
+
+ # 64-bit
+ If ($64_bit_firefox_is_installed -eq $false) {
+ $continue = $true
+
+ } ElseIf (($64_bit_firefox_is_installed -eq $true) -and ($most_recent_64_bit_firefox_already_exists) -and ($number_of_64_bit_firefoxes -eq 1)) {
+
+ # $downloading_firefox_64_is_required = $false
+ $locale = If (($most_recent_64_bit_firefox_already_exists.DisplayName.Split(" ")[-1] -match "\(") -eq $false) {
+ If ($powershell_v2_or_earlier -eq $true) {
+ $language.Get_Item(($most_recent_64_bit_firefox_already_exists.DisplayName.Split(" ")[-1]).Replace(")",""))
+ } Else {
+ $language | Select-Object -ExpandProperty (($most_recent_64_bit_firefox_already_exists.DisplayName.Split(" ")[-1]).Replace(")",""))
+ } # Else
+
+ } Else {
+ $continue = $true
+ } # Else ($locale)
+
+ If ($powershell_v2_or_earlier -eq $true) {
+ try
+ {
+ $release_date = $all_dates.Get_Item($most_recent_64_bit_firefox_already_exists.DisplayVersion)
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } Else {
+ try
+ {
+ $release_date = $all_dates | Select-Object -ExpandProperty $most_recent_64_bit_firefox_already_exists.DisplayVersion
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } # Else
+
+ $currently_installed_64 += New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $most_recent_64_bit_firefox_already_exists.DisplayName.replace("(TM)","")
+ 'Publisher' = $most_recent_64_bit_firefox_already_exists.Publisher
+ 'Product' = $most_recent_64_bit_firefox_already_exists.DisplayName.Split(" ")[1]
+ 'Type' = "64-bit"
+ 'Locale' = $locale
+ 'Computer' = $computer
+ 'Install Location' = $most_recent_64_bit_firefox_already_exists.InstallLocation
+ 'Release Notes' = $most_recent_64_bit_firefox_already_exists.URLUpdateInfo
+ 'Standard Uninstall String' = $most_recent_64_bit_firefox_already_exists.UninstallString.Trim('"')
+ 'Identifying Number' = $most_recent_64_bit_firefox_already_exists.PSChildName
+ 'Release_Date' = $release_date
+ 'Version' = $most_recent_64_bit_firefox_already_exists.DisplayVersion
+
+ } # New-Object
+ $currently_installed_64.PSObject.TypeNames.Insert(0,"Existing Current Firefox 64-bit")
+
+ $empty_line | Out-String
+ Write-Output "Currently (until the next Firefox version is released) the $($($currently_installed_64.Locale).English) 64-bit $($currently_installed_64.Name) released on $((Get-Date ($currently_installed_64.Release_Date)).ToShortDateString()) doesn't need any further maintenance or care."
+
+ } Else {
+ $downloading_firefox_64_is_required = $true
+ $downloading_firefox_is_required = $true
+
+ ForEach ($64_bit_firefox in $all_64_bit_firefoxes) {
+
+ If ($64_bit_firefox.Version -eq $most_recent_firefox_version) {
+
+ If ($powershell_v2_or_earlier -eq $true) {
+ try
+ {
+ $release_date_64 = $all_dates.Get_Item($64_bit_firefox.Version)
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } Else {
+ try
+ {
+ $release_date_64 = $all_dates | Select-Object -ExpandProperty "$($64_bit_firefox.Version)"
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } # Else
+
+ $empty_line | Out-String
+ Write-Output "Currently (until the next Firefox version is released) the 64-bit $($64_bit_firefox.Name) released on $((Get-Date ($release_date_64)).ToShortDateString()) doesn't need any further maintenance or care."
+ } Else {
+ $empty_line | Out-String
+ Write-Warning "$($64_bit_firefox.Name) seems to be outdated."
+ $empty_line | Out-String
+ Write-Output "The most recent non-beta Firefox version is $most_recent_firefox_version. The installed 64-bit Firefox version $($64_bit_firefox.Version) needs to be updated."
+ } # Else
+
+ } # ForEach
+ } # Else
+
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 10
+# Write the Maintenance info in console
+If ($firefox_is_installed -eq $true) {
+
+ $32_bit_uninstall_string = $all_32_bit_firefoxes | Select-Object -ExpandProperty 'Standard Uninstall String'
+ $64_bit_uninstall_string = $all_64_bit_firefoxes | Select-Object -ExpandProperty 'Standard Uninstall String'
+
+ $obj_maintenance += New-Object -TypeName PSCustomObject -Property @{
+ 'Open the Firefox primary profile location' = [string]'Invoke-Item ' + $quote + [Environment]::GetFolderPath("ApplicationData") + '\Mozilla\Firefox\Profiles' + $unquote
+ 'Open the Firefox secondary profile location' = [string]'Invoke-Item ' + $quote + [Environment]::GetFolderPath("LocalApplicationData") + '\Mozilla\Firefox\Profiles' + $unquote
+ 'Open the updates.xml file location' = [string]'Invoke-Item ' + $quote + [Environment]::GetFolderPath("LocalApplicationData") + '\Mozilla\updates\' + $unquote
+ 'Uninstall the 32-bit Firefox' = If ($32_bit_firefox_is_installed -eq $true) { $32_bit_uninstall_string } Else { [string]'[not installed]' }
+ 'Uninstall the 64-bit Firefox' = If ($64_bit_firefox_is_installed -eq $true) { $64_bit_uninstall_string } Else { [string]'[not installed]' }
+
+ } # New-Object
+ $obj_maintenance.PSObject.TypeNames.Insert(0,"Maintenance")
+ $obj_maintenance_selection = $obj_maintenance | Select-Object 'Open the Firefox primary profile location','Open the Firefox secondary profile location','Open the updates.xml file location','Uninstall the 32-bit Firefox','Uninstall the 64-bit Firefox'
+
+
+ # Display the Maintenance table in console
+ $empty_line | Out-String
+ $header_maintenance = "Maintenance"
+ $coline_maintenance = "-----------"
+ Write-Output $header_maintenance
+ $coline_maintenance | Out-String
+ Write-Output $obj_maintenance_selection
+
+
+
+
+ $obj_downloading += New-Object -TypeName PSCustomObject -Property @{
+ '32-bit Firefox' = If ($32_bit_firefox_is_installed -eq $true) { $downloading_firefox_32_is_required } Else { [string]'-' }
+ '64-bit Firefox' = If ($64_bit_firefox_is_installed -eq $true) { $downloading_firefox_64_is_required } Else { [string]'-' }
+ } # New-Object
+ $obj_downloading.PSObject.TypeNames.Insert(0,"Maintenance Is Required for These Firefox Versions")
+ $obj_downloading_selection = $obj_downloading | Select-Object '32-bit Firefox','64-bit Firefox'
+
+
+ # Display in console which installers for Firefox need to be downloaded
+ $empty_line | Out-String
+ $header_downloading = "Maintenance Is Required for These Firefox Versions"
+ $coline_downloading = "--------------------------------------------------"
+ Write-Output $header_downloading
+ $coline_downloading | Out-String
+ Write-Output $obj_downloading_selection
+ $empty_line | Out-String
+
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 11
+# Determine if there is a real need to carry on with the rest of the script.
+If ($firefox_is_installed -eq $true) {
+
+ If (($downloading_firefox_is_required -eq $false) -and ($downloading_firefox_32_is_required -eq $false) -and ($downloading_firefox_64_is_required -eq $false)) {
+ Return "The installed Firefox seems to be OK."
+ } Else {
+ $continue = $true
+ } # Else
+} Else {
+ Write-Warning "No Firefox seems to be installed on the system."
+ $empty_line | Out-String
+ $no_firefox_text_1 = "This script didn't detect that any version of Firefox would have been installed."
+ $no_firefox_text_2 = "Please consider installing Firefox by visiting"
+ $no_firefox_text_3 = "https://www.mozilla.org/en-US/firefox/all/"
+ $no_firefox_text_4 = "For URLs of the full installation files please, for example, see the page"
+ $no_firefox_text_5 = "https://ftp.mozilla.org/pub/firefox/releases/latest/README.txt"
+ $no_firefox_text_6 = "and for uninstalling Firefox, please visit"
+ $no_firefox_text_7 = "https://support.mozilla.org/en-US/kb/uninstall-firefox-from-your-computer"
+ Write-Output $no_firefox_text_1
+ Write-Output $no_firefox_text_2
+ Write-Output $no_firefox_text_3
+ Write-Output $no_firefox_text_4
+ Write-Output $no_firefox_text_5
+ Write-Output $no_firefox_text_6
+ Write-Output $no_firefox_text_7
+
+ # Offer the option to install a specific version of Firefox, if no Firefox is detected and the script is run in an elevated window
+ # Source: "Adding a Simple Menu to a Windows PowerShell Script": https://technet.microsoft.com/en-us/library/ff730939.aspx
+ # Credit: lamaar75: "Creating a Menu": http://powershell.com/cs/forums/t/9685.aspx
+ # Credit: alejandro5042: "How to run exe with/without elevated privileges from PowerShell"
+ If (([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator") -eq $true) {
+ $empty_line | Out-String
+ Write-Verbose "Welcome to the Admin Corner." -verbose
+ $title_1 = "Install Firefox - The Fundamentals (Step 1/3)"
+ $message_1 = "Would you like to install one of the Firefox versions (32-bit or 64-bit in a certain language) with this script?"
+
+ $yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", "Yes: tries to download and install one of the Firefox versions specified on the next two steps."
+ $no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", "No: exits from this script (similar to Ctrl + C)."
+ $exit = New-Object System.Management.Automation.Host.ChoiceDescription "&Exit", "Exit: exits from this script (similar to Ctrl + C)."
+ $abort = New-Object System.Management.Automation.Host.ChoiceDescription "&Abort", "Abort: exits from this script (similar to Ctrl + C)."
+ $cancel = New-Object System.Management.Automation.Host.ChoiceDescription "&Cancel", "Cancel: exits from this script (similar to Ctrl + C)."
+
+ $options_1 = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no, $exit, $abort, $cancel)
+ $result_1 = $host.ui.PromptForChoice($title_1, $message_1, $options_1, 1)
+
+ switch ($result_1)
+ {
+ 0 {
+ "Yes. Proceeding to the next step.";
+ $admin_corner = $true
+ $continue = $true
+ }
+ 1 {
+ "No. Exiting from Install Firefox script.";
+ Exit
+ }
+ 2 {
+ "Exit. Exiting from Install Firefox script.";
+ Exit
+ }
+ 3 {
+ "Abort. Exiting from Install Firefox script.";
+ Exit
+ }
+ 4 {
+ "Cancel. Exiting from Install Firefox script.";
+ Exit
+ } # 4
+ } # switch
+
+ $empty_line | Out-String
+ $title_2 = "Install Firefox - The Bit Version (Step 2/3)"
+ $message_2 = "Which bit version (32-bit or 64-bit) of Firefox would you like to install?"
+
+ $32_bit = New-Object System.Management.Automation.Host.ChoiceDescription "&32-bit", "32-bit: tries to download and install the 32-bit version of Firefox."
+ $64_bit = New-Object System.Management.Automation.Host.ChoiceDescription "&64-bit", "64-bit: tries to download and install the 64-bit version of Firefox."
+
+ $options_2 = [System.Management.Automation.Host.ChoiceDescription[]]($32_bit, $64_bit, $exit, $abort, $cancel)
+ $result_2 = $host.ui.PromptForChoice($title_2, $message_2, $options_2, 4)
+
+ switch ($result_2)
+ {
+ 0 {
+ "32-bit selected.";
+ $firefox_is_installed = $true
+ $32_bit_firefox_is_installed = $true
+ $original_firefox_version = "[Nonexistent]"
+ $downloading_firefox_is_required = $true
+ $downloading_firefox_32_is_required = $true
+ $os = '&os=win'
+ $bit_number = "32"
+ $continue = $true
+ }
+ 1 {
+ "64-bit selected.";
+ $firefox_is_installed = $true
+ $64_bit_firefox_is_installed = $true
+ $original_firefox_version = "[Nonexistent]"
+ $downloading_firefox_is_required = $true
+ $downloading_firefox_64_is_required = $true
+ $os = '&os=win64'
+ $bit_number = "64"
+ $continue = $true
+ }
+ 2 {
+ "Exit. Exiting from Install Firefox script.";
+ Exit
+ }
+ 3 {
+ "Abort. Exiting from Install Firefox script.";
+ Exit
+ }
+ 4 {
+ "Cancel. Exiting from Install Firefox script.";
+ Exit
+ } # 4
+ } # switch
+
+ $empty_line | Out-String
+ $title_3 = "Install Firefox - The Language (Step 3/3)"
+ $message_3 = "Which language version of Firefox would you like to install?"
+
+ $0 = New-Object System.Management.Automation.Host.ChoiceDescription "&0 English (US)", "English (US): tries to download and install the English (US) version of Firefox."
+ $1 = New-Object System.Management.Automation.Host.ChoiceDescription "&1 English (British)", "English (British): tries to download and install the English (British) version of Firefox."
+ $2 = New-Object System.Management.Automation.Host.ChoiceDescription "&2 Arabic", "Arabic: tries to download and install the Arabic version of Firefox."
+ $3 = New-Object System.Management.Automation.Host.ChoiceDescription "&3 Chinese (Simplified)", "Chinese (Simplified): tries to download and install the Chinese (Simplified) version of Firefox."
+ $4 = New-Object System.Management.Automation.Host.ChoiceDescription "&4 Chinese (Traditional)", "Chinese (Traditional): tries to download and install the Chinese (Traditional) version of Firefox."
+ $5 = New-Object System.Management.Automation.Host.ChoiceDescription "&5 Dutch", "Dutch: tries to download and install the Dutch version of Firefox."
+ $6 = New-Object System.Management.Automation.Host.ChoiceDescription "&6 French", "French: tries to download and install the French version of Firefox."
+ $7 = New-Object System.Management.Automation.Host.ChoiceDescription "&7 German", "German: tries to download and install the German version of Firefox."
+ $8 = New-Object System.Management.Automation.Host.ChoiceDescription "&8 Portuguese (Portugal)", "Portuguese (Portugal): tries to download and install the Portuguese (Portugal) version of Firefox."
+ $9 = New-Object System.Management.Automation.Host.ChoiceDescription "&9 Spanish (Spain)", "Spanish (Spain): tries to download and install the Spanish (Spain) version of Firefox."
+ $b = New-Object System.Management.Automation.Host.ChoiceDescription "&b Bengali (India)", "Bengali (India): tries to download and install the Bengali (India) version of Firefox."
+ $d = New-Object System.Management.Automation.Host.ChoiceDescription "&d Danish", "Danish: tries to download and install the Danish version of Firefox."
+ $f = New-Object System.Management.Automation.Host.ChoiceDescription "&f Finnish", "Finnish: tries to download and install the Finnish version of Firefox."
+ $g = New-Object System.Management.Automation.Host.ChoiceDescription "&g Greek", "Greek: tries to download and install the Greek version of Firefox."
+ $h = New-Object System.Management.Automation.Host.ChoiceDescription "&h Hebrew", "Hebrew: tries to download and install the Hebrew version of Firefox."
+ $i = New-Object System.Management.Automation.Host.ChoiceDescription "&i Italian", "Italian: tries to download and install the Italian version of Firefox."
+ $j = New-Object System.Management.Automation.Host.ChoiceDescription "&j Indonesian", "Indonesian: tries to download and install the Indonesian version of Firefox."
+ $k = New-Object System.Management.Automation.Host.ChoiceDescription "&k Korean", "Korean: tries to download and install the Korean version of Firefox."
+ $l = New-Object System.Management.Automation.Host.ChoiceDescription "&l Latvian", "Latvian: tries to download and install the Latvian version of Firefox."
+ $m = New-Object System.Management.Automation.Host.ChoiceDescription "&m Malay", "Malay: tries to download and install the Malay version of Firefox."
+ $n = New-Object System.Management.Automation.Host.ChoiceDescription "&n Norwegian (Nynorsk)", "Norwegian (Nynorsk): tries to download and install the Norwegian (Nynorsk) version of Firefox."
+ $o = New-Object System.Management.Automation.Host.ChoiceDescription "&o Norwegian (Bokmal)", "Norwegian (Bokmal): tries to download and install the Norwegian (Bokmal) version of Firefox."
+ $p = New-Object System.Management.Automation.Host.ChoiceDescription "&p Punjabi (India)", "Punjabi (India): tries to download and install the Punjabi (India) version of Firefox."
+ $q = New-Object System.Management.Automation.Host.ChoiceDescription "&q Hindi (India)", "Hindi (India): tries to download and install the Hindi (India) version of Firefox."
+ $r = New-Object System.Management.Automation.Host.ChoiceDescription "&r Romanian", "Romanian: tries to download and install the Romanian version of Firefox."
+ $s = New-Object System.Management.Automation.Host.ChoiceDescription "&s Swedish", "Swedish: tries to download and install the Swedish version of Firefox."
+ $t = New-Object System.Management.Automation.Host.ChoiceDescription "&t Thai", "Thai: tries to download and install the Thai version of Firefox."
+ $u = New-Object System.Management.Automation.Host.ChoiceDescription "&u Ukrainian", "Ukrainian: tries to download and install the Ukrainian version of Firefox."
+ $v = New-Object System.Management.Automation.Host.ChoiceDescription "&v Vietnamese", "Vietnamese: tries to download and install the Vietnamese version of Firefox."
+ $w = New-Object System.Management.Automation.Host.ChoiceDescription "&w Welsh", "Welsh: tries to download and install the Welsh version of Firefox."
+ $x = New-Object System.Management.Automation.Host.ChoiceDescription "&x Xhosa", "Xhosa: tries to download and install the Xhosa version of Firefox."
+ $y = New-Object System.Management.Automation.Host.ChoiceDescription "&y Gaelic (Scotland)", "Gaelic (Scotland): tries to download and install the Gaelic (Scotland) version of Firefox."
+ $z = New-Object System.Management.Automation.Host.ChoiceDescription "&z Uzbek", "Uzbek: tries to download and install the Uzbek version of Firefox."
+
+ $options_3 = [System.Management.Automation.Host.ChoiceDescription[]]($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $b, $d, $f, $g, $h, $i, $j, $k, $l, $m, $n, $o, $p, $q, $r, $s, $t, $u, $v, $w, $x, $y, $z, $exit, $abort, $cancel)
+ $result_3 = $host.ui.PromptForChoice($title_3, $message_3, $options_3, 35)
+
+ switch ($result_3)
+ {
+ 0 {
+ "English (US) selected.";
+ $lang = '&lang=en-US'
+ $continue = $true
+ }
+ 1 {
+ "English (British) selected.";
+ $lang = '&lang=en-GB'
+ $continue = $true
+ }
+ 2 {
+ "Arabic selected.";
+ $lang = '&lang=ar'
+ $continue = $true
+ }
+ 3 {
+ "Chinese (Simplified) selected.";
+ $lang = '&lang=zh-CN'
+ $continue = $true
+ }
+ 4 {
+ "Chinese (Traditional) selected.";
+ $lang = '&lang=zh-TW'
+ $continue = $true
+ }
+ 5 {
+ "Dutch selected.";
+ $lang = '&lang=nl'
+ $continue = $true
+ }
+ 6 {
+ "French selected.";
+ $lang = '&lang=fr'
+ $continue = $true
+ }
+ 7 {
+ "German selected.";
+ $lang = '&lang=de'
+ $continue = $true
+ }
+ 8 {
+ "Portuguese (Portugal) selected.";
+ $lang = '&lang=pt-PT'
+ $continue = $true
+ }
+ 9 {
+ "Spanish (Spain) selected.";
+ $lang = '&lang=es-ES'
+ $continue = $true
+ }
+ 10 {
+ "Bengali (India) selected.";
+ $lang = '&lang=bn-IN'
+ $continue = $true
+ }
+ 11 {
+ "Danish selected.";
+ $lang = '&lang=da'
+ $continue = $true
+ }
+ 12 {
+ "Finnish selected.";
+ $lang = 'lang=fi'
+ $continue = $true
+ }
+ 13 {
+ "Greek selected.";
+ $lang = '&lang=el'
+ $continue = $true
+ }
+ 14 {
+ "Hebrew selected.";
+ $lang = '&lang=he'
+ $continue = $true
+ }
+ 15 {
+ "Italian selected.";
+ $lang = '&lang=it'
+ $continue = $true
+ }
+ 16 {
+ "Indonesian selected.";
+ $lang = '&lang=id'
+ $continue = $true
+ }
+ 17 {
+ "Korean selected.";
+ $lang = '&lang=ko'
+ $continue = $true
+ }
+ 18 {
+ "Latvian selected.";
+ $lang = '&lang=lv'
+ $continue = $true
+ }
+ 19 {
+ "Malay selected.";
+ $lang = '&lang=ms'
+ $continue = $true
+ }
+ 20 {
+ "Norwegian (Nynorsk) selected.";
+ $lang = '&lang=nn-NO'
+ $continue = $true
+ }
+ 21 {
+ "Norwegian (Bokmal) selected.";
+ $lang = '&lang=nb-NO'
+ $continue = $true
+ }
+ 22 {
+ "Punjabi (India) selected.";
+ $lang = '&lang=pa-IN'
+ $continue = $true
+ }
+ 23 {
+ "Hindi (India) selected.";
+ $lang = '&lang=hi-IN'
+ $continue = $true
+ }
+ 24 {
+ "Romanian selected.";
+ $lang = '&lang=ro'
+ $continue = $true
+ }
+ 25 {
+ "Swedish selected.";
+ $lang = '&lang=sv-SE'
+ $continue = $true
+ }
+ 26 {
+ "Thai selected.";
+ $lang = '&lang=th'
+ $continue = $true
+ }
+ 27 {
+ "Ukrainian selected.";
+ $lang = '&lang=uk'
+ $continue = $true
+ }
+ 28 {
+ "Vietnamese selected.";
+ $lang = '&lang=vi'
+ $continue = $true
+ }
+ 29 {
+ "Welsh selected.";
+ $lang = '&lang=cy'
+ $continue = $true
+ }
+ 30 {
+ "Xhosa selected.";
+ $lang = '&lang=xh'
+ $continue = $true
+ }
+ 31 {
+ "Gaelic (Scotland) selected.";
+ $lang = '&lang=gd'
+ $continue = $true
+ }
+ 32 {
+ "Uzbek selected.";
+ $lang = '&lang=uz'
+ $continue = $true
+ }
+ 33 {
+ "Exit. Exiting from Install Firefox script.";
+ Exit
+ }
+ 34 {
+ "Abort. Exiting from Install Firefox script.";
+ Exit
+ }
+ 35 {
+ "Cancel. Exiting from Install Firefox script.";
+ Exit
+ } # 35
+ } # switch
+
+ # Determine the Download URL based on the selections made by the user.
+ # Source: https://ftp.mozilla.org/pub/firefox/releases/latest/README.txt
+ # https://download.mozilla.org/?product=firefox-latest&os=win&lang=en-US
+ $download_url = [string]'https://download.mozilla.org/?product=firefox-latest' + $os + $lang
+
+ } Else {
+ Exit
+ } # Else (Admin Corner)
+} # Else (No Firefox )
+
+
+
+
+# Step 12
+# Check if the PowerShell session is elevated (has been run as an administrator)
+If (([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator") -eq $false) {
+ Write-Warning "It seems that this script is run in a 'normal' PowerShell window."
+ $empty_line | Out-String
+ Write-Verbose "Please consider running this script in an elevated (administrator-level) PowerShell window." -verbose
+ $empty_line | Out-String
+ $admin_text = "For performing system altering procedures, such as installing Firefox the elevated rights are mandatory. An elevated PowerShell session can, for example, be initiated by starting PowerShell with the 'run as an administrator' option."
+ Write-Output $admin_text
+ $empty_line | Out-String
+ # Write-Verbose "Even though it could also be possible to write a self elevating PowerShell script (https://blogs.msdn.microsoft.com/virtual_pc_guy/2010/09/23/a-self-elevating-powershell-script/) or run commands elevated in PowerShell (http://powershell.com/cs/blogs/tips/archive/2014/03/19/running-commands-elevated-in-powershell.aspx) with the UAC prompts, the new UAC pop-up window may come as a surprise to the end-user, who isn't neccesarily aware that this script needs the elevated rights to complete the intended actions."
+ Return "Exiting without updating (at Step 12)."
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 13
+# Initiate the update process
+$empty_line | Out-String
+$timestamp = Get-Date -Format HH:mm:ss
+$update_text = "$timestamp - Initiating the Firefox Update Protocol..."
+Write-Output $update_text
+
+# Determine the current directory # Credit: JaredPar and Matthew Pirocchi "What's the best way to determine the location of the current PowerShell script?"
+$script_path = Split-Path -parent $MyInvocation.MyCommand.Definition
+
+# "Manual" progress bar variables
+$activity = "Updating Firefox"
+$status = "Status"
+$id = 1 # For using more than one progress bar
+$total_steps = 19 # Total number of the steps or tasks, which will increment the progress bar
+$task_number = 0.2 # An increasing numerical value, which is set at the beginning of each of the steps that increments the progress bar (and the value should be less or equal to total_steps). In essence, this is the "progress" of the progress bar.
+$task = "Setting Initial Variables" # A description of the current operation, which is set at the beginning of each of the steps that increments the progress bar.
+
+# Start the progress bar
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+ # Specify [Esc] and [q] as the Cancel-key # Credit: Jeff: "Powershell show elapsed time"
+ If ($Host.UI.RawUI.KeyAvailable -and ("q" -eq $Host.UI.RawUI.ReadKey("IncludeKeyUp,NoEcho").Character)) {
+ Write-Host " ...Stopping the Firefox Update Protocol...";
+ Break;
+ } ElseIf ($Host.UI.RawUI.KeyAvailable -and (([char]27) -eq $Host.UI.RawUI.ReadKey("IncludeKeyUp,NoEcho").Character)) {
+ Write-Host " ...Stopping the Firefox Update Protocol..."; Break;
+ } Else {
+ $continue = $true
+ } # Else
+
+
+
+
+# Step 14
+# Write the Firefox installation configuration ini file
+# Description: Keep the default save location and the default shortcuts, but disable the Mozilla Maintenance service.
+# Source: https://wiki.mozilla.org/Installer:Command_Line_Arguments
+
+<#
+ Silent install (always installs into the default location. Use the "Configuration ini file" option below to set the install location and other install options):
+ -ms
+
+ Silent uninstall:
+ /S
+
+ Configuration ini file (When specifying a configuration ini file the installer will always run silently):
+ [/INI=]
+
+ The silent install applies only to the full installer and not the stub installer. If you want to perform a silent install you cannot do so with the stub installer and you must use the full installer.
+ Full installers for Firefox can be found at http://www.mozilla.org/firefox/all/ (or for Firefox ESR at http://www.mozilla.org/firefox/organizations/all/ ).
+#>
+
+$task_number = 1
+$task = "Writing the Firefox installation configuration ini file..."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+$ini_file = "firefox_configuration.ini"
+$ini = New-Item -ItemType File -Path "$path\$ini_file" -Force
+$ini
+Add-Content $ini -Value ("[Install]
+;
+; Remove the semicolon (;) to un-comment a line.
+;
+; The name of the directory where the application will be installed in the
+; system's program files directory. The security context the installer is
+; running in must have write access to the installation directory. Also, the
+; directory must not exist or if it exists it must be a directory and not a
+; file. If any of these conditions are not met the installer will abort the
+; installation with an error level of 2. If this value is specified
+; then InstallDirectoryPath will be ignored.
+; InstallDirectoryName=Mozilla Firefox
+
+; The full path to the directory to install the application. The security
+; context the installer is running in must have write access to the
+; installation directory. Also, the directory must not exist or if it exists
+; it must be a directory and not a file. If any of these conditions are not met
+; the installer will abort the installation with an error level of 2.
+; InstallDirectoryPath=c:\firefox\
+
+; By default all of the following shortcuts are created. To prevent the
+; creation of a shortcut specify false for the shortcut you don't want created.
+
+; Create a shortcut for the application in the current user's QuickLaunch
+; directory.
+; QuickLaunchShortcut=false
+
+; Create a shortcut for the application on the desktop. This will create the
+; shortcut in the All Users Desktop directory and if that fails this will
+; attempt to create the shortcuts in the current user's Start Menu directory.
+; DesktopShortcut=false
+
+; Create shortcuts for the application in the Start Menu. This will create the
+; shortcuts in the All Users Start Menu directory and if that fails this will
+; attempt to create the shortcuts in the current user's Start Menu directory.
+; StartMenuShortcuts=false
+
+; The directory name to use for the StartMenu folder (not available with
+; Firefox 4.0 and above - see the note below).
+; Note: if StartMenuShortcuts=false is specified then this will be ignored.
+; StartMenuDirectoryName=Mozilla Firefox
+
+; The MozillaMaintenance service is used for silent updates and may be used
+; for other maintenance related tasks. It is an optional component. This
+; option can be used in Firefox 16 or later to skip installing the service.
+MaintenanceService=false")
+
+
+
+
+# Step 15
+# Determine the required language version and the correct download URL
+# Source: https://ftp.mozilla.org/pub/firefox/releases/latest/README.txt
+# Source: https://wiki.mozilla.org/Software_Update:Checking_For_Updates
+# Source: http://kb.mozillazine.org/App.update.url
+
+<#
+
+ # Download URL (clickable)
+ https://www.mozilla.org/en-US/firefox/all/
+
+ # Check if the installed version of Firefox is the latest:
+ https://www.mozilla.org/en-US/firefox/new/
+
+ # 32-bit English (US) Firefox for Windows:
+ https://download.mozilla.org/?product=firefox-latest&os=win&lang=en-US
+
+ # 64-bit English (US) Firefox for Windows:
+ https://download.mozilla.org/?product=firefox-latest&os=win64&lang=en-US
+
+#>
+<#
+
+ For other languages, please replace 'lang=en-US' with:
+ Acholi lang=ach
+ Afrikaans lang=af
+ Albanian lang=sq
+ Arabic lang=ar
+ Aragonese lang=an
+ Armenian lang=hy-AM
+ Assamese lang=as
+ Asturian lang=ast
+ Azerbaijani lang=az
+ Basque lang=eu
+ Belarusian lang=be
+ Bengali (Bangladesh) lang=bn-BD
+ Bengali (India) lang=bn-IN
+ Bosnian lang=bs
+ Breton lang=br
+ Bulgarian lang=bg
+ Catalan lang=ca
+ Chinese (Simplified) lang=zh-CN
+ Chinese (Traditional) lang=zh-TW
+ Croatian lang=hr
+ Czech lang=cs
+ Danish lang=da
+ Dutch lang=nl
+ English (British) lang=en-GB
+ English (South African) lang=en-ZA
+ Esperanto lang=eo
+ Estonian lang=et
+ Finnish lang=fi
+ French lang=fr
+ Frisian lang=fy-NL
+ Fulah lang=ff
+ Gaelic (Scotland) lang=gd
+ Galician lang=gl
+ German lang=de
+ Greek lang=el
+ Gujarati (India) lang=gu-IN
+ Hebrew lang=he
+ Hindi (India) lang=hi-IN
+ Hungarian lang=hu
+ Icelandic lang=is
+ Indonesian lang=id
+ Irish lang=ga-IE
+ Italian lang=it
+ Kannada lang=kn
+ Kazakh lang=kk
+ Khmer lang=km
+ Korean lang=ko
+ Latvian lang=lv
+ Ligurian lang=lij
+ Lithuanian lang=lt
+ Lower Sorbian lang=dsb
+ Macedonian lang=mk
+ Maithili lang=mai
+ Malay lang=ms
+ Malayalam lang=ml
+ Marathi lang=mr
+ Norwegian (Bokmål) lang=nb-NO
+ Norwegian (Nynorsk) lang=nn-NO
+ Oriya lang=or
+ Persian lang=fa
+ Polish lang=pl
+ Portuguese (Brazilian) lang=pt-BR
+ Portuguese (Portugal) lang=pt-PT
+ Punjabi (India) lang=pa-IN
+ Romanian lang=ro
+ Romansh lang=rm
+ Russian lang=ru
+ Serbian lang=sr
+ Sinhala lang=si
+ Slovak lang=sk
+ Slovenian lang=sl
+ Songhai lang=son
+ Spanish (Argentina) lang=es-AR
+ Spanish (Chile) lang=es-CL
+ Spanish (Mexico) lang=es-MX
+ Spanish (Spain) lang=es-ES
+ Swedish lang=sv-SE
+ Tamil lang=ta
+ Telugu lang=te
+ Thai lang=th
+ Turkish lang=tr
+ Ukrainian lang=uk
+ Upper Sorbian lang=hsb
+ Uzbek lang=uz
+ Vietnamese lang=vi
+ Welsh lang=cy
+ Xhosa lang=xh
+
+ https://download.mozilla.org/?product=firefox-50.0.2-SSL&os=win&lang=en-US
+ https://download.mozilla.org/?product=firefox-50.0.2-complete&os=win&lang=en-US&force=1
+ https://download-installer.cdn.mozilla.net/pub/firefox/releases/50.0.2/win32/en-US/Firefox%20Setup%2050.0.2.exe
+
+ https://download.mozilla.org/?product=firefox-50.0.2-SSL&os=win64&lang=en-US
+ https://download.mozilla.org/?product=firefox-50.0.2-complete&os=win64&lang=en-US&force=1
+ https://download-installer.cdn.mozilla.net/pub/firefox/releases/50.0.2/win64/en-US/Firefox%20Setup%2050.0.2.exe
+
+ about:config and search for app.update.url
+ # Old Firefox:
+ https://aus2.mozilla.org/update/3/Firefox/3.0a8pre/2007083015/Darwin_x86-gcc3/en-US/default/Darwin%208.10.1/testpartner/1.0/update.xml?force=1
+ # Firefox (trunk builds since 2010):
+ https://aus3.mozilla.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml
+ # Firefox Current:
+ https://aus5.mozilla.org/update/6/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml
+
+ '3' is the schema version
+
+ PRODUCT: App name (e.g., 'Firefox')
+ VERSION: App version (e.g., '3.0a8pre')
+ BUILD_ID: Build ID (e.g., '2007083015')
+ BUILD_TARGET: Build target (e.g., 'Darwin_x86-gcc3')
+ LOCALE: App locale (e.g., 'en-US')
+ CHANNEL: AUS channel (e.g., 'default')
+ OS_VERSION: Operating System version (e.g., 'Darwin%208.10.1')
+ DISTRIBUTION: Name of customized distribution, if any (e.g., 'testpartner')
+ DISTRIBUTION_VERSION: Version of the customized distribution (e.g., '1.0)
+
+#>
+
+$task_number = 2
+$task = "Determining the required language version and the correct download URL..."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+
+If (($multiple_firefoxes -ne $true) -and ($admin_corner -ne $true)) {
+
+
+ If ($downloading_firefox_32_is_required -eq $true) {
+ $os = '&os=win'
+ $bit_number = "32"
+ } ElseIf ($downloading_firefox_64_is_required -eq $true) {
+ $os = '&os=win64'
+ $bit_number = "64"
+ } Else {
+ $continue = $true
+ } # Else
+
+
+ # $system_language_and_region = (Get-Culture).Name
+ # $system_language_abbreviation = (Get-Culture).TwoLetterISOLanguageName
+ # $system_language = (Get-Culture).EnglishName
+ If (($firefox_enumeration | select -ExpandProperty Locale) -ne $null) {
+ $lang = [string]'&lang=' + ($firefox_enumeration | select -ExpandProperty Locale)
+ } ElseIf (($firefox_enumeration | select -ExpandProperty Locale) -eq $null) {
+
+ If ((($language | Select-Object -ErrorAction SilentlyContinue -ExpandProperty "$($(Get-Culture).TwoLetterISOLanguageName)").English) -match ((Get-Culture).EnglishName.split(' (')[0]) ) {
+ $lang = [string]'&lang=' + $($(Get-Culture).TwoLetterISOLanguageName)
+ } ElseIf ((($language | Select-Object -ErrorAction SilentlyContinue -ExpandProperty "$($(Get-Culture).Name)").English) -match ((Get-Culture).EnglishName) ) {
+ $lang = [string]'&lang=' + $($(Get-Culture).Name)
+ } ElseIf ((($language | Select-Object -ErrorAction SilentlyContinue -ExpandProperty "$($(Get-Culture).Name)").English) -match ((Get-Culture).EnglishName.split(' (')[0]) ) {
+ $lang = [string]'&lang=' + $($(Get-Culture).Name)
+ } ElseIf ((($language | Select-Object -ErrorAction SilentlyContinue -ExpandProperty "$($(Get-Culture).TwoLetterISOLanguageName)").English) -match ((Get-Culture).EnglishName) ) {
+ $lang = [string]'&lang=' + $($(Get-Culture).TwoLetterISOLanguageName)
+ } Else {
+ $lang = [string]'&lang=' + (([Threading.Thread]::CurrentThread.CurrentUICulture).Name.Split("-")[0])
+ } # Else
+
+ } Else {
+ $continue = $true
+ } # Else
+
+
+ $download_url = [string]'https://download.mozilla.org/?product=firefox-latest' + $os + $lang
+
+
+} ElseIf (($multiple_firefoxes -ne $true) -and ($admin_corner -eq $true)) {
+ $continue = $true
+} Else {
+ Return "Multiple Firefox installations detected. Please update the relevant Firefox versions manually by visiting for example https://www.mozilla.org/en-US/firefox/all/ or run this script again after reducing the total number of Firefox installations to one. Exiting without updating (at Step 15)."
+} # Else (If $multiple_firefoxes)
+
+
+
+
+# Step 16
+# Download the latest installation file for Firefox for Windows
+If (($firefox_is_installed -eq $true) -and ($downloading_firefox_is_required -eq $true)) {
+
+ $task_number = 4
+ $task = "Downloading a full offline $bit_number-bit Firefox installer from $download_url"
+ Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+
+ $download_file = "Firefox_Setup.exe"
+ $firefox_save_location = "$path\$download_file"
+ $firefox_is_downloaded = $false
+
+ # Purge existing old Firefox installation files
+ If ((Test-Path $firefox_save_location) -eq $true) {
+ Write-Verbose "Deleting $firefox_save_location"
+ Remove-Item -Path "$firefox_save_location"
+ } Else {
+ $continue = $true
+ } # Else
+
+ try
+ {
+ $download_firefox = New-Object System.Net.WebClient
+ $download_firefox.DownloadFile($download_url, $firefox_save_location)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $download_url"
+ $empty_line | Out-String
+ Return "Exiting without installing a new Firefox version (at Step 16)."
+ }
+
+ Start-Sleep -s 2
+
+ If ((Test-Path $firefox_save_location) -eq $true) {
+ $firefox_is_downloaded = $true
+ } Else {
+ $firefox_is_downloaded = $false
+ } # Else
+
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 17
+# Exit all browsers
+$task_number = 8
+$task = "Stopping Firefox -related processes..."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+Stop-Process -ProcessName '*messenger*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'FlashPlayer*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'plugin-container*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'chrome*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'opera*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'firefox' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'iexplore' -ErrorAction SilentlyContinue -Force
+Start-Sleep -s 4
+
+
+
+
+# Step 18
+# Install Firefox silently on top of the existing Firefox installation
+# For the Firefox installation configuration ini file, please see the Step 14.
+# Source: https://wiki.mozilla.org/Installer:Command_Line_Arguments
+
+<#
+ Silent install (always installs into the default location. Use the "Configuration ini file" option below to set the install location and other install options):
+ -ms
+
+ Silent uninstall:
+ /S
+
+ Configuration ini file (When specifying a configuration ini file the installer will always run silently):
+ [/INI=]
+
+ The silent install applies only to the full installer and not the stub installer. If you want to perform a silent install you cannot do so with the stub installer and you must use the full installer.
+ Full installers for Firefox can be found at http://www.mozilla.org/firefox/all/ (or for Firefox ESR at http://www.mozilla.org/firefox/organizations/all/ ).
+#>
+
+$task_number = 11
+$task = "Installing Firefox..."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+If ($firefox_is_downloaded -eq $true) {
+
+ $task_number = 10
+ $task = "Installing Firefox..."
+ Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+ cd $path
+ .\Firefox_Setup.exe /INI="$path\$ini_file" | Out-Null
+ cd $script_path
+ Start-Sleep -s 5
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 19
+# Try to find out which Firefox versions, if any, are installed on the system after the update
+$task_number = 15
+$task = "Enumerating the Firefox versions found on the system after the update..."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+
+# Determine whether Firefox is installed or not
+$firefox_is_installed = $false
+If ((Check-InstalledSoftware "*Firefox*") -ne $null) {
+ $firefox_is_installed = $true
+} Else {
+ $continue = $true
+} # Else
+
+
+# Enumerate the installed Firefoxes after the update
+$32_bit_firefox_is_installed = $false
+$64_bit_firefox_is_installed = $false
+$registry_paths_after_update = Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { ($_.DisplayName -like "*Firefox*" ) -and ($_.Publisher -like "Mozilla*" )}
+
+If ($registry_paths_after_update -ne $null) {
+
+ ForEach ($new_firefox in $registry_paths_after_update) {
+
+ # Custom Values
+ If (($new_firefox.DisplayName.Split(" ")[-1] -match "\(") -eq $false) {
+ $locale_new = ($new_firefox.DisplayName.Split(" ")[-1]).Replace(")","")
+ } Else {
+ $continue = $true
+ } # Else
+
+
+ If (($new_firefox.DisplayName.Split(" ")[-1] -match "\(x") -eq $true) {
+
+ If ($new_firefox.DisplayName.Split(" ")[-1] -like "(x86") {
+ $32_bit_firefox_is_installed = $true
+ $type_new = "32-bit"
+ } ElseIf ($new_firefox.DisplayName.Split(" ")[-1] -like "(x64") {
+ $64_bit_firefox_is_installed = $true
+ $type_new = "64-bit"
+ } Else {
+ $continue = $true
+ } # Else
+
+ } ElseIf (($new_firefox.DisplayName.Split(" ")[-2] -match "\(x") -eq $true) {
+
+ If ($new_firefox.DisplayName.Split(" ")[-2] -like "(x86") {
+ $32_bit_firefox_is_installed = $true
+ $type_new = "32-bit"
+ } ElseIf ($new_firefox.DisplayName.Split(" ")[-2] -like "(x64") {
+ $64_bit_firefox_is_installed = $true
+ $type_new = "64-bit"
+ } Else {
+ $continue = $true
+ } # Else
+
+ } Else {
+ $continue = $true
+ } # Else
+
+
+ $product_version_new = ((Get-ItemProperty -Path "$($new_firefox.InstallLocation)\Firefox.exe" -ErrorAction SilentlyContinue -Name VersionInfo).VersionInfo).ProductVersion
+ $regex_stability = $product_version_new -match "(\d+)\.(\d+)\.(\d+)"
+ $regex_major = $product_version_new -match "(\d+)\.(\d+)"
+ If (($product_version_new -ne $null) -and ($regex_stability -eq $true)) { $product_version_new -match "(?\d+)\.(?\d+)\.(?\d+)" } Else { $continue = $true }
+ If (($product_version_new -ne $null) -and ($regex_stability -eq $false) -and ($regex_major -eq $true)) { $product_version_new -match "(?\d+)\.(?\d+)" } Else { $continue = $true }
+
+
+ $after_update_firefoxes += $obj_updated_firefox = New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $new_firefox.DisplayName.Replace("(TM)","")
+ 'Publisher' = $new_firefox.Publisher
+ 'Product' = $new_firefox.DisplayName.Split(" ")[1]
+ 'Type' = $type_new
+ 'Locale' = $locale_new
+ 'Major Version' = If ($Matches.B1 -ne $null) { $Matches.B1 } Else { $continue = $true }
+ 'Minor Version' = If ($Matches.B2 -ne $null) { $Matches.B2 } Else { $continue = $true }
+ 'Build Number' = If ($Matches.B3 -ne $null) { $Matches.B3 } Else { "-" }
+ 'Computer' = $computer
+ 'Install Location' = $new_firefox.InstallLocation
+ 'Standard Uninstall String' = $new_firefox.UninstallString.Trim('"')
+ 'Release Notes' = $new_firefox.URLUpdateInfo
+ 'Identifying Number' = $new_firefox.PSChildName
+ 'Version' = $new_firefox.DisplayVersion
+ } # New-Object
+ } # foreach ($new_firefox)
+
+
+ # Display the Firefox Version Enumeration in console
+ If ($after_update_firefoxes -ne $null) {
+ $after_update_firefoxes.PSObject.TypeNames.Insert(0,"Firefox Versions After the Update")
+ $after_update_firefoxes_selection = $after_update_firefoxes | Select-Object 'Name','Publisher','Product','Type','Locale','Major Version','Minor Version','Build Number','Computer','Install Location','Standard Uninstall String','Release Notes','Version'
+ $empty_line | Out-String
+ $header_new = "Firefox Versions Found on the System After the Update"
+ $coline_new = "-----------------------------------------------------"
+ Write-Output $header_new
+ $coline_new | Out-String
+ Write-Output $after_update_firefoxes_selection
+ } Else {
+ $continue = $true
+ } # Else
+
+} Else {
+ $continue = $true
+} # Else (Step 19)
+
+
+
+
+# Step 20
+# Determine the success rate of the update process.
+$task_number = 16
+$task = "Determining the success rate of the update process..."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+
+$multiple_firefoxes_after_update = $false
+If ((($after_update_firefoxes | Measure-Object Name).Count) -eq 0) {
+ $success = $false
+ $empty_line | Out-String
+ Write-Warning "No Firefox seems to be installed on the system."
+ $empty_line | Out-String
+ Return "The most recent non-beta Firefox version is $most_recent_firefox_version. This script tried to update Firefox, but something went wrong with the installation. Instead of updating Firefox this script uninstalled all versions of Firefox. Exiting at Step 20."
+} ElseIf ((($after_update_firefoxes | Measure-Object Name).Count) -eq 1) {
+ # One instance of Firefox seems to be installed.
+ $continue = $true
+} ElseIf ((($after_update_firefoxes | Measure-Object Name).Count) -ge 2) {
+ $success = $false
+ $empty_line | Out-String
+ Write-Warning "More than one instance of Firefox seems to be installed on the system."
+ $multiple_firefoxes_after_update = $true
+ $empty_line | Out-String
+ Return "The most recent non-beta Firefox version is $most_recent_firefox_version. This script tried to update Firefox, but something went wrong with the installation. Instead of updating Firefox this script installed yet another version of Firefox. Currently the versions $($after_update_firefoxes.Version) are installed. Exiting at Step 20."
+} Else {
+ $continue = $true
+} # Else
+
+
+$most_recent_firefox_after_update = Check-InstalledSoftware "Mozilla Firefox $($most_recent_firefox_version)*"
+If (($firefox_is_installed -eq $true) -and ($downloading_firefox_is_required -eq $true) -and ($after_update_firefoxes -ne $null) -and ($multiple_firefoxes_after_update -eq $false)) {
+
+ If ($most_recent_firefox_after_update -eq $null) {
+ $success = $false
+ $empty_line | Out-String
+ Write-Warning "Failed to update Mozilla Firefox"
+ $empty_line | Out-String
+ Return "$($after_update_firefoxes.Name) seems to be outdated. The most recent non-beta Firefox version is $most_recent_firefox_version. The installed Firefox version $($after_update_firefoxes.Version) needs to be updated. This script tried to update Firefox, but failed to do so."
+
+ } ElseIf ($most_recent_firefox_after_update) {
+
+ $success = $true
+ $locale = If (($most_recent_firefox_after_update.DisplayName.Split(" ")[-1] -match "\(") -eq $false) {
+ If ($powershell_v2_or_earlier -eq $true) {
+ $language.Get_Item(($most_recent_firefox_after_update.DisplayName.Split(" ")[-1]).Replace(")",""))
+ } Else {
+ $language | Select-Object -ExpandProperty (($most_recent_firefox_after_update.DisplayName.Split(" ")[-1]).Replace(")",""))
+ } # Else
+
+ } Else {
+ $continue = $true
+ } # Else ($locale)
+
+ If ($powershell_v2_or_earlier -eq $true) {
+ try
+ {
+ $release_date = $all_dates.Get_Item($most_recent_firefox_after_update.DisplayVersion)
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } Else {
+ try
+ {
+ $release_date = $all_dates | Select-Object -ExpandProperty $most_recent_firefox_after_update.DisplayVersion
+ }
+ catch
+ {
+ $message = $error[0].Exception
+ Write-Verbose $message
+ }
+ } # Else
+
+ $obj_success_firefox += New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $most_recent_firefox_after_update.DisplayName.replace("(TM)","")
+ 'Publisher' = $most_recent_firefox_after_update.Publisher
+ 'Product' = $most_recent_firefox_after_update.DisplayName.Split(" ")[1]
+ 'Type' = $after_update_firefoxes.Type
+ 'Locale' = $locale
+ 'Computer' = $computer
+ 'Install_Location' = $most_recent_firefox_after_update.InstallLocation
+ 'Release Notes' = $most_recent_firefox_after_update.URLUpdateInfo
+ 'Standard Uninstall String' = $most_recent_firefox_after_update.UninstallString.Trim('"')
+ 'Identifying Number' = $most_recent_firefox_after_update.PSChildName
+ 'Release_Date' = $release_date
+ 'Version' = $most_recent_firefox_after_update.DisplayVersion
+
+ } # New-Object
+ $obj_success_firefox.PSObject.TypeNames.Insert(0,"Successfully Updated Firefox Version")
+
+ $empty_line | Out-String
+ Write-Output "Currently (until the next Firefox version is released) the $($($obj_success_firefox.Locale).English) $($obj_success_firefox.Type) $($obj_success_firefox.Name) released on $((Get-Date ($obj_success_firefox.Release_Date)).ToShortDateString()) doesn't need any further maintenance or care."
+ $empty_line | Out-String
+ Write-Output "The installed Firefox seems to be OK."
+
+ } Else {
+ $continue = $true
+ } # Else
+
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 21
+# Check if the installed version of Firefox is the latest by opening a web page in the default browser
+# Congrats! You're using the latest version of Firefox.
+$task_number = 17
+$task = "Verifying that the Firefox has been installed by opening a web page in the default browser..."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+If ($obj_success_firefox -ne $null) {
+ Start-Process -FilePath "$($obj_success_firefox.Install_Location)\firefox.exe" -ArgumentList "https://www.mozilla.org/en-US/firefox/new/"
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 22
+# Close the progress bar
+$task_number = 19
+$task = "Finished updating Firefox."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100) -Completed
+
+
+# Find out how long the script took to complete
+$end_time = Get-Date
+$runtime = ($end_time) - ($start_time)
+
+ If ($runtime.Days -ge 2) {
+ $runtime_result = [string]$runtime.Days + ' days ' + $runtime.Hours + ' h ' + $runtime.Minutes + ' min'
+ } ElseIf ($runtime.Days -gt 0) {
+ $runtime_result = [string]$runtime.Days + ' day ' + $runtime.Hours + ' h ' + $runtime.Minutes + ' min'
+ } ElseIf ($runtime.Hours -gt 0) {
+ $runtime_result = [string]$runtime.Hours + ' h ' + $runtime.Minutes + ' min'
+ } ElseIf ($runtime.Minutes -gt 0) {
+ $runtime_result = [string]$runtime.Minutes + ' min ' + $runtime.Seconds + ' sec'
+ } ElseIf ($runtime.Seconds -gt 0) {
+ $runtime_result = [string]$runtime.Seconds + ' sec'
+ } ElseIf ($runtime.Milliseconds -gt 1) {
+ $runtime_result = [string]$runtime.Milliseconds + ' milliseconds'
+ } ElseIf ($runtime.Milliseconds -eq 1) {
+ $runtime_result = [string]$runtime.Milliseconds + ' millisecond'
+ } ElseIf (($runtime.Milliseconds -gt 0) -and ($runtime.Milliseconds -lt 1)) {
+ $runtime_result = [string]$runtime.Milliseconds + ' milliseconds'
+ } Else {
+ $runtime_result = [string]''
+ } # Else (if)
+
+ If ($runtime_result.Contains(" 0 h")) {
+ $runtime_result = $runtime_result.Replace(" 0 h"," ")
+ } If ($runtime_result.Contains(" 0 min")) {
+ $runtime_result = $runtime_result.Replace(" 0 min"," ")
+ } If ($runtime_result.Contains(" 0 sec")) {
+ $runtime_result = $runtime_result.Replace(" 0 sec"," ")
+ } # if ($runtime_result: first)
+
+# Display the runtime in console
+$empty_line | Out-String
+$timestamp_end = Get-Date -Format hh:mm:ss
+$end_text = "$timestamp_end - The Firefox Update Protocol completed."
+Write-Output $end_text
+$empty_line | Out-String
+$runtime_text = "The update took $runtime_result."
+Write-Output $runtime_text
+$empty_line | Out-String
+
+
+
+
+# [End of Line]
+
+
+
+
+<#
+
+ _____
+ / ____|
+ | (___ ___ _ _ _ __ ___ ___
+ \___ \ / _ \| | | | '__/ __/ _ \
+ ____) | (_) | |_| | | | (_| __/
+ |_____/ \___/ \__,_|_| \___\___|
+
+
+http://powershell.com/cs/PowerTips_Monthly_Volume_8.pdf#IDERA-1702_PS-PowerShellMonthlyTipsVol8-jan2014 # Tobias Weltner: "PowerTips Monthly vol 8 January 2014"
+http://powershell.com/cs/blogs/tips/archive/2011/05/04/test-internet-connection.aspx # ps1: "Test Internet connection"
+http://stackoverflow.com/questions/17601528/read-json-object-in-powershell-2-0#17602226 # Goyuix: "Read Json Object in Powershell 2.0"
+http://powershell.com/cs/forums/t/9685.aspx # lamaar75: "Creating a Menu"
+http://stackoverflow.com/questions/29266622/how-to-run-exe-with-without-elevated-privileges-from-powershell?rq=1 # alejandro5042: "How to run exe with/without elevated privileges from PowerShell"
+http://stackoverflow.com/questions/5466329/whats-the-best-way-to-determine-the-location-of-the-current-powershell-script?noredirect=1&lq=1 # JaredPar and Matthew Pirocchi "What's the best way to determine the location of the current PowerShell script?"
+http://stackoverflow.com/questions/10941756/powershell-show-elapsed-time # Jeff: "Powershell show elapsed time"
+
+
+ _ _ _
+ | | | | | |
+ | |__| | ___| |_ __
+ | __ |/ _ \ | '_ \
+ | | | | __/ | |_) |
+ |_| |_|\___|_| .__/
+ | |
+ |_|
+#>
+
+<#
+
+.SYNOPSIS
+Retrieves the latest Mozilla Firefox version numbers from the Internets, and looks
+for the installed Firefox versions on the system. If an outdated Firefox version
+is found, tries to update Firefox.
+
+.DESCRIPTION
+Update-MozillaFirefox downloads a list of the most recent Firefox version numbers
+against which it compares the Firefox version numbers found on the system and
+displays, whether a Firefox update is needed or not. Update-MozillaFirefox detects
+the installed Firefoxes by querying the Windows registry for installed programs.
+The keys from
+HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ and
+HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\ are read on 64-bit
+computers, and on the 32-bit computers only the latter path is accessed. At Step 7
+Update-MozillaFirefox downloads and writes several Firefox-related files, namely
+"firefox_current_versions.json", "firefox_release_history.json",
+"firefox_major_versions.json", "firefox_languages.json" and "firefox_regions.json",
+which Update-MozillaFirefox uses as data sources. When run in a 'normal' PowerShell
+window, and all the detected Firefox versions seem to be up-to-date,
+Update-MozillaFirefox will just check that everything is OK and leave without
+further ceremony at Step 11.
+
+If Update-MozillaFirefox is run without elevated rights (but with a working Internet
+connection) in a machine with an old Firefox version, it will be shown that
+a Firefox update is needed, but Update-MozillaFirefox will exit at Step 12 before
+downloading any files. To perform an update with Update-MozillaFirefox, PowerShell
+has to be run in an elevated window (run as an administrator). If
+Update-MozillaFirefox is run in an elevated PowerShell window and no Firefox is
+detected, the script offers the option to install Firefox in the "Admin Corner"
+(step 11), where, in contrary to the main autonomous nature of Update-MozillaFirefox,
+an end-user input is required for selecting the bit-version and the language. In
+the "Admin Corner", one instance of either 32-bit or 64-bit version in one of the
+available languages is installable with Update-MozillaFirefox – the language
+selection covers over 30 languages.
+
+In the update procedure itself Update-MozillaFirefox downloads a full Firefox
+installer from Mozilla, which is equal to the type that is already installed on
+the system (same bit version and language). After writing the Install Configuration
+File (firefox_configuration.ini to $path at Step 14, where, for instance,
+the automatic Mozilla Maintenance service is disabled and the default shortcuts
+are enabled) and stopping several Firefox-related processes, Update-MozillaFirefox
+installs the downloaded Firefox on top of the existing Firefox installation,
+which triggers the in-built Firefox update procedure.
+
+.OUTPUTS
+Displays Firefox related information in console. Tries to update an outdated Firefox
+to its latest version, if an old Firefox installation is found, and if
+Update-MozillaFirefox is run in an elevated Powershell window. In addition to that...
+
+
+At Step 7 the baseline Firefox version numbers are written to a file
+(firefox_current_versions.json) and also four additional auxillary JSON files
+are created, namely:
+
+
+ Firefox JSON Files (at Step 7):
+
+
+ firefox_current_versions.json %TEMP%\firefox_current_versions.json
+ firefox_release_history.json %TEMP%\firefox_release_history.json
+ firefox_major_versions.json %TEMP%\firefox_major_versions.json
+ firefox_languages.json %TEMP%\firefox_languages.json
+ firefox_regions.json %TEMP%\firefox_regions.json
+
+
+ The %TEMP% location represents the current Windows temporary file folder.
+ In PowerShell, for instance the the command $env:temp displays the temp-folder
+ path.
+
+
+If the actual update procedure including the installation file downloading
+is initiated, a Firefox Install Configuration File (firefox_configuration.ini) is
+created with one active parameter (other parameters inside the file are commented
+out):
+
+
+ Install Configuration File (at Step 14):
+
+
+ firefox_configuration.ini %TEMP%\firefox_configuration.ini
+
+
+ The %TEMP% location represents the current Windows temporary file folder.
+ In PowerShell, for instance the the command $env:temp displays the temp-folder
+ path.
+
+
+To see the actual values that are being written, please see the Step 14 above,
+where the following value is written: (altering the duplicated value below won't
+affect the script in any meaningful way)
+
+
+ MaintenanceService=false The MozillaMaintenance service is used for silent
+ updates and may be used for other maintenance
+ related tasks. It is an optional component. This
+ option can be used in Firefox 16 or later to skip
+ installing the service.
+
+
+For a comprehensive list of available settings and a more detailed description
+of the value above, please see the "Installer:Command Line Arguments" at
+https://wiki.mozilla.org/Installer:Command_Line_Arguments
+
+
+To open these file locations in a Resource Manager Window, for instance a command
+
+
+ Invoke-Item $env:temp
+
+
+may be used at the PowerShell prompt window [PS>].
+
+.NOTES
+Requires either (a) PowerShell v3 or later or (b) .NET 3.5 or later for importing
+and converting JSON-files (at Step 8).
+
+Requires a working Internet connection for downloading a list of the most recent
+Firefox version numbers and for downloading a complete Firefox installer from
+Mozilla (but the latter procedure is not initiated, if the system is deemed
+up-to-date).
+
+For performing any actual updates with Update-MozillaFirefox, it's mandatory to
+run this script in an elevated PowerShell window (where PowerShell has been started
+with the 'run as an administrator' option). The elevated rights are needed for
+installing Firefox on top of the exising Firefox installation.
+
+Update-MozillaFirefox is designed to update only one instance of Firefox. If more
+than one instances of Firefox are detected, the script will notify the user in
+Step 5, and furthermore, if old Firefox(es) are detected, the script will exit
+before downloading the installation file at Step 15.
+
+Please note that the Firefox installation configuration file written at Step 14
+disables the Mozilla Maintenance service so that the Mozilla Maintenance service
+will not be installed during the Firefox update. The values set with the Install
+Configuration File (firefox_configuration.ini) are altering the system files and
+seemingly are written somewhere deeper to the innards of Mozilla Firefox
+semi-permanently.
+
+Please also notice that when run in an elevated PowerShell window and an old
+Firefox version is detected, Update-MozillaFirefox will automatically try to
+download files from the Internet without prompting the end-user beforehand or
+without asking any confirmations (at Step 16 and onwards) and at Step 17 closes
+a bunch of processes without any further notice.
+
+Please note that the downloaded files are placed in a directory, which is specified
+with the $path variable (at line 42). The $env:temp variable points to the current
+temp folder. The default value of the $env:temp variable is
+C:\Users\\AppData\Local\Temp (i.e. each user account has their own
+separate temp folder at path %USERPROFILE%\AppData\Local\Temp). To see the current
+temp path, for instance a command
+
+ [System.IO.Path]::GetTempPath()
+
+may be used at the PowerShell prompt window [PS>]. To change the temp folder for instance
+to C:\Temp, please, for example, follow the instructions at
+http://www.eightforums.com/tutorials/23500-temporary-files-folder-change-location-windows.html
+
+ Homepage: https://github.com/auberginehill/update-mozilla-firefox
+ Short URL: http://tinyurl.com/gr75tjx
+ Version: 1.6
+
+.EXAMPLE
+./Update-MozillaFirefox
+Runs the script. Please notice to insert ./ or .\ before the script name.
+
+.EXAMPLE
+help ./Update-MozillaFirefox -Full
+Displays the help file.
+
+.EXAMPLE
+Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
+This command is altering the Windows PowerShell rights to enable script execution
+in the default (LocalMachine) scope, and defines the conditions under which Windows
+PowerShell loads configuration files and runs scripts in general. In Windows Vista
+and later versions of Windows, for running commands that change the execution policy
+of the LocalMachine scope, Windows PowerShell has to be run with elevated rights
+(Run as Administrator). The default policy of the default (LocalMachine) scope is
+"Restricted", and a command "Set-ExecutionPolicy Restricted" will "undo" the changes
+made with the original example above (had the policy not been changed before...).
+Execution policies for the local computer (LocalMachine) and for the current user
+(CurrentUser) are stored in the registry (at for instance the
+HKLM:\Software\Policies\Microsoft\Windows\PowerShell\ExecutionPolicy key), and remain
+effective until they are changed again. The execution policy for a particular session
+(Process) is stored only in memory, and is discarded when the session is closed.
+
+
+ Parameters:
+
+ Restricted Does not load configuration files or run scripts, but permits
+ individual commands. Restricted is the default execution policy.
+
+ AllSigned Scripts can run. Requires that all scripts and configuration
+ files be signed by a trusted publisher, including the scripts
+ that have been written on the local computer. Risks running
+ signed, but malicious, scripts.
+
+ RemoteSigned Requires a digital signature from a trusted publisher on scripts
+ and configuration files that are downloaded from the Internet
+ (including e-mail and instant messaging programs). Does not
+ require digital signatures on scripts that have been written on
+ the local computer. Permits running unsigned scripts that are
+ downloaded from the Internet, if the scripts are unblocked by
+ using the Unblock-File cmdlet. Risks running unsigned scripts
+ from sources other than the Internet and signed, but malicious,
+ scripts.
+
+ Unrestricted Loads all configuration files and runs all scripts.
+ Warns the user before running scripts and configuration files
+ that are downloaded from the Internet. Not only risks, but
+ actually permits, eventually, running any unsigned scripts from
+ any source. Risks running malicious scripts.
+
+ Bypass Nothing is blocked and there are no warnings or prompts.
+ Not only risks, but actually permits running any unsigned scripts
+ from any source. Risks running malicious scripts.
+
+ Undefined Removes the currently assigned execution policy from the current
+ scope. If the execution policy in all scopes is set to Undefined,
+ the effective execution policy is Restricted, which is the
+ default execution policy. This parameter will not alter or
+ remove the ("master") execution policy that is set with a Group
+ Policy setting.
+ __________
+ Notes: - Please note that the Group Policy setting "Turn on Script Execution"
+ overrides the execution policies set in Windows PowerShell in all
+ scopes. To find this ("master") setting, please, for example, open
+ the Local Group Policy Editor (gpedit.msc) and navigate to
+ Computer Configuration > Administrative Templates >
+ Windows Components > Windows PowerShell.
+
+ - The Local Group Policy Editor (gpedit.msc) is not available in any
+ Home or Starter edition of Windows.
+
+ - Group Policy setting "Turn on Script Execution":
+
+ Not configured : No effect, the default
+ value of this setting
+ Disabled : Restricted
+ Enabled - Allow only signed scripts : AllSigned
+ Enabled - Allow local scripts and remote signed scripts : RemoteSigned
+ Enabled - Allow all scripts : Unrestricted
+
+
+For more information, please type "Get-ExecutionPolicy -List", "help Set-ExecutionPolicy -Full",
+"help about_Execution_Policies" or visit https://technet.microsoft.com/en-us/library/hh849812.aspx
+or http://go.microsoft.com/fwlink/?LinkID=135170.
+
+.EXAMPLE
+New-Item -ItemType File -Path C:\Temp\Update-MozillaFirefox.ps1
+Creates an empty ps1-file to the C:\Temp directory. The New-Item cmdlet has an inherent
+-NoClobber mode built into it, so that the procedure will halt, if overwriting (replacing
+the contents) of an existing file is about to happen. Overwriting a file with the New-Item
+cmdlet requires using the Force. If the path name and/or the filename includes space
+characters, please enclose the whole -Path parameter value in quotation marks (single or
+double):
+
+ New-Item -ItemType File -Path "C:\Folder Name\Update-MozillaFirefox.ps1"
+
+For more information, please type "help New-Item -Full".
+
+.LINK
+http://powershell.com/cs/PowerTips_Monthly_Volume_8.pdf#IDERA-1702_PS-PowerShellMonthlyTipsVol8-jan2014
+http://powershell.com/cs/blogs/tips/archive/2011/05/04/test-internet-connection.aspx
+http://stackoverflow.com/questions/17601528/read-json-object-in-powershell-2-0#17602226
+http://powershell.com/cs/forums/t/9685.aspx
+http://stackoverflow.com/questions/29266622/how-to-run-exe-with-without-elevated-privileges-from-powershell?rq=1
+http://stackoverflow.com/questions/5466329/whats-the-best-way-to-determine-the-location-of-the-current-powershell-script?noredirect=1&lq=1
+http://stackoverflow.com/questions/10941756/powershell-show-elapsed-time
+http://stackoverflow.com/questions/1825585/determine-installed-powershell-version?rq=1
+https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/convertfrom-json
+https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/convertfrom-stringdata
+https://blogs.technet.microsoft.com/heyscriptingguy/2014/04/23/powertip-convert-json-file-to-powershell-object/
+http://stackoverflow.com/questions/32887583/powershell-v2-converts-dictionary-to-array-when-returned-from-a-function
+http://powershelldistrict.com/powershell-json/
+https://technet.microsoft.com/en-us/library/ff730939.aspx
+https://technet.microsoft.com/en-us/library/ee692803.aspx
+https://www.credera.com/blog/technology-insights/perfect-progress-bars-for-powershell/
+http://kb.mozillazine.org/Software_Update
+https://wiki.mozilla.org/Installer:Command_Line_Arguments
+https://wiki.mozilla.org/Software_Update:Checking_For_Updates
+https://ftp.mozilla.org/pub/firefox/releases/latest/README.txt
+http://kb.mozillazine.org/App.update.url
+
+#>
\ No newline at end of file
diff --git a/Applications/Flash Player/Force-Remove.ps1 b/Applications/Flash Player/Force-Remove.ps1
new file mode 100644
index 0000000..621eb48
--- /dev/null
+++ b/Applications/Flash Player/Force-Remove.ps1
@@ -0,0 +1,126 @@
+<#
+===========================================================================
+ Created on: 0/01/2021 13:06
+ Created by: Ben Whitmore
+ Organization: -
+ Filename: Install_Flash_Removal_KB4577586.ps1
+ Target System: Windows 10 , Windows Server 2012/R2 | 2016 | 2019 | 1903 | 1909 | 2004
+===========================================================================
+
+Version:
+1.2.1 - 22/01/2021
+Added support for Server OS - Thanks @Hoorge for the suggestion
+
+1.2 - 04/01/2021
+Fixed 20H2 coding error - Credit @AndyUpperton
+
+1.1 02/01/2021
+Basic Transcript Logging added
+
+1.0 - 01/01/2021
+Release
+#>
+
+#Set Current Directory
+$ScriptPath = $MyInvocation.MyCommand.Path
+$CurrentDir = Split-Path $ScriptPath
+
+$Log = Join-Path $ENV:TEMP "Flash_Uninstall.log"
+Start-Transcript $Log
+
+#Set WUSA.EXE Variable
+$WUSA = "$env:systemroot\System32\wusa.exe"
+
+#Get OS Product Name
+$OS_ProductName = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' ProductName).ProductName
+
+#Build OS Version String
+Switch ($OS_ProductName) {
+ { $_.StartsWith("Windows 10") } { $OS_String = ($OS_ProductName -split "\s+" | Select-Object -First 2) -Join ' ' }
+ { $_.StartsWith("Windows Server 2012 R2") } { $OS_String = ($OS_ProductName -split "\s+" | Select-Object -First 4) -Join ' ' }
+ { ($_.StartsWith("Windows Server") -and (!($_.Contains("R2")))) } { $OS_String = ($OS_ProductName -split "\s+" | Select-Object -First 3) -Join ' ' }
+}
+
+#Get OS Release ID for valid OS's
+If (!($OS_String -match "Server 2012")) {
+ $OS_ReleaseID = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' ReleaseId).ReleaseId
+}
+else {
+ Write-Output "Skipping check of Release ID for $($OS_ProductName)"
+}
+
+#Rename $OS_ReleaseID variable for "Windows 10 20H2" and "Windows Server, version 1909" because the same KB update is used for both 2004 and 2009
+If (($OS_ReleaseID -eq "2009" -and $OS_ProductName -match "Windows 10")) {
+ $OS_ReleaseID = "2004"
+}
+
+#Build OS Version Name variable
+Switch ($OS_String) {
+ { $_.Equals("Windows 10") } { $Version_String = $OS_String + " Version " + $OS_ReleaseID }
+ { $_.StartsWith("Windows Server 2") } { $Version_String = $OS_String }
+ { $_.StartsWith("Windows Server,") } { $Version_String = $OS_String + $OS_ReleaseID }
+}
+
+#Get OS Architecture
+$OS_Architecture = Switch (Get-CIMInstance -Namespace "ROOT\CIMV2" -Class "Win32_Processor" | Select-Object -Unique -ExpandProperty Architecture) {
+ 9 { 'x64-based' }
+ 0 { 'x86-based' }
+ 5 { 'ARM64-based' }
+}
+
+$PatchRequired = "Update for Removal of Adobe Flash Player for " + $Version_String + " for " + $OS_Architecture + " systems (KB4577586)"
+
+#Get Patch Titles
+$PatchNames = Get-ChildItem $CurrentDir | Where-Object { $_.PSIsContainer } | Foreach-Object { $_.Name }
+
+#Check if the patch has been downloaded for the current system
+$PatchFound = $False
+
+#Check Installation
+$Patch = Get-Hotfix | Where-Object { $_.HotFixID -match "KB4577586" }
+If ($Patch) {
+ Write-Host "Patch Already Installed"
+}
+else {
+ Foreach ($Patch in $PatchNames) {
+ If ($Patch -eq $PatchRequired) {
+ $PatchFound = $True
+
+ #Get MSU from the correct Directory
+ $MSU = Get-ChildItem (Join-Path $CurrentDir $Patch) -Recurse | Where-Object { $_.Extension -eq ".msu" }
+ $MSUFullPath = Join-Path (Join-Path $CurrentDir $PatchRequired) $MSU.Name
+
+ #Set WUSA Args
+ $Args = @(
+ """$MSUFullPath"""
+ "/quiet"
+ "/norestart"
+ )
+ }
+ }
+
+ #Patch detection determines outcome
+ If ($PatchFound) {
+ Write-Host "Patch found for this system"
+ Write-Host "Patch Required: $($PatchRequired)"
+ Write-Host "Patch Name: $($MSU.Name)"
+ Write-Host "Installing Update..."
+
+ #Install Patch
+ Start-Process -FilePath $WUSA -ArgumentList $Args -Wait
+
+ #Check Installation
+ $Patch = Get-Hotfix | Where-Object { $_.HotFixID -match "KB4577586" }
+ If ($Patch) {
+ Write-Host "Patch Installed Successfully"
+ }
+ Else {
+ Write-Warning "Patch Installation Failed"
+ }
+ }
+ Else {
+ Write-Host "Patch not found for this system"
+ Write-Host "Patch Required: $($PatchRequired)"
+ }
+}
+Stop-Transcript
\ No newline at end of file
diff --git a/Applications/Java/Force-Update.ps1 b/Applications/Java/Force-Update.ps1
new file mode 100644
index 0000000..da191ba
--- /dev/null
+++ b/Applications/Java/Force-Update.ps1
@@ -0,0 +1,2268 @@
+<#
+Java-Update.ps1
+
+Please Note:
+- It's assumed that a 64-bit Java is going to be used in a 64-bit machine.
+- It's assumed that only one (the most recent non-beta available) version of Java is intended to be used.
+- If enough rights are deemed to be possessed (PowerShell has been started with the 'run as an administrator' option), any not up-to-date versions of Java will be uninstalled, and successively if the most recent non-beta version of Java is not found on the system, one instance will be installed (the 64-bit Java to a 64-bit machine and the 32-bit Java to a 32-bit machine).
+- So if, for example, 32-bit and 64-bit outdated Java is installed in a 64-bit machine, only the most recent 64-bit Java replaces those versions. For more granular uninstallation/installation procedures, please consider doing the uninstallation manually via the Control Panel or by using the Java Uninstall Tool (please see the Step 19 for futher details about the Java Uninstall Tool) and downloading the relevant files manually (for download URLs, please see the Step 16 below) or changing this script according to the prevailing preferences.
+- System Files are altered, for instance, in Steps 4, 5, 19 and 24.
+- Please consider reviewing at least the Steps 4 and 5, since eventually (after some update iterations) the written settings will also be used in the Java installations not initiated by this script.
+- Processes may be stopped in Step 6 and will be stopped in Step 18 without any further notification to the end-user or without any question prompts presented beforehand.
+#>
+
+
+$path = $env:temp
+$computer = $env:COMPUTERNAME
+$ErrorActionPreference = "Stop"
+$start_time = Get-Date
+$empty_line = ""
+$quote ='"'
+$unquote ='"'
+$original_javases = @()
+$duplicate_uninstall = @()
+$java_enumeration = @()
+$uninstalled_old_javas = @()
+$new_javases = @()
+
+
+# C:\Windows\system32\msiexec.exe
+$path_system_32 = [Environment]::GetFolderPath("System")
+$msiexec = "$path_system_32\msiexec.exe"
+
+# C:\Windows\system32\cmd.exe
+$cmd = "$path_system_32\cmd.exe"
+
+# General Java URLs:
+# Source: https://bugs.openjdk.java.net/browse/JDK-8005362
+$uninstaller_tool_url = "https://javadl-esd-secure.oracle.com/update/jut/JavaUninstallTool.exe"
+$uninstaller_info_url = "https://www.java.com/en/download/help/uninstall_java.xml"
+$release_history_url = "https://www.java.com/en/download/faq/release_dates.xml"
+$baseline_url = "https://javadl-esd-secure.oracle.com/update/baseline.version"
+
+# 32-bit Java ID Numbers (JRE 4 -)
+# Source: http://pastebin.com/73JqpTqv
+# Source: https://github.com/bmrf/standalone_scripts/blob/master/java_runtime_nuker.bat
+# Source: http://www.itninja.com/question/silent-uninstall-java-all-versions
+$regex_32_a = "{26A24AE4-039D-4CA4-87B4-2F32(\d+)..}"
+$regex_32_b = "{26A24AE4-039D-4CA4-87B4-2F.32(\d+)..}"
+$regex_32_c = "{3248F0A8-6813-11D6-A77B-00B0D0(\d+).}"
+$regex_32_d = "{7148F0A8-6813-11D6-A77B-00B0D0(\d+).}"
+
+# 64-bit Java ID Numbers (Java 6 Update 23 -)
+# Source: http://pastebin.com/73JqpTqv
+# Source: https://github.com/bmrf/standalone_scripts/blob/master/java_runtime_nuker.bat
+# Source: http://www.itninja.com/question/silent-uninstall-java-all-versions
+$regex_64_a = "{26A24AE4-039D-4CA4-87B4-2F64(\d+)..}"
+$regex_64_b = "{26A24AE4-039D-4CA4-87B4-2F.64(\d+)..}"
+
+
+
+
+# Step 1
+# Determine the architecture of a machine # Credit: Tobias Weltner: "PowerTips Monthly vol 8 January 2014"
+If ([IntPtr]::Size -eq 8) {
+ $empty_line | Out-String
+ "Running in a 64-bit subsystem" | Out-String
+ $64 = $true
+ $bit_number = "64"
+ $registry_paths = @(
+ 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*',
+ 'HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
+ )
+ $empty_line | Out-String
+} Else {
+ $empty_line | Out-String
+ "Running in a 32-bit subsystem" | Out-String
+ $64 = $false
+ $bit_number = "32"
+ $registry_paths = @(
+ 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'
+ )
+ $empty_line | Out-String
+} # Else
+
+# Determine if the script is run in an elevated window # Credit: alejandro5042: "How to run exe with/without elevated privileges from PowerShell"
+$is_elevated = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator")
+
+
+# Function to check whether a program is installed or not
+Function Check-InstalledSoftware ($display_name) {
+ Return Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName -eq $display_name }
+} # function
+
+
+# Function to check whether a certain version of Java is installed or not
+Function Check-JavaID ($id_number) {
+ Return Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { $_.PSChildName -match $id_number }
+} # function
+
+
+
+
+# Step 2
+# Find out the which kind of Java is installed
+$java_is_installed = $false
+$32_bit_java_is_installed = $false
+$64_bit_java_is_installed = $false
+$auto_updater_is_installed = $false
+
+$existing_javas = Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { ($_.DisplayName -like "*Java*" -or $_.DisplayName -like "*J2SE Runtime*") -and ($_.Publisher -like "Oracle*" -or $_.Publisher -like "Sun*" )}
+# $query= "select * from win32_Product where (Name like 'Java %' or Name like 'Java(TM)%' or Name like 'J2SE%') and (Name <> 'Java Auto Updater') and ((Vendor='Sun Microsystems, Inc.') or (Vendor='Oracle') or (Vendor='Oracle Corporation')) and (NOT Name like '%CompuGROUP%') and (NOT Name like '%IBM%') and (NOT Name like '%DB%') and (NOT Name like '%Advanced Imaging%') and (NOT Name like '%Media Framework%') and (NOT Name like '%SDK%') and (NOT Name like '%Development Kit%')"
+# https://poshuninstalljava.codeplex.com/SourceControl/latest#uninstall-java.ps1
+# Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { ($_.DisplayName -like "*Java*" -or $_.DisplayName -like "*J2SE Runtime*") -and ($_.Publisher -like "Oracle*" -or $_.Publisher -like "Sun*") -and (-not $_.DisplayName -like "*SDK*") -and (-not $_.DisplayName -like "*Development Kit*") }
+
+# Number of Installed Javas
+If ($existing_javas -eq $null) {
+ $number_of_installed_javas = 0
+} Else {
+ $number_of_installed_javas = ($existing_javas | Measure-Object).Count
+} # Else
+
+
+# Installed Java Types
+If ($existing_javas -ne $null) {
+
+ $java_is_installed = $true
+
+ ForEach ($original_java in $existing_javas) {
+
+ # Custom Uninstall Strings
+ $original_arguments = "/uninstall $($original_java.PSChildName) /qn /norestart"
+ $original_uninstall_string = "$msiexec /uninstall $($original_java.PSChildName) /qn"
+ $original_powershell_uninstall_string = [string]"Start-Process -FilePath $msiexec -ArgumentList " + $quote + $original_arguments + $unquote + " -Wait"
+ $original_product_version = ((Get-ItemProperty -Path "$($original_java.InstallLocation)\bin\java.exe" -ErrorAction SilentlyContinue -Name VersionInfo).VersionInfo).ProductVersion
+ $regex_build = If ($original_product_version -ne $null) { $original_product_version -match "(?\d+)\.(?\d+)\.(?\d+)\.(?\d+)" } Else { $continue = $true }
+
+
+ $original_javases += $obj_java = New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $original_java.DisplayName.replace("(TM)","")
+ 'Version' = $original_java.DisplayVersion
+ 'Major_Version' = [int32]$original_java.VersionMajor
+ 'Build_Number' = If ($Matches.P4 -ne $null) { [string]"b" + $Matches.P4 } Else { $continue = $true }
+ 'Install_Date' = $original_java.InstallDate
+ 'Install_Location' = $original_java.InstallLocation
+ 'Publisher' = $original_java.Publisher
+ 'Computer' = $computer
+ 'ID' = $original_java.PSChildName
+ 'Standard_Uninstall_String' = $original_java.UninstallString
+ 'Custom_Uninstall_String' = $original_uninstall_string
+ 'PowerShell_Uninstall_String' = $original_powershell_uninstall_string
+ 'Type' = If (($original_java.PSChildName -match $regex_32_a) -or ($original_java.PSChildName -match $regex_32_b) -or ($original_java.PSChildName -match $regex_32_c) -or ($original_java.PSChildName -match $regex_32_d)) {
+ "32-bit"
+ } ElseIf (($original_java.PSChildName -match $regex_64_a) -or ($original_java.PSChildName -match $regex_64_b)) {
+ "64-bit"
+ } Else {
+ $continue = $true
+ } # Else
+ 'Update_Number' = If (($original_java.PSChildName -match $regex_32_a) -or ($original_java.PSChildName -match $regex_32_b) -or ($original_java.PSChildName -match $regex_32_c) -or ($original_java.PSChildName -match $regex_32_d)) {
+ [int32]$original_java.DisplayName.Split()[-1]
+ } ElseIf (($original_java.PSChildName -match $regex_64_a) -or ($original_java.PSChildName -match $regex_64_b)) {
+ [int32]$original_java.DisplayName.Split()[-2]
+ } Else {
+ $continue = $true
+ } # Else
+
+ } # New-Object
+ } # ForEach ($original_java)
+ $original_javases.PSObject.TypeNames.Insert(0,"Original Installed Java Versions")
+} Else {
+ $continue = $true
+} # Else
+
+
+ # 32-bit Java
+ If ((Check-JavaID $regex_32_a -ne $null) -or (Check-JavaID $regex_32_b -ne $null) -or (Check-JavaID $regex_32_c -ne $null) -or (Check-JavaID $regex_32_d -ne $null)) {
+
+ $32_bit_java_is_installed = $true
+ $original_java_32_bit_powershell_uninstall_string = $original_javases | Where-Object { $_.Type -eq "32-bit" } | Select-Object -ExpandProperty PowerShell_Uninstall_String
+
+ } Else {
+ $continue = $true
+ } # Else
+
+
+ # 64-bit Java
+ If ((Check-JavaID $regex_64_a -ne $null) -or (Check-JavaID $regex_64_b -ne $null)) {
+
+ $64_bit_java_is_installed = $true
+ $original_java_64_bit_powershell_uninstall_string = $original_javases | Where-Object { $_.Type -eq "64-bit" } | Select-Object -ExpandProperty PowerShell_Uninstall_String
+
+ } Else {
+ $continue = $true
+ } # Else
+
+
+ # Installed Version(s)
+ $installed_java_version_text_format = ($original_javases | Select-Object -ExpandProperty Name)
+
+ # Installed Java Version Number(s)
+ $installed_java_version = $original_javases | Where-Object { $_.Name -ne "Java Auto Updater" } | Select-Object -ExpandProperty Version
+
+ # Installed Java Main Version(s)
+ $installed_java_major_version = $original_javases | Where-Object { $_.Name -ne "Java Auto Updater" } | Select-Object -ExpandProperty Major_Version
+
+ # Installed Java Update Number(s)
+ $installed_java_update_number = $original_javases | Where-Object { $_.Name -ne "Java Auto Updater" } | Select-Object -ExpandProperty Update_Number
+
+ # Installed Build Number(s)
+ $installed_java_build_number = $original_javases | Where-Object { $_.Name -ne "Java Auto Updater" } | Select-Object -ExpandProperty Build_Number
+
+ # Java Installation Path(s)
+ $java_home_path = $original_javases | Where-Object { $_.Name -ne "Java Auto Updater" } | Select-Object -ExpandProperty Install_Location
+
+ # Java Auto Updater Is Installed?
+ If (Check-InstalledSoftware "Java Auto Updater") { $auto_updater_is_installed = $true } Else { $continue = $true }
+
+ If (($auto_updater_is_installed -eq $true) -and ($number_of_installed_javas -eq 1)) {
+ # Only the Java Auto Updater is installed
+ $exception_one = $true
+ } Else {
+ $continue = $true
+ } # Else
+
+
+
+
+# Step 3
+# Gather more details about the latest installed version of Java
+$java_reg_path = 'HKLM:\Software\JavaSoft\Java Runtime Environment'
+If ((Test-Path $java_reg_path) -eq $true) {
+
+ # $java_8_is_installed = $true
+ $existing_installed_version = (Get-ItemProperty -Path $java_reg_path -Name CurrentVersion).CurrentVersion
+
+ # Java Installation Path
+ $java_home_path_reg = (Get-ItemProperty -Path "$java_reg_path\$existing_installed_version" -Name JavaHome).JavaHome
+
+ # Installed Java Description:
+ $installed_java_description = ((Get-ChildItem "$java_home_path_reg\bin\java.exe").VersionInfo.ProductName).Replace("(TM)","")
+
+ # Installed Java Version (legacy_format):
+ # 8.0.1110.14
+ $installed_java_version_alternative_legacy_format = (Get-ChildItem "$java_home_path_reg\bin\java.exe").VersionInfo.ProductVersion
+
+ # Latest installed Java Main Version:
+ $latest_installed_java_major_version = [int32](Get-ChildItem "$java_home_path_reg\bin\java.exe").VersionInfo.ProductMajorPart
+
+ # Installed Java Update Number (legacy_format):
+ # 1110
+ $installed_java_alternative_legacy_update_number = [int32](Get-ChildItem "$java_home_path_reg\bin\java.exe").VersionInfo.ProductBuildPart
+
+} Else {
+ $continue = $true
+} # Else (Step 3)
+
+
+
+
+# Step 4
+# Set the Java deployment properties and with an alternative method find out the build number
+# Note: Please consider reviewing these settings, since eventually (after some update iterations) these will also be used in the Java installations not initiated by this script.
+# Source: http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/properties.html
+
+<#
+
+ The following locations provide examples for each operating system:
+
+ Windows 7:
+ For user jsmith running on Windows 7, the deployment.properties file would be located in the following directory:
+ C:\Users\jsmith\AppData\LocalLow\Sun\Java\Deployment\deployment.properties
+ \LocalLow\Sun\Java\Deployment\deployment.properties
+
+ Linux:
+ For user bjones running on Solaris or Linux, the deployment.properties file would be located in the following directory:
+ /home/bjones/.java/deployment/deployment.properties
+ ${user.home}/.java/deployment/deployment.properties
+
+ OS X:
+ For user jdoe running on OS X, the deployment.properties file would be located in the following directory:
+ /Users/jdoe/Library/Application Support/Oracle/Java/Deployment/deployment.properties
+ ~/Library/Application Support/Oracle/Java/Deployment/deployment.properties
+
+#>
+
+If ((Test-Path $java_reg_path) -eq $true) {
+
+ # Step 4.1
+ # "deployment.properties" File Location # 1/2 (Store user settings in the roaming profile = false)
+ $appdata_path = [string][Environment]::GetFolderPath("LocalApplicationData") + 'Low\Sun\Java\Deployment'
+
+ If ((Test-Path $appdata_path\deployment.properties) -eq $true) {
+ $app_path = $appdata_path
+
+ If ((Test-Path $appdata_path\deployment.properties_original) -eq $true) {
+ # If the "original" version of the deployment.properties file exists, do not overwrite it, but instead create another backup that gets overwritten each time this script is run this deep
+ copy $appdata_path\deployment.properties $appdata_path\deployment.properties.old
+ } Else {
+ # If an "original" version of this file does not exist, create it (practically when this script is run for the first time)
+ copy $appdata_path\deployment.properties $appdata_path\deployment.properties_original
+ } # Else
+
+ # Get-Content $appdata_path\deployment.properties
+
+ $seed_file = "$appdata_path\deployment.properties"
+ $destination_file = "$appdata_path\deployment.properties.new"
+ $new_configuration_file = New-Item -ItemType File -Path "$destination_file" -Force
+
+ # Installed Java Version (Almost Full, with an underscore: x.y.z_nnn) - Legacy Format:
+ # 1.8.0_101
+ $installed_java_version_reg = ((Get-Content $seed_file | Select-String 'deployment.javaws.jre.0.product=') -split '=')[1]
+
+ # Installed Java Version (x.y.z) - Old Name:
+ $installed_baseline = $installed_java_version_reg.split("_")[0]
+
+ # Installed Java Update Number (nnn):
+ $installed_update_number_reg = [int32]$installed_java_version_reg.split("_")[1]
+
+
+ # Security Tab
+ # Disable Java content in the browser
+ If ((Get-Content $seed_file | Select-String 'deployment.webjava.enabled') -eq $null) {
+ # The 'display Java content in the browser' setting is missing = $true
+ $new_configuration_file
+ Add-Content $new_configuration_file -Value (Get-Content $seed_file)
+ Add-Content $new_configuration_file -Value 'deployment.webjava.enabled=false'
+ copy $destination_file $seed_file
+ } Else {
+ $continue = $true
+ } # Else
+
+ If ((Get-Content $seed_file | Select-String 'deployment.webjava.enabled=true') -eq $true) {
+ # Java content is enabled in the browser = $true
+ (Get-Content $seed_file) | Foreach-Object { $_ -replace 'deployment.webjava.enabled=true', 'deployment.webjava.enabled=false' } | Set-Content $destination_file
+ copy $destination_file $seed_file
+ } Else {
+ $continue = $true
+ } # Else
+
+
+ # Advanced Tab
+ # Disable Third Party Advertisements
+ If ((Get-Content $seed_file | Select-String 'install.disable.sponsor.offers') -eq $null) {
+ # The 'Third Party Advertisement' setting is missing = $true
+ $new_configuration_file
+ Add-Content $new_configuration_file -Value (Get-Content $seed_file)
+ Add-Content $new_configuration_file -Value 'install.disable.sponsor.offers=true'
+ copy $destination_file $seed_file
+ } Else {
+ $continue = $true
+ } # Else
+
+ If ((Get-Content $seed_file | Select-String 'install.disable.sponsor.offers=false') -eq $true) {
+ # The Third Party Advertisements are enabled = $true
+ (Get-Content $seed_file) | Foreach-Object { $_ -replace 'install.disable.sponsor.offers=false', 'install.disable.sponsor.offers=true' } | Set-Content $destination_file
+ copy $destination_file $seed_file
+ } Else {
+ $continue = $true
+ } # Else
+ } # if (Step 4.1)
+
+
+ # Step 4.2
+ # "deployment.properties" File Location # 2/2 (Store user settings in the roaming profile = true)
+ $alternative_appdata_path = [string][Environment]::GetFolderPath("ApplicationData") + '\Sun\Java\Deployment'
+
+ If ((Test-Path $alternative_appdata_path\deployment.properties) -eq $true) {
+ $app_path = $alternative_appdata_path
+
+ If ((Test-Path $alternative_appdata_path\deployment.properties_original) -eq $true) {
+ # If the "original" version of the deployment.properties file exists, do not overwrite it, but instead create another backup that gets overwritten each time this script is run this deep
+ copy $alternative_appdata_path\deployment.properties $alternative_appdata_path\deployment.properties.old
+ } Else {
+ # If an "original" version of this file does not exist, create it (practically when this script is run for the first time)
+ copy $alternative_appdata_path\deployment.properties $alternative_appdata_path\deployment.properties_original
+ } # Else
+
+ # Get-Content $alternative_appdata_path\deployment.properties
+
+ $seed_file = "$alternative_appdata_path\deployment.properties"
+ $destination_file = "$alternative_appdata_path\deployment.properties.new"
+ $new_configuration_file = New-Item -ItemType File -Path "$destination_file" -Force
+
+ # Installed Java Version (Almost Full, with an underscore: x.y.z_nnn) - Legacy Format:
+ # 1.8.0_101
+ $installed_java_version_reg = ((Get-Content $seed_file | Select-String 'deployment.javaws.jre.0.product=') -split '=')[1]
+
+ # Installed Java Version (x.y.z) - Old Name:
+ $installed_baseline = $installed_java_version_reg.split("_")[0]
+
+ # Installed Java Update Number (nnn):
+ $installed_update_number_reg = [int32]$installed_java_version_reg.split("_")[1]
+
+
+ # Security Tab
+ # Disable Java content in the browser
+ If ((Get-Content $seed_file | Select-String 'deployment.webjava.enabled') -eq $null) {
+ # The 'display Java content in the browser' setting is missing = $true
+ $new_configuration_file
+ Add-Content $new_configuration_file -Value (Get-Content $seed_file)
+ Add-Content $new_configuration_file -Value 'deployment.webjava.enabled=false'
+ copy $destination_file $seed_file
+ } Else {
+ $continue = $true
+ } # Else
+
+ If ((Get-Content $seed_file | Select-String 'deployment.webjava.enabled=true') -eq $true) {
+ # Java content is enabled in the browser = $true
+ (Get-Content $seed_file) | Foreach-Object { $_ -replace 'deployment.webjava.enabled=true', 'deployment.webjava.enabled=false' } | Set-Content $destination_file
+ copy $destination_file $seed_file
+ } Else {
+ $continue = $true
+ } # Else
+
+
+ # Advanced Tab
+ # Disable Third Party Advertisements
+ If ((Get-Content $seed_file | Select-String 'install.disable.sponsor.offers') -eq $null) {
+ # The 'Third Party Advertisement' setting is missing = $true
+ $new_configuration_file
+ Add-Content $new_configuration_file -Value (Get-Content $seed_file)
+ Add-Content $new_configuration_file -Value 'install.disable.sponsor.offers=true'
+ copy $destination_file $seed_file
+ } Else {
+ $continue = $true
+ } # Else
+
+ If ((Get-Content $seed_file | Select-String 'install.disable.sponsor.offers=false') -eq $true) {
+ # The Third Party Advertisements are enabled = $true
+ (Get-Content $seed_file) | Foreach-Object { $_ -replace 'install.disable.sponsor.offers=false', 'install.disable.sponsor.offers=true' } | Set-Content $destination_file
+ copy $destination_file $seed_file
+ } Else {
+ $continue = $true
+ } # Else
+ } # if (Step 4.2)
+
+
+ # Installed Java Build Name
+ If ((Test-Path $java_reg_path\$installed_java_version_reg\MSI) -eq $true) {
+ $installed_java_build_name_reg = (Get-ItemProperty -Path "$java_reg_path\$installed_java_version_reg\MSI" -Name FullVersion).FullVersion
+ } Else {
+ $continue = $true
+ } # Else
+
+} Else {
+ $continue = $true
+} # Else (Step 4)
+
+ $obj_installed += New-Object -TypeName PSCustomObject -Property @{
+ 'Installed Version' = $installed_java_version_text_format
+ 'Installed Java Main Version' = $installed_java_major_version
+ 'Installed Java Update Number' = $installed_java_update_number
+ 'Installed Version (Legacy Name)' = $installed_java_version
+ 'Installed Java Build' = $installed_java_build_number
+ 'Description' = $installed_java_description
+ 'Java Installation Path' = $java_home_path
+ 'Configuration File Location' = $app_path
+ 'java_config.txt File Location' = $path
+ 'Java Release History' = $release_history_url
+ 'Java Uninstallation Info' = $uninstaller_info_url
+ 'Java Uninstall Tool URL' = $uninstaller_tool_url
+ 'Java Is Installed?' = $java_is_installed
+ 'How Many Instances of Java is Found?' = $number_of_installed_javas
+ 'Java Auto Updater Is Installed?' = $auto_updater_is_installed
+ '32-bit Java Is Installed?' = $32_bit_java_is_installed
+ '64-bit Java Is Installed?' = $64_bit_java_is_installed
+
+ } # New-Object
+ $obj_installed.PSObject.TypeNames.Insert(0,"Installed Java Versions")
+ $obj_installed_selection = $obj_installed | Select-Object 'Installed Version','Installed Java Main Version','Installed Java Update Number','Installed Java Build','Installed Version (Legacy Name)','Description','Java Installation Path','Configuration File Location','java_config.txt File Location','Java Release History','Java Uninstallation Info','Java Uninstall Tool URL','Java Is Installed?','How Many Instances of Java is Found?','Java Auto Updater Is Installed?','32-bit Java Is Installed?','64-bit Java Is Installed?'
+
+
+ # Display the Installed Java version numbers in console
+ $empty_line | Out-String
+ $header_installed = "Existing (Installed) Java Versions' Summary Table"
+ $coline_installed = "-------------------------------------------------"
+ Write-Output $header_installed
+ $coline_installed | Out-String
+ Write-Output $obj_installed_selection
+
+
+
+
+# Step 5
+# Create a Java Install Configuration File
+# Note: Please see the steps 4.1 and 4.2 above for Java deployment properties (the "deployment.properties" -file)
+# Note: Please consider reviewing these settings, since eventually (after some update iterations) these will also be used in the Java installations not initiated by this script.
+# Source: http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html#installing_with_config_file
+# Source: http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html
+# Source: http://docs.oracle.com/javacomponents/msi-jre8/install-guide/installing_jre_msi.htm#msi_install_command_line
+# Source: http://stackoverflow.com/questions/28043588/installing-jdk-8-and-jre-8-silently-on-a-windows-machine-through-command-line
+
+<#
+ jre [INSTALLCFG=configuration_file_path] [options]
+ jre INSTALLCFG=configuration_file_path
+
+ jre is the installer base file name, for example, jre-8u05-windows-i586.exe. jre refers to the JRE Windows Offline Installer base file name
+
+ configuration_file_path is the path to the configuration file. Specifies the path of the installer configuration file.
+
+ options are options with specified values separated by spaces. Use the same options as listed in Table 20-1, "Configuration File Options". In addition, you may use the option /s for the JRE Windows Offline Installer to perform a silent installation. You may substitute the value Enable for 1 and the value Disable for 0.
+
+ # Silent install removing old Java and creating a logfile example:
+ jre1.8.0_60.exe /s /L C:\pathsetup.log REMOVEOUTOFDATEJRES=1
+
+ # Using a configuration file and creating a logfile example:
+ jre-8u31-windows-x64.exe INSTALLCFG="%ProgramData%\Java8Configuration\Java8u31config.txt" /L C:\Temp\Java8u31x64itRuntime_install.log
+ jre-8-windows-i586.exe INSTALLCFG=jre-install-options.txt /s /L C:\TMP\jre-install.log
+
+ # cmd.exe Command Prompt with Administrative rights
+ msiexec.exe /i jre1.8.0_31_64bit.msi /L*v C:\Temp\Java8u31x64it_verb_Runtime_install.log INSTALL_SILENT="Enable" AUTO_UPDATE="Disable" WEB_JAVA="Enable" WEB_ANALYTICS="Disable" EULA="Disable" NOSTARTMENU="Enable" /qb
+ msiexec.exe /i %~dp0jre-8u45-windows-i586.msi INSTALLCFG=%~dp0custom.cfg /qn /L c:\log\jre-8u45-windows-i586.log
+
+ # Basic UI mode:
+ msiexec.exe /i installer.msi [INSTALLCFG=configuration_file_path] [options] /qb
+
+ # Silent or unattended mode:
+ msiexec.exe /i installer.msi [INSTALLCFG=configuration_file_path] [options] /qn
+#>
+
+ $java_config = New-Item -ItemType File -Path "$path\java_config.txt" -Force
+ $java_config
+ Add-Content $java_config -Value ('INSTALL_SILENT=1
+AUTO_UPDATE=0
+WEB_JAVA=0
+WEB_JAVA_SECURITY_LEVEL=VH
+WEB_ANALYTICS=0
+EULA=0
+REBOOT=0
+REBOOT=Suppress
+REBOOT=ReallySuppress
+NOSTARTMENU=1
+SPONSORS=0
+REMOVEOUTOFDATEJRES=1')
+
+
+
+
+# Step 6
+# If more than one instance of Java is installed on the system, notify the user, and try to remove the excessive Java(s), if enough permissions are deemed to be available
+If ((($number_of_installed_javas -eq 1) -and ($auto_updater_is_installed -eq $false)) -or (($number_of_installed_javas -eq 2) -and ($32_bit_java_is_installed -eq $true) -and ($64_bit_java_is_installed -eq $true) -and ($auto_updater_is_installed -eq $false))) {
+ $excessive_javas_are_installed = $false
+ $continue = $true
+
+} ElseIf (($number_of_installed_javas -gt 1 ) -or ($auto_updater_is_installed -eq $true)) {
+ $excessive_javas_are_installed = $true
+ $empty_line | Out-String
+
+ If ($number_of_installed_javas -gt 1) {
+ Write-Warning "More than one instance of Java seems to be installed on the system."
+ } ElseIf ($auto_updater_is_installed -eq $true) {
+ Write-Warning "Java Auto Updater seems to be installed on the system."
+ } Else {
+ $continue = $true
+ } # Else
+
+ # Check if the PowerShell session is elevated (has been run as an administrator) and try to remove the duplicate Java if enough permissions are deemed to be available
+ If ($is_elevated -eq $true) {
+
+ # Stop the Java-related processes
+ Stop-Process -ProcessName '*messenger*' -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName 'FlashPlayer*' -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName 'plugin-container*' -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName 'chrome*' -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName 'opera*' -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName 'firefox' -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName 'palemoon' -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName 'iexplore' -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName 'iexplorer' -ErrorAction SilentlyContinue -Force
+
+ Stop-Process -ProcessName java -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName javaw -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName javaws -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName JP2Launcher -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName jqs -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName jucheck -ErrorAction SilentlyContinue -Force
+ Stop-Process -ProcessName jusched -ErrorAction SilentlyContinue -Force
+
+ Start-Sleep -s 2
+
+
+
+
+ # The Duplicate Java Uninstallation Protocol
+ # If ($installed_java_version_alternative_legacy_format -ne $null) {
+ If ($original_javases -ne $null) {
+
+ $timestamp_multi = Get-Date -Format HH:mm:ss
+ $multi_text_1 = "$timestamp_multi - Initiating the Duplicate Java Uninstallation Protocol..."
+ $multi_text_2 = "Trying to keep the latest installed version of Java (in both 32-bit and 64-bit flavors) and removing the earlier Java version (including the Java Auto Updater)."
+ $multi_text_3 = "Trying to keep the latest installed version of Java (in both 32-bit and 64-bit flavors) and removing the earlier Java versions (including the Java Auto Updater)."
+ $empty_line | Out-String
+ Write-Output $multi_text_1
+ $empty_line | Out-String
+ If ($number_of_installed_javas -eq 2) {
+ Write-Output $multi_text_2
+ } Else {
+ Write-Output $multi_text_3
+ } # Else
+
+
+
+
+ # Uninstall the Java Auto Updater
+ $the_java_auto_updater_exists = Check-InstalledSoftware "Java Auto Updater"
+
+ If ($the_java_auto_updater_exists) {
+
+ $argument_the_java_auto_updater = "/uninstall $($the_java_auto_updater_exists.PSChildName) /qn /norestart"
+ Start-Process -FilePath $msiexec -ArgumentList "$argument_the_java_auto_updater" -Wait
+ Start-Process -FilePath $msiexec -ArgumentList "/uninstall {4A03706F-666A-4037-7777-5F2748764D10} /qn /norestart" -Wait
+
+ If ((Check-InstalledSoftware "Java Auto Updater").DisplayName -eq $null) {
+ $the_uninstall_text = "$($the_java_auto_updater_exists.DisplayName) is uninstalled."
+ $empty_line | Out-String
+ Write-Output $the_uninstall_text
+ } Else {
+ $continue = $true
+ } # Else If (Check-InstalledSoftware)
+
+ } Else {
+ $continue = $true
+ } # Else If ($the_java_auto_updater_exists)
+
+
+
+
+ # Find out the most recent Java out of all the installed Javas
+ $highest_java_main_version = $original_javases | Select-Object -ExpandProperty Major_Version | Sort-Object -Descending | Select-Object -First 1
+ $highest_java_update_number = $original_javases | Where-Object Major_Version -eq $highest_java_main_version | Select-Object -ExpandProperty Update_Number | Sort-Object -Descending | Select-Object -First 1
+ $highest_java_version = $original_javases | Where-Object Major_Version -eq $highest_java_main_version | Where-Object Update_Number -eq $highest_java_update_number | Select-Object -ExpandProperty Version
+
+ ForEach ($java in $original_javases) {
+
+ If ($java.Version -ne $highest_java_version) {
+
+ # Uninstall any remaining duplicate and old instances of Java
+ # 8.0.1110.14
+ # Source: http://docs.oracle.com/javacomponents/msi-jre8/install-guide/installing_jre_msi.htm#msi_system_requirements
+ <#
+ Uninstalling the JRE with the Command Line
+
+ 32-bit JRE: msiexec /x {26A24AE4-039D-4CA4-87B4-2F83218025F0}
+ 64-bit JRE: msiexec /x {26A24AE4-039D-4CA4-87B4-2F86418025F0}
+
+ The value in curly braces is the MSI product code for the JRE about to be uninstalled. The latter part, 18025, correlates to the JRE version 1.8.0_25.
+ #>
+ Start-Sleep -s 2
+ Write-Verbose "$($java.Name) version $($java.Version) installed on $($java.Install_Date) is uninstalling..."
+
+ $duplicate_uninstall += $obj_uninstall = New-Object -TypeName PSCustomObject -Property @{
+ 'Computer' = $computer
+ 'Name' = $java.Name
+ 'Version' = $java.Version
+ 'IdentifyingNumber' = $java.ID
+ 'InstallDate' = $java.Install_Date
+ 'InstallLocation' = $java.Install_Location
+ } # New-Object
+ $duplicate_uninstall.PSObject.TypeNames.Insert(0,"Uninstalled Old Duplicate Java Versions")
+
+ $argument_java_uninstall = "/uninstall $($java.ID) /qn /norestart"
+ Start-Process -FilePath $msiexec -ArgumentList "$argument_java_uninstall" -Wait
+ $uninstall_text = "$($java.Name) is uninstalled."
+ $empty_line | Out-String
+ Write-Output $uninstall_text
+
+ } Else {
+
+ # This instance "slot" is altering the the latest installed Java version
+ # Do not touch the latest installed Java version = $true
+ $continue = $true
+
+ } # Else
+ } # ForEach ($java)
+
+
+ $timestamp_protocol = Get-Date -Format HH:mm:ss
+ $protocol_text = "$timestamp_protocol - The Duplicate Java Uninstallation Protocol completed."
+ $empty_line | Out-String
+ Write-Output $protocol_text
+
+ } Else {
+ $continue = $true
+ } # Else (The Duplicate Java Uninstallation Protocol)
+
+
+
+
+ # Check the Status of Java after The Duplicate Java Uninstallation Protocol
+ $java_is_installed = $false
+ $32_bit_java_is_installed = $false
+ $64_bit_java_is_installed = $false
+ $auto_updater_is_installed = $false
+
+ $reduced_javas = Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { ($_.DisplayName -like "*Java*" -or $_.DisplayName -like "*J2SE Runtime*") -and ($_.Publisher -like "Oracle*" -or $_.Publisher -like "Sun*" )}
+
+ # Number of Installed Javas
+ If ($reduced_javas -eq $null) {
+ $number_of_installed_javas = 0
+ } Else {
+ $number_of_installed_javas = ($reduced_javas | Measure-Object).Count
+ } # Else
+
+ # Is Java Installed?
+ If ($reduced_javas -ne $null) {
+ $java_is_installed = $true
+ } Else {
+ $continue = $true
+ } # Else
+
+ # 32-bit Java
+ If ((Check-JavaID $regex_32_a -ne $null) -or (Check-JavaID $regex_32_b -ne $null) -or (Check-JavaID $regex_32_c -ne $null) -or (Check-JavaID $regex_32_d -ne $null)) {
+ $32_bit_java_is_installed = $true
+ } Else {
+ $continue = $true
+ } # Else
+
+ # 64-bit Java
+ If ((Check-JavaID $regex_64_a -ne $null) -or (Check-JavaID $regex_64_b -ne $null)) {
+ $64_bit_java_is_installed = $true
+ } Else {
+ $continue = $true
+ } # Else
+
+ # Java Auto Updater
+ If (Check-InstalledSoftware "Java Auto Updater") { $auto_updater_is_installed = $true } Else { $continue = $true }
+
+ } Else {
+ $continue = $true
+ } # Else (If "Administrator" -eq $true)
+} Else {
+ $continue = $true
+} # Else (Step 6)
+
+
+
+
+# Step 7
+# Enumerate the existing installed Javas
+$registry_paths_selection = Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { ($_.DisplayName -like "*Java*" -or $_.DisplayName -like "*J2SE Runtime*") -and ($_.Publisher -like "Oracle*" -or $_.Publisher -like "Sun*" )}
+
+If ($registry_paths_selection -ne $null) {
+
+ ForEach ($item in $registry_paths_selection) {
+
+ # Custom Uninstall Strings
+ $arguments = "/uninstall $($item.PSChildName) /qn /norestart"
+ $custom_uninstall_string = "$msiexec /uninstall $($item.PSChildName) /qn"
+ $powershell_uninstall_string = [string]"Start-Process -FilePath $msiexec -ArgumentList " + $quote + $arguments + $unquote + " -Wait"
+ $product_version_enum = ((Get-ItemProperty -Path "$($item.InstallLocation)\bin\java.exe" -ErrorAction SilentlyContinue -Name VersionInfo).VersionInfo).ProductVersion
+ $regex_build_enumeration = If ($product_version_enum -ne $null) { $product_version_enum -match "(?\d+)\.(?\d+)\.(?\d+)\.(?\d+)" } Else { $continue = $true }
+
+
+ $java_enumeration += $obj_enumeration = New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $item.DisplayName.replace("(TM)","")
+ 'Version' = $item.DisplayVersion
+ 'Main Version' = [int32]$item.VersionMajor
+ 'Build' = If ($Matches.C4 -ne $null) { [string]"b" + $Matches.C4 } Else { $continue = $true }
+ 'Install Date' = $item.InstallDate
+ 'Install Location' = $item.InstallLocation
+ 'Publisher' = $item.Publisher
+ 'Computer' = $computer
+ 'Identifying Number' = $item.PSChildName
+ 'Standard Uninstall String' = $item.UninstallString
+ 'Custom Uninstall String' = $custom_uninstall_string
+ 'PowerShell Uninstall String' = $powershell_uninstall_string
+ 'Type' = If (($item.PSChildName -match $regex_32_a) -or ($item.PSChildName -match $regex_32_b) -or ($item.PSChildName -match $regex_32_c) -or ($item.PSChildName -match $regex_32_d)) {
+ "32-bit"
+ } ElseIf (($item.PSChildName -match $regex_64_a) -or ($item.PSChildName -match $regex_64_b)) {
+ "64-bit"
+ } Else {
+ $continue = $true
+ } # Else
+ 'Update Number' = If (($item.PSChildName -match $regex_32_a) -or ($item.PSChildName -match $regex_32_b) -or ($item.PSChildName -match $regex_32_c) -or ($item.PSChildName -match $regex_32_d)) {
+ [int32]$item.DisplayName.Split()[-1]
+ } ElseIf (($item.PSChildName -match $regex_64_a) -or ($item.PSChildName -match $regex_64_b)) {
+ [int32]$item.DisplayName.Split()[-2]
+ } Else {
+ $continue = $true
+ } # Else
+
+ } # New-Object
+ } # ForEach ($item)
+
+
+ # Display the Java Version Enumeration in console
+ If ($java_enumeration -ne $null) {
+ $java_enumeration.PSObject.TypeNames.Insert(0,"Java Version Enumeration")
+ $java_enumeration_selection = $java_enumeration | Select-Object 'Name','Main Version','Update Number','Build','Version','Install Date','Type','Install Location','Publisher','Computer','Identifying Number','PowerShell Uninstall String'
+ $empty_line | Out-String
+ $header_java_enumeration = "Enumeration of Java Versions Found on the System"
+ $coline_java_enumeration = "------------------------------------------------"
+ Write-Output $header_java_enumeration
+ $coline_java_enumeration | Out-String
+ Write-Output $java_enumeration_selection
+ } Else {
+ $continue = $true
+ } # Else
+
+} Else {
+ $continue = $true
+} # Else (Step 7)
+
+
+
+# Step 8
+# Check if the computer is connected to the Internet # Credit: ps1: "Test Internet connection"
+If (([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet) -eq $false) {
+ $empty_line | Out-String
+ Return "The Internet connection doesn't seem to be working. Exiting without checking the latest Java version numbers or without updating Java (at Step 8)."
+} Else {
+ Write-Verbose 'Checking the most recent Java version numbers from the Java/Oracle website...'
+} # Else
+
+
+
+
+# Step 9
+# Check the baseline Java version number by connecting to the Java/Oracle website (Page 1) and write it to a file (The Baseline)
+
+$baseline_file = "$path\java_baseline.csv"
+
+ try
+ {
+ $download_baseline = New-Object System.Net.WebClient
+ $download_baseline.DownloadFile($baseline_url, $baseline_file)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $baseline_url"
+ If (([Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]'{DCB00C01-570F-4A9B-8D69-199FDBA5723B}')).IsConnectedToInternet) -eq $true) {
+ $page_exception_text = "Please consider running this script again. Sometimes this Oracle page just isn't queryable for no apparent reason. The success rate 'in the second go' usually seems to be a bit higher."
+ $empty_line | Out-String
+ Write-Output $page_exception_text
+ } Else {
+ $continue = $true
+ } # Else
+ $empty_line | Out-String
+ Return "Exiting without checking the latest Java version numbers or without updating Java (at Step 9)."
+ }
+
+Start-Sleep -Seconds 3
+
+# Selects the second result from java_baseline.csv
+# https://github.com/auberginehill/java-update/issues/1
+$source = Get-Content $baseline_file | Select-Object -Skip 1 | Select-Object -First 1
+$regex = $source -match "(?\d+).(?\d+).(?\d+)_(?\d+)"
+
+# Most Recent Java Baseline Version (x.y.z) - Old Name:
+$current_baseline = $source.split("_")[0]
+
+# Most Recent Java Update Number (nnn):
+# $current_update_number = $Matches.P4
+$current_update_number = [int32]$source.split("_")[1]
+
+# Most Recent Java Main Version (y):
+$current_main_version = [int32]$Matches.P2
+
+# Most Recent Java Version (Almost Full, with an underscore: x.y.z_nnn) - Legacy Format:
+# 1.8.0_111
+$current_version_full = $source
+
+
+
+
+# Step 10
+# Check the most recent Java version numbers by connecting to the Java/Oracle website (Page 2, The Java Update Chart / Map)
+# Source: http://superuser.com/questions/443686/silent-java-update-check
+# http://javadl-esd.sun.com/update/1.8.0/map-m-1.8.0.xml
+# http://javadl-esd.sun.com/update/1.8.0/map-1.8.0.xml
+$update_map_url = "http://javadl-esd.sun.com/update/$current_baseline/map-m-$current_baseline.xml"
+
+ try
+ {
+ $java_update_map = New-Object XML
+ $java_update_map.Load($update_map_url)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $update_map_url"
+ $empty_line | Out-String
+ Return "Exiting without checking the latest Java version numbers or without updating Java (at Step 10)."
+ }
+
+# Update Chart:
+$update_chart = $java_update_map.SelectNodes("/java-update-map/mapping")
+$update_chart | Export-Csv $path\java_update_chart.csv -Delimiter ';' -NoTypeInformation -Encoding UTF8
+
+
+
+
+# Step 11
+# Check the Info on the most recent Java version Home Page (XML) by connecting to the Java/Oracle website (Page 3, The Home Page)
+# https://javadl-esd-secure.oracle.com/update/1.8.0/au-descriptor-1.8.0_111-b14.xml
+$most_recent_xml_home_page = ($java_update_map.SelectNodes("/java-update-map/mapping") | Select-Object -First 1).url
+
+ try
+ {
+ $xml_info = New-Object XML
+ $xml_info.Load($most_recent_xml_home_page)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $most_recent_xml_home_page"
+ $empty_line | Out-String
+ Return "Exiting without checking the latest Java version numbers or without updating Java (at Step 11)."
+ }
+
+# Further Info URL:
+$further_info_url = $xml_info.SelectNodes("/java-update/information") | Select-Object -First 1 | Select-Object -ExpandProperty moreinfo
+
+# Description:
+$description = $xml_info.SelectNodes("/java-update/information") | Select-Object -First 1 | Select-Object -ExpandProperty descriptionfrom8
+
+# Current Version (Full, with an underscore and a dash: x.y.z_nnn-abc):
+# 1.8.0_111-b14
+$current_version_build = ($xml_info.SelectNodes("/java-update/information") | Select-Object -First 1 | Select-Object -ExpandProperty version)[-1]
+
+# Most Recent Java Version
+$most_recent_java_version = [string]'Java ' + $current_main_version + ' Update ' + $current_update_number
+
+# Most Recent Build
+$current_build_number = $current_version_build.Split("-")[-1]
+
+# Download URL:
+# http://javadl.oracle.com/webapps/download/GetFile/1.8.0_111-b14/windows-i586/jre-8u111-windows-au.exe
+# Source: http://stackoverflow.com/questions/27175137/powershellv2-remove-last-x-characters-from-a-string#32608908
+$download_url = $xml_info.SelectNodes("/java-update/information") | Select-Object -First 1 | Select-Object -ExpandProperty url
+$powershell_version = $PSVersionTable.PSVersion
+
+ If (($download_url.EndsWith("/")) -eq $true) { $download_url = $download_url -replace ".{1}$" } Else { $continue = $true }
+
+ If (($powershell_version.Major -ge 5) -and ($powershell_version.Minor -ge 1)) {
+ $root_url = (Split-Path $download_url -Parent).Replace("\", "/")
+ } Else {
+ $filename = $download_url.Split("/")[-1]
+ $root_url = $download_url.Replace("/$filename", "")
+ } # Else (If $PSVersionTable.PSVersion)
+
+# Custom Download URL:
+$custom_download_url = [string]$root_url + "/xpiinstall.exe"
+
+# Full 32-bit Download URL:
+$full_32_download_url = [string]$root_url + "/jre-" + $current_main_version + "u" + $current_update_number + "-windows-i586.exe"
+
+# Full 64-bit Download URL:
+$full_64_download_url = [string]$root_url + "/jre-" + $current_main_version + "u" + $current_update_number + "-windows-x64.exe"
+
+ $obj_most_recent += New-Object -TypeName PSCustomObject -Property @{
+ 'Most Recent Version' = $most_recent_java_version
+ 'Most Recent Java Main Version' = [int32]$current_main_version
+ 'Most Recent Java Update Number' = [int32]$current_update_number
+ 'Most Recent Build' = $current_build_number
+ 'Most Recent Build (Legacy Name, Full)' = $current_version_build
+ 'Most Recent Version (Legacy Name)' = $current_version_full
+ 'Description' = $description
+ 'Further Info' = $further_info_url
+ 'Java Uninstall Tool URL' = $uninstaller_tool_url
+ 'Download URL' = $download_url
+ 'Custom Download URL' = $custom_download_url
+ 'Full 32-bit Download URL' = $full_32_download_url
+ 'Full 64-bit Download URL' = $full_64_download_url
+ } # New-Object
+ $obj_most_recent.PSObject.TypeNames.Insert(0,"Most Recent non-beta Java Version Available")
+ $obj_most_recent_selection = $obj_most_recent | Select-Object 'Most Recent Version','Most Recent Java Main Version','Most Recent Java Update Number','Most Recent Build','Most Recent Version (Legacy Name)','Description','Further Info','Java Uninstall Tool URL','Download URL','Custom Download URL','Full 32-bit Download URL','Full 64-bit Download URL'
+
+
+ # Display the most recent Java version numbers in console
+ $empty_line | Out-String
+ $header_most_recent = "Most Recent non-beta Java Version Available"
+ $coline_most_recent = "-------------------------------------------"
+ Write-Output $header_most_recent
+ $coline_most_recent | Out-String
+ Write-Output $obj_most_recent_selection
+
+
+
+
+# Step 12
+# Try to determine which Java versions, if any, are outdated and need to be updated.
+$downloading_java_is_required = $false
+$downloading_java_32_is_required = $false
+$downloading_java_64_is_required = $false
+
+If ($java_is_installed -eq $true) {
+
+ $most_recent_32_bit_java_already_exists = Check-InstalledSoftware "Java $current_main_version Update $current_update_number"
+ $most_recent_64_bit_java_already_exists = Check-InstalledSoftware "Java $current_main_version Update $current_update_number (64-bit)"
+ $java_auto_updater_exists = Check-InstalledSoftware "Java Auto Updater"
+ $all_32_bit_javas = $java_enumeration | Where-Object { $_.Type -eq "32-bit" }
+ $number_of_32_bit_javas = ($all_32_bit_javas | Measure-Object).Count
+ $all_64_bit_javas = $java_enumeration | Where-Object { $_.Type -eq "64-bit" }
+ $number_of_64_bit_javas = ($all_64_bit_javas | Measure-Object).Count
+
+ # 32-bit
+ If ($32_bit_java_is_installed -eq $false) {
+ $continue = $true
+
+ } ElseIf (($32_bit_java_is_installed -eq $true) -and ($most_recent_32_bit_java_already_exists) -and ($number_of_32_bit_javas -eq 1)) {
+
+ # $downloading_java_32_is_required = $false
+ $argument_32 = "/uninstall $($most_recent_32_bit_java_already_exists.PSChildName) /qn /norestart"
+ $custom_32_uninstall_string = "$msiexec /uninstall $($most_recent_32_bit_java_already_exists.PSChildName) /qn"
+ $powershell_32_uninstall_string = [string]"Start-Process -FilePath $msiexec -ArgumentList " + $quote + $argument_32 + $unquote + " -Wait"
+
+
+ $obj_32_installed_current += New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $most_recent_32_bit_java_already_exists.DisplayName.replace("(TM)","")
+ 'Version' = $most_recent_32_bit_java_already_exists.DisplayVersion
+ 'Install_Date' = $most_recent_32_bit_java_already_exists.InstallDate
+ 'Install_Location' = $most_recent_32_bit_java_already_exists.InstallLocation
+ 'Publisher' = $most_recent_32_bit_java_already_exists.Publisher
+ 'Computer' = $computer
+ 'Identifying_Number' = $most_recent_32_bit_java_already_exists.PSChildName
+ 'Standard_Uninstall_String' = $most_recent_32_bit_java_already_exists.UninstallString
+ 'Custom_Uninstall_String' = $custom_32_uninstall_string
+ 'PowerShell_Uninstall_String' = $powershell_32_uninstall_string
+
+ } # New-Object
+ $obj_32_installed_current.PSObject.TypeNames.Insert(0,"Existing Current Java 32-bit")
+
+ $empty_line | Out-String
+ Write-Output "Currently (until the next Java version is released) the 32-bit $($obj_32_installed_current.Name) installed on $($obj_32_installed_current.Install_Date) doesn't need any further maintenance or care."
+
+ } Else {
+ $downloading_java_32_is_required = $true
+ $downloading_java_is_required = $true
+
+ ForEach ($32_bit_java in $all_32_bit_javas) {
+ $install_date_32 = $32_bit_java | Select-Object -ExpandProperty "Install Date"
+
+ If ($32_bit_java.Name -eq $most_recent_java_version) {
+ $empty_line | Out-String
+ Write-Output "Currently (until the next Java version is released) the 32-bit $($32_bit_java.Name) installed on $install_date_32 doesn't need any further maintenance or care."
+ } Else {
+ $empty_line | Out-String
+ Write-Warning "$($32_bit_java.Name) seems to be outdated."
+ $empty_line | Out-String
+ Write-Output "The most recent non-beta Java version is $most_recent_java_version. The installed 32-bit Java version $($32_bit_java.Version) needs to be updated."
+ } # Else
+
+
+ } # ForEach
+ } # Else
+
+
+ # 64-bit
+ If ($64_bit_java_is_installed -eq $false) {
+ $continue = $true
+
+ } ElseIf (($64_bit_java_is_installed -eq $true) -and ($most_recent_64_bit_java_already_exists) -and ($number_of_64_bit_javas -eq 1)) {
+
+ # $downloading_java_64_is_required = $false
+ $argument_64 = "/uninstall $($most_recent_64_bit_java_already_exists.PSChildName) /qn /norestart"
+ $custom_64_uninstall_string = "$msiexec /uninstall $($most_recent_64_bit_java_already_exists.PSChildName) /qn"
+ $powershell_64_uninstall_string = [string]"Start-Process -FilePath $msiexec -ArgumentList " + $quote + $argument_64 + $unquote + " -Wait"
+
+
+ $obj_64_installed_current += New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $most_recent_64_bit_java_already_exists.DisplayName.replace("(TM)","")
+ 'Version' = $most_recent_64_bit_java_already_exists.DisplayVersion
+ 'Install_Date' = $most_recent_64_bit_java_already_exists.InstallDate
+ 'Install_Location' = $most_recent_64_bit_java_already_exists.InstallLocation
+ 'Publisher' = $most_recent_64_bit_java_already_exists.Publisher
+ 'Computer' = $computer
+ 'Identifying_Number' = $most_recent_64_bit_java_already_exists.PSChildName
+ 'Standard_Uninstall_String' = $most_recent_64_bit_java_already_exists.UninstallString
+ 'Custom_Uninstall_String' = $custom_64_uninstall_string
+ 'PowerShell_Uninstall_String' = $powershell_64_uninstall_string
+
+ } # New-Object
+ $obj_64_installed_current.PSObject.TypeNames.Insert(0,"Existing Current Java 64-bit")
+
+ $empty_line | Out-String
+ Write-Output "Currently (until the next Java version is released) the 64-bit $($obj_64_installed_current.Name) installed on $($obj_64_installed_current.Install_Date) doesn't need any further maintenance or care."
+
+ } Else {
+ $downloading_java_64_is_required = $true
+ $downloading_java_is_required = $true
+
+ ForEach ($64_bit_java in $all_64_bit_javas) {
+ $install_date_64 = $64_bit_java | Select-Object -ExpandProperty "Install Date"
+
+ If ($64_bit_java.Name -match $most_recent_java_version) {
+ $empty_line | Out-String
+ Write-Output "Currently (until the next Java version is released) the 64-bit $($64_bit_java.Name) installed on $install_date_64 doesn't need any further maintenance or care."
+ } Else {
+ $empty_line | Out-String
+ Write-Warning "$($64_bit_java.Name) seems to be outdated."
+ $empty_line | Out-String
+ Write-Output "The most recent non-beta Java version is $most_recent_java_version. The installed 64-bit Java version $($64_bit_java.Version) needs to be updated."
+ } # Else
+
+ } # ForEach
+ } # Else
+
+
+ # Java Auto Updater
+ If ($java_auto_updater_exists) {
+ $argument_java_auto_updater = "/uninstall $($java_auto_updater_exists.PSChildName) /qn /norestart"
+ $powershell_java_auto_updater_uninstall_string = [string]"Start-Process -FilePath $msiexec -ArgumentList " + $quote + $argument_java_auto_updater + $unquote + " -Wait"
+ $empty_line | Out-String
+ Write-Output "The Java Auto Updater seems to be installed on the system."
+ } Else {
+ $continue = $true
+ } # Else
+
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+If ($java_is_installed -eq $true) {
+
+
+ $obj_maintenance += New-Object -TypeName PSCustomObject -Property @{
+ 'Open the java_config.txt file' = [string]'Invoke-Item ' + $quote + $path + '\java_config.txt' + $unquote
+ 'Open the configuration file location' = If ($app_path -ne $null) { [string]'Invoke-Item ' + $quote + $app_path + $unquote } Else { [string]'-' }
+ 'Uninstall the 32-bit Java' = If ($32_bit_java_is_installed -eq $true) { $original_java_32_bit_powershell_uninstall_string } Else { [string]'[not installed]' }
+ 'Uninstall the 64-bit Java' = If ($64_bit_java_is_installed -eq $true) { $original_java_64_bit_powershell_uninstall_string } Else { [string]'[not installed]' }
+ 'Uninstall the Java Auto Updater' = If ($java_auto_updater_exists -ne $null) { $powershell_java_auto_updater_uninstall_string } Else { [string]'[not installed]' }
+ } # New-Object
+ $obj_maintenance.PSObject.TypeNames.Insert(0,"Maintenance")
+ $obj_maintenance_selection = $obj_maintenance | Select-Object 'Open the java_config.txt file','Open the configuration file location','Uninstall the 32-bit Java','Uninstall the 64-bit Java','Uninstall the Java Auto Updater'
+
+
+ # Display the Maintenance table in console
+ $empty_line | Out-String
+ $header_maintenance = "Maintenance"
+ $coline_maintenance = "-----------"
+ Write-Output $header_maintenance
+ $coline_maintenance | Out-String
+ Write-Output $obj_maintenance_selection
+
+
+
+
+ $obj_downloading += New-Object -TypeName PSCustomObject -Property @{
+ '32-bit Java' = If ($32_bit_java_is_installed -eq $true) { $downloading_java_32_is_required } Else { [string]'-' }
+ '64-bit Java' = If ($64_bit_java_is_installed -eq $true) { $downloading_java_64_is_required } Else { [string]'-' }
+ } # New-Object
+ $obj_downloading.PSObject.TypeNames.Insert(0,"Maintenance Is Required for These Java Versions")
+ $obj_downloading_selection = $obj_downloading | Select-Object '32-bit Java','64-bit Java'
+
+
+ # Display in console which installers for Java need to be downloaded
+ $empty_line | Out-String
+ $header_downloading = "Maintenance Is Required for These Java Versions"
+ $coline_downloading = "-----------------------------------------------"
+ Write-Output $header_downloading
+ $coline_downloading | Out-String
+ Write-Output $obj_downloading_selection
+ $empty_line | Out-String
+
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 13
+# Determine if there is a real need to carry on with the rest of the script.
+If ($java_is_installed -eq $true) {
+ If ($downloading_java_is_required -eq $false -and $auto_updater_is_installed -eq $false) {
+ Return "The installed Java seems to be OK."
+ } ElseIf ($downloading_java_is_required -eq $false -and $auto_updater_is_installed -eq $true) {
+ Return "The installed Java seems to be OK. The Java Auto Updater seems to be installed on the system, too."
+ } Else {
+ $continue = $true
+ } # Else
+} ElseIf (Check-InstalledSoftware "Java Auto Updater" -ne $null) {
+ $empty_line | Out-String
+ Write-Warning "The Java Auto Updater seems to be the only Java installed on the system."
+ $empty_line | Out-String
+ Return "This script didn't detect that any 'real' Java would have been installed on the system. The Java Auto Updater, however, does seem to be installed."
+} Else {
+ Write-Warning "No Java seems to be installed on the system."
+ $empty_line | Out-String
+ $no_java_text_1 = "This script didn't detect that any Java would have been installed."
+ $no_java_text_2 = "Please consider installing Java by visiting https://www.java.com/en/download/"
+ $no_java_text_3 = "For full installation files please, for example, see the page"
+ $no_java_text_4 = "https://www.java.com/en/download/manual.jsp or"
+ $no_java_text_5 = "http://www.oracle.com/technetwork/java/javase/downloads/index.html"
+ $no_java_text_6 = "and for the Java uninstaller tool, please visit"
+ $no_java_text_7 = "https://www.java.com/en/download/faq/uninstaller_toolfaq.xml"
+ Write-Output $no_java_text_1
+ Write-Output $no_java_text_2
+ Write-Output $no_java_text_3
+ Write-Output $no_java_text_4
+ Write-Output $no_java_text_5
+ Write-Output $no_java_text_6
+ Write-Output $no_java_text_7
+
+ # Offer the option to install a specific version of Java, if no Java is detected and the script is run in an elevated window
+ # Source: Microsoft TechNet: "Adding a Simple Menu to a Windows PowerShell Script": https://technet.microsoft.com/en-us/library/ff730939.aspx
+ # Credit: lamaar75: "Creating a Menu": http://powershell.com/cs/forums/t/9685.aspx
+ If ($is_elevated -eq $true) {
+ $empty_line | Out-String
+ Write-Verbose "Welcome to the Admin Corner." -verbose
+ $title_1 = "Install Java"
+ $message_1 = "Would you like to install the Java for Windows with this script?"
+
+ $yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", "Yes: downloads a full offline Java installer (either 32- or 64-bit according to the system) and installs Java."
+ $no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", "No: exits from this script (similar to Ctrl + C)."
+ $exit = New-Object System.Management.Automation.Host.ChoiceDescription "&Exit", "Exit: exits from this script (similar to Ctrl + C)."
+ $abort = New-Object System.Management.Automation.Host.ChoiceDescription "A&bort", "Abort: exits from this script (similar to Ctrl + C)."
+ $cancel = New-Object System.Management.Automation.Host.ChoiceDescription "&Cancel", "Cancel: exits from this script (similar to Ctrl + C)."
+
+ $options_1 = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no, $exit, $abort, $cancel)
+ $result_1 = $host.ui.PromptForChoice($title_1, $message_1, $options_1, 1)
+
+ switch ($result_1)
+ {
+ 0 {
+ "Yes. Trying to download a full offline Java installer (either 32- or 64-bit according to the system) and install Java.";
+ $admin_corner = $true
+ $java_is_installed = $true
+ $installed_java_version_text_format = "[Nonexistent]"
+ $downloading_java_is_required = $true
+ $continue = $true
+ }
+ 1 {
+ "No. Exiting from Java-Update script.";
+ Exit
+ }
+ 2 {
+ "Exit. Exiting from Java-Update script.";
+ Exit
+ }
+ 3 {
+ "Abort. Exiting from Java-Update script.";
+ Exit
+ }
+ 4 {
+ "Cancel. Exiting from Java-Update script.";
+ Exit
+ } # 4
+ } # switch
+
+ } Else {
+ Exit
+ } # Else (Admin Corner)
+} # Else (No Java)
+
+
+
+
+# Step 14
+# Check if the PowerShell session is elevated (has been run as an administrator)
+If ($is_elevated -eq $false) {
+ Write-Warning "It seems that this script is run in a 'normal' PowerShell window."
+ $empty_line | Out-String
+ Write-Verbose "Please consider running this script in an elevated (administrator-level) PowerShell window." -verbose
+ $empty_line | Out-String
+ $admin_text = "For performing system altering procedures, such as uninstalling Java or installing Java the elevated rights are mandatory. An elevated PowerShell session can, for example, be initiated by starting PowerShell with the 'run as an administrator' option."
+ Write-Output $admin_text
+ $empty_line | Out-String
+ # Write-Verbose "Even though it could also be possible to write a self elevating PowerShell script (https://blogs.msdn.microsoft.com/virtual_pc_guy/2010/09/23/a-self-elevating-powershell-script/) or run commands elevated in PowerShell (http://powershell.com/cs/blogs/tips/archive/2014/03/19/running-commands-elevated-in-powershell.aspx) with the UAC prompts, the new UAC pop-up window may come as a surprise to the end-user, who isn't neccesarily aware that this script needs the elevated rights to complete the intended actions."
+ Return "Exiting without updating (at Step 14)."
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 15
+# Initiate the update process
+$empty_line | Out-String
+$timestamp = Get-Date -Format HH:mm:ss
+$update_text = "$timestamp - Initiating the Java Update Protocol..."
+Write-Output $update_text
+
+# Determine the current directory # Credit: JaredPar and Matthew Pirocchi "What's the best way to determine the location of the current PowerShell script?"
+$script_path = Split-Path -parent $MyInvocation.MyCommand.Definition
+
+# "Manual" progress bar variables
+$activity = "Updating Java"
+$status = "Status"
+$id = 1 # For using more than one progress bar
+$total_steps = 19 # Total number of the steps or tasks, which will increment the progress bar
+$task_number = 0.2 # An increasing numerical value, which is set at the beginning of each of the steps that increments the progress bar (and the value should be less or equal to total_steps). In essence, this is the "progress" of the progress bar.
+$task = "Setting Initial Variables" # A description of the current operation, which is set at the beginning of each of the steps that increments the progress bar.
+
+# Start the progress bar
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+ # Specify [Esc] and [q] as the Cancel-key # Credit: Jeff: "Powershell show elapsed time"
+ If ($Host.UI.RawUI.KeyAvailable -and ("q" -eq $Host.UI.RawUI.ReadKey("IncludeKeyUp,NoEcho").Character)) {
+ Write-Host " ...Stopping the Java Update Protocol...";
+ Break;
+ } ElseIf ($Host.UI.RawUI.KeyAvailable -and (([char]27) -eq $Host.UI.RawUI.ReadKey("IncludeKeyUp,NoEcho").Character)) {
+ Write-Host " ...Stopping the Java Update Protocol..."; Break;
+ } Else {
+ $continue = $true
+ } # Else
+
+
+
+
+# Step 16
+# Download the latest installation file for Java for Windows
+# Source: http://docs.oracle.com/javacomponents/msi-jre8/install-guide/installing_jre_msi.htm#msi_install_instructions
+<#
+
+ # Download URL (clickable)
+ https://www.java.com/en/download/manual.jsp
+ http://www.oracle.com/technetwork/java/javase/downloads/index.html
+
+ # 32-bit Java for Windows
+ Windows x86 Offline (32-bit)
+ Please see the java_update_chart.csv and open the online XML-file URL. The online XML-file contains one instance of .
+ Examples ("[" and "]" are omitted):
+ XML: https://javadl-esd-secure.oracle.com/update/1.8.0/e9e7ea248e2c4826b92b3f075a80e441/au-descriptor-1.8.0_121-b13.xml
+ Download: http://javadl.oracle.com/webapps/download/GetFile/1.8.0_121-b13/e9e7ea248e2c4826b92b3f075a80e441/windows-i586/jre-[main_version]u[update_number]-windows-i586.exe
+ Note: In order to download products from Oracle Technology Network you must agree to the OTN license terms.
+
+
+ # 64-bit Java for Windows
+ Windows x64 Offline (64-bit)
+ Please see the java_update_chart.csv and open the online XML-file URL. The online XML-file contains one instance of .
+ Examples ("[" and "]" are omitted):
+ XML: https://javadl-esd-secure.oracle.com/update/1.8.0/e9e7ea248e2c4826b92b3f075a80e441/au-descriptor-1.8.0_121-b13.xml
+ Download: http://javadl.oracle.com/webapps/download/GetFile/1.8.0_121-b13/e9e7ea248e2c4826b92b3f075a80e441/windows-i586/jre-[main_version]u[update_number]-windows-x64.exe
+ Note: In order to download products from Oracle Technology Network you must agree to the OTN license terms.
+
+#>
+<#
+
+ The file name of the installer has one of the following formats:
+
+ 32-bit systems: jre-[version]-windows-i586.msi
+ 64-bit systems: jre-[version]-windows-x64.msi
+
+ Substitute the appropriate version number for [version] in a format such as [main_version]u[update_number]
+ For example, the installer for update 1.8.0_40 would be jre-8u40-windows-i586.msi.
+
+#>
+<#
+
+ # Download Old Java
+
+ # 32-bit:
+ # http://download.oracle.com/otn/java/jdk/6u45-b06/jre-6u45-windows-i586.exe
+ # http://javadl.sun.com/webapps/download/GetFile/1.6.0_45-b06/windows-i586/jre-6u45-windows-i586-iftw.exe
+ # http://javadl.sun.com/webapps/download/GetFile/1.6.0_45-b06/windows-i586/jre-6u45-windows-i586.exe
+ # http://javadl.sun.com/webapps/download/GetFile/1.7.0_21-b11/windows-i586/jre-7u21-windows-i586.exe
+ # http://javadl.sun.com/webapps/download/GetFile/1.8.0_91-b15/windows-i586/jre-8u91-windows-i586.exe
+ # http://javadl.sun.com/webapps/download/GetFile/1.8.0_111-b14/windows-i586/jre-8u111-windows-i586.exe
+ # http://javadl.oracle.com/webapps/download/GetFile/1.8.0_121-b13/e9e7ea248e2c4826b92b3f075a80e441/windows-i586/jre-8u121-windows-i586.exe
+
+ # 64-bit:
+ # http://download.oracle.com/otn/java/jdk/7u80-b15/jre-7u80-windows-x64.exe
+ # http://javadl.sun.com/webapps/download/GetFile/1.8.0_91-b15/windows-i586/jre-8u91-windows-x64.exe
+ # http://javadl.sun.com/webapps/download/GetFile/1.8.0_111-b14/windows-i586/jre-8u111-windows-x64.exe
+ # http://javadl.oracle.com/webapps/download/GetFile/1.8.0_121-b13/e9e7ea248e2c4826b92b3f075a80e441/windows-i586/jre-8u121-windows-x64.exe
+
+#>
+
+If (($java_is_installed -eq $true) -and ($downloading_java_is_required -eq $true)) {
+
+ $task_number = 2
+ $task = "Downloading a full offline Java installer..."
+ Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+ If ($bit_number -eq "32") {
+ $actual_download_url = $full_32_download_url
+ } ElseIf ($bit_number -eq "64") {
+ $actual_download_url = $full_64_download_url
+ } Else {
+ $continue = $true
+ } # Else
+
+ $download_file = $actual_download_url.split("/")[-1]
+ $java_save_location = "$path\$download_file"
+ $java_is_downloaded = $false
+
+ # Purge existing old Java installation files
+ If ((Test-Path $java_save_location) -eq $true) {
+ Write-Verbose "Deleting $java_save_location"
+ Remove-Item -Path "$java_save_location"
+ } Else {
+ $continue = $true
+ } # Else
+
+ try
+ {
+ $download_java = New-Object System.Net.WebClient
+ $download_java.DownloadFile($actual_download_url, $java_save_location)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $actual_download_url"
+ $empty_line | Out-String
+ Return "Exiting without installing a new Java version (at Step 16)."
+ }
+
+ Start-Sleep -s 2
+
+ If ((Test-Path $java_save_location) -eq $true) {
+ $java_is_downloaded = $true
+ } Else {
+ $java_is_downloaded = $false
+ } # Else
+
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 17
+# Download the Java Uninstaller Tool
+$task_number = 5
+$task = "Downloading the Java Uninstaller Tool from Oracle/Sun..."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+$uninstaller_file = $uninstaller_tool_url.split("/")[-1]
+$uninstaller_save_location = "$path\$uninstaller_file"
+$uninstaller_is_downloaded = $false
+
+# Purge existing old uninstaller files
+If ((Test-Path $uninstaller_save_location) -eq $true) {
+ Write-Verbose "Deleting $uninstaller_save_location"
+ Remove-Item -Path "$uninstaller_save_location"
+} Else {
+ $continue = $true
+} # Else
+
+ try
+ {
+ $download_uninstaller = New-Object System.Net.WebClient
+ $download_uninstaller.DownloadFile($uninstaller_tool_url, $uninstaller_save_location)
+ }
+ catch [System.Net.WebException]
+ {
+ Write-Warning "Failed to access $uninstaller_tool_url"
+ $empty_line | Out-String
+ Return "Exiting at Step 17 without updating Java."
+ }
+
+Start-Sleep -s 2
+
+If ((Test-Path $uninstaller_save_location) -eq $true) {
+ $uninstaller_is_downloaded = $true
+} Else {
+ $uninstaller_is_downloaded = $false
+} # Else
+
+
+
+
+# Step 18
+# Exit all browsers and other programs that use Java
+<#
+ If (Get-Process iexplore -ErrorAction SilentlyContinue) {
+ $empty_line | Out-String
+ Write-Warning "It seems that Internet Explorer is running."
+ $empty_line | Out-String
+ Return "Please close the Internet Explorer and run this script again. Exiting without updating..."
+ } Else {
+ $continue = $true
+ } # Else
+#>
+$task_number = 6
+$task = "Stopping Java-related processes..."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+Stop-Process -ProcessName '*messenger*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'FlashPlayer*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'plugin-container*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'chrome*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'opera*' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'firefox' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'palemoon' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'iexplore' -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName 'iexplorer' -ErrorAction SilentlyContinue -Force
+
+Stop-Process -ProcessName Java -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName javaw -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName javaws -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName JP2Launcher -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName jqs -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName jucheck -ErrorAction SilentlyContinue -Force
+Stop-Process -ProcessName jusched -ErrorAction SilentlyContinue -Force
+
+If (($admin_corner -eq $true) -or ($java_home_path_reg -eq $null)) {
+ $continue = $true
+} Else {
+ Get-WmiObject Win32_Process | Where-Object { $_.ExecutablePath -like "*$java_home_path_reg*" } | Select-Object @{ Label='Name'; Expression={ $_.Name.Split('.')[0] }} | Stop-Process -ErrorAction SilentlyContinue -Force
+}
+
+Start-Sleep -s 5
+
+
+
+
+# Step 19
+# Uninstall Java completely
+# Note: It seems that Windows PowerShell has to be run in an elevated state (Run as an Administrator) for this script to actually be able to uninstall Java.
+# Source: https://www.java.com/en/download/faq/uninstaller_toolfaq.xml
+# Source: http://docs.oracle.com/javacomponents/msi-jre8/install-guide/installing_jre_msi.htm#msi_system_requirements
+# Java Uninstall Tool URL: https://javadl-esd-secure.oracle.com/update/jut/JavaUninstallTool.exe
+
+ # Unistall Java with the Java Uninstall tool
+
+ <#
+ Versions of Java detected will be presented to the user for removal.
+ The user can choose to remove all or select specific versions of Java to remove.
+ Detects and allows removal of Java versions 1.4.2 and higher.
+ Only Java versions installed using the Java installer are detected. If Java is bundled with any application that uses its own installer, that version of Java will not be offered for removal.
+ The tool does not remove installations of the Java Development Kit (JDK).
+ The tool must be run online. The tool requires an internet connection because it checks for the latest version of the tool.
+
+ # cd $path
+ # .\$uninstaller_file | Out-Null
+ # cd $script_path
+
+ # Start-Process -FilePath $uninstaller_save_location -ArgumentList /qn /norestart -Wait
+
+ #>
+ <#
+ Uninstalling the JRE with the Command Line
+
+ 32-bit JRE: msiexec /x {26A24AE4-039D-4CA4-87B4-2F83218025F0}
+ 64-bit JRE: msiexec /x {26A24AE4-039D-4CA4-87B4-2F86418025F0}
+
+ The value in curly braces is the MSI product code for the JRE about to be uninstalled. The latter part, 18025, correlates to the JRE version 1.8.0_25.
+ #>
+
+If (($java_is_installed -eq $true) -and ($downloading_java_is_required -eq $true) -and ($admin_corner -ne $true)) {
+
+ $task_number = 7
+ $task = "Uninstalling outdated Java..."
+ Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+ # Win32_Product Class
+ # $javases = Get-WmiObject -Class Win32_Product | Where-Object { ($_.Name -like "*Java*" -or $_.Name -like "*J2SE Runtime*") -and ($_.Vendor -like "Oracle*" -or $_.Vendor -like "Sun*" )}
+ # ForEach ($old_java in $javases) {
+ # $uninstall = $old_java.Uninstall()
+ # } # ForEach ($old_java)
+
+ # Uninstall the "Java Auto Updater"
+ $old_java_auto_updater_exists = Check-InstalledSoftware "Java Auto Updater"
+
+ If ($old_java_auto_updater_exists) {
+
+ $uninstalled_old_javas += $obj_auto_updater = New-Object -TypeName PSCustomObject -Property @{
+ 'Computer' = $computer
+ # 'Computer' = $old_java_auto_updater_exists.PSComputerName
+ # 'Computer' = $old_java_auto_updater_exists.__SERVER
+ 'Name' = $old_java_auto_updater_exists.DisplayName.replace("(TM)","")
+ 'Version' = $old_java_auto_updater_exists.DisplayVersion
+ 'IdentifyingNumber' = $old_java_auto_updater_exists.PSChildName
+ 'ProgramId' = '-'
+ 'MsiPackageCode' = '-'
+ } # New-Object
+ $uninstalled_old_javas.PSObject.TypeNames.Insert(0,"Uninstalled Old Java Versions")
+
+ $argument_old_java_auto_updater = "/uninstall $($old_java_auto_updater_exists.PSChildName) /qn /norestart"
+ Start-Process -FilePath $msiexec -ArgumentList "$argument_old_java_auto_updater" -Wait
+ Start-Process -FilePath $msiexec -ArgumentList "/uninstall {4A03706F-666A-4037-7777-5F2748764D10} /qn /norestart" -Wait
+
+ } Else {
+ $continue = $true
+ } # Else
+
+ $javases = Get-WmiObject -Class Win32_InstalledWin32Program | Where-Object { ($_.Name -like "*Java*" -or $_.Name -like "*J2SE Runtime*") -and ($_.Vendor -like "Oracle*" -or $_.Vendor -like "Sun*" )}
+
+ If ($javases -ne $null) {
+
+ ForEach ($old_java in $javases) {
+
+ # Uninstall all instances of Java, apart from the "Java Auto Updater"
+ $argument_old_java = "/uninstall $($old_java.MsiProductCode) /qn /norestart"
+
+ $uninstalled_old_javas += $obj_old_java = New-Object -TypeName PSCustomObject -Property @{
+ 'Computer' = $computer
+ # 'Computer' = $old_java.PSComputerName
+ # 'Computer' = $old_java.__SERVER
+ 'Name' = $old_java.Name.replace("(TM)","")
+ 'Version' = $old_java.Version
+ 'IdentifyingNumber' = $old_java.MsiProductCode
+ 'ProgramId' = $old_java.ProgramId
+ 'MsiPackageCode' = $old_java.MsiPackageCode
+ } # New-Object
+
+ try
+ {
+ $uninstall = Start-Process -FilePath $msiexec -ArgumentList "$argument_old_java" -Wait
+ $uninstall
+ }
+ catch [System.Exception]
+ {
+ $uninstall.ReturnValue
+ }
+
+ Start-Sleep -s 4
+
+ } # ForEach ($old_java)
+
+<#
+ # Delete Java Registry Keys
+ # Remove-Item -Recurse 'HKLM:\SOFTWARE\JavaSoft\Java Update' -Force
+ # Remove-Item -Recurse 'HKLM:\SOFTWARE\Wow6432Node\JavaSoft\Java Update' -Force
+ Remove-Item -Recurse 'HKLM:\SOFTWARE\JavaSoft' -Force
+ Remove-Item -Recurse 'HKLM:\SOFTWARE\JreMetrics' -Force
+ Remove-Item -Recurse 'HKLM:\SOFTWARE\Wow6432Node\JavaSoft' -Force
+ Remove-Item -Recurse 'HKLM:\SOFTWARE\Wow6432Node\JreMetrics' -Force
+
+ # Remove Java Directories
+ Remove-Item -Recurse -Path "C:\Program Files\Java\jre6" -Force
+ Remove-Item -Recurse -Path "C:\Program Files (x86)\Java\jre6" -Force
+ Remove-Item -Recurse -Path "C:\Program Files\Java\jre7" -Force
+ Remove-Item -Recurse -Path "C:\Program Files (x86)\Java\jre7" -Force
+#>
+
+ # Display the uninstalled Java versions in console
+ $uninstalled_old_javas.PSObject.TypeNames.Insert(0,"Uninstalled Old Java Versions")
+ $uninstalled_old_javas_selection = $uninstalled_old_javas | Select-Object 'Name','Version','Computer'
+ $empty_line | Out-String
+ $header_old_java_uninstall = "Uninstalled Old Java Versions"
+ $coline_old_java_uninstall = "-----------------------------"
+ Write-Output $header_old_java_uninstall
+ $coline_old_java_uninstall | Out-String
+ Write-Output $uninstalled_old_javas_selection
+
+ } Else {
+ $continue = $true
+ } # Else [If ($javases)]
+
+} Else {
+ $continue = $true
+} # Else (Step 19)
+
+
+
+
+# Step 20
+# Install the downloaded Java with using the created Java Install Configuration File
+# Note: Please see the Step 5 for generating the Java Install Configuration File (java_config.txt)
+# Note: Please see the Steps 4.1 and 4.2 above for Java deployment properties (the "deployment.properties" -file)
+# Source: http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html#installing_with_config_file
+# Source: http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html
+# Source: http://docs.oracle.com/javacomponents/msi-jre8/install-guide/installing_jre_msi.htm#msi_install_command_line
+# Source: http://stackoverflow.com/questions/28043588/installing-jdk-8-and-jre-8-silently-on-a-windows-machine-through-command-line
+# Source: https://java.com/en/download/help/silent_install.xml
+
+<#
+ jre [INSTALLCFG=configuration_file_path] [options]
+ jre INSTALLCFG=configuration_file_path
+
+ jre is the installer base file name, for example, jre-8u05-windows-i586.exe. jre refers to the JRE Windows Offline Installer base file name
+
+ configuration_file_path is the path to the configuration file. Specifies the path of the installer configuration file.
+
+ options are options with specified values separated by spaces. Use the same options as listed in Table 20-1, "Configuration File Options". In addition, you may use the option /s for the JRE Windows Offline Installer to perform a silent installation. You may substitute the value Enable for 1 and the value Disable for 0.
+
+ # Silent install removing old Java and creating a logfile example:
+ jre1.8.0_60.exe /s /L C:\pathsetup.log REMOVEOUTOFDATEJRES=1
+
+ # Using a configuration file and creating a logfile example:
+ jre-8u31-windows-x64.exe INSTALLCFG="%ProgramData%\Java8Configuration\Java8u31config.txt" /L C:\Temp\Java8u31x64itRuntime_install.log
+ jre-8-windows-i586.exe INSTALLCFG=jre-install-options.txt /s /L C:\TMP\jre-install.log
+
+ # cmd.exe Command Prompt with Administrative rights
+ msiexec.exe /i jre1.8.0_31_64bit.msi /L*v C:\Temp\Java8u31x64it_verb_Runtime_install.log INSTALL_SILENT="Enable" AUTO_UPDATE="Disable" WEB_JAVA="Enable" WEB_ANALYTICS="Disable" EULA="Disable" NOSTARTMENU="Enable" /qb
+ msiexec.exe /i %~dp0jre-8u45-windows-i586.msi INSTALLCFG=%~dp0custom.cfg /qn /L c:\log\jre-8u45-windows-i586.log
+
+ # Basic UI mode:
+ msiexec.exe /i installer.msi [INSTALLCFG=configuration_file_path] [options] /qb
+
+ # Silent or unattended mode:
+ msiexec.exe /i installer.msi [INSTALLCFG=configuration_file_path] [options] /qn
+#>
+
+If ($java_is_downloaded -eq $true) {
+
+ $task_number = 12
+ $task = "Installing Java..."
+ Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+ $install_arguments = [string]"INSTALLCFG=" + "$path\java_config.txt" + " /L " + "$path\java_install.log"
+ Start-Process -FilePath $java_save_location -ArgumentList "$install_arguments" -Wait
+
+ Start-Sleep -s 7
+
+} Else {
+ $continue = $true
+} # Else
+
+
+
+
+# Step 21
+# Enumerate the Javas after the update
+$registry_paths_after_the_update = Get-ItemProperty $registry_paths -ErrorAction SilentlyContinue | Where-Object { ($_.DisplayName -like "*Java*" -or $_.DisplayName -like "*J2SE Runtime*") -and ($_.Publisher -like "Oracle*" -or $_.Publisher -like "Sun*" )}
+
+ ForEach ($new_java in $registry_paths_after_the_update) {
+
+ # Custom Uninstall Strings
+ $new_arguments = "/uninstall $($new_java.PSChildName) /qn /norestart"
+ $new_uninstall_string = "$msiexec /uninstall $($new_java.PSChildName) /qn"
+ $new_powershell_uninstall_string = [string]"Start-Process -FilePath $msiexec -ArgumentList " + $quote + $new_arguments + $unquote + " -Wait"
+
+
+ $new_javases += $obj_new = New-Object -TypeName PSCustomObject -Property @{
+ 'Name' = $new_java.DisplayName.replace("(TM)","")
+ 'Version' = $new_java.DisplayVersion
+ 'Install Date' = $new_java.InstallDate
+ 'Install Location' = $new_java.InstallLocation
+ 'Publisher' = $new_java.Publisher
+ 'Computer' = $computer
+ 'Identifying Number' = $new_java.PSChildName
+ 'Standard Uninstall String' = $new_java.UninstallString
+ 'Custom Uninstall String' = $new_uninstall_string
+ 'PowerShell Uninstall String' = $new_powershell_uninstall_string
+ } # New-Object
+
+ } # ForEach ($item)
+
+
+ # Display the Java Version Enumeration in console
+ If ($new_javases -ne $null) {
+ $new_javases.PSObject.TypeNames.Insert(0,"New Java Versions")
+ $new_javases_selection = $new_javases | Select-Object 'Name','Version','Install Date','Install Location','Publisher','Computer','Identifying Number','PowerShell Uninstall String'
+ $empty_line | Out-String
+ $header_new_java = "New Java Versions"
+ $coline_new_java = "-----------------"
+ Write-Output $header_new_java
+ $coline_new_java | Out-String
+ Write-Output $new_javases_selection
+
+ } Else {
+ $continue = $true
+ } # Else
+
+
+
+
+# Step 22
+# Delete the downloaded files and close the progress bar
+
+<#
+ Start-Sleep -s 7
+
+ If ($uninstaller_is_downloaded -eq $true) {
+
+ $task_number = 15
+ $task = "Deleting the downloaded files..."
+ Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+ Remove-Item -Path "$uninstaller_save_location"
+ } Else {
+ $continue = $true
+ } # Else
+
+ If ($java_is_downloaded -eq $true) {
+
+ $task_number = 16
+ $task = "Deleting the downloaded files..."
+ Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100)
+
+ Remove-Item -Path "$java_save_location"
+ } Else {
+ $continue = $true
+ } # Else
+#>
+
+# Close the progress bar
+$task_number = 19
+$task = "Finished updating Java."
+Write-Progress -Id $id -Activity $activity -Status $status -CurrentOperation $task -PercentComplete (($task_number / $total_steps) * 100) -Completed
+
+
+
+
+# Step 23
+# Uninstall Java Auto Updater (Post-Installation)
+
+$new_java_auto_updater_exists = Check-InstalledSoftware "Java Auto Updater"
+
+ If ($new_java_auto_updater_exists) {
+
+ $argument_new_java_auto_updater = "/uninstall $($new_java_auto_updater_exists.PSChildName) /qn /norestart"
+ Start-Process -FilePath $msiexec -ArgumentList "$argument_new_java_auto_updater" -Wait
+ Start-Process -FilePath $msiexec -ArgumentList "/uninstall {4A03706F-666A-4037-7777-5F2748764D10} /qn /norestart" -Wait
+
+ If ((Check-InstalledSoftware "Java Auto Updater").DisplayName -eq $null) {
+ $new_uninstall_text = "$($new_java_auto_updater_exists.DisplayName) is uninstalled."
+ $empty_line | Out-String
+ Write-Output $new_uninstall_text
+ } Else {
+ $continue = $true
+ } # Else If (Check-InstalledSoftware)
+
+ } Else {
+ $continue = $true
+ } # Else
+
+
+
+
+# Step 24
+# Delete plugins registered with Mozilla applications after installing Java
+Remove-Item -Recurse HKLM:\SOFTWARE\MozillaPlugins\@java*
+Remove-Item -Recurse HKLM:\SOFTWARE\Wow6432Node\MozillaPlugins\@java*
+
+
+
+
+# Step 25
+# Find out how long the script took to complete
+$end_time = Get-Date
+$runtime = ($end_time) - ($start_time)
+
+ If ($runtime.Days -ge 2) {
+ $runtime_result = [string]$runtime.Days + ' days ' + $runtime.Hours + ' h ' + $runtime.Minutes + ' min'
+ } ElseIf ($runtime.Days -gt 0) {
+ $runtime_result = [string]$runtime.Days + ' day ' + $runtime.Hours + ' h ' + $runtime.Minutes + ' min'
+ } ElseIf ($runtime.Hours -gt 0) {
+ $runtime_result = [string]$runtime.Hours + ' h ' + $runtime.Minutes + ' min'
+ } ElseIf ($runtime.Minutes -gt 0) {
+ $runtime_result = [string]$runtime.Minutes + ' min ' + $runtime.Seconds + ' sec'
+ } ElseIf ($runtime.Seconds -gt 0) {
+ $runtime_result = [string]$runtime.Seconds + ' sec'
+ } ElseIf ($runtime.Milliseconds -gt 1) {
+ $runtime_result = [string]$runtime.Milliseconds + ' milliseconds'
+ } ElseIf ($runtime.Milliseconds -eq 1) {
+ $runtime_result = [string]$runtime.Milliseconds + ' millisecond'
+ } ElseIf (($runtime.Milliseconds -gt 0) -and ($runtime.Milliseconds -lt 1)) {
+ $runtime_result = [string]$runtime.Milliseconds + ' milliseconds'
+ } Else {
+ $runtime_result = [string]''
+ } # Else (if)
+
+ If ($runtime_result.Contains(" 0 h")) {
+ $runtime_result = $runtime_result.Replace(" 0 h"," ")
+ } If ($runtime_result.Contains(" 0 min")) {
+ $runtime_result = $runtime_result.Replace(" 0 min"," ")
+ } If ($runtime_result.Contains(" 0 sec")) {
+ $runtime_result = $runtime_result.Replace(" 0 sec"," ")
+ } # if ($runtime_result: first)
+
+# Display the runtime in console
+$empty_line | Out-String
+$timestamp_end = Get-Date -Format HH:mm:ss
+$end_text = "$timestamp_end - Java Update Protocol completed."
+Write-Output $end_text
+$empty_line | Out-String
+$runtime_text = "The update took $runtime_result."
+Write-Output $runtime_text
+$empty_line | Out-String
+
+
+
+
+# [End of Line]
+
+
+<#
+
+ _____
+ / ____|
+ | (___ ___ _ _ _ __ ___ ___
+ \___ \ / _ \| | | | '__/ __/ _ \
+ ____) | (_) | |_| | | | (_| __/
+ |_____/ \___/ \__,_|_| \___\___|
+
+
+http://powershell.com/cs/blogs/tips/archive/2011/05/04/test-internet-connection.aspx # ps1: "Test Internet connection"
+http://powershell.com/cs/PowerTips_Monthly_Volume_8.pdf#IDERA-1702_PS-PowerShellMonthlyTipsVol8-jan2014 # Tobias Weltner: "PowerTips Monthly vol 8 January 2014"
+http://stackoverflow.com/questions/29266622/how-to-run-exe-with-without-elevated-privileges-from-powershell?rq=1 # alejandro5042: "How to run exe with/without elevated privileges from PowerShell"
+http://stackoverflow.com/questions/5466329/whats-the-best-way-to-determine-the-location-of-the-current-powershell-script?noredirect=1&lq=1 # JaredPar and Matthew Pirocchi "What's the best way to determine the location of the current PowerShell script?"
+https://technet.microsoft.com/en-us/library/ff730939.aspx # Microsoft TechNet: "Adding a Simple Menu to a Windows PowerShell Script"
+http://powershell.com/cs/forums/t/9685.aspx # lamaar75: "Creating a Menu"
+http://stackoverflow.com/questions/10941756/powershell-show-elapsed-time # Jeff: "Powershell show elapsed time"
+
+
+
+ _ _ _
+ | | | | | |
+ | |__| | ___| |_ __
+ | __ |/ _ \ | '_ \
+ | | | | __/ | |_) |
+ |_| |_|\___|_| .__/
+ | |
+ |_|
+
+#>
+
+<#
+
+.SYNOPSIS
+Retrieves the latest Java version numbers from the Interwebs, and looks for the
+installed Java versions on the system. If any outdated Java versions are found,
+tries to update the Java. ** Partially obsolete **
+
+.DESCRIPTION
+This is a partially obsolete script, please see
+https://github.com/auberginehill/java-update/issues/1 for further details.
+Java-Update.ps1 doesn't seem to work with JRE Family Version 9 or later versions
+of Java. JRE Family Version 8 is deemed to be "the latest" by this script, which
+only seems to be factually true concerning the 32-bit Java versions.
+
+Java-Update downloads a list of the most recent Java version numbers against which
+it compares the Java version numbers found on the system and displays, whether a
+Java update is needed or not. The actual update process naturally needs elevated
+rights, and if a working Internet connection is not found, Java-Update will exit
+at Step 8. Java-Update detects the installed Javas by querying the Windows
+registry for installed programs. The keys from
+HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ and
+HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\ are read on 64-bit
+computers, and on 32-bit computers only the latter path is accessed.
+
+Java-Update tries to write several Java-related configuration files at an early
+stage, the "deployment.properties" -file in Step 4 and an Install Configuration
+File in Step 5 (java_config.txt). In Step 6, if enough rights are granted (run
+as an administrator) Java-Update tries to remove the excessive duplicate Java
+versions, so that only those Java versions, which are deemed to be the latest,
+would remain. Usually only one instance of Java will remain, but if both the
+32-bit and 64-bit Javas have the same latest version number, both of the Java
+versions (32-bit and 64-bit) will be preserved. At this stage the Java Auto
+Updater will also be uninstalled. In Step 6 the msiexec.exe is called to
+uninstall old Javas, so the process runs at a normal pace.
+
+If Java-Update is run without elevated rights (but with a working Internet
+connection) in a machine with old Java versions, it will be shown that a Java
+update is needed, but Java-Update will exit at Step 13 before actually
+downloading any files. To perform an update with Java-Update, PowerShell has to
+be run in an elevated window (run as an administrator).
+
+If Java-Update is run in an elevated PowerShell window and no Java is detected,
+the script offers the option to install Java in the "Admin Corner", where, in
+contrary to the main autonomous nature of Java-Update, an end-user input
+is required.
+
+If Java-Update is run with elevated rights (with a working Internet connection)
+in a machine with old Java versions, Java-Update tries first to remove the
+excessive duplicate Java versions (at Step 6), and in the update procedure
+(if the most recent non-beta Java version is not detected and Java-Update is run
+with administrative rights) Java-Update downloads the Java uninstaller from
+Oracle/Sun (a file which is not used with this script) and a full Java offline
+installer from Sun (the 64-bit Java for a 64-bit machine and the 32-bit Java for
+a 32-bit machine). After stopping several Java-related processes Java-Update
+uninstalls the outdated Java versions in two phases (Java Auto Updater first
+and then the other Javas as listed by
+Get-WmiObject -Class Win32_InstalledWin32Program command) with the
+msiexec.exe /uninstall command and installs the downloaded Java version.
+
+.OUTPUTS
+Displays Java related information in console. Tries to remove excessive (duplicate)
+Java versions and update the one remaining instance of Java to the latest non-beta
+version (the 64-bit Java for a 64-bit machine and the 32-bit Java for a 32-bit
+machine), if old Java(s) is/are found, if Java-Update is run in an elevated
+Powershell window and if a working Internet connection is detected.
+In addition to that...
+
+The Java Deployment Configuration File (deployment.properties) is altered with new parameters,
+if it is found in one of its default Windows locations, and the following backups are made. To
+see the actual values that are being written, please see the Step 4 above (altering the
+duplicated values below won't affect the script in any meaningful way):
+
+
+ Java Deployment Configuration File in Step 4 (deployment.properties):
+
+ Windows path 1: %USER_HOME_DIRECTORY%\AppData\LocalLow\Sun\Java\Deployment\deployment.properties
+ Windows path 2: %USER_HOME_DIRECTORY%\AppData\Roaming\Sun\Java\Deployment\deployment.properties
+
+
+ 'Original' file, which is created when the script is run for the first time:
+
+ Windows path 1: %USER_HOME_DIRECTORY%\AppData\LocalLow\Sun\Java\Deployment\deployment.properties_original
+ Windows path 2: %USER_HOME_DIRECTORY%\AppData\Roaming\Sun\Java\Deployment\deployment.properties_original
+
+
+ 'Backup' file, which is created when the script is run for the second time
+ and which gets overwritten in each successive time the script is run:
+
+ Windows path 1: %USER_HOME_DIRECTORY%\AppData\LocalLow\Sun\Java\Deployment\deployment.properties.old
+ Windows path 2: %USER_HOME_DIRECTORY%\AppData\Roaming\Sun\Java\Deployment\deployment.properties.old
+
+
+ An auxiliary 'New' file, which contains the newest settings:
+
+ Windows path 1: %USER_HOME_DIRECTORY%\AppData\LocalLow\Sun\Java\Deployment\deployment.properties.new
+ Windows path 2: %USER_HOME_DIRECTORY%\AppData\Roaming\Sun\Java\Deployment\deployment.properties.new
+
+
+ The %USER_HOME_DIRECTORY% location represents the Home directory of an user, such as
+ C:\Users\ and may be displayed in PowerShell with the [Environment]::GetFolderPath("User") command.
+
+ The "Store user settings in the roaming profile" Java setting in the Java Control Panel (Advanced Tab)
+ determines, whether the Windows path 1 or 2 is used. The default option is Windows path 1 (i.e. "Store user
+ settings in the roaming profile" = false) i.e. %USER_HOME_DIRECTORY%\AppData\LocalLow\Sun\Java\Deployment\
+ is used by default.
+
+
+ deployment.webjava.enabled=false Security Tab: Enable Java content in the browser
+ Set to true to run applets or Java Web Start (JWS) applications.
+ Set to false to block applets and JWS applications from running.
+ install.disable.sponsor.offers=true Advanced Tab: Suppress sponsor offers when installing or updating Java
+
+
+For a comprehensive list of available settings in the deployment.properties file,
+please see the "Deployment Configuration File and Properties" page at
+http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/properties.html
+
+
+An Install Configuration File is created in Step 5. To see the actual values that
+are being written, please see the Step 5 above (altering the duplicated values
+below won't affect the script in any meaningful way)
+
+
+ Install Configuration File in Step 5 (java_config.txt):
+
+ Windows: %TEMP%\java_config.txt
+
+
+ The %TEMP% location represents the current Windows temporary file folder.
+ In PowerShell, for instance the command $env:temp displays the temp-folder path.
+
+
+ INSTALL_SILENT=1 Silent (non-interactive) installation
+ AUTO_UPDATE=0 Disables the auto update feature
+ WEB_JAVA=0 Disables Java in the browser.
+ Configures the installation so that downloaded Java
+ applications are not allowed to run in a web browser
+ or by Java Web Start.
+ WEB_JAVA_SECURITY_LEVEL=VH Sets the security level to very high
+ WEB_ANALYTICS=0 Disallow the installer to send installation-related
+ statistics to an Oracle server.
+ EULA=0 If a Java applet or Java Web Start application is
+ launched, do not prompt the user to accept the end-user
+ license agreement.
+ REBOOT=0 The installer will never prompt for restarting the
+ computer after installing the JRE.
+ REBOOT=Suppress
+ REBOOT=ReallySuppress
+ NOSTARTMENU=1 Specify that the installer installs the JRE without
+ setting up Java start-up items.
+ SPONSORS=0 Install Java without being presented with any third
+ party sponsor offers.
+ REMOVEOUTOFDATEJRES=1 Enables uninstallation of existing out of date JREs
+ during JRE install. Using REMOVEOUTOFDATEJRES=1
+ removes all out-of-date Java versions from the system.
+
+
+For a comprehensive list of available settings in a Configuration File,
+please see the "Installing With a Configuration File" page at
+https://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html
+
+
+After the installation the downloaded files (uninstaller and the install file) are
+not purged from the $path directory.
+
+
+Additionally two auxiliary csv-files are created at $path and during the actual
+update procedure a log-file is also created to the same location.
+
+
+ %TEMP%\java_update_chart.csv Gathered from an online XML-file.
+ %TEMP%\java_baseline.csv Contains the most recent Java version numbers.
+ %TEMP%\java_install.log A log-file about the installation procedure.
+
+
+ The %TEMP% location represents the current Windows temporary file folder.
+ In PowerShell, for instance the command $env:temp displays the temp-folder path.
+
+
+To open these file locations in a Resource Manager Window, for instance a command
+
+
+ Invoke-Item ([string][Environment]::GetFolderPath("LocalApplicationData") + 'Low\Sun\Java\Deployment')
+
+ or
+
+ Invoke-Item ([string][Environment]::GetFolderPath("ApplicationData") + '\Sun\Java\Deployment')
+
+ or
+
+ Invoke-Item ("$env:temp")
+
+
+may be used at the PowerShell prompt window [PS>].
+
+.NOTES
+Requires a working Internet connection for downloading a list of the most recent
+Java version numbers.
+
+Also requires a working Internet connection for downloading a Java uninstaller
+and a complete Java installer from Oracle/Sun (but this procedure is not initiated,
+if the system is deemed up-to-date). The download location URLs of the full
+installation files seem not to follow any pre-determined format anymore.
+The download locations of full installation files for both 32-bit and 64-bit Java
+versions are determined at Step 10 and Step 11.
+
+For performing any actual updates with Java-Update, it's mandatory to
+run this script in an elevated PowerShell window (where PowerShell has been started
+with the 'run as an administrator' option). The elevated rights are needed for
+uninstalling Java(s) and installing Java.
+
+Please also notice that during the actual update phase Java-Update closes a bunch
+of processes without any further notice in Step 18 and may do so also in Step 6.
+Please also note that Java-Update alters the system files at least in Steps 4, 5, 19
+and 24, so that for instance, all successive Java installations (even the ones not
+initiated by this Java-Update script) will be done "silently" i.e. without any
+interactive pages or prompts.
+
+Please note that when run in an elevated PowerShell window and old Java(s)
+is/are detected, Java-Update will automatically try to uninstall them and download
+files from the Internet without prompting the end-user beforehand or without asking
+any confirmations (in Step 6 and from Step 16 onwards).
+
+The notoriously slow and possibly harmful Get-WmiObject -Class Win32_Product command
+is deliberately not used for listing the installed Javas or for performing
+uninstallations despite the powerful Uninstall-method associated with this command,
+since the Win32_Product Class has some unpleasant behaviors - namely it uses a
+provider DLL that validates the consistency of every installed MSI package on the
+computer (msiprov.dll with the mandatorily initiated resiliency check, in which the
+installations are verified and possibly also repaired or repair-installed), which
+is the main reason behind the slow performance of this command. All in all
+Win32_product Class is not query optimized and in Java-Update a combination of
+various registry queries, msiexec.exe and
+Get-WmiObject -Class Win32_InstalledWin32Program is used instead.
+
+Please note that the downloaded files are placed in a directory, which is specified
+with the $path variable (at line 15). The $env:temp variable points
+to the current temp folder. The default value of the $env:temp variable is
+C:\Users\\AppData\Local\Temp (i.e. each user account has their own
+separate temp folder at path %USERPROFILE%\AppData\Local\Temp). To see the current
+temp path, for instance a command
+
+ [System.IO.Path]::GetTempPath()
+
+may be used at the PowerShell prompt window [PS>]. To change the temp folder for instance
+to C:\Temp, please, for example, follow the instructions at
+http://www.eightforums.com/tutorials/23500-temporary-files-folder-change-location-windows.html
+
+ Homepage: https://github.com/auberginehill/java-update
+ Short URL: http://tinyurl.com/hh7krx3
+ Version: 1.4
+
+.EXAMPLE
+./Java-Update
+Runs the script. Please notice to insert ./ or .\ before the script name.
+
+.EXAMPLE
+help ./Java-Update -Full
+Displays the help file.
+
+.EXAMPLE
+Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
+This command is altering the Windows PowerShell rights to enable script execution
+in the default (LocalMachine) scope, and defines the conditions under which Windows
+PowerShell loads configuration files and runs scripts in general. In Windows Vista
+and later versions of Windows, for running commands that change the execution policy
+of the LocalMachine scope, Windows PowerShell has to be run with elevated rights
+(Run as Administrator). The default policy of the default (LocalMachine) scope is
+"Restricted", and a command "Set-ExecutionPolicy Restricted" will "undo" the changes
+made with the original example above (had the policy not been changed before...).
+Execution policies for the local computer (LocalMachine) and for the current user
+(CurrentUser) are stored in the registry (at for instance the
+HKLM:\Software\Policies\Microsoft\Windows\PowerShell\ExecutionPolicy key), and remain
+effective until they are changed again. The execution policy for a particular session
+(Process) is stored only in memory, and is discarded when the session is closed.
+
+
+ Parameters:
+
+ Restricted Does not load configuration files or run scripts, but permits
+ individual commands. Restricted is the default execution policy.
+
+ AllSigned Scripts can run. Requires that all scripts and configuration
+ files be signed by a trusted publisher, including the scripts
+ that have been written on the local computer. Risks running
+ signed, but malicious, scripts.
+
+ RemoteSigned Requires a digital signature from a trusted publisher on scripts
+ and configuration files that are downloaded from the Internet
+ (including e-mail and instant messaging programs). Does not
+ require digital signatures on scripts that have been written on
+ the local computer. Permits running unsigned scripts that are
+ downloaded from the Internet, if the scripts are unblocked by
+ using the Unblock-File cmdlet. Risks running unsigned scripts
+ from sources other than the Internet and signed, but malicious,
+ scripts.
+
+ Unrestricted Loads all configuration files and runs all scripts.
+ Warns the user before running scripts and configuration files
+ that are downloaded from the Internet. Not only risks, but
+ actually permits, eventually, running any unsigned scripts from
+ any source. Risks running malicious scripts.
+
+ Bypass Nothing is blocked and there are no warnings or prompts.
+ Not only risks, but actually permits running any unsigned scripts
+ from any source. Risks running malicious scripts.
+
+ Undefined Removes the currently assigned execution policy from the current
+ scope. If the execution policy in all scopes is set to Undefined,
+ the effective execution policy is Restricted, which is the
+ default execution policy. This parameter will not alter or
+ remove the ("master") execution policy that is set with a Group
+ Policy setting.
+ __________
+ Notes: - Please note that the Group Policy setting "Turn on Script Execution"
+ overrides the execution policies set in Windows PowerShell in all
+ scopes. To find this ("master") setting, please, for example, open
+ the Local Group Policy Editor (gpedit.msc) and navigate to
+ Computer Configuration > Administrative Templates >
+ Windows Components > Windows PowerShell.
+
+ - The Local Group Policy Editor (gpedit.msc) is not available in any
+ Home or Starter edition of Windows.
+
+ - Group Policy setting "Turn on Script Execution":
+
+ Not configured : No effect, the default
+ value of this setting
+ Disabled : Restricted
+ Enabled - Allow only signed scripts : AllSigned
+ Enabled - Allow local scripts and remote signed scripts : RemoteSigned
+ Enabled - Allow all scripts : Unrestricted
+
+
+For more information, please type "Get-ExecutionPolicy -List", "help Set-ExecutionPolicy -Full",
+"help about_Execution_Policies" or visit https://technet.microsoft.com/en-us/library/hh849812.aspx
+or http://go.microsoft.com/fwlink/?LinkID=135170.
+
+.EXAMPLE
+New-Item -ItemType File -Path C:\Temp\Java-Update.ps1
+Creates an empty ps1-file to the C:\Temp directory. The New-Item cmdlet has an inherent
+-NoClobber mode built into it, so that the procedure will halt, if overwriting (replacing
+the contents) of an existing file is about to happen. Overwriting a file with the New-Item
+cmdlet requires using the Force. If the path name and/or the filename includes space
+characters, please enclose the whole -Path parameter value in quotation marks (single or
+double):
+
+ New-Item -ItemType File -Path "C:\Folder Name\Java-Update.ps1"
+
+For more information, please type "help New-Item -Full".
+
+.LINK
+http://powershell.com/cs/blogs/tips/archive/2011/05/04/test-internet-connection.aspx
+http://powershell.com/cs/PowerTips_Monthly_Volume_8.pdf#IDERA-1702_PS-PowerShellMonthlyTipsVol8-jan2014
+http://stackoverflow.com/questions/29266622/how-to-run-exe-with-without-elevated-privileges-from-powershell?rq=1
+http://stackoverflow.com/questions/5466329/whats-the-best-way-to-determine-the-location-of-the-current-powershell-script?noredirect=1&lq=1
+https://technet.microsoft.com/en-us/library/ff730939.aspx
+http://powershell.com/cs/forums/t/9685.aspx
+http://stackoverflow.com/questions/10941756/powershell-show-elapsed-time
+http://docs.oracle.com/javacomponents/msi-jre8/install-guide/installing_jre_msi.htm#msi_install_command_line
+http://docs.oracle.com/javacomponents/msi-jre8/install-guide/installing_jre_msi.htm#msi_install_instructions
+http://docs.oracle.com/javacomponents/msi-jre8/install-guide/installing_jre_msi.htm#msi_system_requirements
+http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/properties.html
+http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html#installing_with_config_file
+http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html
+http://pastebin.com/73JqpTqv
+http://stackoverflow.com/questions/28043588/installing-jdk-8-and-jre-8-silently-on-a-windows-machine-through-command-line
+http://stackoverflow.com/questions/27175137/powershellv2-remove-last-x-characters-from-a-string#32608908
+http://superuser.com/questions/443686/silent-java-update-check
+https://bugs.openjdk.java.net/browse/JDK-8005362
+https://github.com/bmrf/standalone_scripts/blob/master/java_runtime_nuker.bat
+https://www.java.com/en/download/faq/uninstaller_toolfaq.xml
+
+#>
\ No newline at end of file
diff --git a/Applications/Notepad++/Force-Update.ps1 b/Applications/Notepad++/Force-Update.ps1
new file mode 100644
index 0000000..642fde9
--- /dev/null
+++ b/Applications/Notepad++/Force-Update.ps1
@@ -0,0 +1,24 @@
+# Modern websites require TLS 1.2
+[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
+
+#requires -RunAsAdministrator
+
+# Let's go directly to the website and see what it lists as the current version
+$BaseUri = "https://notepad-plus-plus.org"
+$BasePage = Invoke-WebRequest -Uri $BaseUri -UseBasicParsing
+$ChildPath = $BasePage.Links | Where-Object { $_.outerHTML -like '*Current Version*' } | Select-Object -ExpandProperty href
+# Now let's go to the latest version's page and find the installer
+$DownloadPageUri = $BaseUri + $ChildPath
+$DownloadPage = Invoke-WebRequest -Uri $DownloadPageUri -UseBasicParsing
+# Determine bit-ness of O/S and download accordingly
+if ( [System.Environment]::Is64BitOperatingSystem ) {
+ $DownloadUrl = $DownloadPage.Links | Where-Object { $_.outerHTML -like '*npp.*.Installer.x64.exe"*' } | Select-Object -ExpandProperty href -Unique
+} else {
+ $DownloadUrl = $DownloadPage.Links | Where-Object { $_.outerHTML -like '*npp.*.Installer.exe"*' } | Select-Object -ExpandProperty href -Unique
+}
+
+Write-Host "Downloading the latest Notepad++ to the temp folder"
+Invoke-WebRequest -Uri $DownloadUrl -OutFile "$env:TEMP\$( Split-Path -Path $DownloadUrl -Leaf )" | Out-Null
+
+Write-Host "Installing the latest Notepad++"
+Start-Process -FilePath "$env:TEMP\$( Split-Path -Path $DownloadUrl -Leaf )" -ArgumentList "/S" -Wait
\ No newline at end of file
diff --git a/Applications/Zoom/Force-Remove.ps1 b/Applications/Zoom/Force-Remove.ps1
new file mode 100644
index 0000000..c254fa1
--- /dev/null
+++ b/Applications/Zoom/Force-Remove.ps1
@@ -0,0 +1,437 @@
+<#
+tes
+.SYNOPSIS
+ Uninstalls all Zoom applications registered with the Windows installer.
+ Whether they are installed to the local computer or the users profile.
+
+.DESCRIPTION
+ Searches registry for applications registered with 'Zoom' as publisher.
+ If any found, the uninstall string is retrieved and used to uninstall the application.
+ If applications are found to be installed in the users profile, the users context is invoked and the application is uninstalled coming from SYSTEM context.
+
+.NOTES
+ Filename: Uninstall-EverythingZoom.ps1
+ Version: 1.0
+ Author: Martin Bengtsson
+ Blog: www.imab.dk
+ Twitter: @mwbengtsson
+
+.LINK
+ https://www.imab.dk/uninstall-all-zoom-applications-in-a-jiffy-using-configuration-manager-and-powershell/
+#>
+
+function Execute-AsLoggedOnUser($Command,$Hidden=$true) {
+ <#
+ .SYNOPSIS
+ Function that can execute powershell in the context of the logged-in user.
+ .DESCRIPTION
+ This function will use advanced API's to get the access token of the currently logged-in user, in order to execute a script in the users context.
+ This is useful for scripts that are run in the local system users context.
+ .REQUIREMENTS
+ This script myst be run from the context of the SYSTEM account.
+ Designes to be run by Intune or SCCM Agent.
+ Absolute paths required.
+ .EXAMPLE
+ Running a powershell script visible to the user
+ $userCommand = '-file c:\windows\temp\script.ps1'
+ executeAsLoggedOnUser -Command $userCommand -Hidden $false
+ .EXAMPLE
+ Running a powershell command hidden from the user (hidden is default true)
+ $userCommand = '-command &{remove-item c:\temp\secretfile.txt}'
+ executeAsLoggedOnUser -Command $userCommand
+ .COPYRIGHT
+ MIT License, feel free to distribute and use as you like, please leave author information.
+ .AUTHOR
+ Michael Mardahl - @michael_mardahl on twitter - BLOG: https://www.iphase.dk
+ C# borrowed from the awesome Justin Myrray (https://github.com/murrayju/CreateProcessAsUser)
+ .DISCLAIMER
+ This function is provided AS-IS, with no warranty - Use at own risk!
+ #>
+
+$csharpCode = @"
+ using System;
+ using System.Runtime.InteropServices;
+
+ namespace murrayju.ProcessExtensions
+ {
+ public static class ProcessExtensions
+ {
+ #region Win32 Constants
+
+ private const int CREATE_UNICODE_ENVIRONMENT = 0x00000400;
+ private const int CREATE_NO_WINDOW = 0x08000000;
+
+ private const int CREATE_NEW_CONSOLE = 0x00000010;
+
+ private const uint INVALID_SESSION_ID = 0xFFFFFFFF;
+ private static readonly IntPtr WTS_CURRENT_SERVER_HANDLE = IntPtr.Zero;
+
+ #endregion
+
+ #region DllImports
+
+ [DllImport("advapi32.dll", EntryPoint = "CreateProcessAsUser", SetLastError = true, CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
+ private static extern bool CreateProcessAsUser(
+ IntPtr hToken,
+ String lpApplicationName,
+ String lpCommandLine,
+ IntPtr lpProcessAttributes,
+ IntPtr lpThreadAttributes,
+ bool bInheritHandle,
+ uint dwCreationFlags,
+ IntPtr lpEnvironment,
+ String lpCurrentDirectory,
+ ref STARTUPINFO lpStartupInfo,
+ out PROCESS_INFORMATION lpProcessInformation);
+
+ [DllImport("advapi32.dll", EntryPoint = "DuplicateTokenEx")]
+ private static extern bool DuplicateTokenEx(
+ IntPtr ExistingTokenHandle,
+ uint dwDesiredAccess,
+ IntPtr lpThreadAttributes,
+ int TokenType,
+ int ImpersonationLevel,
+ ref IntPtr DuplicateTokenHandle);
+
+ [DllImport("userenv.dll", SetLastError = true)]
+ private static extern bool CreateEnvironmentBlock(ref IntPtr lpEnvironment, IntPtr hToken, bool bInherit);
+
+ [DllImport("userenv.dll", SetLastError = true)]
+ [return: MarshalAs(UnmanagedType.Bool)]
+ private static extern bool DestroyEnvironmentBlock(IntPtr lpEnvironment);
+
+ [DllImport("kernel32.dll", SetLastError = true)]
+ private static extern bool CloseHandle(IntPtr hSnapshot);
+
+ [DllImport("kernel32.dll")]
+ private static extern uint WTSGetActiveConsoleSessionId();
+
+ [DllImport("Wtsapi32.dll")]
+ private static extern uint WTSQueryUserToken(uint SessionId, ref IntPtr phToken);
+
+ [DllImport("wtsapi32.dll", SetLastError = true)]
+ private static extern int WTSEnumerateSessions(
+ IntPtr hServer,
+ int Reserved,
+ int Version,
+ ref IntPtr ppSessionInfo,
+ ref int pCount);
+
+ #endregion
+
+ #region Win32 Structs
+
+ private enum SW
+ {
+ SW_HIDE = 0,
+ SW_SHOWNORMAL = 1,
+ SW_NORMAL = 1,
+ SW_SHOWMINIMIZED = 2,
+ SW_SHOWMAXIMIZED = 3,
+ SW_MAXIMIZE = 3,
+ SW_SHOWNOACTIVATE = 4,
+ SW_SHOW = 5,
+ SW_MINIMIZE = 6,
+ SW_SHOWMINNOACTIVE = 7,
+ SW_SHOWNA = 8,
+ SW_RESTORE = 9,
+ SW_SHOWDEFAULT = 10,
+ SW_MAX = 10
+ }
+
+ private enum WTS_CONNECTSTATE_CLASS
+ {
+ WTSActive,
+ WTSConnected,
+ WTSConnectQuery,
+ WTSShadow,
+ WTSDisconnected,
+ WTSIdle,
+ WTSListen,
+ WTSReset,
+ WTSDown,
+ WTSInit
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ private struct PROCESS_INFORMATION
+ {
+ public IntPtr hProcess;
+ public IntPtr hThread;
+ public uint dwProcessId;
+ public uint dwThreadId;
+ }
+
+ private enum SECURITY_IMPERSONATION_LEVEL
+ {
+ SecurityAnonymous = 0,
+ SecurityIdentification = 1,
+ SecurityImpersonation = 2,
+ SecurityDelegation = 3,
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ private struct STARTUPINFO
+ {
+ public int cb;
+ public String lpReserved;
+ public String lpDesktop;
+ public String lpTitle;
+ public uint dwX;
+ public uint dwY;
+ public uint dwXSize;
+ public uint dwYSize;
+ public uint dwXCountChars;
+ public uint dwYCountChars;
+ public uint dwFillAttribute;
+ public uint dwFlags;
+ public short wShowWindow;
+ public short cbReserved2;
+ public IntPtr lpReserved2;
+ public IntPtr hStdInput;
+ public IntPtr hStdOutput;
+ public IntPtr hStdError;
+ }
+
+ private enum TOKEN_TYPE
+ {
+ TokenPrimary = 1,
+ TokenImpersonation = 2
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ private struct WTS_SESSION_INFO
+ {
+ public readonly UInt32 SessionID;
+
+ [MarshalAs(UnmanagedType.LPStr)]
+ public readonly String pWinStationName;
+
+ public readonly WTS_CONNECTSTATE_CLASS State;
+ }
+
+ #endregion
+
+ // Gets the user token from the currently active session
+ private static bool GetSessionUserToken(ref IntPtr phUserToken)
+ {
+ var bResult = false;
+ var hImpersonationToken = IntPtr.Zero;
+ var activeSessionId = INVALID_SESSION_ID;
+ var pSessionInfo = IntPtr.Zero;
+ var sessionCount = 0;
+
+ // Get a handle to the user access token for the current active session.
+ if (WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE, 0, 1, ref pSessionInfo, ref sessionCount) != 0)
+ {
+ var arrayElementSize = Marshal.SizeOf(typeof(WTS_SESSION_INFO));
+ var current = pSessionInfo;
+
+ for (var i = 0; i < sessionCount; i++)
+ {
+ var si = (WTS_SESSION_INFO)Marshal.PtrToStructure((IntPtr)current, typeof(WTS_SESSION_INFO));
+ current += arrayElementSize;
+
+ if (si.State == WTS_CONNECTSTATE_CLASS.WTSActive)
+ {
+ activeSessionId = si.SessionID;
+ }
+ }
+ }
+
+ // If enumerating did not work, fall back to the old method
+ if (activeSessionId == INVALID_SESSION_ID)
+ {
+ activeSessionId = WTSGetActiveConsoleSessionId();
+ }
+
+ if (WTSQueryUserToken(activeSessionId, ref hImpersonationToken) != 0)
+ {
+ // Convert the impersonation token to a primary token
+ bResult = DuplicateTokenEx(hImpersonationToken, 0, IntPtr.Zero,
+ (int)SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation, (int)TOKEN_TYPE.TokenPrimary,
+ ref phUserToken);
+
+ CloseHandle(hImpersonationToken);
+ }
+
+ return bResult;
+ }
+
+ public static bool StartProcessAsCurrentUser(string cmdLine, bool visible, string appPath = null, string workDir = null)
+ {
+ var hUserToken = IntPtr.Zero;
+ var startInfo = new STARTUPINFO();
+ var procInfo = new PROCESS_INFORMATION();
+ var pEnv = IntPtr.Zero;
+ int iResultOfCreateProcessAsUser;
+
+ startInfo.cb = Marshal.SizeOf(typeof(STARTUPINFO));
+
+ try
+ {
+ if (!GetSessionUserToken(ref hUserToken))
+ {
+ throw new Exception("StartProcessAsCurrentUser: GetSessionUserToken failed.");
+ }
+
+ uint dwCreationFlags = CREATE_UNICODE_ENVIRONMENT | (uint)(visible ? CREATE_NEW_CONSOLE : CREATE_NO_WINDOW);
+ startInfo.wShowWindow = (short)(visible ? SW.SW_SHOW : SW.SW_HIDE);
+ startInfo.lpDesktop = "winsta0\\default";
+
+ if (!CreateEnvironmentBlock(ref pEnv, hUserToken, false))
+ {
+ throw new Exception("StartProcessAsCurrentUser: CreateEnvironmentBlock failed.");
+ }
+
+ if (!CreateProcessAsUser(hUserToken,
+ appPath, // Application Name
+ cmdLine, // Command Line
+ IntPtr.Zero,
+ IntPtr.Zero,
+ false,
+ dwCreationFlags,
+ pEnv,
+ workDir, // Working directory
+ ref startInfo,
+ out procInfo))
+ {
+ throw new Exception("StartProcessAsCurrentUser: CreateProcessAsUser failed.\n");
+ }
+
+ iResultOfCreateProcessAsUser = Marshal.GetLastWin32Error();
+ }
+ finally
+ {
+ CloseHandle(hUserToken);
+ if (pEnv != IntPtr.Zero)
+ {
+ DestroyEnvironmentBlock(pEnv);
+ }
+ CloseHandle(procInfo.hThread);
+ CloseHandle(procInfo.hProcess);
+ }
+ return true;
+ }
+ }
+ }
+"@
+ # Compiling the source code as csharp
+ $compilerParams = [System.CodeDom.Compiler.CompilerParameters]::new()
+ $compilerParams.ReferencedAssemblies.AddRange(('System.Runtime.InteropServices.dll', 'System.dll'))
+ $compilerParams.CompilerOptions = '/unsafe'
+ $compilerParams.GenerateInMemory = $True
+ Add-Type -TypeDefinition $csharpCode -Language CSharp -CompilerParameters $compilerParams
+ # Adding powershell executeable to the command
+ $Command = '{0}\System32\WindowsPowerShell\v1.0\powershell.exe -executionPolicy bypass {1}' -f $($env:windir),$Command
+ # Adding double slashes to the command paths, as this is required.
+ $Command = $Command.Replace("\","\\")
+ # Execute a process as the currently logged on user.
+ # Absolute paths required if running as SYSTEM!
+ if($Hidden) { #running the command hidden
+ $runCommand = [murrayju.ProcessExtensions.ProcessExtensions]::StartProcessAsCurrentUser($Command,$false)
+ }else{ #running the command visible
+ $runCommand = [murrayju.ProcessExtensions.ProcessExtensions]::StartProcessAsCurrentUser($Command,$true)
+ }
+
+ if ($runCommand) {
+ return "Executed `"$Command`" as loggedon user"
+ } else {
+ throw "Something went wrong when executing process as currently logged-on user"
+ }
+}
+
+function Uninstall-ZoomLocalMachine() {
+
+ Write-Verbose -Verbose -Message "Running Uninstall-ZoomLocalMachine function"
+ $registryPath = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
+ if (Test-Path -Path $registryPath) {
+ $installedZoomApps = Get-ChildItem -Path $registryPath -Recurse | Get-ItemProperty | Where-Object {$_.Publisher -like "Zoom*" } | Select-Object Displayname,UninstallString
+ if ($installedZoomApps) {
+ Write-Verbose -Verbose -Message "Installed Zoom applications found in HKLM"
+ foreach ($zoomApp in $installedZoomApps) {
+ if ($zoomApp.UninstallString) {
+ # Regular expression for format of MSI product code
+ $msiRegEx = "\w{8}-\w{4}-\w{4}-\w{4}-\w{12}"
+ # Formatting the productcode in a creative way.
+ # Needed this separately, as the uninstall string retrieved from registry sometimes wasn't formatted properly
+ $a = $zoomApp.Uninstallstring.Split("{")[1]
+ $b = $a.Split("}")[0]
+ # Only continuing if the uninstall string matches a regular MSI product code
+ if ($b -match $msiRegEx) {
+ $productCode = "{" + $b + "}"
+ if ($productCode) {
+ try {
+ Write-Verbose -Verbose -Message "Uninstalling application: $($zoomApp.DisplayName)"
+ Start-Process "C:\Windows\System32\msiexec.exe" -ArgumentList ("/x" + $productCode + " /passive") -Wait
+ }
+
+ catch {
+ Write-Error -Message "Failed to uninstall application: $($zoomApp.DisplayName)"
+ }
+ }
+ }
+ }
+ }
+ }
+ else {
+ Write-Verbose -Verbose -Message "No Zoom applications found in HKLM"
+ }
+ }
+ else {
+ Write-Verbose -Verbose -Message "Registry path not found"
+ }
+}
+
+function Uninstall-ZoomCurrentUser() {
+
+ Write-Verbose -Verbose -Message "Running Uninstall-ZoomCurrentUser function"
+ # Getting all user profiles on the computer
+ $userProfiles = Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\*" | Where-Object {$_.PSChildName -match "S-1-5-21-(\d+-?){4}$"} | Select-Object @{Name="SID"; Expression={$_.PSChildName}}, @{Name="UserHive";Expression={"$($_.ProfileImagePath)\NTuser.dat"}}
+ foreach ($userProfile in $userProfiles) {
+ # Formatting the username in a separate variable
+ $userName = $userProfile.UserHive.Split("\")[2]
+ $registryPath = "Registry::HKEY_USERS\$($UserProfile.SID)\Software\Microsoft\Windows\CurrentVersion\Uninstall"
+ if (Test-Path -Path $registryPath) {
+ $installedZoomApps = Get-ChildItem -Path $registryPath -Recurse | Get-ItemProperty | Where-Object {$_.Publisher -like "Zoom*" } | Select-Object Displayname,UninstallString
+ if ($installedZoomApps) {
+ Write-Verbose -Verbose -Message "Installed Zoom applications found in HKCU for user: $userName"
+ foreach ($zoomApp in $installedZoomApps) {
+ if ($zoomApp.UninstallString) {
+ $userCommand = '-command &{Start-Process "C:\Users\USERNAME\AppData\Roaming\Zoom\uninstall\Installer.exe" -ArgumentList "/uninstall" -Wait}'
+ # Replacing the placeholder: USERNAME with the actual username retrieved from the userprofile
+ # This can probably be done smarter, but I failed to find another method
+ $userCommand = $userCommand -replace "USERNAME",$userName
+ try {
+ Write-Verbose -Verbose -Message "Uninstalling application: $($zoomApp.DisplayName) as the logged on user: $userName"
+ Execute-AsLoggedOnUser -Command $userCommand
+ }
+ catch {
+ Write-Error -Message "Failed to uninstall application: $($zoomApp.DisplayName) for user: $userName"
+ }
+ }
+ }
+ }
+ else {
+ Write-Verbose -Verbose -Message "No Zoom applications found in HKCU for user: $userName"
+ }
+ }
+ else {
+ Write-Verbose -Verbose -Message "Registry path not found for user: $userName"
+ }
+ }
+}
+
+try {
+ Write-Verbose -Verbose -Message "Script is running"
+ Uninstall-ZoomLocalMachine
+ Uninstall-ZoomCurrentUser
+}
+
+catch {
+ Write-Verbose -Verbose -Message "Something went wrong during running of the script"
+}
+
+finally {
+ Write-Verbose -Verbose -Message "Script is done running"
+}
\ No newline at end of file
diff --git a/Azure Active Directory/Get-AadGroups.ps1 b/Azure Active Directory/Get-AadGroups.ps1
new file mode 100644
index 0000000..a7ce457
--- /dev/null
+++ b/Azure Active Directory/Get-AadGroups.ps1
@@ -0,0 +1,34 @@
+$creduser = Read-Host "Admin email"
+$credpassword = Read-Host "Admin Password"
+
+[securestring]$secStringPassword = ConvertTo-SecureString $credpassword -AsPlainText -Force
+[pscredential]$credObject = New-Object System.Management.Automation.PSCredential ($creduser, $secStringPassword)
+
+Connect-AzureAD -Credential $credObject
+
+$Table = New-Object 'System.Collections.Generic.List[System.Object]'
+
+$Groups = Get-AzureAdGroup -All $True | Where-Object { $_.MailEnabled -eq $false -and $_.SecurityEnabled -eq $true } | Sort-Object DisplayName
+
+$obj1 = [PSCustomObject]@{
+ 'Name' = 'Security Group'
+ 'Count' = $Groups.count
+}
+
+$obj1
+
+Foreach ($Group in $Groups) {
+ $Users = (Get-AzureADGroupMember -ObjectId $Group.ObjectID | Sort-Object DisplayName | Select-Object -ExpandProperty DisplayName) -join ", "
+ $GName = $Group.DisplayName
+
+ $hash = New-Object PSObject -property @{ Name = "$GName"; Members = "$Users" }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $GName
+ 'Members' = $users
+ }
+
+ $table.add($obj)
+}
+
+$table | Export-Csv -Path "Groupe-SharePoint.csv" -Delimiter ";" -Encoding UTF8 -NoTypeInformation
\ No newline at end of file
diff --git a/Azure Active Directory/Get-MsolUser.ps1 b/Azure Active Directory/Get-MsolUser.ps1
new file mode 100644
index 0000000..69db792
--- /dev/null
+++ b/Azure Active Directory/Get-MsolUser.ps1
@@ -0,0 +1,12 @@
+# Demande un nom d'utilisateur
+$User = read-host -Prompt "User Name"
+
+# Obtenir les infos de l'utilisateur
+$user_dn = (get-mailbox $user).distinguishedname
+
+# Liste des liste de distribution
+"User " + $User + " is a member of the following groups:"
+foreach ($group in get-distributiongroup -resultsize unlimited) {
+ if ((get-distributiongroupmember $group.identity | select -expand distinguishedname) -contains $user_dn) { $group.name }
+
+}
\ No newline at end of file
diff --git a/Azure Active Directory/Import-MsolUsers.ps1 b/Azure Active Directory/Import-MsolUsers.ps1
new file mode 100644
index 0000000..6ea010e
--- /dev/null
+++ b/Azure Active Directory/Import-MsolUsers.ps1
@@ -0,0 +1,37 @@
+# Import active directory module for running AD cmdlets
+Import-Module MSOnline
+
+#Store the data from ADUsers.csv in the $ADUsers variable
+$AADUsers = Import-csv "Templates\Import-MsolUsers.csv" -Delimiter ";" -Encoding UTF8
+
+#Loop through each row containing user details in the CSV file
+foreach ($User in $AADUsers) {
+
+ $FullName = "$($User.firstname) $($User.lastname)"
+
+ if ((Get-MsolUser -UserPrincipalName $User.username -ErrorAction SilentlyContinue)) {
+ Write-Warning "A user account with UPN $($User.username) already exist in Azure Active Directory."
+ }
+ elseif (([string]::IsNullOrEmpty($User.password))) {
+ Write-Warning "The password for $($User.username) is nul or empty."
+ }
+ else {
+ try {
+ New-MsolUser -DisplayName $FullName `
+ -FirstName $User.FirstName `
+ -LastName $User.LastName `
+ -UserPrincipalName $User.Username `
+ -UsageLocation $User.UsageLocation `
+ -LicenseAssignment $User.AccountSkuId `
+ -Password $user.password `
+ -City $User.City `
+ -Department $User.Department `
+ -PasswordNeverExpires $true `
+ -ForceChangePassword $False
+ Write-Host "The user $($User.firstname) $($User.lastname) ($($User.username)) was created."
+ }
+ catch {
+ Write-Error "The user $($User.firstname) $($User.lastname) ($($User.username)) was not created."
+ }
+ }
+}
\ No newline at end of file
diff --git a/Azure Active Directory/MSolLicences.ps1 b/Azure Active Directory/MSolLicences.ps1
new file mode 100644
index 0000000..911835a
--- /dev/null
+++ b/Azure Active Directory/MSolLicences.ps1
@@ -0,0 +1,29 @@
+$License = 'hitea:STANDARDPACK'
+$EnabledPlans = @(
+ 'TEAMS1'
+ 'WHITEBOARD_PLAN1'
+)
+$Exclusions = @(
+ 'Sync_ADCONNECT1@hitea.onmicrosoft.com'
+)
+$AllPlans = (Get-MsolAccountSku | Where-Object { $_.AccountSkuId -eq $License } | Select-Object -ExpandProperty ServiceStatus).ServicePlan.ServiceName
+$DisabledPlans = $AllPlans | Where-Object { $EnabledPlans -notcontains $_ }
+$E1CustomizedLicense = New-MsolLicenseOptions -AccountSkuId $License -DisabledPlans $DisabledPlans
+$Users = Get-MsolUser -UnlicensedUsersOnly -All -EnabledFilter EnabledOnly
+foreach ($User in $Users) {
+ if ($User.UsageLocation -ne 'FR') {
+ Set-MsolUser -UserPrincipalName $User.UserPrincipalName -UsageLocation PL
+ }
+ if ($User.IsLicensed -eq $false -and $Exclusions -notcontains $User.UserPrincipalName) {
+ Set-MsolUserLicense -UserPrincipalName $User.UserPrincipalName -AddLicenses $License -LicenseOptions $E1CustomizedLicense
+ }
+}
+
+
+$LicensePlans = Get-MsolAccountSku | ForEach-Object {
+ [PSCustomObject] @{
+ LicenseName = $_.AccountSkuId
+ Plans = $_.ServiceStatus.ServicePlan.ServiceName -join ', '
+ }
+}
+$LicensePlans | Format-Table -AutoSize
\ No newline at end of file
diff --git a/Azure Active Directory/O365HTMLReport.ps1 b/Azure Active Directory/O365HTMLReport.ps1
new file mode 100644
index 0000000..aceb619
--- /dev/null
+++ b/Azure Active Directory/O365HTMLReport.ps1
@@ -0,0 +1,1370 @@
+<#
+ .NOTES
+ ===========================================================================
+ Version: 1.0.5
+ Updated on: 8/14/2018
+ Created by: /u/TheLazyAdministrator
+ Contributors: /u/ascIVV, /u/jmn_lab, /u/nothingpersonalbro
+ ===========================================================================
+
+ AzureAD Module is required
+ Install-Module -Name AzureAD
+ https://www.powershellgallery.com/packages/azuread/
+ ReportHTML Moduile is required
+ Install-Module -Name ReportHTML
+ https://www.powershellgallery.com/packages/ReportHTML/
+
+ UPDATES
+ 1.0.5
+ /u/ascIVV: Added the following:
+ - Admin Tab
+ - Privileged Role Administrators
+ - Exchange Administrators
+ - User Account Administrators
+ - Tech Account Restricted Exchange Admin Role
+ - SharePoint Administrators
+ - Skype Administrators
+ - CRM Service Administrators
+ - Power BI Administrators
+ - Service Support Administrators
+ - Billing Administrators
+ /u/TheLazyAdministrator
+ - Cleaned up formatting
+ - Error Handling for $Null obj
+ - Console status
+ - Windows Defender ATP SKU
+
+
+ .DESCRIPTION
+ Generate an interactive HTML report on your Office 365 tenant. Report on Users, Tenant information, Groups, Policies, Contacts, Mail Users, Licenses and more!
+
+ .Link
+ Original: http://thelazyadministrator.com/2018/06/22/create-an-interactive-html-report-for-office-365-with-powershell/
+#>
+#########################################
+# #
+# VARIABLES #
+# #
+#########################################
+
+#Company logo that will be displayed on the left, can be URL or UNC
+$CompanyLogo = "http://thelazyadministrator.com/wp-content/uploads/2018/06/logo-2-e1529684959389.png"
+
+#Logo that will be on the right side, UNC or URL
+$RightLogo = "http://thelazyadministrator.com/wp-content/uploads/2018/06/amd.png"
+
+#Location the report will be saved to
+$ReportSavePath = "C:\Lab\"
+
+#Variable to filter licenses out, in current state will only get licenses with a count less than 9,000 this will help filter free/trial licenses
+$LicenseFilter = "9000"
+
+########################################
+
+$creduser = Read-Host "Admin email"
+$credpassword = Read-Host "Admin Password"
+
+[securestring]$secStringPassword = ConvertTo-SecureString $credpassword -AsPlainText -Force
+[pscredential]$credObject = New-Object System.Management.Automation.PSCredential ($creduser, $secStringPassword)
+
+Connect-ExchangeOnline -Credential $credObject
+Connect-AzureAD -Credential $credObject
+Connect-MsolService -Credential $credObject
+
+
+$Table = New-Object 'System.Collections.Generic.List[System.Object]'
+$LicenseTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$UserTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$SharedMailboxTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GroupTypetable = New-Object 'System.Collections.Generic.List[System.Object]'
+$IsLicensedUsersTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ContactTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$MailUser = New-Object 'System.Collections.Generic.List[System.Object]'
+$ContactMailUserTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$RoomTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$EquipTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$GlobalAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ExchangeAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$PrivAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$UserAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$TechExchAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$SharePointAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$SkypeAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$CRMAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$PowerBIAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$ServiceAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$BillingAdminTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$StrongPasswordTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$CompanyInfoTable = New-Object 'System.Collections.Generic.List[System.Object]'
+$DomainTable = New-Object 'System.Collections.Generic.List[System.Object]'
+
+$Sku = @{
+ "O365_BUSINESS_ESSENTIALS" = "Office 365 Business Essentials"
+ "O365_BUSINESS_PREMIUM" = "Office 365 Business Premium"
+ "DESKLESSPACK" = "Office 365 (Plan K1)"
+ "DESKLESSWOFFPACK" = "Office 365 (Plan K2)"
+ "LITEPACK" = "Office 365 (Plan P1)"
+ "EXCHANGESTANDARD" = "Office 365 Exchange Online Only"
+ "STANDARDPACK" = "Enterprise Plan E1"
+ "STANDARDWOFFPACK" = "Office 365 (Plan E2)"
+ "ENTERPRISEPACK" = "Enterprise Plan E3"
+ "ENTERPRISEPACKLRG" = "Enterprise Plan E3"
+ "ENTERPRISEWITHSCAL" = "Enterprise Plan E4"
+ "STANDARDPACK_STUDENT" = "Office 365 (Plan A1) for Students"
+ "STANDARDWOFFPACKPACK_STUDENT" = "Office 365 (Plan A2) for Students"
+ "ENTERPRISEPACK_STUDENT" = "Office 365 (Plan A3) for Students"
+ "ENTERPRISEWITHSCAL_STUDENT" = "Office 365 (Plan A4) for Students"
+ "STANDARDPACK_FACULTY" = "Office 365 (Plan A1) for Faculty"
+ "STANDARDWOFFPACKPACK_FACULTY" = "Office 365 (Plan A2) for Faculty"
+ "ENTERPRISEPACK_FACULTY" = "Office 365 (Plan A3) for Faculty"
+ "ENTERPRISEWITHSCAL_FACULTY" = "Office 365 (Plan A4) for Faculty"
+ "ENTERPRISEPACK_B_PILOT" = "Office 365 (Enterprise Preview)"
+ "STANDARD_B_PILOT" = "Office 365 (Small Business Preview)"
+ "VISIOCLIENT" = "Visio Pro Online"
+ "POWER_BI_ADDON" = "Office 365 Power BI Addon"
+ "POWER_BI_INDIVIDUAL_USE" = "Power BI Individual User"
+ "POWER_BI_STANDALONE" = "Power BI Stand Alone"
+ "POWER_BI_STANDARD" = "Power-BI Standard"
+ "PROJECTESSENTIALS" = "Project Lite"
+ "PROJECTCLIENT" = "Project Professional"
+ "PROJECTONLINE_PLAN_1" = "Project Online"
+ "PROJECTONLINE_PLAN_2" = "Project Online and PRO"
+ "ProjectPremium" = "Project Online Premium"
+ "ECAL_SERVICES" = "ECAL"
+ "EMS" = "Enterprise Mobility Suite"
+ "RIGHTSMANAGEMENT_ADHOC" = "Windows Azure Rights Management"
+ "MCOMEETADV" = "PSTN conferencing"
+ "SHAREPOINTSTORAGE" = "SharePoint storage"
+ "PLANNERSTANDALONE" = "Planner Standalone"
+ "CRMIUR" = "CMRIUR"
+ "BI_AZURE_P1" = "Power BI Reporting and Analytics"
+ "INTUNE_A" = "Windows Intune Plan A"
+ "PROJECTWORKMANAGEMENT" = "Office 365 Planner Preview"
+ "ATP_ENTERPRISE" = "Exchange Online Advanced Threat Protection"
+ "EQUIVIO_ANALYTICS" = "Office 365 Advanced eDiscovery"
+ "AAD_BASIC" = "Azure Active Directory Basic"
+ "RMS_S_ENTERPRISE" = "Azure Active Directory Rights Management"
+ "AAD_PREMIUM" = "Azure Active Directory Premium"
+ "MFA_PREMIUM" = "Azure Multi-Factor Authentication"
+ "STANDARDPACK_GOV" = "Microsoft Office 365 (Plan G1) for Government"
+ "STANDARDWOFFPACK_GOV" = "Microsoft Office 365 (Plan G2) for Government"
+ "ENTERPRISEPACK_GOV" = "Microsoft Office 365 (Plan G3) for Government"
+ "ENTERPRISEWITHSCAL_GOV" = "Microsoft Office 365 (Plan G4) for Government"
+ "DESKLESSPACK_GOV" = "Microsoft Office 365 (Plan K1) for Government"
+ "ESKLESSWOFFPACK_GOV" = "Microsoft Office 365 (Plan K2) for Government"
+ "EXCHANGESTANDARD_GOV" = "Microsoft Office 365 Exchange Online (Plan 1) only for Government"
+ "EXCHANGEENTERPRISE_GOV" = "Microsoft Office 365 Exchange Online (Plan 2) only for Government"
+ "SHAREPOINTDESKLESS_GOV" = "SharePoint Online Kiosk"
+ "EXCHANGE_S_DESKLESS_GOV" = "Exchange Kiosk"
+ "RMS_S_ENTERPRISE_GOV" = "Windows Azure Active Directory Rights Management"
+ "OFFICESUBSCRIPTION_GOV" = "Office ProPlus"
+ "MCOSTANDARD_GOV" = "Lync Plan 2G"
+ "SHAREPOINTWAC_GOV" = "Office Online for Government"
+ "SHAREPOINTENTERPRISE_GOV" = "SharePoint Plan 2G"
+ "EXCHANGE_S_ENTERPRISE_GOV" = "Exchange Plan 2G"
+ "EXCHANGE_S_ARCHIVE_ADDON_GOV" = "Exchange Online Archiving"
+ "EXCHANGE_S_DESKLESS" = "Exchange Online Kiosk"
+ "SHAREPOINTDESKLESS" = "SharePoint Online Kiosk"
+ "SHAREPOINTWAC" = "Office Online"
+ "YAMMER_ENTERPRISE" = "Yammer for the Starship Enterprise"
+ "EXCHANGE_L_STANDARD" = "Exchange Online (Plan 1)"
+ "MCOLITE" = "Lync Online (Plan 1)"
+ "SHAREPOINTLITE" = "SharePoint Online (Plan 1)"
+ "OFFICE_PRO_PLUS_SUBSCRIPTION_SMBIZ" = "Office ProPlus"
+ "EXCHANGE_S_STANDARD_MIDMARKET" = "Exchange Online (Plan 1)"
+ "MCOSTANDARD_MIDMARKET" = "Lync Online (Plan 1)"
+ "SHAREPOINTENTERPRISE_MIDMARKET" = "SharePoint Online (Plan 1)"
+ "OFFICESUBSCRIPTION" = "Office ProPlus"
+ "YAMMER_MIDSIZE" = "Yammer"
+ "DYN365_ENTERPRISE_PLAN1" = "Dynamics 365 Customer Engagement Plan Enterprise Edition"
+ "ENTERPRISEPREMIUM_NOPSTNCONF" = "Enterprise E5 (without Audio Conferencing)"
+ "ENTERPRISEPREMIUM" = "Enterprise E5 (with Audio Conferencing)"
+ "MCOSTANDARD" = "Skype for Business Online Standalone Plan 2"
+ "PROJECT_MADEIRA_PREVIEW_IW_SKU" = "Dynamics 365 for Financials for IWs"
+ "STANDARDWOFFPACK_IW_STUDENT" = "Office 365 Education for Students"
+ "STANDARDWOFFPACK_IW_FACULTY" = "Office 365 Education for Faculty"
+ "EOP_ENTERPRISE_FACULTY" = "Exchange Online Protection for Faculty"
+ "EXCHANGESTANDARD_STUDENT" = "Exchange Online (Plan 1) for Students"
+ "OFFICESUBSCRIPTION_STUDENT" = "Office ProPlus Student Benefit"
+ "STANDARDWOFFPACK_FACULTY" = "Office 365 Education E1 for Faculty"
+ "STANDARDWOFFPACK_STUDENT" = "Microsoft Office 365 (Plan A2) for Students"
+ "DYN365_FINANCIALS_BUSINESS_SKU" = "Dynamics 365 for Financials Business Edition"
+ "DYN365_FINANCIALS_TEAM_MEMBERS_SKU" = "Dynamics 365 for Team Members Business Edition"
+ "FLOW_FREE" = "Microsoft Flow Free"
+ "POWER_BI_PRO" = "Power BI Pro"
+ "O365_BUSINESS" = "Office 365 Business"
+ "DYN365_ENTERPRISE_SALES" = "Dynamics Office 365 Enterprise Sales"
+ "RIGHTSMANAGEMENT" = "Rights Management"
+ "PROJECTPROFESSIONAL" = "Project Professional"
+ "VISIOONLINE_PLAN1" = "Visio Online Plan 1"
+ "EXCHANGEENTERPRISE" = "Exchange Online Plan 2"
+ "DYN365_ENTERPRISE_P1_IW" = "Dynamics 365 P1 Trial for Information Workers"
+ "DYN365_ENTERPRISE_TEAM_MEMBERS" = "Dynamics 365 For Team Members Enterprise Edition"
+ "CRMSTANDARD" = "Microsoft Dynamics CRM Online Professional"
+ "EXCHANGEARCHIVE_ADDON" = "Exchange Online Archiving For Exchange Online"
+ "EXCHANGEDESKLESS" = "Exchange Online Kiosk"
+ "SPZA_IW" = "App Connect"
+ "WINDOWS_STORE" = "Windows Store for Business"
+ "MCOEV" = "Microsoft Phone System"
+ "VIDEO_INTEROP" = "Polycom Skype Meeting Video Interop for Skype for Business"
+ "SPE_E5" = "Microsoft 365 E5"
+ "SPE_E3" = "Microsoft 365 E3"
+ "ATA" = "Advanced Threat Analytics"
+ "MCOPSTN2" = "Domestic and International Calling Plan"
+ "FLOW_P1" = "Microsoft Flow Plan 1"
+ "FLOW_P2" = "Microsoft Flow Plan 2"
+ "WIN_DEF_ATP" = "Windows Defender ATP"
+}
+# Get all users right away. Instead of doing several lookups, we will use this object to look up all the information needed.
+$AllUsers = get-azureaduser -All:$true -ErrorAction SilentlyContinue
+
+Write-Host "Gathering Company Information..." -ForegroundColor Yellow
+#Company Information
+$CompanyInfo = Get-AzureADTenantDetail -ErrorAction SilentlyContinue
+
+$CompanyName = $CompanyInfo.DisplayName
+$TechEmail = $CompanyInfo.TechnicalNotificationMails | Out-String
+$DirSync = $CompanyInfo.DirSyncEnabled
+$LastDirSync = $CompanyInfo.CompanyLastDirSyncTime
+
+
+If ($DirSync -eq $Null) {
+ $LastDirSync = "Not Available"
+ $DirSync = "Disabled"
+}
+If ($PasswordSync -eq $Null) {
+ $LastPasswordSync = "Not Available"
+}
+
+$obj = [PSCustomObject]@{
+ 'Name' = $CompanyName
+ 'Technical E-mail' = $TechEmail
+ 'Directory Sync' = $DirSync
+ 'Last Directory Sync' = $LastDirSync
+}
+
+$CompanyInfoTable.add($obj)
+
+Write-Host "Gathering Admin Roles and Members..." -ForegroundColor Yellow
+
+Write-Host "Getting Tenant Global Admins" -ForegroundColor white
+#Get Tenant Global Admins
+$role = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "Global Administrator" } -ErrorAction SilentlyContinue
+If ($null -ne $role) {
+ $Admins = Get-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName -ne "CloudConsoleGrapApi" }
+ Foreach ($Admin in $Admins) {
+
+ $MFAS = ((Get-MsolUser -objectid $Admin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+
+ $Name = $Admin.DisplayName
+ $EmailAddress = $Admin.Mail
+ if (($admin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $GlobalAdminTable.add($obj)
+ }
+}
+If (($GlobalAdminTable).count -eq 0) {
+ $GlobalAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users were found with Global Administrator found'
+ }
+}
+
+
+
+Write-Host "Getting Tenant Exchange Admins" -ForegroundColor white
+#Get Tenant Exchange Admins
+$exchrole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "Exchange Service Administrator" } -ErrorAction SilentlyContinue
+If ($Null -ne $exchrole) {
+ $ExchAdmins = Get-AzureADDirectoryRoleMember -ObjectId $exchrole.ObjectId -ErrorAction SilentlyContinue
+ Foreach ($ExchAdmin in $ExchAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $ExchAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+ $Name = $ExchAdmin.DisplayName
+ $EmailAddress = $ExchAdmin.Mail
+ if (($Exchadmin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $ExchangeAdminTable.add($obj)
+
+ }
+}
+If (($ExchangeAdminTable).count -eq 0) {
+ $ExchangeAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the Exchange Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Tenant Privileged Admins" -ForegroundColor white
+#Get Tenant Privileged Admins
+$privadminrole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "Privileged Role Administrator" } -ErrorAction SilentlyContinue
+If ($Null -ne $privadminrole) {
+ $PrivAdmins = Get-AzureADDirectoryRoleMember -ObjectId $privadminrole.ObjectId -ErrorAction SilentlyContinue -ErrorVariable SilentlyContinue
+ Foreach ($PrivAdmin in $PrivAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $PrivAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+
+ $Name = $PrivAdmin.DisplayName
+ $EmailAddress = $PrivAdmin.Mail
+ if (($admin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $PrivAdminTable.add($obj)
+
+ }
+}
+If (($PrivAdminTable).count -eq 0) {
+ $PrivAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the Privileged Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Tenant User Account Admins" -ForegroundColor white
+#Get Tenant User Account Admins
+$userrole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "User Account Administrator" } -ErrorAction SilentlyContinue
+If ($Null -ne $userrole) {
+ $userAdmins = Get-AzureADDirectoryRoleMember -ObjectId $userrole.ObjectId -ErrorAction SilentlyContinue
+ Foreach ($userAdmin in $userAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $userAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+ $Name = $userAdmin.DisplayName
+ $EmailAddress = $userAdmin.Mail
+ if (($useradmin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $UserAdminTable.add($obj)
+
+ }
+}
+If (($UserAdminTable).count -eq 0) {
+ $UserAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the User Account Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Helpdesk Admins" -ForegroundColor white
+#Get Tenant Tech Account Exchange Admins
+$helprole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "Helpdesk Administrator" } -ErrorAction SilentlyContinue
+If ($Null -ne $helprole) {
+ $HelpAdmins = Get-AzureADDirectoryRoleMember -ObjectId $helprole.ObjectId -ErrorAction SilentlyContinue
+ Foreach ($helpAdmin in $HelpAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $helpAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+ $Name = $helpAdmin.DisplayName
+ $EmailAddress = $helpAdmin.Mail
+ if (($helpAdmin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $TechExchAdminTable.add($obj)
+
+ }
+}
+If (($TechExchAdminTable).count -eq 0) {
+ $TechExchAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the Helpdesk Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Tenant SharePoint Admins" -ForegroundColor white
+#Get Tenant SharePoint Admins
+$sprole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "SharePoint Service Administrator" } -ErrorAction SilentlyContinue
+If ($Null -ne $sprole) {
+ $SPAdmins = Get-AzureADDirectoryRoleMember -ObjectId $sprole.ObjectId -ErrorAction SilentlyContinue
+ Foreach ($SPAdmin in $SPAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $SPAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+ $Name = $SPAdmin.DisplayName
+ $EmailAddress = $SPAdmin.Mail
+ if (($SPadmin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $SharePointAdminTable.add($obj)
+
+ }
+}
+If (($SharePointAdminTable).count -eq 0) {
+ $SharePointAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the SharePoint Service Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Tenant Skype Admins" -ForegroundColor white
+#Get Tenant Skype Admins
+$skyperole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "Lync Service Administrator" } -ErrorAction SilentlyContinue
+If ($Null -ne $skyperole) {
+ $skypeAdmins = Get-AzureADDirectoryRoleMember -ObjectId $skyperole.ObjectId -ErrorAction SilentlyContinue
+ Foreach ($skypeAdmin in $skypeAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $skypeAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+ $Name = $skypeAdmin.DisplayName
+ $EmailAddress = $skypeAdmin.Mail
+ if (($skypeadmin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $SkypeAdminTable.add($obj)
+
+ }
+}
+If (($skypeAdminTable).count -eq 0) {
+ $skypeAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the Lync Service Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Tenant CRM Admins" -ForegroundColor white
+#Get Tenant CRM Admins
+$crmrole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "CRM Service Administrator" } -ErrorAction SilentlyContinue
+If ($Null -ne $crmrole) {
+ $crmAdmins = Get-AzureADDirectoryRoleMember -ObjectId $crmrole.ObjectId -ErrorAction SilentlyContinue
+ Foreach ($crmAdmin in $crmAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $crmAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+ $Name = $crmAdmin.DisplayName
+ $EmailAddress = $crmAdmin.Mail
+ if (($crmadmin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $CRMAdminTable.add($obj)
+
+ }
+}
+If (($CRMAdminTable).count -eq 0) {
+ $CRMAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the CRM Service Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Tenant Power BI Admins" -ForegroundColor white
+#Get Tenant Power BI Admins
+$birole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "Power BI Service Administrator" } -ErrorAction SilentlyContinue
+If ($null -ne $birole) {
+ $biAdmins = Get-AzureADDirectoryRoleMember -ObjectId $birole.ObjectId -ErrorAction SilentlyContinue
+
+ Foreach ($biAdmin in $biAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $biAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+ $Name = $biAdmin.DisplayName
+ $EmailAddress = $biAdmin.Mail
+ if (($biadmin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $PowerBIAdminTable.add($obj)
+
+ }
+}
+If (($PowerBIAdminTable).count -eq 0) {
+ $PowerBIAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the Power BI Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Tenant Service Support Admins" -ForegroundColor white
+#Get Tenant Service Support Admins
+$servicerole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "Service Support Administrator" } -ErrorAction SilentlyContinue
+If ($Null -ne $servicerole) {
+ $serviceAdmins = Get-AzureADDirectoryRoleMember -ObjectId $servicerole.ObjectId -ErrorAction SilentlyContinue
+ Foreach ($serviceAdmin in $serviceAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $serviceAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+ $Name = $serviceAdmin.DisplayName
+ $EmailAddress = $serviceAdmin.Mail
+ if (($serviceadmin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $ServiceAdminTable.add($obj)
+
+ }
+}
+If (($serviceAdminTable).count -eq 0) {
+ $serviceAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the Service Support Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Tenant Billing Admins" -ForegroundColor white
+#Get Tenant Billing Admins
+$billingrole = Get-AzureADDirectoryRole | Where-Object { $_.DisplayName -match "Billing Administrator" } -ErrorAction SilentlyContinue
+If ($Null -ne $billingrole) {
+ $billingAdmins = Get-AzureADDirectoryRoleMember -ObjectId $billingrole.ObjectId -ErrorAction SilentlyContinue
+ Foreach ($billingAdmin in $billingAdmins) {
+ $MFAS = ((Get-MsolUser -objectid $billingAdmin.ObjectID -ErrorAction SilentlyContinue).StrongAuthenticationRequirements).State
+
+ if ($Null -ne $MFAS) {
+ $MFASTATUS = "Enabled"
+ }
+ else {
+ $MFASTATUS = "Disabled"
+ }
+ $Name = $billingAdmin.DisplayName
+ $EmailAddress = $billingAdmin.Mail
+ if (($billingadmin.assignedlicenses.SkuID) -ne $Null) {
+ $Licensed = $True
+ }
+ else {
+ $Licensed = $False
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'MFA Status' = $MFAStatus
+ 'Is Licensed' = $Licensed
+ 'E-Mail Address' = $EmailAddress
+ }
+
+ $BillingAdminTable.add($obj)
+
+ }
+}
+If (($billingAdminTable).count -eq 0) {
+ $billingAdminTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users with the Billing Administrator role were found, refer to the Global Administrators list.'
+ }
+}
+
+Write-Host "Getting Users with Strong Password Disabled..." -ForegroundColor Yellow
+#Users with Strong Password Disabled
+$LooseUsers = $AllUsers | Where-Object { $_.PasswordPolicies -eq "DisableStrongPassword" }
+Foreach ($LooseUser in $LooseUsers) {
+ $NameLoose = $LooseUser.DisplayName
+ $UPNLoose = $LooseUser.UserPrincipalName
+ $StrongPasswordLoose = "False"
+ if (($LooseUser.assignedlicenses.SkuID) -ne $Null) {
+ $LicensedLoose = $true
+ }
+ else {
+ $LicensedLoose = $false
+ }
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $NameLoose
+ 'UserPrincipalName' = $UPNLoose
+ 'Is Licensed' = $LicensedLoose
+ 'Strong Password Required' = $StrongPasswordLoose
+ }
+
+
+ $StrongPasswordTable.add($obj)
+}
+If (($StrongPasswordTable).count -eq 0) {
+ $StrongPasswordTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users were found with Strong Password Enforcement disabled'
+ }
+}
+
+Write-Host "Getting Tenant Domains..." -ForegroundColor Yellow
+#Tenant Domain
+$Domains = Get-AzureAdDomain
+foreach ($Domain in $Domains) {
+ $DomainName = $Domain.Name
+ $Verified = $Domain.IsVerified
+ $DefaultStatus = $Domain.IsDefault
+
+ $obj = [PSCustomObject]@{
+ 'Domain Name' = $DomainName
+ 'Verification Status' = $Verified
+ 'Default' = $DefaultStatus
+ }
+
+ $DomainTable.add($obj)
+}
+
+Write-Host "Getting Groups..." -ForegroundColor Yellow
+#Get groups and sort in alphabetical order
+$Groups = Get-AzureAdGroup -All $True | Sort-Object DisplayName
+$365GroupCount = ($Groups | Where-Object { $_.MailEnabled -eq $true -and $_.DirSyncEnabled -eq $null -and $_.SecurityEnabled -eq $false }).Count
+$obj1 = [PSCustomObject]@{
+ 'Name' = 'Office 365 Group'
+ 'Count' = $365GroupCount
+}
+
+$GroupTypetable.add($obj1)
+
+Write-Host "Getting Distribution Groups..." -ForegroundColor White
+$DistroCount = ($Groups | Where-Object { $_.MailEnabled -eq $true -and $_.SecurityEnabled -eq $false }).Count
+$obj1 = [PSCustomObject]@{
+ 'Name' = 'Distribution List'
+ 'Count' = $DistroCount
+}
+
+$GroupTypetable.add($obj1)
+
+Write-Host "Getting Security Groups..." -ForegroundColor White
+$SecurityCount = ($Groups | Where-Object { $_.MailEnabled -eq $false -and $_.SecurityEnabled -eq $true }).Count
+$obj1 = [PSCustomObject]@{
+ 'Name' = 'Security Group'
+ 'Count' = $SecurityCount
+}
+
+$GroupTypetable.add($obj1)
+
+Write-Host "Getting Mail-Enabled Security Groups..." -ForegroundColor White
+$SecurityMailEnabledCount = ($Groups | Where-Object { $_.MailEnabled -eq $true -and $_.SecurityEnabled -eq $true }).Count
+$obj1 = [PSCustomObject]@{
+ 'Name' = 'Mail Enabled Security Group'
+ 'Count' = $SecurityMailEnabledCount
+}
+
+$GroupTypetable.add($obj1)
+
+Foreach ($Group in $Groups) {
+ $Type = New-Object 'System.Collections.Generic.List[System.Object]'
+
+ if ($group.MailEnabled -eq $True -and $group.DirSyncEnabled -eq $null -and $group.SecurityEnabled -eq $False) {
+ $Type = "Office 365 Group"
+ }
+ if ($group.MailEnabled -eq $True -and $group.SecurityEnabled -eq $False) {
+ $Type = "Distribution List"
+ }
+ if ($group.MailEnabled -eq $False -and $group.SecurityEnabled -eq $True) {
+ $Type = "Security Group"
+ }
+ if ($group.MailEnabled -eq $True -and $group.SecurityEnabled -eq $True) {
+ $Type = "Mail Enabled Security Group"
+ }
+
+ $Users = (Get-AzureADGroupMember -ObjectId $Group.ObjectID | Sort-Object DisplayName | Select-Object -ExpandProperty DisplayName) -join ", "
+ $GName = $Group.DisplayName
+
+ $hash = New-Object PSObject -property @{ Name = "$GName"; Type = "$Type"; Members = "$Users" }
+ $GEmail = $Group.Mail
+
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $GName
+ 'Type' = $Type
+ 'Members' = $users
+ 'E-mail Address' = $GEmail
+ }
+
+ $table.add($obj)
+}
+If (($table).count -eq 0) {
+ $table = [PSCustomObject]@{
+ 'Information' = 'Information: No Groups were found in the tenant'
+ }
+}
+
+
+Write-Host "Getting Licenses..." -ForegroundColor Yellow
+#Get all licenses
+$Licenses = Get-AzureADSubscribedSku
+#Split licenses at colon
+Foreach ($License in $Licenses) {
+ $TextLic = $null
+
+ $ASku = ($License).SkuPartNumber
+ $TextLic = $Sku.Item("$ASku")
+ If (!($TextLic)) {
+ $OLicense = $License.SkuPartNumber
+ }
+ Else {
+ $OLicense = $TextLic
+ }
+
+ $TotalAmount = $License.PrepaidUnits.enabled
+ $Assigned = $License.ConsumedUnits
+ $Unassigned = ($TotalAmount - $Assigned)
+
+ If ($TotalAmount -lt $LicenseFilter) {
+ $obj = [PSCustomObject]@{
+ 'Name' = $Olicense
+ 'Total Amount' = $TotalAmount
+ 'Assigned Licenses' = $Assigned
+ 'Unassigned Licenses' = $Unassigned
+ }
+
+ $licensetable.add($obj)
+ }
+}
+If (($licensetable).count -eq 0) {
+ $licensetable = [PSCustomObject]@{
+ 'Information' = 'Information: No Licenses were found in the tenant'
+ }
+}
+
+
+$IsLicensed = ($AllUsers | Where-Object { $_.assignedlicenses.count -gt 0 }).Count
+$objULic = [PSCustomObject]@{
+ 'Name' = 'Users Licensed'
+ 'Count' = $IsLicensed
+}
+
+$IsLicensedUsersTable.add($objULic)
+
+$ISNotLicensed = ($AllUsers | Where-Object { $_.assignedlicenses.count -eq 0 }).Count
+$objULic = [PSCustomObject]@{
+ 'Name' = 'Users Not Licensed'
+ 'Count' = $IsNotLicensed
+}
+
+$IsLicensedUsersTable.add($objULic)
+If (($IsLicensedUsersTable).count -eq 0) {
+ $IsLicensedUsersTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Licenses were found in the tenant'
+ }
+}
+
+#get Users
+Write-Host "Getting Users..." -ForegroundColor Yellow
+Foreach ($User in $AllUsers) {
+ $ProxyA = New-Object 'System.Collections.Generic.List[System.Object]'
+ $NewObject02 = New-Object 'System.Collections.Generic.List[System.Object]'
+ $NewObject01 = New-Object 'System.Collections.Generic.List[System.Object]'
+ $UserLicenses = ($user | Select -ExpandProperty AssignedLicenses).SkuID
+ If (($UserLicenses).count -gt 1) {
+ $LastLogon = Get-MailboxStatistics $User.DisplayName -ErrorAction SilentlyContinue | Select-Object -ExpandProperty LastLogonTime
+ Foreach ($UserLicense in $UserLicenses) {
+ $UserLicense = ($licenses | Where-Object { $_.skuid -match $UserLicense }).SkuPartNumber
+ $TextLic = $Sku.Item("$UserLicense")
+ If (!($TextLic)) {
+ $NewObject01 = [PSCustomObject]@{
+ 'Licenses' = $UserLicense
+ }
+ $NewObject02.add($NewObject01)
+ }
+ Else {
+ $NewObject01 = [PSCustomObject]@{
+ 'Licenses' = $textlic
+ }
+
+ $NewObject02.add($NewObject01)
+ }
+ }
+ }
+ Elseif (($UserLicenses).count -eq 1) {
+ $LastLogon = Get-MailboxStatistics $User.DisplayName -ErrorAction SilentlyContinue | Select-Object -ExpandProperty LastLogonTime
+ $lic = ($licenses | Where-Object { $_.skuid -match $UserLicenses }).SkuPartNumber
+ $TextLic = $Sku.Item("$lic")
+ If (!($TextLic)) {
+ $NewObject01 = [PSCustomObject]@{
+ 'Licenses' = $lic
+ }
+ $NewObject02.add($NewObject01)
+ }
+ Else {
+ $NewObject01 = [PSCustomObject]@{
+ 'Licenses' = $textlic
+ }
+ $NewObject02.add($NewObject01)
+ }
+ }
+ Else {
+ $LastLogon = $Null
+ $NewObject01 = [PSCustomObject]@{
+ 'Licenses' = $Null
+ }
+ $NewObject02.add($NewObject01)
+ }
+
+ $ProxyAddresses = ($User | Select-Object -ExpandProperty ProxyAddresses)
+ If ($ProxyAddresses -ne $Null) {
+ Foreach ($Proxy in $ProxyAddresses) {
+ $ProxyB = $Proxy -split ":" | Select-Object -Last 1
+ $ProxyA.add($ProxyB)
+
+ }
+ $ProxyC = $ProxyA -join ", "
+ }
+ Else {
+ $ProxyC = $Null
+ }
+
+ $Name = $User.DisplayName
+ $UPN = $User.UserPrincipalName
+ $UserLicenses = ($NewObject02 | Select-Object -ExpandProperty Licenses) -join ", "
+ $Enabled = $User.AccountEnabled
+ $ResetPW = Get-User $User.DisplayName | Select-Object -ExpandProperty ResetPasswordOnNextLogon
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'UserPrincipalName' = $UPN
+ 'Licenses' = $UserLicenses
+ 'Last Mailbox Logon' = $LastLogon
+ 'Reset Password at Next Logon' = $ResetPW
+ 'Enabled' = $Enabled
+ 'E-mail Addresses' = $ProxyC
+ }
+
+ $usertable.add($obj)
+}
+If (($usertable).count -eq 0) {
+ $usertable = [PSCustomObject]@{
+ 'Information' = 'Information: No Users were found in the tenant'
+ }
+}
+
+Write-Host "Getting Shared Mailboxes..." -ForegroundColor Yellow
+#Get all Shared Mailboxes
+$SharedMailboxes = Get-Recipient -Resultsize unlimited | Where-Object { $_.RecipientTypeDetails -eq "SharedMailbox" }
+Foreach ($SharedMailbox in $SharedMailboxes) {
+ $ProxyA = New-Object 'System.Collections.Generic.List[System.Object]'
+ $Name = $SharedMailbox.Name
+ $PrimEmail = $SharedMailbox.PrimarySmtpAddress
+ $ProxyAddresses = ($SharedMailbox | Where-Object { $_.EmailAddresses -notlike "*$PrimEmail*" } | Select-Object -ExpandProperty EmailAddresses)
+ If ($ProxyAddresses -ne $Null) {
+ Foreach ($ProxyAddress in $ProxyAddresses) {
+ $ProxyB = $ProxyAddress -split ":" | Select-Object -Last 1
+ If ($ProxyB -eq $PrimEmail) {
+ $ProxyB = $Null
+ }
+ $ProxyA.add($ProxyB)
+ $ProxyC = $ProxyA
+ }
+ }
+ Else {
+ $ProxyC = $Null
+ }
+
+ $ProxyF = ($ProxyC -join ", ").TrimEnd(", ")
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $Name
+ 'Primary E-Mail' = $PrimEmail
+ 'E-mail Addresses' = $ProxyF
+ }
+
+
+
+ $SharedMailboxTable.add($obj)
+
+}
+If (($SharedMailboxTable).count -eq 0) {
+ $SharedMailboxTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Shared Mailboxes were found in the tenant'
+ }
+}
+
+Write-Host "Getting Contacts..." -ForegroundColor Yellow
+#Get all Contacts
+$Contacts = Get-MailContact
+#Split licenses at colon
+Foreach ($Contact in $Contacts) {
+
+ $ContactName = $Contact.DisplayName
+ $ContactPrimEmail = $Contact.PrimarySmtpAddress
+
+ $objContact = [PSCustomObject]@{
+ 'Name' = $ContactName
+ 'E-mail Address' = $ContactPrimEmail
+ }
+
+ $ContactTable.add($objContact)
+
+}
+If (($ContactTable).count -eq 0) {
+ $ContactTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Contacts were found in the tenant'
+ }
+}
+
+Write-Host "Getting Mail Users..." -ForegroundColor Yellow
+#Get all Mail Users
+$MailUsers = Get-MailUser
+foreach ($MailUser in $mailUsers) {
+ $MailArray = New-Object 'System.Collections.Generic.List[System.Object]'
+ $MailPrimEmail = $MailUser.PrimarySmtpAddress
+ $MailName = $MailUser.DisplayName
+ $MailEmailAddresses = ($MailUser.EmailAddresses | Where-Object { $_ -cnotmatch '^SMTP' })
+ foreach ($MailEmailAddress in $MailEmailAddresses) {
+ $MailEmailAddressSplit = $MailEmailAddress -split ":" | Select-Object -Last 1
+ $MailArray.add($MailEmailAddressSplit)
+
+
+ }
+
+ $UserEmails = $MailArray -join ", "
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $MailName
+ 'Primary E-Mail' = $MailPrimEmail
+ 'E-mail Addresses' = $UserEmails
+ }
+
+ $ContactMailUserTable.add($obj)
+}
+If (($ContactMailUserTable).count -eq 0) {
+ $ContactMailUserTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Mail Users were found in the tenant'
+ }
+}
+
+Write-Host "Getting Room Mailboxes..." -ForegroundColor Yellow
+$Rooms = Get-Mailbox -ResultSize Unlimited -Filter '(RecipientTypeDetails -eq "RoomMailBox")'
+Foreach ($Room in $Rooms) {
+ $RoomArray = New-Object 'System.Collections.Generic.List[System.Object]'
+
+ $RoomName = $Room.DisplayName
+ $RoomPrimEmail = $Room.PrimarySmtpAddress
+ $RoomEmails = ($Room.EmailAddresses | Where-Object { $_ -cnotmatch '^SMTP' })
+ foreach ($RoomEmail in $RoomEmails) {
+ $RoomEmailSplit = $RoomEmail -split ":" | Select-Object -Last 1
+ $RoomArray.add($RoomEmailSplit)
+ }
+ $RoomEMailsF = $RoomArray -join ", "
+
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $RoomName
+ 'Primary E-Mail' = $RoomPrimEmail
+ 'E-mail Addresses' = $RoomEmailsF
+ }
+
+ $RoomTable.add($obj)
+}
+If (($RoomTable).count -eq 0) {
+ $RoomTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Room Mailboxes were found in the tenant'
+ }
+}
+
+Write-Host "Getting Equipment Mailboxes..." -ForegroundColor Yellow
+$EquipMailboxes = Get-Mailbox -ResultSize Unlimited -Filter '(RecipientTypeDetails -eq "EquipmentMailBox")'
+Foreach ($EquipMailbox in $EquipMailboxes) {
+ $EquipArray = New-Object 'System.Collections.Generic.List[System.Object]'
+
+ $EquipName = $EquipMailbox.DisplayName
+ $EquipPrimEmail = $EquipMailbox.PrimarySmtpAddress
+ $EquipEmails = ($EquipMailbox.EmailAddresses | Where-Object { $_ -cnotmatch '^SMTP' })
+ foreach ($EquipEmail in $EquipEmails) {
+ $EquipEmailSplit = $EquipEmail -split ":" | Select-Object -Last 1
+ $EquipArray.add($EquipEmailSplit)
+ }
+ $EquipEMailsF = $EquipArray -join ", "
+
+ $obj = [PSCustomObject]@{
+ 'Name' = $EquipName
+ 'Primary E-Mail' = $EquipPrimEmail
+ 'E-mail Addresses' = $EquipEmailsF
+ }
+
+
+ $EquipTable.add($obj)
+}
+If (($EquipTable).count -eq 0) {
+ $EquipTable = [PSCustomObject]@{
+ 'Information' = 'Information: No Equipment Mailboxes were found in the tenant'
+ }
+}
+
+Write-Host "Generating HTML Report..." -ForegroundColor Yellow
+
+$tabarray = @('Dashboard', 'Admins', 'Users', 'Groups', 'Licenses', 'Shared Mailboxes', 'Contacts', 'Resources')
+
+#basic Properties
+$PieObject2 = Get-HTMLPieChartObject
+$PieObject2.Title = "Office 365 Total Licenses"
+$PieObject2.Size.Height = 500
+$PieObject2.Size.width = 500
+$PieObject2.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObject2.ChartStyle.ColorSchemeName = "ColorScheme4"
+#There are 8 generated schemes, randomly generated at runtime
+$PieObject2.ChartStyle.ColorSchemeName = "Generated7"
+#you can also ask for a random scheme. Which also happens if you have too many records for the scheme
+$PieObject2.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObject2.DataDefinition.DataNameColumnName = 'Name'
+$PieObject2.DataDefinition.DataValueColumnName = 'Total Amount'
+
+#basic Properties
+$PieObject3 = Get-HTMLPieChartObject
+$PieObject3.Title = "Office 365 Assigned Licenses"
+$PieObject3.Size.Height = 500
+$PieObject3.Size.width = 500
+$PieObject3.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObject3.ChartStyle.ColorSchemeName = "ColorScheme4"
+#There are 8 generated schemes, randomly generated at runtime
+$PieObject3.ChartStyle.ColorSchemeName = "Generated5"
+#you can also ask for a random scheme. Which also happens if you have too many records for the scheme
+$PieObject3.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObject3.DataDefinition.DataNameColumnName = 'Name'
+$PieObject3.DataDefinition.DataValueColumnName = 'Assigned Licenses'
+
+#basic Properties
+$PieObject4 = Get-HTMLPieChartObject
+$PieObject4.Title = "Office 365 Unassigned Licenses"
+$PieObject4.Size.Height = 250
+$PieObject4.Size.width = 250
+$PieObject4.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObject4.ChartStyle.ColorSchemeName = "ColorScheme4"
+#There are 8 generated schemes, randomly generated at runtime
+$PieObject4.ChartStyle.ColorSchemeName = "Generated4"
+#you can also ask for a random scheme. Which also happens if you have too many records for the scheme
+$PieObject4.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObject4.DataDefinition.DataNameColumnName = 'Name'
+$PieObject4.DataDefinition.DataValueColumnName = 'Unassigned Licenses'
+
+#basic Properties
+$PieObjectGroupType = Get-HTMLPieChartObject
+$PieObjectGroupType.Title = "Office 365 Groups"
+$PieObjectGroupType.Size.Height = 250
+$PieObjectGroupType.Size.width = 250
+$PieObjectGroupType.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectGroupType.ChartStyle.ColorSchemeName = "ColorScheme4"
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectGroupType.ChartStyle.ColorSchemeName = "Generated8"
+#you can also ask for a random scheme. Which also happens if you have too many records for the scheme
+$PieObjectGroupType.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectGroupType.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectGroupType.DataDefinition.DataValueColumnName = 'Count'
+
+##--LICENSED AND UNLICENSED USERS PIE CHART--##
+#basic Properties
+$PieObjectULicense = Get-HTMLPieChartObject
+$PieObjectULicense.Title = "License Status"
+$PieObjectULicense.Size.Height = 250
+$PieObjectULicense.Size.width = 250
+$PieObjectULicense.ChartStyle.ChartType = 'doughnut'
+
+#These file exist in the module directoy, There are 4 schemes by default
+$PieObjectULicense.ChartStyle.ColorSchemeName = "ColorScheme3"
+#There are 8 generated schemes, randomly generated at runtime
+$PieObjectULicense.ChartStyle.ColorSchemeName = "Generated3"
+#you can also ask for a random scheme. Which also happens if you have too many records for the scheme
+$PieObjectULicense.ChartStyle.ColorSchemeName = 'Random'
+
+#Data defintion you can reference any column from name and value from the dataset.
+#Name and Count are the default to work with the Group function.
+$PieObjectULicense.DataDefinition.DataNameColumnName = 'Name'
+$PieObjectULicense.DataDefinition.DataValueColumnName = 'Count'
+
+$rpt = New-Object 'System.Collections.Generic.List[System.Object]'
+$rpt += get-htmlopenpage -TitleText 'Office 365 Tenant Report' -LeftLogoString $CompanyLogo -RightLogoString $RightLogo
+
+$rpt += Get-HTMLTabHeader -TabNames $tabarray
+$rpt += get-htmltabcontentopen -TabName $tabarray[0] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))
+$rpt += Get-HtmlContentOpen -HeaderText "Office 365 Dashboard"
+$rpt += Get-HTMLContentOpen -HeaderText "Company Information"
+$rpt += Get-HtmlContentTable $CompanyInfoTable
+$rpt += Get-HTMLContentClose
+
+$rpt += get-HtmlColumn1of2
+$rpt += Get-HtmlContentOpen -BackgroundShade 1 -HeaderText 'Global Administrators'
+$rpt += get-htmlcontentdatatable $GlobalAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+$rpt += get-htmlColumn2of2
+$rpt += Get-HtmlContentOpen -HeaderText 'Users With Strong Password Enforcement Disabled'
+$rpt += get-htmlcontentdatatable $StrongPasswordTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+
+$rpt += Get-HTMLContentOpen -HeaderText "Domains"
+$rpt += Get-HtmlContentTable $DomainTable
+$rpt += Get-HTMLContentClose
+
+$rpt += Get-HtmlContentClose
+$rpt += get-htmltabcontentclose
+
+$rpt += get-htmltabcontentopen -TabName $tabarray[1] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))
+$rpt += Get-HtmlContentOpen -HeaderText "Role Assignments"
+
+$rpt += get-HtmlColumn1of2
+$rpt += Get-HtmlContentOpen -BackgroundShade 1 -HeaderText 'Privileged Role Administrators'
+$rpt += get-htmlcontentdatatable $PrivAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+$rpt += get-htmlColumn2of2
+$rpt += Get-HtmlContentOpen -HeaderText 'Exchange Administrators'
+$rpt += get-htmlcontentdatatable $ExchangeAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+
+$rpt += get-HtmlColumn1of2
+$rpt += Get-HtmlContentOpen -BackgroundShade 1 -HeaderText 'User Account Administrators'
+$rpt += get-htmlcontentdatatable $UserAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+$rpt += get-htmlColumn2of2
+$rpt += Get-HtmlContentOpen -HeaderText 'Helpdesk Administrators'
+$rpt += get-htmlcontentdatatable $TechExchAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+
+$rpt += get-HtmlColumn1of2
+$rpt += Get-HtmlContentOpen -BackgroundShade 1 -HeaderText 'SharePoint Administrators'
+$rpt += get-htmlcontentdatatable $SharePointAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+$rpt += get-htmlColumn2of2
+$rpt += Get-HtmlContentOpen -HeaderText 'Skype Administrators'
+$rpt += get-htmlcontentdatatable $SkypeAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+
+$rpt += get-HtmlColumn1of2
+$rpt += Get-HtmlContentOpen -BackgroundShade 1 -HeaderText 'CRM Service Administrators'
+$rpt += get-htmlcontentdatatable $CRMAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+$rpt += get-htmlColumn2of2
+$rpt += Get-HtmlContentOpen -HeaderText 'Power BI Administrators'
+$rpt += get-htmlcontentdatatable $PowerBIAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+
+$rpt += get-HtmlColumn1of2
+$rpt += Get-HtmlContentOpen -BackgroundShade 1 -HeaderText 'Service Support Administrators'
+$rpt += get-htmlcontentdatatable $ServiceAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+$rpt += get-htmlColumn2of2
+$rpt += Get-HtmlContentOpen -HeaderText 'Billing Administrators'
+$rpt += get-htmlcontentdatatable $BillingAdminTable -HideFooter
+$rpt += Get-HtmlContentClose
+$rpt += get-htmlColumnClose
+$rpt += Get-HtmlContentClose
+$rpt += get-htmltabcontentclose
+
+$rpt += get-htmltabcontentopen -TabName $tabarray[2] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Users"
+$rpt += get-htmlcontentdatatable $UserTable -HideFooter
+$rpt += Get-HTMLContentClose
+$rpt += Get-HTMLContentOpen -HeaderText "Licensed & Unlicensed Users Chart"
+$rpt += Get-HTMLPieChart -ChartObject $PieObjectULicense -DataSet $IsLicensedUsersTable
+$rpt += Get-HTMLContentClose
+$rpt += get-htmltabcontentclose
+
+$rpt += get-htmltabcontentopen -TabName $tabarray[3] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Groups"
+$rpt += get-htmlcontentdatatable $Table -HideFooter
+$rpt += Get-HTMLContentClose
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Groups Chart"
+$rpt += Get-HTMLPieChart -ChartObject $PieObjectGroupType -DataSet $GroupTypetable
+$rpt += Get-HTMLContentClose
+$rpt += get-htmltabcontentclose
+
+$rpt += get-htmltabcontentopen -TabName $tabarray[4] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Licenses"
+$rpt += get-htmlcontentdatatable $LicenseTable -HideFooter
+$rpt += Get-HTMLContentClose
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Licensing Charts"
+$rpt += Get-HTMLColumnOpen -ColumnNumber 1 -ColumnCount 2
+$rpt += Get-HTMLPieChart -ChartObject $PieObject2 -DataSet $licensetable
+$rpt += Get-HTMLColumnClose
+$rpt += Get-HTMLColumnOpen -ColumnNumber 2 -ColumnCount 2
+$rpt += Get-HTMLPieChart -ChartObject $PieObject3 -DataSet $licensetable
+$rpt += Get-HTMLColumnClose
+$rpt += Get-HTMLContentclose
+$rpt += get-htmltabcontentclose
+
+$rpt += get-htmltabcontentopen -TabName $tabarray[5] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Shared Mailboxes"
+$rpt += get-htmlcontentdatatable $SharedMailboxTable -HideFooter
+$rpt += Get-HTMLContentClose
+$rpt += get-htmltabcontentclose
+
+$rpt += get-htmltabcontentopen -TabName $tabarray[6] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Contacts"
+$rpt += get-htmlcontentdatatable $ContactTable -HideFooter
+$rpt += Get-HTMLContentClose
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Mail Users"
+$rpt += get-htmlcontentdatatable $ContactMailUserTable -HideFooter
+$rpt += Get-HTMLContentClose
+$rpt += get-htmltabcontentclose
+
+$rpt += get-htmltabcontentopen -TabName $tabarray[7] -TabHeading ("Report: " + (Get-Date -Format MM-dd-yyyy))
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Room Mailboxes"
+$rpt += get-htmlcontentdatatable $RoomTable -HideFooter
+$rpt += Get-HTMLContentClose
+$rpt += Get-HTMLContentOpen -HeaderText "Office 365 Equipment Mailboxes"
+$rpt += get-htmlcontentdatatable $EquipTable -HideFooter
+$rpt += Get-HTMLContentClose
+$rpt += get-htmltabcontentclose
+
+
+$rpt += Get-HTMLClosePage
+
+$Day = (Get-Date).Day
+$Month = (Get-Date).Month
+$Year = (Get-Date).Year
+$ReportName = ( "$Month" + "-" + "$Day" + "-" + "$Year" + "-" + "O365 Tenant Report")
+Save-HTMLReport -ReportContent $rpt -ShowReport -ReportName $ReportName -ReportPath $ReportSavePath
diff --git a/Azure Active Directory/README.md b/Azure Active Directory/README.md
new file mode 100644
index 0000000..a4a5998
--- /dev/null
+++ b/Azure Active Directory/README.md
@@ -0,0 +1 @@
+# Azure Active Directory
diff --git a/Azure Active Directory/Set-MsolUsersPassword.ps1 b/Azure Active Directory/Set-MsolUsersPassword.ps1
new file mode 100644
index 0000000..45b41e8
--- /dev/null
+++ b/Azure Active Directory/Set-MsolUsersPassword.ps1
@@ -0,0 +1,10 @@
+# Import active directory module for running AD cmdlets
+Import-Module MSOnline
+
+#Store the data from ADUsers.csv in the $ADUsers variable
+$AADUsers = Import-csv "Templates\Import-MsolUsers.csv" -Delimiter ";" -Encoding UTF8
+
+#Loop through each row containing user details in the CSV file
+foreach ($User in $AADUsers) {
+ Set-MsolUserPassword -UserPrincipalName $User.Username -NewPassword $user.password -ForceChangePassword $false
+}
diff --git a/Azure Active Directory/Set-Upn.ps1 b/Azure Active Directory/Set-Upn.ps1
new file mode 100644
index 0000000..440b441
--- /dev/null
+++ b/Azure Active Directory/Set-Upn.ps1
@@ -0,0 +1,17 @@
+$creduser = Read-Host "Admin email"
+$credpassword = Read-Host "Admin Password"
+
+[securestring]$secStringPassword = ConvertTo-SecureString $credpassword -AsPlainText -Force
+[pscredential]$credObject = New-Object System.Management.Automation.PSCredential ($creduser, $secStringPassword)
+
+$Users = Import-Csv -Path "Set-Upn.csv" -Delimiter ";" -Encoding UTF8
+
+Connect-MsolService -Credential $credObject
+
+foreach ($User in $Users) {
+
+ Write-host "Changement de $($User.Upn) pour $($User.NewUpn)"
+
+ Set-MsolUserPrincipalName -UserPrincipalName $($User.Upn) -NewUserPrincipalName $($User.NewUpn)
+
+}
\ No newline at end of file
diff --git a/Azure Active Directory/Set-UsersLIcences.ps1 b/Azure Active Directory/Set-UsersLIcences.ps1
new file mode 100644
index 0000000..2bcb1cd
--- /dev/null
+++ b/Azure Active Directory/Set-UsersLIcences.ps1
@@ -0,0 +1,26 @@
+# Importer le fichier CSV
+$users = Import-csv "Templates\Import-MsolUsers.csv" -Delimiter ";" -Encoding UTF8
+
+# Get-MsolAccountSku
+
+# Renseigner le SKU de la licence
+$accountSkuId = "reseller-account:O365_BUSINESS_PREMIUM"
+
+# Renseigner les options déactivées
+# Get-MsolAccountSku | select -ExpandProperty ServiceStatus
+$BannedList = @("MICROSOFTBOOKINGS", "KAIZALA_O365_P2", "Deskless", "PROJECTWORKMANAGEMENT", "POWERAPPS_O365_P1", "DYN365BC_MS_INVOICING", "O365_SB_Relationship_Management", "STREAM_O365_SMB", "SWAY", "YAMMER_ENTERPRISE")
+
+$licenseOptions = New-MsolLicenseOptions -AccountSkuId $accountSkuId -DisabledPlans $BannedList
+
+# Définir les licences pour les utilisateurs
+ForEach ($user in $users) {
+
+ $upn = $user.Username
+
+ Set-MsolUserLicense -UserPrincipalName $upn -AddLicenses $accountSkuId
+
+ Start-Sleep -Seconds 2
+
+ Set-MsolUserLicense -UserPrincipalName $upn -LicenseOptions $licenseOptions
+
+}
\ No newline at end of file
diff --git a/Azure Active Directory/Templates/Import-MsolUsers.csv b/Azure Active Directory/Templates/Import-MsolUsers.csv
new file mode 100644
index 0000000..0140300
--- /dev/null
+++ b/Azure Active Directory/Templates/Import-MsolUsers.csv
@@ -0,0 +1,6 @@
+FirstName;LastName;AccountSkuId;UsageLocation;Username;Password;City;Department
+Paul;Dupont;reseller-account:O365_BUSINESS_PREMIUM;FR;p.dupont@hitea.fr;Test123Test1;AGEN;
+Bernard;Durand;reseller-account:O365_BUSINESS_PREMIUM;FR;b.durand@hitea.fr;Test123Test2;AGEN;
+David;Bellier;reseller-account:O365_BUSINESS_PREMIUM;FR;d.bellier@hitea.fr;Test123Test3;AGEN;
+Joël;Tartas;reseller-account:O365_BUSINESS_PREMIUM;FR;j.tartas@hitea.fr;Test123Test4;AGEN;
+Benoît;Canu;reseller-account:O365_BUSINESS_PREMIUM;FR;b.canu@hitea.fr;Test123Test5;AGEN;
diff --git a/Azure Active Directory/Templates/Set-Upn.csv b/Azure Active Directory/Templates/Set-Upn.csv
new file mode 100644
index 0000000..2e4f43a
--- /dev/null
+++ b/Azure Active Directory/Templates/Set-Upn.csv
@@ -0,0 +1,4 @@
+Upn;NewUpn
+user1@olddomain.com;user1@newdomain.com
+user2@olddomain.com;user2@newdomain.com
+user3@olddomain.com;user3@newdomain.com
diff --git a/Centreon/Generation CLAPI.ps1 b/Centreon/Generation CLAPI.ps1
new file mode 100644
index 0000000..0991cde
--- /dev/null
+++ b/Centreon/Generation CLAPI.ps1
@@ -0,0 +1,22 @@
+
+
+
+foreach($line in Get-Content "D:\TEMP\Centreon\liste-2.txt") {
+ if($line -match $regex){
+
+$ParamsCLAPI = @"
+
+cd /
+
+cd /usr/share/centreon/bin
+
+./centreon -u admin -p 17-F1ch/0rga-20 -o SERVICE -a add -v "SRV-CLUSTER;CRPCEN : Fichier Libs Authentic;Tomcat_Authentic_:_Fichiers"
+./centreon -u admin -p 17-F1ch/0rga-20 -o SERVICE -a setparam -v "SRV-CLUSTER;CRPCEN : Fichier Libs Authentic;check_command_arguments;!D:/Data/Client/NO05026/AppsRedact/WEB-INF/lib!268!1"
+
+
+"@
+
+ New-Item "D:\TEMP\Centreon\$line-STATES.sh" -type file -force -value $ParamsCLAPI
+ (Get-Content "D:\TEMP\Centreon\$line-STATES.sh") -replace "CRPCEN","$line" | Set-Content "D:\TEMP\Centreon\$line-STATES.sh"
+ }
+}
diff --git a/DNS/Check Server DNS Settings.ps1 b/DNS/Check Server DNS Settings.ps1
new file mode 100644
index 0000000..04729ad
--- /dev/null
+++ b/DNS/Check Server DNS Settings.ps1
@@ -0,0 +1,104 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date :
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+param
+(
+ [alias("i")]
+ [string]$inputfile = $(read-host -Prompt "Enter the full path to the list of the CSV input file")
+
+)
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+# Bibliothèques de fonctions requises
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = ".log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#------------------------------------------------------------[Script]--------------------------------------------------------------
+
+cls
+
+#Initialized the output file
+$TimeStamp1 = $(((get-date).ToUniversalTime()).ToString("yyyyMMddTHHmmssZ"))
+$output = "C:\temp\ExportedDNSSetting$TimeStamp1.csv"
+
+Write-Host "--->Generating the new output file now...... $output "
+New-Item -Path $output -ItemType File > $null
+Add-Content -Path $output -Value '"Hostname","Adapter Index","IP Address","DNSServerSetting"'
+
+
+#Generate the DNS settings output
+Import-Csv $inputfile | foreach {
+
+$AdapaterSettings = Get-wmiobject -ClassName Win32_NetworkAdapterConfiguration -ComputerName $_.hostname -ErrorAction SilentlyContinue
+
+if($AdapaterSettings -eq $null) {
+
+ Write-Host "--->Collect the DNS Configuration Failed for server -" $_.hostname -ForegroundColor Red
+
+ $NewLine = "{0},{1},{2},{3}" `
+ -f $_.hostname,`
+ $null,`
+ $null,`
+ "This server cannot be connected!!!"
+
+ $NewLine | Add-Content -Path $output
+
+ }else {
+
+ Write-Host "--->Collect the DNS Configuration successfully for server -" $_.hostname -ForegroundColor Green
+
+ Foreach ($ThisAdapaterSetting in $AdapaterSettings) {
+
+ $NewLine = "{0},{1},{2},{3}" `
+ -f $_.hostname,`
+ $ThisAdapaterSetting.Index,`
+ [string]$ThisAdapaterSetting.IPAddress,`
+ [string]$ThisAdapaterSetting.DNSServerSearchOrder
+
+ $NewLine | Add-Content -Path $output
+
+ }
+ }
+
+}
+
+Write-Host "--->Data Collection is completed, the result is at $output"
\ No newline at end of file
diff --git a/Exchange Online/Import-SharedMailbox.ps1 b/Exchange Online/Import-SharedMailbox.ps1
new file mode 100644
index 0000000..c2096fb
--- /dev/null
+++ b/Exchange Online/Import-SharedMailbox.ps1
@@ -0,0 +1,33 @@
+# Importer le module Exchange Online
+Import-Module ExchangeOnlineManagement
+
+#Store the data from ADUsers.csv in the $ADUsers variable
+$Mailboxes = Import-csv "Templates\Import-SharedMailbox.csv" -Delimiter ";" -Encoding UTF8
+
+#Loop through each row containing user details in the CSV file
+foreach ($Mailbox in $Mailboxes) {
+
+ if ((Get-MsolUser -UserPrincipalName $Mailbox.username -ErrorAction SilentlyContinue)) {
+ Write-Warning "A Shared Mailbox with UPN $($Mailbox.username) already exist in Azure Active Directory."
+ }
+ else {
+ try {
+ New-Mailbox -Shared -Name $Mailbox.Name -DisplayName $Mailbox.Name -Alias $Mailbox.Alias -PrimarySmtpAddress $Mailbox.username
+ Write-Host "The Shared Mailbox $($Mailbox.Name) ($($Mailbox.username)) was created." -ForegroundColor Green
+ }
+ catch {
+ Write-Error "The Shared Mailbox $($Mailbox.Name) ($($Mailbox.username)) was not created."
+ }
+
+ foreach ($Member in ($Mailbox.Members).split(",")) {
+ try {
+ Add-MailboxPermission $Mailbox.username -User $Member -AccessRights FullAccess -InheritanceType all
+ Write-Host "$($Members) added to the Shared Mailbox $($Mailbox.username)."
+ }
+ catch {
+ Write-Error "$($Members) not added to the Shared Mailbox $($Mailbox.username)."
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Exchange Online/Init-MailBox.ps1 b/Exchange Online/Init-MailBox.ps1
new file mode 100644
index 0000000..a65997c
--- /dev/null
+++ b/Exchange Online/Init-MailBox.ps1
@@ -0,0 +1,6 @@
+# Connexion Exchange Online
+Connect-ExchangeOnline
+
+# Définir les options de base comme la langue et le fuseau horaire
+
+Get-Mailbox -ResultSize unlimited | Set-MailboxRegionalConfiguration -Language fr-FR -TimeZone "Romance Standard Time" -DateFormat "dd/MM/yyyy" -LocalizeDefaultFolderName:$true
\ No newline at end of file
diff --git a/Exchange Online/Manage-Calendar.ps1 b/Exchange Online/Manage-Calendar.ps1
new file mode 100644
index 0000000..72f3049
--- /dev/null
+++ b/Exchange Online/Manage-Calendar.ps1
@@ -0,0 +1,39 @@
+$Compte = Read-Host "Choisir un compte (user@domaine.fr)"
+$Action = Read-Host "V pour voir ou M pour voir et modifier"
+# $Excluded = Read-Host "Compte Exclus séparé par des virgules"
+# Where-Object Identity -notlike "*Meeting4Display*" | Where-Object Identity -notlike "*notification*"
+$Excluded = @('*Meeting4Display*', '*notification*')
+
+$AuditMailboxe = Get-Mailbox -Identity $Compte
+$Mailboxes = Get-Mailbox -ResultSize Unlimited | Where-Object RecipientTypeDetails -eq "UserMailbox" | Where-Object { $Excluded -notcontains $_.Identity }
+
+foreach ($Bal in $Mailboxes) {
+
+ if ($BAL.Languages -like "*FR*") {
+ $Calendar = Get-MailboxFolderPermission -Identity "$($BAL.PrimarySMTPAddress):\Calendrier" -ErrorAction SilentlyContinue | Select Identity, User, AccessRights
+ }
+ else {
+ $Calendar = Get-MailboxFolderPermission -Identity "$($BAL.PrimarySMTPAddress):\Calendar" -ErrorAction SilentlyContinue | Select Identity, User, AccessRights
+ }
+
+ if ($Calendar.User.DisplayName -notcontains $AuditMailboxe.Identity) {
+ Write-Host "$($AuditMailboxe.Identity) n'a pas acces au Calendrier de $($Bal.Identity)" -ForegroundColor Yellow
+ if ($Action -eq "M") {
+
+ if ($BAL.Languages -like "*FR*") {
+
+ Add-MailboxFolderPermission -Identity ($Bal.Identity + ":\Calendrier") -User $AuditMailboxe.UserPrincipalName -AccessRights Reviewer
+
+ }
+ else {
+
+ Add-MailboxFolderPermission -Identity ($Bal.Identity + ":\Calendar") -User $AuditMailboxe.UserPrincipalName -AccessRights Reviewer
+
+ }
+ }
+ }
+ else {
+ Write-Host "$($AuditMailboxe.Identity) a acces au Calendrier de $($Bal.Identity)" -ForegroundColor Green
+ }
+
+}
\ No newline at end of file
diff --git a/Exchange Online/README.md b/Exchange Online/README.md
new file mode 100644
index 0000000..3999184
--- /dev/null
+++ b/Exchange Online/README.md
@@ -0,0 +1 @@
+# Exchange Online
diff --git a/Exchange Online/Templates/Import-SharedMailbox.csv b/Exchange Online/Templates/Import-SharedMailbox.csv
new file mode 100644
index 0000000..0b8dcff
--- /dev/null
+++ b/Exchange Online/Templates/Import-SharedMailbox.csv
@@ -0,0 +1,4 @@
+Name;alias;username;members
+Contact ;contact;contact@hitea.fr;p.dupont@hitea.fr
+SAV;sav;sav@hitea.fr;p.dupont@hitea.fr,d.bellier@hitea.fr
+Marketing;marketing;marketing@hitea.fr;b.canu@hitea.fr,j.tartas@hitea.fr
diff --git a/Exchange Online/Upload-Pst.ps1 b/Exchange Online/Upload-Pst.ps1
new file mode 100644
index 0000000..77ee9c9
--- /dev/null
+++ b/Exchange Online/Upload-Pst.ps1
@@ -0,0 +1,16 @@
+#Il faut installer l'outil AZCopy
+
+#Se rendre dans le repertoire d'AZCopy
+cd "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy"
+
+#Définir la source des PST
+$PSTFile = "\\SRV01\PSTImport"
+
+#Définir l'URL du blob Azure
+$AzureStore = "AZ_BLOB_URL"
+
+#Définir le chemin du fichier log
+$LogFile = "C:\importPST_log.txt"
+
+#Lancer l'upload vers Azure
+& .\AzCopy.exe /Source:$PSTFile /Dest:$AzureStore /V:$LogFile /Y
\ No newline at end of file
diff --git a/Exchange Online/audit_mail.ps1 b/Exchange Online/audit_mail.ps1
new file mode 100644
index 0000000..867612f
--- /dev/null
+++ b/Exchange Online/audit_mail.ps1
@@ -0,0 +1,45 @@
+param ([PARAMETER(Mandatory = $TRUE, ValueFromPipeline = $FALSE)]
+ [string]$Mailbox,
+ [PARAMETER(Mandatory = $TRUE, ValueFromPipeline = $FALSE)]
+ [string]$StartDate,
+ [PARAMETER(Mandatory = $TRUE, ValueFromPipeline = $FALSE)]
+ [string]$EndDate,
+ [PARAMETER(Mandatory = $FALSE, ValueFromPipeline = $FALSE)]
+ [string]$Subject,
+ [PARAMETER(Mandatory = $False, ValueFromPipeline = $FALSE)]
+ [switch]$IncludeFolderBind,
+ [PARAMETER(Mandatory = $False, ValueFromPipeline = $FALSE)]
+ [switch]$ReturnObject)
+BEGIN {
+ [string[]]$LogParameters = @('Operation', 'LogonUserDisplayName', 'LastAccessed', 'DestFolderPathName', 'FolderPathName', 'ClientInfoString', 'ClientIPAddress', 'ClientMachineName', 'ClientProcessName', 'ClientVersion', 'LogonType', 'MailboxResolvedOwnerName', 'OperationResult')
+}
+END {
+ if ($ReturnObject)
+ { return $SearchResults }
+ elseif ($SearchResults.count -gt 0) {
+ $Date = get-date -Format yyMMdd_HHmmss
+ $OutFileName = "AuditLogResults$Date.csv"
+ write-host
+ write-host -fore green "Posting results to file: $OutfileName"
+ $SearchResults | export-csv $OutFileName -notypeinformation -encoding UTF8 -Delimiter ";"
+ }
+}
+PROCESS {
+ write-host -fore green 'Searching Mailbox Audit Logs...'
+ $SearchResults = @(search-mailboxAuditLog $Mailbox -StartDate $StartDate -EndDate $EndDate -LogonTypes Owner, Admin, Delegate -ShowDetails -resultsize 50000)
+ write-host -fore green '$($SearchREsults.Count) Total entries Found'
+ if (-not $IncludeFolderBind) {
+ write-host -fore green 'Removing FolderBind operations.'
+ $SearchResults = @($SearchResults | ? { $_.Operation -notlike 'FolderBind' })
+ write-host -fore green 'Filtered to $($SearchREsults.Count) Entries'
+ }
+ $SearchResults = @($SearchResults | select ($LogParameters + @{Name = 'Subject'; e = { if (($_.SourceItems.Count -eq 0) -or ($_.SourceItems.Count -eq $null)) { $_.ItemSubject } else { ($_.SourceItems[0].SourceItemSubject).TrimStart(' ') } } },
+ @{Name = 'CrossMailboxOp'; e = { if (@('SendAs', 'Create', 'Update') -contains $_.Operation) { 'N/A' } else { $_.CrossMailboxOperation } } }))
+ $LogParameters = @('Subject') + $LogParameters + @('CrossMailboxOp')
+ If ($Subject -ne '' -and $Subject -ne $null) {
+ write-host -fore green 'Searching for Subject: $Subject'
+ $SearchResults = @($SearchResults | ? { $_.Subject -match $Subject -or $_.Subject -eq $Subject })
+ write-host -fore green 'Filtered to $($SearchREsults.Count) Entries'
+ }
+ $SearchResults = @($SearchResults | select $LogParameters)
+}
\ No newline at end of file
diff --git a/Exchange Server/Export-Pst.ps1 b/Exchange Server/Export-Pst.ps1
new file mode 100644
index 0000000..f23be2e
--- /dev/null
+++ b/Exchange Server/Export-Pst.ps1
@@ -0,0 +1,28 @@
+#Tester sur Exchange Server 2010
+
+#Atribuer le rôle pour les exports
+New-ManagementRoleAssignment –Role “Mailbox Import Export” –User AD\Administrator
+
+#Exporter toutes les boites
+$Export = Get-Mailbox
+
+#Exporter un liste de BAL
+$Export = Get-Content .\Mailbox.txt
+
+#Lancer les exports vers un dossier partagé
+$Export | % { $_ | New-MailboxExportRequest -FilePath "\\\\$($_.alias).pst" }
+
+#Vérifier l'état des exports en cours
+Get-MailboxExportRequest | Get-MailboxExportRequestStatistics
+
+#Supprimer les export terminés
+Get-MailboxExportRequest | where { $_.status -eq "Completed" } | Remove-MailboxExportRequest
+
+#Augmenter le nombre d'erreurs acceptées
+Get-MailboxExportRequest -Status Failed | Set-MailboxExportRequest -BadItemLimit 500
+
+#Redémarrer les exports en erreur
+Get-MailboxExportRequest -Status Failed | Resume-MailboxExportRequest
+
+#Créer un rapport d'erreurs détaillé
+Get-MailboxExportRequest -Status Failed | Get-MailboxExportRequestStatistics -IncludeReport | FL > C:\FILEPATH\report.txt
\ No newline at end of file
diff --git a/Exchange Server/README.md b/Exchange Server/README.md
new file mode 100644
index 0000000..33add2d
--- /dev/null
+++ b/Exchange Server/README.md
@@ -0,0 +1 @@
+# Exchange Server
diff --git a/Exchange Server/Restart-ExchServices.ps1 b/Exchange Server/Restart-ExchServices.ps1
new file mode 100644
index 0000000..bf8ca6f
--- /dev/null
+++ b/Exchange Server/Restart-ExchServices.ps1
@@ -0,0 +1,9 @@
+# Obtenir la liste des services Exchange qui sont démarrer
+
+$services = Get-Service | ? { $_.name -like "MSExchange*" -and $_.Status -eq "Running" }
+
+# Redémarrer les services
+
+foreach ($service in $services) {
+ Restart-Service $service.name -Force
+}
\ No newline at end of file
diff --git a/Exchange/ExchangeEnvironmentReport.ps1 b/Exchange/ExchangeEnvironmentReport.ps1
new file mode 100644
index 0000000..daca74a
--- /dev/null
+++ b/Exchange/ExchangeEnvironmentReport.ps1
@@ -0,0 +1,1133 @@
+<#
+ .SYNOPSIS
+ Creates a HTML Report describing the Exchange environment
+
+ Steve Goodman
+
+ THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
+ RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.
+
+ Version 1.6.2
+
+ .DESCRIPTION
+
+ This script creates a HTML report showing the following information about an Exchange
+ 2016, 2013, 2010 and to a lesser extent, 2007 and 2003, environment.
+
+ The following is shown:
+
+ * Report Generation Time
+ * Total Servers per Exchange Version (2003 > 2010 or 2007 > 2016)
+ * Total Mailboxes per Exchange Version, Office 365 and Organisation
+ * Total Roles in the environment
+
+ Then, per site:
+ * Total Mailboxes per site
+ * Internal, External and CAS Array Hostnames
+ * Exchange Servers with:
+ o Exchange Server Version
+ o Service Pack
+ o Update Rollup and rollup version
+ o Roles installed on server and mailbox counts
+ o OS Version and Service Pack
+
+ Then, per Database availability group (Exchange 2010/2013/2016):
+ * Total members per DAG
+ * Member list
+ * Databases, detailing:
+ o Mailbox Count and Average Size
+ o Archive Mailbox Count and Average Size (Only shown if DAG includes Archive Mailboxes)
+ o Database Size and whitespace
+ o Database and log disk free
+ o Last Full Backup (Only shown if one or more DAG database has been backed up)
+ o Circular Logging Enabled (Only shown if one or more DAG database has Circular Logging enabled)
+ o Mailbox server hosting active copy
+ o List of mailbox servers hosting copies and number of copies
+
+ Finally, per Database (Non DAG DBs/Exchange 2007/Exchange 2003)
+ * Databases, detailing:
+ o Storage Group (if applicable) and DB name
+ o Server hosting database
+ o Mailbox Count and Average Size
+ o Archive Mailbox Count and Average Size (Only shown if DAG includes Archive Mailboxes)
+ o Database Size and whitespace
+ o Database and log disk free
+ o Last Full Backup (Only shown if one or more DAG database has been backed up)
+ o Circular Logging Enabled (Only shown if one or more DAG database has Circular Logging enabled)
+
+ This does not detail public folder infrastructure, or examine Exchange 2007/2003 CCR/SCC clusters
+ (although it attempts to detect Clustered Exchange 2007/2003 servers, signified by ClusMBX).
+
+ IMPORTANT NOTE: The script requires WMI and Remote Registry access to Exchange servers from the server
+ it is run from to determine OS version, Update Rollup, Exchange 2007/2003 cluster and DB size information.
+
+ .PARAMETER HTMLReport
+ Filename to write HTML Report to
+
+ .PARAMETER SendMail
+ Send Mail after completion. Set to $True to enable. If enabled, -MailFrom, -MailTo, -MailServer are mandatory
+
+ .PARAMETER MailFrom
+ Email address to send from. Passed directly to Send-MailMessage as -From
+
+ .PARAMETER MailTo
+ Email address to send to. Passed directly to Send-MailMessage as -To
+
+ .PARAMETER MailServer
+ SMTP Mail server to attempt to send through. Passed directly to Send-MailMessage as -SmtpServer
+
+ .PARAMETER ScheduleAs
+ Attempt to schedule the command just executed for 10PM nightly. Specify the username here, schtasks (under the hood) will ask for a password later.
+
+ .PARAMETER ViewEntireForest
+ By default, true. Set the option in Exchange 2007 or 2010 to view all Exchange servers and recipients in the forest.
+
+ .PARAMETER ServerFilter
+ Use a text based string to filter Exchange Servers by, e.g. NL-* - Note the use of the wildcard (*) character to allow for multiple matches.
+
+ .EXAMPLE
+ Generate the HTML report
+ .\ExchangeEnvironmentReport.ps1 -HTMLReport .\report.html -SendMail $True -MailFrom "Rapports@cloud-fichorga.fr" -MailTo "hcornet@fichorga.fr" -MailServer 10.101.10.2
+ .\ExchangeEnvironmentReport.ps1 -HTMLReport .\report.html -SendMail $True -MailFrom "Rapports@cloud-fichorga.fr" -MailTo "jmdefossez@fichorga.fr" -MailServer 10.101.10.2
+ C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
+ -File D:\Informatique\Rapports-MailBox.ps1
+ #>
+param(
+ [parameter(Position=0,Mandatory=$true,ValueFromPipeline=$false,HelpMessage='Filename to write HTML report to')][string]$HTMLReport,
+ [parameter(Position=1,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Send Mail ($True/$False)')][bool]$SendMail=$false,
+ [parameter(Position=2,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Mail From')][string]$MailFrom,
+ [parameter(Position=3,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Mail To')]$MailTo,
+ [parameter(Position=4,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Mail Server')][string]$MailServer,
+ [parameter(Position=4,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Schedule as user')][string]$ScheduleAs,
+ [parameter(Position=5,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Change view to entire forest')][bool]$ViewEntireForest=$true,
+ [parameter(Position=5,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Server Name Filter (eg NL-*)')][string]$ServerFilter="*"
+ )
+
+# Sub-Function to Get Database Information. Shorter than expected..
+function _GetDAG
+{
+ param($DAG)
+ @{Name = $DAG.Name.ToUpper()
+ MemberCount = $DAG.Servers.Count
+ Members = [array]($DAG.Servers | % { $_.Name })
+ Databases = @()
+ }
+}
+
+# Sub-Function to Get Database Information
+function _GetDB
+{
+ param($Database,$ExchangeEnvironment,$Mailboxes,$ArchiveMailboxes,$E2010)
+
+ # Circular Logging, Last Full Backup
+ if ($Database.CircularLoggingEnabled) { $CircularLoggingEnabled="Yes" } else { $CircularLoggingEnabled = "No" }
+ if ($Database.LastFullBackup) { $LastFullBackup=$Database.LastFullBackup.ToString() } else { $LastFullBackup = "Not Available" }
+
+ # Mailbox Average Sizes
+ $MailboxStatistics = [array]($ExchangeEnvironment.Servers[$Database.Server.Name].MailboxStatistics | Where {$_.Database -eq $Database.Identity})
+ if ($MailboxStatistics)
+ {
+ [long]$MailboxItemSizeB = 0
+ $MailboxStatistics | %{ $MailboxItemSizeB+=$_.TotalItemSizeB }
+ [long]$MailboxAverageSize = $MailboxItemSizeB / $MailboxStatistics.Count
+ } else {
+ $MailboxAverageSize = 0
+ }
+
+ # Free Disk Space Percentage
+ if ($ExchangeEnvironment.Servers[$Database.Server.Name].Disks)
+ {
+ foreach ($Disk in $ExchangeEnvironment.Servers[$Database.Server.Name].Disks)
+ {
+ if ($Database.EdbFilePath.PathName -like "$($Disk.Name)*")
+ {
+ $FreeDatabaseDiskSpace = $Disk.FreeSpace / $Disk.Capacity * 100
+ }
+ if ($Database.ExchangeVersion.ExchangeBuild.Major -ge 14)
+ {
+ if ($Database.LogFolderPath.PathName -like "$($Disk.Name)*")
+ {
+ $FreeLogDiskSpace = $Disk.FreeSpace / $Disk.Capacity * 100
+ }
+ } else {
+ $StorageGroupDN = $Database.DistinguishedName.Replace("CN=$($Database.Name),","")
+ $Adsi=[adsi]"LDAP://$($Database.OriginatingServer)/$($StorageGroupDN)"
+ if ($Adsi.msExchESEParamLogFilePath -like "$($Disk.Name)*")
+ {
+ $FreeLogDiskSpace = $Disk.FreeSpace / $Disk.Capacity * 100
+ }
+ }
+ }
+ } else {
+ $FreeLogDiskSpace=$null
+ $FreeDatabaseDiskSpace=$null
+ }
+
+ if ($Database.ExchangeVersion.ExchangeBuild.Major -ge 14 -and $E2010)
+ {
+ # Exchange 2010 Database Only
+ $CopyCount = [int]$Database.Servers.Count
+ if ($Database.MasterServerOrAvailabilityGroup.Name -ne $Database.Server.Name)
+ {
+ $Copies = [array]($Database.Servers | % { $_.Name })
+ } else {
+ $Copies = @()
+ }
+ # Archive Info
+ $ArchiveMailboxCount = [int]([array]($ArchiveMailboxes | Where {$_.ArchiveDatabase -eq $Database.Name})).Count
+ $ArchiveStatistics = [array]($ArchiveMailboxes | Where {$_.ArchiveDatabase -eq $Database.Name} | Get-MailboxStatistics -Archive )
+ if ($ArchiveStatistics)
+ {
+ [long]$ArchiveItemSizeB = 0
+ $ArchiveStatistics | %{ $ArchiveItemSizeB+=$_.TotalItemSize.Value.ToBytes() }
+ [long]$ArchiveAverageSize = $ArchiveItemSizeB / $ArchiveStatistics.Count
+ } else {
+ $ArchiveAverageSize = 0
+ }
+ # DB Size / Whitespace Info
+ [long]$Size = $Database.DatabaseSize.ToBytes()
+ [long]$Whitespace = $Database.AvailableNewMailboxSpace.ToBytes()
+ $StorageGroup = $null
+
+ } else {
+ $ArchiveMailboxCount = 0
+ $CopyCount = 0
+ $Copies = @()
+ # 2003 & 2007, Use WMI (Based on code by Gary Siepser, http://bit.ly/kWWMb3)
+ $Size = [long](get-wmiobject cim_datafile -computername $Database.Server.Name -filter ('name=''' + $Database.edbfilepath.pathname.replace("\","\\") + '''')).filesize
+ if (!$Size)
+ {
+ Write-Warning "Cannot detect database size via WMI for $($Database.Server.Name)"
+ [long]$Size = 0
+ [long]$Whitespace = 0
+ } else {
+ [long]$MailboxDeletedItemSizeB = 0
+ if ($MailboxStatistics)
+ {
+ $MailboxStatistics | %{ $MailboxDeletedItemSizeB+=$_.TotalDeletedItemSizeB }
+ }
+ $Whitespace = $Size - $MailboxItemSizeB - $MailboxDeletedItemSizeB
+ if ($Whitespace -lt 0) { $Whitespace = 0 }
+ }
+ $StorageGroup =$Database.DistinguishedName.Split(",")[1].Replace("CN=","")
+ }
+
+ @{Name = $Database.Name
+ StorageGroup = $StorageGroup
+ ActiveOwner = $Database.Server.Name.ToUpper()
+ MailboxCount = [long]([array]($Mailboxes | Where {$_.Database -eq $Database.Identity})).Count
+ MailboxAverageSize = $MailboxAverageSize
+ ArchiveMailboxCount = $ArchiveMailboxCount
+ ArchiveAverageSize = $ArchiveAverageSize
+ CircularLoggingEnabled = $CircularLoggingEnabled
+ LastFullBackup = $LastFullBackup
+ Size = $Size
+ Whitespace = $Whitespace
+ Copies = $Copies
+ CopyCount = $CopyCount
+ FreeLogDiskSpace = $FreeLogDiskSpace
+ FreeDatabaseDiskSpace = $FreeDatabaseDiskSpace
+ }
+}
+
+# Sub-Function to get mailbox count per server.
+# New in 1.5.2
+function _GetExSvrMailboxCount
+{
+ param($Mailboxes,$ExchangeServer,$Databases)
+ # The following *should* work, but it doesn't. Apparently, ServerName is not always returned correctly which may be the cause of
+ # reports of counts being incorrect
+ #([array]($Mailboxes | Where {$_.ServerName -eq $ExchangeServer.Name})).Count
+
+ # ..So as a workaround, I'm going to check what databases are assigned to each server and then get the mailbox counts on a per-
+ # database basis and return the resulting total. As we already have this information resident in memory it should be cheap, just
+ # not as quick.
+ $MailboxCount = 0
+ foreach ($Database in [array]($Databases | Where {$_.Server -eq $ExchangeServer.Name}))
+ {
+ $MailboxCount+=([array]($Mailboxes | Where {$_.Database -eq $Database.Identity})).Count
+ }
+ $MailboxCount
+
+}
+
+# Sub-Function to Get Exchange Server information
+function _GetExSvr
+{
+ param($E2010,$ExchangeServer,$Mailboxes,$Databases,$Hybrids)
+
+ # Set Basic Variables
+ $MailboxCount = 0
+ $RollupLevel = 0
+ $RollupVersion = ""
+ $ExtNames = @()
+ $IntNames = @()
+ $CASArrayName = ""
+
+ # Get WMI Information
+ $tWMI = Get-WmiObject Win32_OperatingSystem -ComputerName $ExchangeServer.Name -ErrorAction SilentlyContinue
+ if ($tWMI)
+ {
+ $OSVersion = $tWMI.Caption.Replace("(R)","").Replace("Microsoft ","").Replace("Enterprise","Ent").Replace("Standard","Std").Replace(" Edition","")
+ $OSServicePack = $tWMI.CSDVersion
+ $RealName = $tWMI.CSName.ToUpper()
+ } else {
+ Write-Warning "Cannot detect OS information via WMI for $($ExchangeServer.Name)"
+ $OSVersion = "N/A"
+ $OSServicePack = "N/A"
+ $RealName = $ExchangeServer.Name.ToUpper()
+ }
+ $tWMI=Get-WmiObject -query "Select * from Win32_Volume" -ComputerName $ExchangeServer.Name -ErrorAction SilentlyContinue
+ if ($tWMI)
+ {
+ $Disks=$tWMI | Select Name,Capacity,FreeSpace | Sort-Object -Property Name
+ } else {
+ Write-Warning "Cannot detect OS information via WMI for $($ExchangeServer.Name)"
+ $Disks=$null
+ }
+
+ # Get Exchange Version
+ if ($ExchangeServer.AdminDisplayVersion.Major -eq 6)
+ {
+ $ExchangeMajorVersion = "$($ExchangeServer.AdminDisplayVersion.Major).$($ExchangeServer.AdminDisplayVersion.Minor)"
+ $ExchangeSPLevel = $ExchangeServer.AdminDisplayVersion.FilePatchLevelDescription.Replace("Service Pack ","")
+ } elseif ($ExchangeServer.AdminDisplayVersion.Major -eq 15 -and $ExchangeServer.AdminDisplayVersion.Minor -eq 1) {
+ $ExchangeMajorVersion = [double]"$($ExchangeServer.AdminDisplayVersion.Major).$($ExchangeServer.AdminDisplayVersion.Minor)"
+ $ExchangeSPLevel = 0
+ } else {
+ $ExchangeMajorVersion = $ExchangeServer.AdminDisplayVersion.Major
+ $ExchangeSPLevel = $ExchangeServer.AdminDisplayVersion.Minor
+ }
+ # Exchange 2007+
+ if ($ExchangeMajorVersion -ge 8)
+ {
+ # Get Roles
+ $MailboxStatistics=$null
+ [array]$Roles = $ExchangeServer.ServerRole.ToString().Replace(" ","").Split(",");
+ # Add Hybrid "Role" for report
+ if ($Hybrids -contains $ExchangeServer.Name)
+ {
+ $Roles+="Hybrid"
+ }
+ if ($Roles -contains "Mailbox")
+ {
+ $MailboxCount = _GetExSvrMailboxCount -Mailboxes $Mailboxes -ExchangeServer $ExchangeServer -Databases $Databases
+ if ($ExchangeServer.Name.ToUpper() -ne $RealName)
+ {
+ $Roles = [array]($Roles | Where {$_ -ne "Mailbox"})
+ $Roles += "ClusteredMailbox"
+ }
+ # Get Mailbox Statistics the normal way, return in a consitent format
+ $MailboxStatistics = Get-MailboxStatistics -Server $ExchangeServer | Select DisplayName,@{Name="TotalItemSizeB";Expression={$_.TotalItemSize.Value.ToBytes()}},@{Name="TotalDeletedItemSizeB";Expression={$_.TotalDeletedItemSize.Value.ToBytes()}},Database
+ }
+ # Get HTTPS Names (Exchange 2010 only due to time taken to retrieve data)
+ if ($Roles -contains "ClientAccess" -and $E2010)
+ {
+
+ Get-OWAVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ Get-WebServicesVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ Get-OABVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ Get-ActiveSyncVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ if (Get-Command Get-MAPIVirtualDirectory -ErrorAction SilentlyContinue)
+ {
+ Get-MAPIVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ }
+ if (Get-Command Get-ClientAccessService -ErrorAction SilentlyContinue)
+ {
+ $IntNames+=(Get-ClientAccessService -Identity $ExchangeServer.Name).AutoDiscoverServiceInternalURI.Host
+ } else {
+ $IntNames+=(Get-ClientAccessServer -Identity $ExchangeServer.Name).AutoDiscoverServiceInternalURI.Host
+ }
+
+ if ($ExchangeMajorVersion -ge 14)
+ {
+ Get-ECPVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ }
+ $IntNames = $IntNames|Sort-Object -Unique
+ $ExtNames = $ExtNames|Sort-Object -Unique
+ $CASArray = Get-ClientAccessArray -Site $ExchangeServer.Site.Name
+ if ($CASArray)
+ {
+ $CASArrayName = $CASArray.Fqdn
+ }
+ }
+
+ # Rollup Level / Versions (Thanks to Bhargav Shukla http://bit.ly/msxGIJ)
+ if ($ExchangeMajorVersion -ge 14) {
+ $RegKey="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products\\AE1D439464EB1B8488741FFA028E291C\\Patches"
+ } else {
+ $RegKey="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products\\461C2B4266EDEF444B864AD6D9E5B613\\Patches"
+ }
+ $RemoteRegistry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $ExchangeServer.Name);
+ if ($RemoteRegistry)
+ {
+ $RUKeys = $RemoteRegistry.OpenSubKey($RegKey).GetSubKeyNames() | ForEach {"$RegKey\\$_"}
+ if ($RUKeys)
+ {
+ [array]($RUKeys | %{$RemoteRegistry.OpenSubKey($_).getvalue("DisplayName")}) | %{
+ if ($_ -like "Update Rollup *")
+ {
+ $tRU = $_.Split(" ")[2]
+ if ($tRU -like "*-*") { $tRUV=$tRU.Split("-")[1]; $tRU=$tRU.Split("-")[0] } else { $tRUV="" }
+ if ([int]$tRU -ge [int]$RollupLevel) { $RollupLevel=$tRU; $RollupVersion=$tRUV }
+ }
+ }
+ }
+ } else {
+ Write-Warning "Cannot detect Rollup Version via Remote Registry for $($ExchangeServer.Name)"
+ }
+ # Exchange 2013 CU or SP Level
+ if ($ExchangeMajorVersion -ge 15)
+ {
+ $RegKey="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Microsoft Exchange v15"
+ $RemoteRegistry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $ExchangeServer.Name);
+ if ($RemoteRegistry)
+ {
+ $ExchangeSPLevel = $RemoteRegistry.OpenSubKey($RegKey).getvalue("DisplayName")
+ if ($ExchangeSPLevel -like "*Service Pack*" -or $ExchangeSPLevel -like "*Cumulative Update*")
+ {
+ $ExchangeSPLevel = $ExchangeSPLevel.Replace("Microsoft Exchange Server 2013 ","");
+ $ExchangeSPLevel = $ExchangeSPLevel.Replace("Microsoft Exchange Server 2016 ","");
+ $ExchangeSPLevel = $ExchangeSPLevel.Replace("Service Pack ","SP");
+ $ExchangeSPLevel = $ExchangeSPLevel.Replace("Cumulative Update ","CU");
+ } else {
+ $ExchangeSPLevel = 0;
+ }
+ } else {
+ Write-Warning "Cannot detect CU/SP via Remote Registry for $($ExchangeServer.Name)"
+ }
+ }
+
+ }
+ # Exchange 2003
+ if ($ExchangeMajorVersion -eq 6.5)
+ {
+ # Mailbox Count
+ $MailboxCount = _GetExSvrMailboxCount -Mailboxes $Mailboxes -ExchangeServer $ExchangeServer -Databases $Databases
+ # Get Role via WMI
+ $tWMI = Get-WMIObject Exchange_Server -Namespace "root\microsoftexchangev2" -Computername $ExchangeServer.Name -Filter "Name='$($ExchangeServer.Name)'"
+ if ($tWMI)
+ {
+ if ($tWMI.IsFrontEndServer) { $Roles=@("FE") } else { $Roles=@("BE") }
+ } else {
+ Write-Warning "Cannot detect Front End/Back End Server information via WMI for $($ExchangeServer.Name)"
+ $Roles+="Unknown"
+ }
+ # Get Mailbox Statistics using WMI, return in a consistent format
+ $tWMI = Get-WMIObject -class Exchange_Mailbox -Namespace ROOT\MicrosoftExchangev2 -ComputerName $ExchangeServer.Name -Filter ("ServerName='$($ExchangeServer.Name)'")
+ if ($tWMI)
+ {
+ $MailboxStatistics = $tWMI | Select @{Name="DisplayName";Expression={$_.MailboxDisplayName}},@{Name="TotalItemSizeB";Expression={$_.Size}},@{Name="TotalDeletedItemSizeB";Expression={$_.DeletedMessageSizeExtended }},@{Name="Database";Expression={((get-mailboxdatabase -Identity "$($_.ServerName)\$($_.StorageGroupName)\$($_.StoreName)").identity)}}
+ } else {
+ Write-Warning "Cannot retrieve Mailbox Statistics via WMI for $($ExchangeServer.Name)"
+ $MailboxStatistics = $null
+ }
+ }
+ # Exchange 2000
+ if ($ExchangeMajorVersion -eq "6.0")
+ {
+ # Mailbox Count
+ $MailboxCount = _GetExSvrMailboxCount -Mailboxes $Mailboxes -ExchangeServer $ExchangeServer -Databases $Databases
+ # Get Role via ADSI
+ $tADSI=[ADSI]"LDAP://$($ExchangeServer.OriginatingServer)/$($ExchangeServer.DistinguishedName)"
+ if ($tADSI)
+ {
+ if ($tADSI.ServerRole -eq 1) { $Roles=@("FE") } else { $Roles=@("BE") }
+ } else {
+ Write-Warning "Cannot detect Front End/Back End Server information via ADSI for $($ExchangeServer.Name)"
+ $Roles+="Unknown"
+ }
+ $MailboxStatistics = $null
+ }
+
+ # Return Hashtable
+ @{Name = $ExchangeServer.Name.ToUpper()
+ RealName = $RealName
+ ExchangeMajorVersion = $ExchangeMajorVersion
+ ExchangeSPLevel = $ExchangeSPLevel
+ Edition = $ExchangeServer.Edition
+ Mailboxes = $MailboxCount
+ OSVersion = $OSVersion;
+ OSServicePack = $OSServicePack
+ Roles = $Roles
+ RollupLevel = $RollupLevel
+ RollupVersion = $RollupVersion
+ Site = $ExchangeServer.Site.Name
+ MailboxStatistics = $MailboxStatistics
+ Disks = $Disks
+ IntNames = $IntNames
+ ExtNames = $ExtNames
+ CASArrayName = $CASArrayName
+ }
+}
+
+# Sub Function to Get Totals by Version
+function _TotalsByVersion
+{
+ param($ExchangeEnvironment)
+ $TotalMailboxesByVersion=@{}
+ if ($ExchangeEnvironment.Sites)
+ {
+ foreach ($Site in $ExchangeEnvironment.Sites.GetEnumerator())
+ {
+ foreach ($Server in $Site.Value)
+ {
+ if (!$TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"])
+ {
+ $TotalMailboxesByVersion.Add("$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)",@{ServerCount=1;MailboxCount=$Server.Mailboxes})
+ } else {
+ $TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].ServerCount++
+ $TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].MailboxCount+=$Server.Mailboxes
+ }
+ }
+ }
+ }
+ if ($ExchangeEnvironment.Pre2007)
+ {
+ foreach ($FakeSite in $ExchangeEnvironment.Pre2007.GetEnumerator())
+ {
+ foreach ($Server in $FakeSite.Value)
+ {
+ if (!$TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"])
+ {
+ $TotalMailboxesByVersion.Add("$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)",@{ServerCount=1;MailboxCount=$Server.Mailboxes})
+ } else {
+ $TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].ServerCount++
+ $TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].MailboxCount+=$Server.Mailboxes
+ }
+ }
+ }
+ }
+ $TotalMailboxesByVersion
+}
+
+# Sub Function to Get Totals by Role
+function _TotalsByRole
+{
+ param($ExchangeEnvironment)
+ # Add Roles We Always Show
+ $TotalServersByRole=@{"ClientAccess" = 0
+ "HubTransport" = 0
+ "UnifiedMessaging" = 0
+ "Mailbox" = 0
+ "Edge" = 0
+ }
+ if ($ExchangeEnvironment.Sites)
+ {
+ foreach ($Site in $ExchangeEnvironment.Sites.GetEnumerator())
+ {
+ foreach ($Server in $Site.Value)
+ {
+ foreach ($Role in $Server.Roles)
+ {
+ if ($TotalServersByRole[$Role] -eq $null)
+ {
+ $TotalServersByRole.Add($Role,1)
+ } else {
+ $TotalServersByRole[$Role]++
+ }
+ }
+ }
+ }
+ }
+ if ($ExchangeEnvironment.Pre2007["Pre 2007 Servers"])
+ {
+
+ foreach ($Server in $ExchangeEnvironment.Pre2007["Pre 2007 Servers"])
+ {
+
+ foreach ($Role in $Server.Roles)
+ {
+ if ($TotalServersByRole[$Role] -eq $null)
+ {
+ $TotalServersByRole.Add($Role,1)
+ } else {
+ $TotalServersByRole[$Role]++
+ }
+ }
+ }
+ }
+ $TotalServersByRole
+}
+
+# Sub Function to return HTML Table for Sites/Pre 2007
+function _GetOverview
+{
+ param($Servers,$ExchangeEnvironment,$ExRoleStrings,$Pre2007=$False)
+ if ($Pre2007)
+ {
+ $BGColHeader="#880099"
+ $BGColSubHeader="#8800CC"
+ $Prefix=""
+ $IntNamesText=""
+ $ExtNamesText=""
+ $CASArrayText=""
+ } else {
+ $BGColHeader="#000099"
+ $BGColSubHeader="#0000FF"
+ $Prefix="Site:"
+ $IntNamesText=""
+ $ExtNamesText=""
+ $CASArrayText=""
+ $IntNames=@()
+ $ExtNames=@()
+ $CASArrayName=""
+ foreach ($Server in $Servers.Value)
+ {
+ $IntNames+=$Server.IntNames
+ $ExtNames+=$Server.ExtNames
+ $CASArrayName=$Server.CASArrayName
+
+ }
+ $IntNames = $IntNames|Sort -Unique
+ $ExtNames = $ExtNames|Sort -Unique
+ $IntNames = [system.String]::Join(",",$IntNames)
+ $ExtNames = [system.String]::Join(",",$ExtNames)
+ if ($IntNames)
+ {
+ $IntNamesText="Internal Names: $($IntNames)"
+ $ExtNamesText="External Names: $($ExtNames)
"
+ }
+ if ($CASArrayName)
+ {
+ $CASArrayText="CAS Array: $($CASArrayName)"
+ }
+ }
+ $Output="
+
+ ";
+
+ $ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{$Output+=""}
+ $Output+="
+ $($Prefix) $($Servers.Key) |
+ $($ExtNamesText)$($IntNamesText) |
+ $($CASArrayText) |
"
+ $TotalMailboxes=0
+ $Servers.Value | %{$TotalMailboxes += $_.Mailboxes}
+ $Output+="Mailboxes: $($TotalMailboxes) | "
+ $Output+="Exchange Version | "
+ $ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{$Output+="$($ExRoleStrings[$_.Key].Short) | "}
+ $Output+="OS Version | OS Service Pack |
"
+ $AlternateRow=0
+
+ foreach ($Server in $Servers.Value)
+ {
+ $Output+="$($Server.Name)"
+ if ($Server.RealName -ne $Server.Name)
+ {
+ $Output+=" ($($Server.RealName))"
+ }
+ $Output+=" | $($ExVersionStrings["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].Long)"
+ if ($Server.RollupLevel -gt 0)
+ {
+ $Output+=" UR$($Server.RollupLevel)"
+ if ($Server.RollupVersion)
+ {
+ $Output+=" $($Server.RollupVersion)"
+ }
+ }
+ $Output+=" | "
+ $ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{
+ $Output+=""
+ if (($_.Key -eq "ClusteredMailbox" -or $_.Key -eq "Mailbox" -or $_.Key -eq "BE") -and $Server.Roles -contains $_.Key)
+ {
+ $Output+=$Server.Mailboxes
+ }
+ }
+
+ $Output+=" | $($Server.OSVersion) | $($Server.OSServicePack) |
";
+ }
+ $Output+="
+
"
+ $Output
+}
+
+# Sub Function to return HTML Table for Databases
+function _GetDBTable
+{
+ param($Databases)
+ # Only Show Archive Mailbox Columns, Backup Columns and Circ Logging if at least one DB has an Archive mailbox, backed up or Cir Log enabled.
+ $ShowArchiveDBs=$False
+ $ShowLastFullBackup=$False
+ $ShowCircularLogging=$False
+ $ShowStorageGroups=$False
+ $ShowCopies=$False
+ $ShowFreeDatabaseSpace=$False
+ $ShowFreeLogDiskSpace=$False
+ foreach ($Database in $Databases)
+ {
+ if ($Database.ArchiveMailboxCount -gt 0)
+ {
+ $ShowArchiveDBs=$True
+ }
+ if ($Database.LastFullBackup -ne "Not Available")
+ {
+ $ShowLastFullBackup=$True
+ }
+ if ($Database.CircularLoggingEnabled -eq "Yes")
+ {
+ $ShowCircularLogging=$True
+ }
+ if ($Database.StorageGroup)
+ {
+ $ShowStorageGroups=$True
+ }
+ if ($Database.CopyCount -gt 0)
+ {
+ $ShowCopies=$True
+ }
+ if ($Database.FreeDatabaseDiskSpace -ne $null)
+ {
+ $ShowFreeDatabaseSpace=$true
+ }
+ if ($Database.FreeLogDiskSpace -ne $null)
+ {
+ $ShowFreeLogDiskSpace=$true
+ }
+ }
+
+
+ $Output="
+
+
+ Server | "
+ if ($ShowStorageGroups)
+ {
+ $Output+="Storage Group | "
+ }
+ $Output+="Database Name |
+ Mailboxes |
+ Av. Mailbox Size | "
+ if ($ShowArchiveDBs)
+ {
+ $Output+="Archive MBs | Av. Archive Size | "
+ }
+ $Output+="DB Size | DB Whitespace | "
+ if ($ShowFreeDatabaseSpace)
+ {
+ $Output+="Database Disk Free | "
+ }
+ if ($ShowFreeLogDiskSpace)
+ {
+ $Output+="Log Disk Free | "
+ }
+ if ($ShowLastFullBackup)
+ {
+ $Output+="Last Full Backup | "
+ }
+ if ($ShowCircularLogging)
+ {
+ $Output+="Circular Logging | "
+ }
+ if ($ShowCopies)
+ {
+ $Output+="Copies (n) | "
+ }
+
+ $Output+="
"
+ $AlternateRow=0;
+ foreach ($Database in $Databases)
+ {
+ $Output+="$($Database.ActiveOwner) | "
+ if ($ShowStorageGroups)
+ {
+ $Output+="$($Database.StorageGroup) | "
+ }
+ $Output+="$($Database.Name) |
+ $($Database.MailboxCount) |
+ $("{0:N2}" -f ($Database.MailboxAverageSize/1MB)) MB | "
+ if ($ShowArchiveDBs)
+ {
+ $Output+="$($Database.ArchiveMailboxCount) |
+ $("{0:N2}" -f ($Database.ArchiveAverageSize/1MB)) MB | ";
+ }
+ $Output+="$("{0:N2}" -f ($Database.Size/1GB)) GB |
+ $("{0:N2}" -f ($Database.Whitespace/1GB)) GB | ";
+ if ($ShowFreeDatabaseSpace)
+ {
+ $Output+="$("{0:N1}" -f $Database.FreeDatabaseDiskSpace)% | "
+ }
+ if ($ShowFreeLogDiskSpace)
+ {
+ $Output+="$("{0:N1}" -f $Database.FreeLogDiskSpace)% | "
+ }
+ if ($ShowLastFullBackup)
+ {
+ $Output+="$($Database.LastFullBackup) | ";
+ }
+ if ($ShowCircularLogging)
+ {
+ $Output+="$($Database.CircularLoggingEnabled) | ";
+ }
+ if ($ShowCopies)
+ {
+ $Output+="$($Database.Copies|%{$_}) ($($Database.CopyCount)) | "
+ }
+ $Output+="
";
+ }
+ $Output+="
"
+
+ $Output
+}
+
+# Sub Function to neatly update progress
+function _UpProg1
+{
+ param($PercentComplete,$Status,$Stage)
+ $TotalStages=5
+ Write-Progress -id 1 -activity "Get-ExchangeEnvironmentReport" -status $Status -percentComplete (($PercentComplete/$TotalStages)+(1/$TotalStages*$Stage*100))
+}
+
+# 1. Initial Startup
+
+add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010
+
+# 1.0 Check Powershell Version
+if ((Get-Host).Version.Major -eq 1)
+{
+ throw "Powershell Version 1 not supported";
+}
+
+# 1.1 Check Exchange Management Shell, attempt to load
+if (!(Get-Command Get-ExchangeServer -ErrorAction SilentlyContinue))
+{
+ if (Test-Path "C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1")
+ {
+ . 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'
+ Connect-ExchangeServer -auto
+ } elseif (Test-Path "C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1") {
+ Add-PSSnapIn Microsoft.Exchange.Management.PowerShell.Admin
+ .'C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1'
+ } else {
+ throw "Exchange Management Shell cannot be loaded"
+ }
+}
+
+# 1.2 Check if -SendMail parameter set and if so check -MailFrom, -MailTo and -MailServer are set
+if ($SendMail)
+{
+ if (!$MailFrom -or !$MailTo -or !$MailServer)
+ {
+ throw "If -SendMail specified, you must also specify -MailFrom, -MailTo and -MailServer"
+ }
+}
+
+# 1.3 Check Exchange Management Shell Version
+if ((Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.Admin -ErrorAction SilentlyContinue))
+{
+ $E2010 = $false;
+ if (Get-ExchangeServer | Where {$_.AdminDisplayVersion.Major -gt 14})
+ {
+ Write-Warning "Exchange 2010 or higher detected. You'll get better results if you run this script from the latest management shell"
+ }
+}else{
+
+ $E2010 = $true
+ $localserver = get-exchangeserver $Env:computername
+ $localversion = $localserver.admindisplayversion.major
+ if ($localversion -eq 15) { $E2013 = $true }
+
+}
+
+# 1.4 Check view entire forest if set (by default, true)
+if ($E2010)
+{
+ Set-ADServerSettings -ViewEntireForest:$ViewEntireForest
+} else {
+ $global:AdminSessionADSettings.ViewEntireForest = $ViewEntireForest
+}
+
+# 1.5 Initial Variables
+
+# 1.5.1 Hashtable to update with environment data
+$ExchangeEnvironment = @{Sites = @{}
+ Pre2007 = @{}
+ Servers = @{}
+ DAGs = @()
+ NonDAGDatabases = @()
+ }
+# 1.5.7 Exchange Major Version String Mapping
+$ExMajorVersionStrings = @{"6.0" = @{Long="Exchange 2000";Short="E2000"}
+ "6.5" = @{Long="Exchange 2003";Short="E2003"}
+ "8" = @{Long="Exchange 2007";Short="E2007"}
+ "14" = @{Long="Exchange 2010";Short="E2010"}
+ "15" = @{Long="Exchange 2013";Short="E2013"}
+ "15.1" = @{Long="Exchange 2016";Short="E2016"}}
+# 1.5.8 Exchange Service Pack String Mapping
+$ExSPLevelStrings = @{"0" = "RTM"
+ "1" = "SP1"
+ "2" = "SP2"
+ "3" = "SP3"
+ "4" = "SP4"
+ "SP1" = "SP1"
+ "SP2" = "SP2"}
+ # Add many CUs
+ for ($i = 1; $i -le 20; $i++)
+ {
+ $ExSPLevelStrings.Add("CU$($i)","CU$($i)");
+ }
+# 1.5.9 Populate Full Mapping using above info
+$ExVersionStrings = @{}
+foreach ($Major in $ExMajorVersionStrings.GetEnumerator())
+{
+ foreach ($Minor in $ExSPLevelStrings.GetEnumerator())
+ {
+ $ExVersionStrings.Add("$($Major.Key).$($Minor.Key)",@{Long="$($Major.Value.Long) $($Minor.Value)";Short="$($Major.Value.Short)$($Minor.Value)"})
+ }
+}
+# 1.5.10 Exchange Role String Mapping
+$ExRoleStrings = @{"ClusteredMailbox" = @{Short="ClusMBX";Long="CCR/SCC Clustered Mailbox"}
+ "Mailbox" = @{Short="MBX";Long="Mailbox"}
+ "ClientAccess" = @{Short="CAS";Long="Client Access"}
+ "HubTransport" = @{Short="HUB";Long="Hub Transport"}
+ "UnifiedMessaging" = @{Short="UM";Long="Unified Messaging"}
+ "Edge" = @{Short="EDGE";Long="Edge Transport"}
+ "FE" = @{Short="FE";Long="Front End"}
+ "BE" = @{Short="BE";Long="Back End"}
+ "Hybrid" = @{Short="HYB"; Long="Hybrid"}
+ "Unknown" = @{Short="Unknown";Long="Unknown"}}
+
+# 2 Get Relevant Exchange Information Up-Front
+
+# 2.1 Get Server, Exchange and Mailbox Information
+_UpProg1 1 "Getting Exchange Server List" 1
+$ExchangeServers = [array](Get-ExchangeServer $ServerFilter)
+if (!$ExchangeServers)
+{
+ throw "No Exchange Servers matched by -ServerFilter ""$($ServerFilter)"""
+}
+$HybridServers=@()
+if (Get-Command Get-HybridConfiguration -ErrorAction SilentlyContinue)
+{
+ $HybridConfig = Get-HybridConfiguration
+ $HybridConfig.ReceivingTransportServers|%{ $HybridServers+=$_.Name }
+ $HybridConfig.SendingTransportServers|%{ $HybridServers+=$_.Name }
+ $HybridServers = $HybridServers | Sort-Object -Unique
+}
+
+_UpProg1 10 "Getting Mailboxes" 1
+$Mailboxes = [array](Get-Mailbox -ResultSize Unlimited) | Where {$_.Server -like $ServerFilter}
+if ($E2010)
+{
+ _UpProg1 60 "Getting Archive Mailboxes" 1
+ $ArchiveMailboxes = [array](Get-Mailbox -Archive -ResultSize Unlimited) | Where {$_.Server -like $ServerFilter}
+ _UpProg1 70 "Getting Remote Mailboxes" 1
+ $RemoteMailboxes = [array](Get-RemoteMailbox -ResultSize Unlimited)
+ $ExchangeEnvironment.Add("RemoteMailboxes",$RemoteMailboxes.Count)
+ _UpProg1 90 "Getting Databases" 1
+ if ($E2013)
+ {
+ $Databases = [array](Get-MailboxDatabase -IncludePreExchange2013 -Status) | Where {$_.Server -like $ServerFilter}
+ }
+ elseif ($E2010)
+ {
+ $Databases = [array](Get-MailboxDatabase -IncludePreExchange2010 -Status) | Where {$_.Server -like $ServerFilter}
+ }
+ $DAGs = [array](Get-DatabaseAvailabilityGroup) | Where {$_.Servers -like $ServerFilter}
+} else {
+ $ArchiveMailboxes = $null
+ $ArchiveMailboxStats = $null
+ $DAGs = $null
+ _UpProg1 90 "Getting Databases" 1
+ $Databases = [array](Get-MailboxDatabase -IncludePreExchange2007 -Status) | Where {$_.Server -like $ServerFilter}
+ $ExchangeEnvironment.Add("RemoteMailboxes",0)
+}
+
+# 2.3 Populate Information we know
+$ExchangeEnvironment.Add("TotalMailboxes",$Mailboxes.Count + $ExchangeEnvironment.RemoteMailboxes);
+
+# 3 Process High-Level Exchange Information
+
+# 3.1 Collect Exchange Server Information
+for ($i=0; $i -lt $ExchangeServers.Count; $i++)
+{
+ _UpProg1 ($i/$ExchangeServers.Count*100) "Getting Exchange Server Information" 2
+ # Get Exchange Info
+ $ExSvr = _GetExSvr -E2010 $E2010 -ExchangeServer $ExchangeServers[$i] -Mailboxes $Mailboxes -Databases $Databases -Hybrids $HybridServers
+ # Add to site or pre-Exchange 2007 list
+ if ($ExSvr.Site)
+ {
+ # Exchange 2007 or higher
+ if (!$ExchangeEnvironment.Sites[$ExSvr.Site])
+ {
+ $ExchangeEnvironment.Sites.Add($ExSvr.Site,@($ExSvr))
+ } else {
+ $ExchangeEnvironment.Sites[$ExSvr.Site]+=$ExSvr
+ }
+ } else {
+ # Exchange 2003 or lower
+ if (!$ExchangeEnvironment.Pre2007["Pre 2007 Servers"])
+ {
+ $ExchangeEnvironment.Pre2007.Add("Pre 2007 Servers",@($ExSvr))
+ } else {
+ $ExchangeEnvironment.Pre2007["Pre 2007 Servers"]+=$ExSvr
+ }
+ }
+ # Add to Servers List
+ $ExchangeEnvironment.Servers.Add($ExSvr.Name,$ExSvr)
+}
+
+# 3.2 Calculate Environment Totals for Version/Role using collected data
+_UpProg1 1 "Getting Totals" 3
+$ExchangeEnvironment.Add("TotalMailboxesByVersion",(_TotalsByVersion -ExchangeEnvironment $ExchangeEnvironment))
+$ExchangeEnvironment.Add("TotalServersByRole",(_TotalsByRole -ExchangeEnvironment $ExchangeEnvironment))
+
+# 3.4 Populate Environment DAGs
+_UpProg1 5 "Getting DAG Info" 3
+if ($DAGs)
+{
+ foreach($DAG in $DAGs)
+ {
+ $ExchangeEnvironment.DAGs+=(_GetDAG -DAG $DAG)
+ }
+}
+
+# 3.5 Get Database information
+_UpProg1 60 "Getting Database Info" 3
+for ($i=0; $i -lt $Databases.Count; $i++)
+{
+ $Database = _GetDB -Database $Databases[$i] -ExchangeEnvironment $ExchangeEnvironment -Mailboxes $Mailboxes -ArchiveMailboxes $ArchiveMailboxes -E2010 $E2010
+ $DAGDB = $false
+ for ($j=0; $j -lt $ExchangeEnvironment.DAGs.Count; $j++)
+ {
+ if ($ExchangeEnvironment.DAGs[$j].Members -contains $Database.ActiveOwner)
+ {
+ $DAGDB=$true
+ $ExchangeEnvironment.DAGs[$j].Databases += $Database
+ }
+ }
+ if (!$DAGDB)
+ {
+ $ExchangeEnvironment.NonDAGDatabases += $Database
+ }
+
+
+}
+
+# 4 Write Information
+_UpProg1 5 "Writing HTML Report Header" 4
+# Header
+$Output="
+
+
+Exchange Environment Report
+Generated $((Get-Date).ToString())
+
+
+
+Total Servers: | "
+if ($ExchangeEnvironment.RemoteMailboxes)
+ {
+ $Output+="Total Mailboxes: | "
+ } else {
+ $Output+="Total Mailboxes: | "
+ }
+$Output+="Total Roles: |
+"
+# Show Column Headings based on the Exchange versions we have
+$ExchangeEnvironment.TotalMailboxesByVersion.GetEnumerator()|Sort Name| %{$Output+="$($ExVersionStrings[$_.Key].Short) | "}
+$ExchangeEnvironment.TotalMailboxesByVersion.GetEnumerator()|Sort Name| %{$Output+="$($ExVersionStrings[$_.Key].Short) | "}
+if ($ExchangeEnvironment.RemoteMailboxes)
+{
+ $Output+="Office 365 | "
+}
+$Output+="Org | "
+$ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{$Output+="$($ExRoleStrings[$_.Key].Short) | "}
+$Output+="
"
+$Output+="
"
+$ExchangeEnvironment.TotalMailboxesByVersion.GetEnumerator()|Sort Name| %{$Output+="$($_.Value.ServerCount) | " }
+$ExchangeEnvironment.TotalMailboxesByVersion.GetEnumerator()|Sort Name| %{$Output+="$($_.Value.MailboxCount) | " }
+if ($RemoteMailboxes)
+{
+ $Output+="$($ExchangeEnvironment.RemoteMailboxes) | "
+}
+$Output+="$($ExchangeEnvironment.TotalMailboxes) | "
+$ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{$Output+="$($_.Value) | "}
+$Output+="
|
|
"
+
+$SPLA = (Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*.mailnot.fr"} ).Count
+
+$Output+="
+
+ Compte SPLA | Member Count |
+ *.mailnot.fr | $SPLA |
+
"
+
+# Sites and Servers
+_UpProg1 20 "Writing HTML Site Information" 4
+foreach ($Site in $ExchangeEnvironment.Sites.GetEnumerator())
+{
+ $Output+=_GetOverview -Servers $Site -ExchangeEnvironment $ExchangeEnvironment -ExRoleStrings $ExRoleStrings
+}
+_UpProg1 40 "Writing HTML Pre-2007 Information" 4
+foreach ($FakeSite in $ExchangeEnvironment.Pre2007.GetEnumerator())
+{
+ $Output+=_GetOverview -Servers $FakeSite -ExchangeEnvironment $ExchangeEnvironment -ExRoleStrings $ExRoleStrings -Pre2007:$true
+}
+
+
+_UpProg1 60 "Writing HTML DAG Information" 4
+foreach ($DAG in $ExchangeEnvironment.DAGs)
+{
+ if ($DAG.MemberCount -gt 0)
+ {
+ # Database Availability Group Header
+ $Output+="
+
+ Database Availability Group Name | Member Count |
+ Database Availability Group Members |
+ $($DAG.Name) |
+ $($DAG.MemberCount) | "
+ $DAG.Members | % { $Output+="$($_) " }
+ $Output+=" |
"
+
+ # Get Table HTML
+ $Output+=_GetDBTable -Databases $DAG.Databases
+ }
+
+}
+
+if ($ExchangeEnvironment.NonDAGDatabases.Count)
+{
+ _UpProg1 80 "Writing HTML Non-DAG Database Information" 4
+ $Output+="
+ Mailbox Databases (Non-DAG) |
---|
"
+ $Output+=_GetDBTable -Databases $ExchangeEnvironment.NonDAGDatabases
+}
+
+
+# End
+_UpProg1 90 "Finishing off.." 4
+$Output+="";
+$Output | Out-File $HTMLReport
+
+
+if ($SendMail)
+{
+ _UpProg1 95 "Sending mail message.." 4
+ Send-MailMessage -Attachments $HTMLReport -To $MailTo -From $MailFrom -Subject "Exchange Environment Report" -BodyAsHtml $Output -SmtpServer $MailServer
+}
\ No newline at end of file
diff --git a/Exchange/Get-ExchangeEnvironmentReport.ps1 b/Exchange/Get-ExchangeEnvironmentReport.ps1
new file mode 100644
index 0000000..ebc3030
--- /dev/null
+++ b/Exchange/Get-ExchangeEnvironmentReport.ps1
@@ -0,0 +1,1143 @@
+<#
+ .SYNOPSIS
+ Creates a HTML Report describing the Exchange environment
+
+ Steve Goodman
+
+ THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
+ RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.
+
+ Version 1.6.2
+
+ .DESCRIPTION
+
+ This script creates a HTML report showing the following information about an Exchange
+ 2016, 2013, 2010 and to a lesser extent, 2007 and 2003, environment.
+
+ The following is shown:
+
+ * Report Generation Time
+ * Total Servers per Exchange Version (2003 > 2010 or 2007 > 2016)
+ * Total Mailboxes per Exchange Version, Office 365 and Organisation
+ * Total Roles in the environment
+
+ Then, per site:
+ * Total Mailboxes per site
+ * Internal, External and CAS Array Hostnames
+ * Exchange Servers with:
+ o Exchange Server Version
+ o Service Pack
+ o Update Rollup and rollup version
+ o Roles installed on server and mailbox counts
+ o OS Version and Service Pack
+
+ Then, per Database availability group (Exchange 2010/2013/2016):
+ * Total members per DAG
+ * Member list
+ * Databases, detailing:
+ o Mailbox Count and Average Size
+ o Archive Mailbox Count and Average Size (Only shown if DAG includes Archive Mailboxes)
+ o Database Size and whitespace
+ o Database and log disk free
+ o Last Full Backup (Only shown if one or more DAG database has been backed up)
+ o Circular Logging Enabled (Only shown if one or more DAG database has Circular Logging enabled)
+ o Mailbox server hosting active copy
+ o List of mailbox servers hosting copies and number of copies
+
+ Finally, per Database (Non DAG DBs/Exchange 2007/Exchange 2003)
+ * Databases, detailing:
+ o Storage Group (if applicable) and DB name
+ o Server hosting database
+ o Mailbox Count and Average Size
+ o Archive Mailbox Count and Average Size (Only shown if DAG includes Archive Mailboxes)
+ o Database Size and whitespace
+ o Database and log disk free
+ o Last Full Backup (Only shown if one or more DAG database has been backed up)
+ o Circular Logging Enabled (Only shown if one or more DAG database has Circular Logging enabled)
+
+ This does not detail public folder infrastructure, or examine Exchange 2007/2003 CCR/SCC clusters
+ (although it attempts to detect Clustered Exchange 2007/2003 servers, signified by ClusMBX).
+
+ IMPORTANT NOTE: The script requires WMI and Remote Registry access to Exchange servers from the server
+ it is run from to determine OS version, Update Rollup, Exchange 2007/2003 cluster and DB size information.
+
+ .PARAMETER HTMLReport
+ Filename to write HTML Report to
+
+ .PARAMETER SendMail
+ Send Mail after completion. Set to $True to enable. If enabled, -MailFrom, -MailTo, -MailServer are mandatory
+
+ .PARAMETER MailFrom
+ Email address to send from. Passed directly to Send-MailMessage as -From
+
+ .PARAMETER MailTo
+ Email address to send to. Passed directly to Send-MailMessage as -To
+
+ .PARAMETER MailServer
+ SMTP Mail server to attempt to send through. Passed directly to Send-MailMessage as -SmtpServer
+
+ .PARAMETER ScheduleAs
+ Attempt to schedule the command just executed for 10PM nightly. Specify the username here, schtasks (under the hood) will ask for a password later.
+
+ .PARAMETER ViewEntireForest
+ By default, true. Set the option in Exchange 2007 or 2010 to view all Exchange servers and recipients in the forest.
+
+ .PARAMETER ServerFilter
+ Use a text based string to filter Exchange Servers by, e.g. NL-* - Note the use of the wildcard (*) character to allow for multiple matches.
+
+ .EXAMPLE
+ Generate the HTML report
+ .\Get-ExchangeEnvironmentReport.ps1 -HTMLReport .\report.html
+ .\Get-ExchangeEnvironmentReport.ps1 -HTMLReport .\report.html -SendMail $True -MailFrom "Rapports@cloud-fichorga.fr" -MailTo "hcornet@fichorga.fr" -MailServer 10.101.10.2
+
+ #>
+param(
+ [parameter(Position=0,Mandatory=$true,ValueFromPipeline=$false,HelpMessage='Filename to write HTML report to')][string]$HTMLReport,
+ [parameter(Position=1,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Send Mail ($True/$False)')][bool]$SendMail=$false,
+ [parameter(Position=2,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Mail From')][string]$MailFrom,
+ [parameter(Position=3,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Mail To')]$MailTo,
+ [parameter(Position=4,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Mail Server')][string]$MailServer,
+ [parameter(Position=4,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Schedule as user')][string]$ScheduleAs,
+ [parameter(Position=5,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Change view to entire forest')][bool]$ViewEntireForest=$true,
+ [parameter(Position=5,Mandatory=$false,ValueFromPipeline=$false,HelpMessage='Server Name Filter (eg NL-*)')][string]$ServerFilter="*"
+ )
+
+# Sub-Function to Get Database Information. Shorter than expected..
+function _GetDAG
+{
+ param($DAG)
+ @{Name = $DAG.Name.ToUpper()
+ MemberCount = $DAG.Servers.Count
+ Members = [array]($DAG.Servers | % { $_.Name })
+ Databases = @()
+ }
+}
+
+# Sub-Function to Get Database Information
+function _GetDB
+{
+ param($Database,$ExchangeEnvironment,$Mailboxes,$ArchiveMailboxes,$E2010)
+
+ # Circular Logging, Last Full Backup
+ if ($Database.CircularLoggingEnabled) { $CircularLoggingEnabled="Yes" } else { $CircularLoggingEnabled = "No" }
+ if ($Database.LastFullBackup) { $LastFullBackup=$Database.LastFullBackup.ToString() } else { $LastFullBackup = "Not Available" }
+
+ # Mailbox Average Sizes
+ $MailboxStatistics = [array]($ExchangeEnvironment.Servers[$Database.Server.Name].MailboxStatistics | Where {$_.Database -eq $Database.Identity})
+ if ($MailboxStatistics)
+ {
+ [long]$MailboxItemSizeB = 0
+ $MailboxStatistics | %{ $MailboxItemSizeB+=$_.TotalItemSizeB }
+ [long]$MailboxAverageSize = $MailboxItemSizeB / $MailboxStatistics.Count
+ } else {
+ $MailboxAverageSize = 0
+ }
+
+ # Free Disk Space Percentage
+ if ($ExchangeEnvironment.Servers[$Database.Server.Name].Disks)
+ {
+ foreach ($Disk in $ExchangeEnvironment.Servers[$Database.Server.Name].Disks)
+ {
+ if ($Database.EdbFilePath.PathName -like "$($Disk.Name)*")
+ {
+ $FreeDatabaseDiskSpace = $Disk.FreeSpace / $Disk.Capacity * 100
+ }
+ if ($Database.ExchangeVersion.ExchangeBuild.Major -ge 14)
+ {
+ if ($Database.LogFolderPath.PathName -like "$($Disk.Name)*")
+ {
+ $FreeLogDiskSpace = $Disk.FreeSpace / $Disk.Capacity * 100
+ }
+ } else {
+ $StorageGroupDN = $Database.DistinguishedName.Replace("CN=$($Database.Name),","")
+ $Adsi=[adsi]"LDAP://$($Database.OriginatingServer)/$($StorageGroupDN)"
+ if ($Adsi.msExchESEParamLogFilePath -like "$($Disk.Name)*")
+ {
+ $FreeLogDiskSpace = $Disk.FreeSpace / $Disk.Capacity * 100
+ }
+ }
+ }
+ } else {
+ $FreeLogDiskSpace=$null
+ $FreeDatabaseDiskSpace=$null
+ }
+
+ if ($Database.ExchangeVersion.ExchangeBuild.Major -ge 14 -and $E2010)
+ {
+ # Exchange 2010 Database Only
+ $CopyCount = [int]$Database.Servers.Count
+ if ($Database.MasterServerOrAvailabilityGroup.Name -ne $Database.Server.Name)
+ {
+ $Copies = [array]($Database.Servers | % { $_.Name })
+ } else {
+ $Copies = @()
+ }
+ # Archive Info
+ $ArchiveMailboxCount = [int]([array]($ArchiveMailboxes | Where {$_.ArchiveDatabase -eq $Database.Name})).Count
+ $ArchiveStatistics = [array]($ArchiveMailboxes | Where {$_.ArchiveDatabase -eq $Database.Name} | Get-MailboxStatistics -Archive )
+ if ($ArchiveStatistics)
+ {
+ [long]$ArchiveItemSizeB = 0
+ $ArchiveStatistics | %{ $ArchiveItemSizeB+=$_.TotalItemSize.Value.ToBytes() }
+ [long]$ArchiveAverageSize = $ArchiveItemSizeB / $ArchiveStatistics.Count
+ } else {
+ $ArchiveAverageSize = 0
+ }
+ # DB Size / Whitespace Info
+ [long]$Size = $Database.DatabaseSize.ToBytes()
+ [long]$Whitespace = $Database.AvailableNewMailboxSpace.ToBytes()
+ $StorageGroup = $null
+
+ } else {
+ $ArchiveMailboxCount = 0
+ $CopyCount = 0
+ $Copies = @()
+ # 2003 & 2007, Use WMI (Based on code by Gary Siepser, http://bit.ly/kWWMb3)
+ $Size = [long](get-wmiobject cim_datafile -computername $Database.Server.Name -filter ('name=''' + $Database.edbfilepath.pathname.replace("\","\\") + '''')).filesize
+ if (!$Size)
+ {
+ Write-Warning "Cannot detect database size via WMI for $($Database.Server.Name)"
+ [long]$Size = 0
+ [long]$Whitespace = 0
+ } else {
+ [long]$MailboxDeletedItemSizeB = 0
+ if ($MailboxStatistics)
+ {
+ $MailboxStatistics | %{ $MailboxDeletedItemSizeB+=$_.TotalDeletedItemSizeB }
+ }
+ $Whitespace = $Size - $MailboxItemSizeB - $MailboxDeletedItemSizeB
+ if ($Whitespace -lt 0) { $Whitespace = 0 }
+ }
+ $StorageGroup =$Database.DistinguishedName.Split(",")[1].Replace("CN=","")
+ }
+
+ @{Name = $Database.Name
+ StorageGroup = $StorageGroup
+ ActiveOwner = $Database.Server.Name.ToUpper()
+ MailboxCount = [long]([array]($Mailboxes | Where {$_.Database -eq $Database.Identity})).Count
+ MailboxAverageSize = $MailboxAverageSize
+ ArchiveMailboxCount = $ArchiveMailboxCount
+ ArchiveAverageSize = $ArchiveAverageSize
+ CircularLoggingEnabled = $CircularLoggingEnabled
+ LastFullBackup = $LastFullBackup
+ Size = $Size
+ Whitespace = $Whitespace
+ Copies = $Copies
+ CopyCount = $CopyCount
+ FreeLogDiskSpace = $FreeLogDiskSpace
+ FreeDatabaseDiskSpace = $FreeDatabaseDiskSpace
+ }
+}
+
+# Sub-Function to get mailbox count per server.
+# New in 1.5.2
+function _GetExSvrMailboxCount
+{
+ param($Mailboxes,$ExchangeServer,$Databases)
+ # The following *should* work, but it doesn't. Apparently, ServerName is not always returned correctly which may be the cause of
+ # reports of counts being incorrect
+ #([array]($Mailboxes | Where {$_.ServerName -eq $ExchangeServer.Name})).Count
+
+ # ..So as a workaround, I'm going to check what databases are assigned to each server and then get the mailbox counts on a per-
+ # database basis and return the resulting total. As we already have this information resident in memory it should be cheap, just
+ # not as quick.
+ $MailboxCount = 0
+ foreach ($Database in [array]($Databases | Where {$_.Server -eq $ExchangeServer.Name}))
+ {
+ $MailboxCount+=([array]($Mailboxes | Where {$_.Database -eq $Database.Identity})).Count
+ }
+ $MailboxCount
+
+}
+
+# Sub-Function to Get Exchange Server information
+function _GetExSvr
+{
+ param($E2010,$ExchangeServer,$Mailboxes,$Databases,$Hybrids)
+
+ # Set Basic Variables
+ $MailboxCount = 0
+ $RollupLevel = 0
+ $RollupVersion = ""
+ $ExtNames = @()
+ $IntNames = @()
+ $CASArrayName = ""
+
+ # Get WMI Information
+ $tWMI = Get-WmiObject Win32_OperatingSystem -ComputerName $ExchangeServer.Name -ErrorAction SilentlyContinue
+ if ($tWMI)
+ {
+ $OSVersion = $tWMI.Caption.Replace("(R)","").Replace("Microsoft ","").Replace("Enterprise","Ent").Replace("Standard","Std").Replace(" Edition","")
+ $OSServicePack = $tWMI.CSDVersion
+ $RealName = $tWMI.CSName.ToUpper()
+ } else {
+ Write-Warning "Cannot detect OS information via WMI for $($ExchangeServer.Name)"
+ $OSVersion = "N/A"
+ $OSServicePack = "N/A"
+ $RealName = $ExchangeServer.Name.ToUpper()
+ }
+ $tWMI=Get-WmiObject -query "Select * from Win32_Volume" -ComputerName $ExchangeServer.Name -ErrorAction SilentlyContinue
+ if ($tWMI)
+ {
+ $Disks=$tWMI | Select Name,Capacity,FreeSpace | Sort-Object -Property Name
+ } else {
+ Write-Warning "Cannot detect OS information via WMI for $($ExchangeServer.Name)"
+ $Disks=$null
+ }
+
+ # Get Exchange Version
+ if ($ExchangeServer.AdminDisplayVersion.Major -eq 6)
+ {
+ $ExchangeMajorVersion = "$($ExchangeServer.AdminDisplayVersion.Major).$($ExchangeServer.AdminDisplayVersion.Minor)"
+ $ExchangeSPLevel = $ExchangeServer.AdminDisplayVersion.FilePatchLevelDescription.Replace("Service Pack ","")
+ } elseif ($ExchangeServer.AdminDisplayVersion.Major -eq 15 -and $ExchangeServer.AdminDisplayVersion.Minor -eq 1) {
+ $ExchangeMajorVersion = [double]"$($ExchangeServer.AdminDisplayVersion.Major).$($ExchangeServer.AdminDisplayVersion.Minor)"
+ $ExchangeSPLevel = 0
+ } else {
+ $ExchangeMajorVersion = $ExchangeServer.AdminDisplayVersion.Major
+ $ExchangeSPLevel = $ExchangeServer.AdminDisplayVersion.Minor
+ }
+ # Exchange 2007+
+ if ($ExchangeMajorVersion -ge 8)
+ {
+ # Get Roles
+ $MailboxStatistics=$null
+ [array]$Roles = $ExchangeServer.ServerRole.ToString().Replace(" ","").Split(",");
+ # Add Hybrid "Role" for report
+ if ($Hybrids -contains $ExchangeServer.Name)
+ {
+ $Roles+="Hybrid"
+ }
+ if ($Roles -contains "Mailbox")
+ {
+ $MailboxCount = _GetExSvrMailboxCount -Mailboxes $Mailboxes -ExchangeServer $ExchangeServer -Databases $Databases
+ if ($ExchangeServer.Name.ToUpper() -ne $RealName)
+ {
+ $Roles = [array]($Roles | Where {$_ -ne "Mailbox"})
+ $Roles += "ClusteredMailbox"
+ }
+ # Get Mailbox Statistics the normal way, return in a consitent format
+ $MailboxStatistics = Get-MailboxStatistics -Server $ExchangeServer | Select DisplayName,@{Name="TotalItemSizeB";Expression={$_.TotalItemSize.Value.ToBytes()}},@{Name="TotalDeletedItemSizeB";Expression={$_.TotalDeletedItemSize.Value.ToBytes()}},Database
+ }
+ # Get HTTPS Names (Exchange 2010 only due to time taken to retrieve data)
+ if ($Roles -contains "ClientAccess" -and $E2010)
+ {
+
+ Get-OWAVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ Get-WebServicesVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ Get-OABVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ Get-ActiveSyncVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ if (Get-Command Get-MAPIVirtualDirectory -ErrorAction SilentlyContinue)
+ {
+ Get-MAPIVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ }
+ if (Get-Command Get-ClientAccessService -ErrorAction SilentlyContinue)
+ {
+ $IntNames+=(Get-ClientAccessService -Identity $ExchangeServer.Name).AutoDiscoverServiceInternalURI.Host
+ } else {
+ $IntNames+=(Get-ClientAccessServer -Identity $ExchangeServer.Name).AutoDiscoverServiceInternalURI.Host
+ }
+
+ if ($ExchangeMajorVersion -ge 14)
+ {
+ Get-ECPVirtualDirectory -Server $ExchangeServer -ADPropertiesOnly | %{ $ExtNames+=$_.ExternalURL.Host; $IntNames+=$_.InternalURL.Host; }
+ }
+ $IntNames = $IntNames|Sort-Object -Unique
+ $ExtNames = $ExtNames|Sort-Object -Unique
+ $CASArray = Get-ClientAccessArray -Site $ExchangeServer.Site.Name
+ if ($CASArray)
+ {
+ $CASArrayName = $CASArray.Fqdn
+ }
+ }
+
+ # Rollup Level / Versions (Thanks to Bhargav Shukla http://bit.ly/msxGIJ)
+ if ($ExchangeMajorVersion -ge 14) {
+ $RegKey="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products\\AE1D439464EB1B8488741FFA028E291C\\Patches"
+ } else {
+ $RegKey="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products\\461C2B4266EDEF444B864AD6D9E5B613\\Patches"
+ }
+ $RemoteRegistry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $ExchangeServer.Name);
+ if ($RemoteRegistry)
+ {
+ $RUKeys = $RemoteRegistry.OpenSubKey($RegKey).GetSubKeyNames() | ForEach {"$RegKey\\$_"}
+ if ($RUKeys)
+ {
+ [array]($RUKeys | %{$RemoteRegistry.OpenSubKey($_).getvalue("DisplayName")}) | %{
+ if ($_ -like "Update Rollup *")
+ {
+ $tRU = $_.Split(" ")[2]
+ if ($tRU -like "*-*") { $tRUV=$tRU.Split("-")[1]; $tRU=$tRU.Split("-")[0] } else { $tRUV="" }
+ if ([int]$tRU -ge [int]$RollupLevel) { $RollupLevel=$tRU; $RollupVersion=$tRUV }
+ }
+ }
+ }
+ } else {
+ Write-Warning "Cannot detect Rollup Version via Remote Registry for $($ExchangeServer.Name)"
+ }
+ # Exchange 2013 CU or SP Level
+ if ($ExchangeMajorVersion -ge 15)
+ {
+ $RegKey="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Microsoft Exchange v15"
+ $RemoteRegistry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $ExchangeServer.Name);
+ if ($RemoteRegistry)
+ {
+ $ExchangeSPLevel = $RemoteRegistry.OpenSubKey($RegKey).getvalue("DisplayName")
+ if ($ExchangeSPLevel -like "*Service Pack*" -or $ExchangeSPLevel -like "*Cumulative Update*")
+ {
+ $ExchangeSPLevel = $ExchangeSPLevel.Replace("Microsoft Exchange Server 2013 ","");
+ $ExchangeSPLevel = $ExchangeSPLevel.Replace("Microsoft Exchange Server 2016 ","");
+ $ExchangeSPLevel = $ExchangeSPLevel.Replace("Service Pack ","SP");
+ $ExchangeSPLevel = $ExchangeSPLevel.Replace("Cumulative Update ","CU");
+ } else {
+ $ExchangeSPLevel = 0;
+ }
+ } else {
+ Write-Warning "Cannot detect CU/SP via Remote Registry for $($ExchangeServer.Name)"
+ }
+ }
+
+ }
+ # Exchange 2003
+ if ($ExchangeMajorVersion -eq 6.5)
+ {
+ # Mailbox Count
+ $MailboxCount = _GetExSvrMailboxCount -Mailboxes $Mailboxes -ExchangeServer $ExchangeServer -Databases $Databases
+ # Get Role via WMI
+ $tWMI = Get-WMIObject Exchange_Server -Namespace "root\microsoftexchangev2" -Computername $ExchangeServer.Name -Filter "Name='$($ExchangeServer.Name)'"
+ if ($tWMI)
+ {
+ if ($tWMI.IsFrontEndServer) { $Roles=@("FE") } else { $Roles=@("BE") }
+ } else {
+ Write-Warning "Cannot detect Front End/Back End Server information via WMI for $($ExchangeServer.Name)"
+ $Roles+="Unknown"
+ }
+ # Get Mailbox Statistics using WMI, return in a consistent format
+ $tWMI = Get-WMIObject -class Exchange_Mailbox -Namespace ROOT\MicrosoftExchangev2 -ComputerName $ExchangeServer.Name -Filter ("ServerName='$($ExchangeServer.Name)'")
+ if ($tWMI)
+ {
+ $MailboxStatistics = $tWMI | Select @{Name="DisplayName";Expression={$_.MailboxDisplayName}},@{Name="TotalItemSizeB";Expression={$_.Size}},@{Name="TotalDeletedItemSizeB";Expression={$_.DeletedMessageSizeExtended }},@{Name="Database";Expression={((get-mailboxdatabase -Identity "$($_.ServerName)\$($_.StorageGroupName)\$($_.StoreName)").identity)}}
+ } else {
+ Write-Warning "Cannot retrieve Mailbox Statistics via WMI for $($ExchangeServer.Name)"
+ $MailboxStatistics = $null
+ }
+ }
+ # Exchange 2000
+ if ($ExchangeMajorVersion -eq "6.0")
+ {
+ # Mailbox Count
+ $MailboxCount = _GetExSvrMailboxCount -Mailboxes $Mailboxes -ExchangeServer $ExchangeServer -Databases $Databases
+ # Get Role via ADSI
+ $tADSI=[ADSI]"LDAP://$($ExchangeServer.OriginatingServer)/$($ExchangeServer.DistinguishedName)"
+ if ($tADSI)
+ {
+ if ($tADSI.ServerRole -eq 1) { $Roles=@("FE") } else { $Roles=@("BE") }
+ } else {
+ Write-Warning "Cannot detect Front End/Back End Server information via ADSI for $($ExchangeServer.Name)"
+ $Roles+="Unknown"
+ }
+ $MailboxStatistics = $null
+ }
+
+ # Return Hashtable
+ @{Name = $ExchangeServer.Name.ToUpper()
+ RealName = $RealName
+ ExchangeMajorVersion = $ExchangeMajorVersion
+ ExchangeSPLevel = $ExchangeSPLevel
+ Edition = $ExchangeServer.Edition
+ Mailboxes = $MailboxCount
+ OSVersion = $OSVersion;
+ OSServicePack = $OSServicePack
+ Roles = $Roles
+ RollupLevel = $RollupLevel
+ RollupVersion = $RollupVersion
+ Site = $ExchangeServer.Site.Name
+ MailboxStatistics = $MailboxStatistics
+ Disks = $Disks
+ IntNames = $IntNames
+ ExtNames = $ExtNames
+ CASArrayName = $CASArrayName
+ }
+}
+
+# Sub Function to Get Totals by Version
+function _TotalsByVersion
+{
+ param($ExchangeEnvironment)
+ $TotalMailboxesByVersion=@{}
+ if ($ExchangeEnvironment.Sites)
+ {
+ foreach ($Site in $ExchangeEnvironment.Sites.GetEnumerator())
+ {
+ foreach ($Server in $Site.Value)
+ {
+ if (!$TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"])
+ {
+ $TotalMailboxesByVersion.Add("$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)",@{ServerCount=1;MailboxCount=$Server.Mailboxes})
+ } else {
+ $TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].ServerCount++
+ $TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].MailboxCount+=$Server.Mailboxes
+ }
+ }
+ }
+ }
+ if ($ExchangeEnvironment.Pre2007)
+ {
+ foreach ($FakeSite in $ExchangeEnvironment.Pre2007.GetEnumerator())
+ {
+ foreach ($Server in $FakeSite.Value)
+ {
+ if (!$TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"])
+ {
+ $TotalMailboxesByVersion.Add("$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)",@{ServerCount=1;MailboxCount=$Server.Mailboxes})
+ } else {
+ $TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].ServerCount++
+ $TotalMailboxesByVersion["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].MailboxCount+=$Server.Mailboxes
+ }
+ }
+ }
+ }
+ $TotalMailboxesByVersion
+}
+
+# Sub Function to Get Totals by Role
+function _TotalsByRole
+{
+ param($ExchangeEnvironment)
+ # Add Roles We Always Show
+ $TotalServersByRole=@{"ClientAccess" = 0
+ "HubTransport" = 0
+ "UnifiedMessaging" = 0
+ "Mailbox" = 0
+ "Edge" = 0
+ }
+ if ($ExchangeEnvironment.Sites)
+ {
+ foreach ($Site in $ExchangeEnvironment.Sites.GetEnumerator())
+ {
+ foreach ($Server in $Site.Value)
+ {
+ foreach ($Role in $Server.Roles)
+ {
+ if ($TotalServersByRole[$Role] -eq $null)
+ {
+ $TotalServersByRole.Add($Role,1)
+ } else {
+ $TotalServersByRole[$Role]++
+ }
+ }
+ }
+ }
+ }
+ if ($ExchangeEnvironment.Pre2007["Pre 2007 Servers"])
+ {
+
+ foreach ($Server in $ExchangeEnvironment.Pre2007["Pre 2007 Servers"])
+ {
+
+ foreach ($Role in $Server.Roles)
+ {
+ if ($TotalServersByRole[$Role] -eq $null)
+ {
+ $TotalServersByRole.Add($Role,1)
+ } else {
+ $TotalServersByRole[$Role]++
+ }
+ }
+ }
+ }
+ $TotalServersByRole
+}
+
+# Sub Function to return HTML Table for Sites/Pre 2007
+function _GetOverview
+{
+ param($Servers,$ExchangeEnvironment,$ExRoleStrings,$Pre2007=$False)
+ if ($Pre2007)
+ {
+ $BGColHeader="#880099"
+ $BGColSubHeader="#8800CC"
+ $Prefix=""
+ $IntNamesText=""
+ $ExtNamesText=""
+ $CASArrayText=""
+ } else {
+ $BGColHeader="#000099"
+ $BGColSubHeader="#0000FF"
+ $Prefix="Site:"
+ $IntNamesText=""
+ $ExtNamesText=""
+ $CASArrayText=""
+ $IntNames=@()
+ $ExtNames=@()
+ $CASArrayName=""
+ foreach ($Server in $Servers.Value)
+ {
+ $IntNames+=$Server.IntNames
+ $ExtNames+=$Server.ExtNames
+ $CASArrayName=$Server.CASArrayName
+
+ }
+ $IntNames = $IntNames|Sort -Unique
+ $ExtNames = $ExtNames|Sort -Unique
+ $IntNames = [system.String]::Join(",",$IntNames)
+ $ExtNames = [system.String]::Join(",",$ExtNames)
+ if ($IntNames)
+ {
+ $IntNamesText="Internal Names: $($IntNames)"
+ $ExtNamesText="External Names: $($ExtNames)
"
+ }
+ if ($CASArrayName)
+ {
+ $CASArrayText="CAS Array: $($CASArrayName)"
+ }
+ }
+ $Output="
+
+ ";
+
+ $ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{$Output+=""}
+ $Output+="
+ $($Prefix) $($Servers.Key) |
+ $($ExtNamesText)$($IntNamesText) |
+ $($CASArrayText) |
"
+ $TotalMailboxes=0
+ $Servers.Value | %{$TotalMailboxes += $_.Mailboxes}
+ $Output+="Mailboxes: $($TotalMailboxes) | "
+ $Output+="Exchange Version | "
+ $ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{$Output+="$($ExRoleStrings[$_.Key].Short) | "}
+ $Output+="OS Version | OS Service Pack |
"
+ $AlternateRow=0
+
+ foreach ($Server in $Servers.Value)
+ {
+ $Output+="$($Server.Name)"
+ if ($Server.RealName -ne $Server.Name)
+ {
+ $Output+=" ($($Server.RealName))"
+ }
+ $Output+=" | $($ExVersionStrings["$($Server.ExchangeMajorVersion).$($Server.ExchangeSPLevel)"].Long)"
+ if ($Server.RollupLevel -gt 0)
+ {
+ $Output+=" UR$($Server.RollupLevel)"
+ if ($Server.RollupVersion)
+ {
+ $Output+=" $($Server.RollupVersion)"
+ }
+ }
+ $Output+=" | "
+ $ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{
+ $Output+=""
+ if (($_.Key -eq "ClusteredMailbox" -or $_.Key -eq "Mailbox" -or $_.Key -eq "BE") -and $Server.Roles -contains $_.Key)
+ {
+ $Output+=$Server.Mailboxes
+ }
+ }
+
+ $Output+=" | $($Server.OSVersion) | $($Server.OSServicePack) |
";
+ }
+ $Output+="
+
"
+ $Output
+}
+
+# Sub Function to return HTML Table for Databases
+function _GetDBTable
+{
+ param($Databases)
+ # Only Show Archive Mailbox Columns, Backup Columns and Circ Logging if at least one DB has an Archive mailbox, backed up or Cir Log enabled.
+ $ShowArchiveDBs=$False
+ $ShowLastFullBackup=$False
+ $ShowCircularLogging=$False
+ $ShowStorageGroups=$False
+ $ShowCopies=$False
+ $ShowFreeDatabaseSpace=$False
+ $ShowFreeLogDiskSpace=$False
+ foreach ($Database in $Databases)
+ {
+ if ($Database.ArchiveMailboxCount -gt 0)
+ {
+ $ShowArchiveDBs=$True
+ }
+ if ($Database.LastFullBackup -ne "Not Available")
+ {
+ $ShowLastFullBackup=$True
+ }
+ if ($Database.CircularLoggingEnabled -eq "Yes")
+ {
+ $ShowCircularLogging=$True
+ }
+ if ($Database.StorageGroup)
+ {
+ $ShowStorageGroups=$True
+ }
+ if ($Database.CopyCount -gt 0)
+ {
+ $ShowCopies=$True
+ }
+ if ($Database.FreeDatabaseDiskSpace -ne $null)
+ {
+ $ShowFreeDatabaseSpace=$true
+ }
+ if ($Database.FreeLogDiskSpace -ne $null)
+ {
+ $ShowFreeLogDiskSpace=$true
+ }
+ }
+
+
+ $Output="
+
+
+ Server | "
+ if ($ShowStorageGroups)
+ {
+ $Output+="Storage Group | "
+ }
+ $Output+="Database Name |
+ Mailboxes |
+ Av. Mailbox Size | "
+ if ($ShowArchiveDBs)
+ {
+ $Output+="Archive MBs | Av. Archive Size | "
+ }
+ $Output+="DB Size | DB Whitespace | "
+ if ($ShowFreeDatabaseSpace)
+ {
+ $Output+="Database Disk Free | "
+ }
+ if ($ShowFreeLogDiskSpace)
+ {
+ $Output+="Log Disk Free | "
+ }
+ if ($ShowLastFullBackup)
+ {
+ $Output+="Last Full Backup | "
+ }
+ if ($ShowCircularLogging)
+ {
+ $Output+="Circular Logging | "
+ }
+ if ($ShowCopies)
+ {
+ $Output+="Copies (n) | "
+ }
+
+ $Output+="
"
+ $AlternateRow=0;
+ foreach ($Database in $Databases)
+ {
+ $Output+="$($Database.ActiveOwner) | "
+ if ($ShowStorageGroups)
+ {
+ $Output+="$($Database.StorageGroup) | "
+ }
+ $Output+="$($Database.Name) |
+ $($Database.MailboxCount) |
+ $("{0:N2}" -f ($Database.MailboxAverageSize/1MB)) MB | "
+ if ($ShowArchiveDBs)
+ {
+ $Output+="$($Database.ArchiveMailboxCount) |
+ $("{0:N2}" -f ($Database.ArchiveAverageSize/1MB)) MB | ";
+ }
+ $Output+="$("{0:N2}" -f ($Database.Size/1GB)) GB |
+ $("{0:N2}" -f ($Database.Whitespace/1GB)) GB | ";
+ if ($ShowFreeDatabaseSpace)
+ {
+ $Output+="$("{0:N1}" -f $Database.FreeDatabaseDiskSpace)% | "
+ }
+ if ($ShowFreeLogDiskSpace)
+ {
+ $Output+="$("{0:N1}" -f $Database.FreeLogDiskSpace)% | "
+ }
+ if ($ShowLastFullBackup)
+ {
+ $Output+="$($Database.LastFullBackup) | ";
+ }
+ if ($ShowCircularLogging)
+ {
+ $Output+="$($Database.CircularLoggingEnabled) | ";
+ }
+ if ($ShowCopies)
+ {
+ $Output+="$($Database.Copies|%{$_}) ($($Database.CopyCount)) | "
+ }
+ $Output+="
";
+ }
+ $Output+="
"
+
+ $Output
+}
+
+# Sub Function to neatly update progress
+function _UpProg1
+{
+ param($PercentComplete,$Status,$Stage)
+ $TotalStages=5
+ Write-Progress -id 1 -activity "Get-ExchangeEnvironmentReport" -status $Status -percentComplete (($PercentComplete/$TotalStages)+(1/$TotalStages*$Stage*100))
+}
+
+# 1. Initial Startup
+
+add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010
+
+$Date = Get-Date -format 'yyyy-MM-dd HH-mm-ss'
+$Fichier = "D:\Informatique\All-Mailbox-$Date.csv"
+$emailAttachments = "D:\Informatique\All-Mailbox.csv"
+
+Get-Mailbox -ResultSize Unlimited | Select-Object Displayname,name,alias,PrimarySmtpAddress,Database,@{Name='TotalItemSize'; Expression={[String]::join(";",((Get-MailboxStatistics -identity $_.identity).TotalItemSize))}},@{Name='ItemCount'; Expression={[String]::join(";",((Get-MailboxStatistics -identity $_.identity).ItemCount))}},IssueWarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota | where-object {$_.enabled -eq $True} | export-csv -path $Fichier
+
+(Get-Content $Fichier) -replace '","','";"' | Set-Content "D:\Informatique\All-Mailbox-temp.csv"
+(Get-Content "D:\Informatique\All-Mailbox-temp.csv") -replace ',,,',';;;' | Set-Content $emailAttachments
+
+Start-Sleep -s 10
+
+# 1.0 Check Powershell Version
+if ((Get-Host).Version.Major -eq 1)
+{
+ throw "Powershell Version 1 not supported";
+}
+
+# 1.1 Check Exchange Management Shell, attempt to load
+if (!(Get-Command Get-ExchangeServer -ErrorAction SilentlyContinue))
+{
+ if (Test-Path "C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1")
+ {
+ . 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'
+ Connect-ExchangeServer -auto
+ } elseif (Test-Path "C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1") {
+ Add-PSSnapIn Microsoft.Exchange.Management.PowerShell.Admin
+ .'C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1'
+ } else {
+ throw "Exchange Management Shell cannot be loaded"
+ }
+}
+
+# 1.2 Check if -SendMail parameter set and if so check -MailFrom, -MailTo and -MailServer are set
+if ($SendMail)
+{
+ if (!$MailFrom -or !$MailTo -or !$MailServer)
+ {
+ throw "If -SendMail specified, you must also specify -MailFrom, -MailTo and -MailServer"
+ }
+}
+
+# 1.3 Check Exchange Management Shell Version
+if ((Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.Admin -ErrorAction SilentlyContinue))
+{
+ $E2010 = $false;
+ if (Get-ExchangeServer | Where {$_.AdminDisplayVersion.Major -gt 14})
+ {
+ Write-Warning "Exchange 2010 or higher detected. You'll get better results if you run this script from the latest management shell"
+ }
+}else{
+
+ $E2010 = $true
+ $localserver = get-exchangeserver $Env:computername
+ $localversion = $localserver.admindisplayversion.major
+ if ($localversion -eq 15) { $E2013 = $true }
+
+}
+
+# 1.4 Check view entire forest if set (by default, true)
+if ($E2010)
+{
+ Set-ADServerSettings -ViewEntireForest:$ViewEntireForest
+} else {
+ $global:AdminSessionADSettings.ViewEntireForest = $ViewEntireForest
+}
+
+# 1.5 Initial Variables
+
+# 1.5.1 Hashtable to update with environment data
+$ExchangeEnvironment = @{Sites = @{}
+ Pre2007 = @{}
+ Servers = @{}
+ DAGs = @()
+ NonDAGDatabases = @()
+ }
+# 1.5.7 Exchange Major Version String Mapping
+$ExMajorVersionStrings = @{"6.0" = @{Long="Exchange 2000";Short="E2000"}
+ "6.5" = @{Long="Exchange 2003";Short="E2003"}
+ "8" = @{Long="Exchange 2007";Short="E2007"}
+ "14" = @{Long="Exchange 2010";Short="E2010"}
+ "15" = @{Long="Exchange 2013";Short="E2013"}
+ "15.1" = @{Long="Exchange 2016";Short="E2016"}}
+# 1.5.8 Exchange Service Pack String Mapping
+$ExSPLevelStrings = @{"0" = "RTM"
+ "1" = "SP1"
+ "2" = "SP2"
+ "3" = "SP3"
+ "4" = "SP4"
+ "SP1" = "SP1"
+ "SP2" = "SP2"}
+ # Add many CUs
+ for ($i = 1; $i -le 20; $i++)
+ {
+ $ExSPLevelStrings.Add("CU$($i)","CU$($i)");
+ }
+# 1.5.9 Populate Full Mapping using above info
+$ExVersionStrings = @{}
+foreach ($Major in $ExMajorVersionStrings.GetEnumerator())
+{
+ foreach ($Minor in $ExSPLevelStrings.GetEnumerator())
+ {
+ $ExVersionStrings.Add("$($Major.Key).$($Minor.Key)",@{Long="$($Major.Value.Long) $($Minor.Value)";Short="$($Major.Value.Short)$($Minor.Value)"})
+ }
+}
+# 1.5.10 Exchange Role String Mapping
+$ExRoleStrings = @{"ClusteredMailbox" = @{Short="ClusMBX";Long="CCR/SCC Clustered Mailbox"}
+ "Mailbox" = @{Short="MBX";Long="Mailbox"}
+ "ClientAccess" = @{Short="CAS";Long="Client Access"}
+ "HubTransport" = @{Short="HUB";Long="Hub Transport"}
+ "UnifiedMessaging" = @{Short="UM";Long="Unified Messaging"}
+ "Edge" = @{Short="EDGE";Long="Edge Transport"}
+ "FE" = @{Short="FE";Long="Front End"}
+ "BE" = @{Short="BE";Long="Back End"}
+ "Hybrid" = @{Short="HYB"; Long="Hybrid"}
+ "Unknown" = @{Short="Unknown";Long="Unknown"}}
+
+# 2 Get Relevant Exchange Information Up-Front
+
+# 2.1 Get Server, Exchange and Mailbox Information
+_UpProg1 1 "Getting Exchange Server List" 1
+$ExchangeServers = [array](Get-ExchangeServer $ServerFilter)
+if (!$ExchangeServers)
+{
+ throw "No Exchange Servers matched by -ServerFilter ""$($ServerFilter)"""
+}
+$HybridServers=@()
+if (Get-Command Get-HybridConfiguration -ErrorAction SilentlyContinue)
+{
+ $HybridConfig = Get-HybridConfiguration
+ $HybridConfig.ReceivingTransportServers|%{ $HybridServers+=$_.Name }
+ $HybridConfig.SendingTransportServers|%{ $HybridServers+=$_.Name }
+ $HybridServers = $HybridServers | Sort-Object -Unique
+}
+
+_UpProg1 10 "Getting Mailboxes" 1
+$Mailboxes = [array](Get-Mailbox -ResultSize Unlimited) | Where {$_.Server -like $ServerFilter}
+if ($E2010)
+{
+ _UpProg1 60 "Getting Archive Mailboxes" 1
+ $ArchiveMailboxes = [array](Get-Mailbox -Archive -ResultSize Unlimited) | Where {$_.Server -like $ServerFilter}
+ _UpProg1 70 "Getting Remote Mailboxes" 1
+ $RemoteMailboxes = [array](Get-RemoteMailbox -ResultSize Unlimited)
+ $ExchangeEnvironment.Add("RemoteMailboxes",$RemoteMailboxes.Count)
+ _UpProg1 90 "Getting Databases" 1
+ if ($E2013)
+ {
+ $Databases = [array](Get-MailboxDatabase -IncludePreExchange2013 -Status) | Where {$_.Server -like $ServerFilter}
+ }
+ elseif ($E2010)
+ {
+ $Databases = [array](Get-MailboxDatabase -IncludePreExchange2010 -Status) | Where {$_.Server -like $ServerFilter}
+ }
+ $DAGs = [array](Get-DatabaseAvailabilityGroup) | Where {$_.Servers -like $ServerFilter}
+} else {
+ $ArchiveMailboxes = $null
+ $ArchiveMailboxStats = $null
+ $DAGs = $null
+ _UpProg1 90 "Getting Databases" 1
+ $Databases = [array](Get-MailboxDatabase -IncludePreExchange2007 -Status) | Where {$_.Server -like $ServerFilter}
+ $ExchangeEnvironment.Add("RemoteMailboxes",0)
+}
+
+# 2.3 Populate Information we know
+$ExchangeEnvironment.Add("TotalMailboxes",$Mailboxes.Count + $ExchangeEnvironment.RemoteMailboxes);
+
+# 3 Process High-Level Exchange Information
+
+# 3.1 Collect Exchange Server Information
+for ($i=0; $i -lt $ExchangeServers.Count; $i++)
+{
+ _UpProg1 ($i/$ExchangeServers.Count*100) "Getting Exchange Server Information" 2
+ # Get Exchange Info
+ $ExSvr = _GetExSvr -E2010 $E2010 -ExchangeServer $ExchangeServers[$i] -Mailboxes $Mailboxes -Databases $Databases -Hybrids $HybridServers
+ # Add to site or pre-Exchange 2007 list
+ if ($ExSvr.Site)
+ {
+ # Exchange 2007 or higher
+ if (!$ExchangeEnvironment.Sites[$ExSvr.Site])
+ {
+ $ExchangeEnvironment.Sites.Add($ExSvr.Site,@($ExSvr))
+ } else {
+ $ExchangeEnvironment.Sites[$ExSvr.Site]+=$ExSvr
+ }
+ } else {
+ # Exchange 2003 or lower
+ if (!$ExchangeEnvironment.Pre2007["Pre 2007 Servers"])
+ {
+ $ExchangeEnvironment.Pre2007.Add("Pre 2007 Servers",@($ExSvr))
+ } else {
+ $ExchangeEnvironment.Pre2007["Pre 2007 Servers"]+=$ExSvr
+ }
+ }
+ # Add to Servers List
+ $ExchangeEnvironment.Servers.Add($ExSvr.Name,$ExSvr)
+}
+
+# 3.2 Calculate Environment Totals for Version/Role using collected data
+_UpProg1 1 "Getting Totals" 3
+$ExchangeEnvironment.Add("TotalMailboxesByVersion",(_TotalsByVersion -ExchangeEnvironment $ExchangeEnvironment))
+$ExchangeEnvironment.Add("TotalServersByRole",(_TotalsByRole -ExchangeEnvironment $ExchangeEnvironment))
+
+# 3.4 Populate Environment DAGs
+_UpProg1 5 "Getting DAG Info" 3
+if ($DAGs)
+{
+ foreach($DAG in $DAGs)
+ {
+ $ExchangeEnvironment.DAGs+=(_GetDAG -DAG $DAG)
+ }
+}
+
+# 3.5 Get Database information
+_UpProg1 60 "Getting Database Info" 3
+for ($i=0; $i -lt $Databases.Count; $i++)
+{
+ $Database = _GetDB -Database $Databases[$i] -ExchangeEnvironment $ExchangeEnvironment -Mailboxes $Mailboxes -ArchiveMailboxes $ArchiveMailboxes -E2010 $E2010
+ $DAGDB = $false
+ for ($j=0; $j -lt $ExchangeEnvironment.DAGs.Count; $j++)
+ {
+ if ($ExchangeEnvironment.DAGs[$j].Members -contains $Database.ActiveOwner)
+ {
+ $DAGDB=$true
+ $ExchangeEnvironment.DAGs[$j].Databases += $Database
+ }
+ }
+ if (!$DAGDB)
+ {
+ $ExchangeEnvironment.NonDAGDatabases += $Database
+ }
+
+
+}
+
+# 4 Write Information
+_UpProg1 5 "Writing HTML Report Header" 4
+# Header
+$Output="
+
+
+Exchange Environment Report
+Generated $((Get-Date).ToString())
+
+
+
+Total Servers: | "
+if ($ExchangeEnvironment.RemoteMailboxes)
+ {
+ $Output+="Total Mailboxes: | "
+ } else {
+ $Output+="Total Mailboxes: | "
+ }
+$Output+="Total Roles: |
+"
+# Show Column Headings based on the Exchange versions we have
+$ExchangeEnvironment.TotalMailboxesByVersion.GetEnumerator()|Sort Name| %{$Output+="$($ExVersionStrings[$_.Key].Short) | "}
+$ExchangeEnvironment.TotalMailboxesByVersion.GetEnumerator()|Sort Name| %{$Output+="$($ExVersionStrings[$_.Key].Short) | "}
+if ($ExchangeEnvironment.RemoteMailboxes)
+{
+ $Output+="Office 365 | "
+}
+$Output+="Org | "
+$ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{$Output+="$($ExRoleStrings[$_.Key].Short) | "}
+$Output+="
"
+$Output+="
"
+$ExchangeEnvironment.TotalMailboxesByVersion.GetEnumerator()|Sort Name| %{$Output+="$($_.Value.ServerCount) | " }
+$ExchangeEnvironment.TotalMailboxesByVersion.GetEnumerator()|Sort Name| %{$Output+="$($_.Value.MailboxCount) | " }
+if ($RemoteMailboxes)
+{
+ $Output+="$($ExchangeEnvironment.RemoteMailboxes) | "
+}
+$Output+="$($ExchangeEnvironment.TotalMailboxes) | "
+$ExchangeEnvironment.TotalServersByRole.GetEnumerator()|Sort Name| %{$Output+="$($_.Value) | "}
+$Output+="
|
|
"
+
+$SPLA = (Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*.mailnot.fr"} ).Count
+
+$Output+="
+
+ Compte SPLA | Member Count |
+ *.mailnot.fr | $SPLA |
+
"
+
+# Sites and Servers
+_UpProg1 20 "Writing HTML Site Information" 4
+foreach ($Site in $ExchangeEnvironment.Sites.GetEnumerator())
+{
+ $Output+=_GetOverview -Servers $Site -ExchangeEnvironment $ExchangeEnvironment -ExRoleStrings $ExRoleStrings
+}
+_UpProg1 40 "Writing HTML Pre-2007 Information" 4
+foreach ($FakeSite in $ExchangeEnvironment.Pre2007.GetEnumerator())
+{
+ $Output+=_GetOverview -Servers $FakeSite -ExchangeEnvironment $ExchangeEnvironment -ExRoleStrings $ExRoleStrings -Pre2007:$true
+}
+
+
+_UpProg1 60 "Writing HTML DAG Information" 4
+foreach ($DAG in $ExchangeEnvironment.DAGs)
+{
+ if ($DAG.MemberCount -gt 0)
+ {
+ # Database Availability Group Header
+ $Output+="
+
+ Database Availability Group Name | Member Count |
+ Database Availability Group Members |
+ $($DAG.Name) |
+ $($DAG.MemberCount) | "
+ $DAG.Members | % { $Output+="$($_) " }
+ $Output+=" |
"
+
+ # Get Table HTML
+ $Output+=_GetDBTable -Databases $DAG.Databases
+ }
+
+}
+
+if ($ExchangeEnvironment.NonDAGDatabases.Count)
+{
+ _UpProg1 80 "Writing HTML Non-DAG Database Information" 4
+ $Output+="
+ Mailbox Databases (Non-DAG) |
---|
"
+ $Output+=_GetDBTable -Databases $ExchangeEnvironment.NonDAGDatabases
+}
+
+
+# End
+_UpProg1 90 "Finishing off.." 4
+$Output+="";
+$Output | Out-File $HTMLReport
+
+
+if ($SendMail)
+{
+ _UpProg1 95 "Sending mail message.." 4
+ Send-MailMessage -Attachments $HTMLReport -To $MailTo -From $MailFrom -Subject "Exchange Environment Report" -BodyAsHtml $Output -SmtpServer $MailServer
+}
\ No newline at end of file
diff --git a/Exchange/Rapports-MailBox.ps1 b/Exchange/Rapports-MailBox.ps1
new file mode 100644
index 0000000..173fe59
--- /dev/null
+++ b/Exchange/Rapports-MailBox.ps1
@@ -0,0 +1,50 @@
+add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010
+
+$Date = Get-Date -format 'yyyy-MM-dd HH-mm-ss'
+$Fichier = "D:\Informatique\All-Mailbox-$Date.csv"
+$emailAttachments = "D:\Informatique\All-Mailbox.csv"
+
+#Get-Mailbox -ResultSize Unlimited | Select-Object Displayname,name,alias,PrimarySmtpAddress,Database,@{Name='TotalItemSize'; Expression={[String]::join(";",((Get-MailboxStatistics -identity $_.identity).TotalItemSize))}},@{Name='ItemCount'; Expression={[String]::join(";",((Get-MailboxStatistics -identity $_.identity).ItemCount))}},IssueWarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota | where-object {$_.enabled -eq $True} | export-csv -path $Fichier
+Get-Mailbox -ResultSize Unlimited | Select-Object Displayname,name,alias,PrimarySmtpAddress,Database,@{Name='TotalItemSize'; Expression={[String]::join(";",((Get-MailboxStatistics -identity $_.identity).TotalItemSize))}},@{Name='ItemCount'; Expression={[String]::join(";",((Get-MailboxStatistics -identity $_.identity).ItemCount))}},IssueWarningQuota, ProhibitSendQuota, ProhibitSendReceiveQuota | export-csv -path $Fichier
+
+$SPLA = (Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*.mailnot.fr"} ).Count
+
+(Get-Content $Fichier) -replace '","','";"' | Set-Content "D:\Informatique\All-Mailbox-temp.csv"
+(Get-Content "D:\Informatique\All-Mailbox-temp.csv") -replace ',,,',';;;' | Set-Content $emailAttachments
+
+Start-Sleep -s 10
+
+$emailSmtpServer = "10.101.10.2"
+$emailSmtpServerPort = "25"
+
+$emailFrom = "Rapports@cloud-fichorga.fr"
+$emailTo = "hcornet@fichorga.fr, ypereira@fichorga.fr, fdupont@fichorga.fr, cleroux@fichorga.fr, jmdefossez@fichorga.fr, alefevre@pmsjuris.fr, sdemarez@fichorga.fr, mdelplanche@fichorga.fr, eringuet@fichorga.fr"
+
+
+$body = ""
+$body += ""
+$body += "Bonjour a tous
"
+$body += "Voici l'extraction de l'ensemble des boites mail client a la date du $Date.
"
+$body += "
"
+$body += "Il y a : $SPLA comptes à déclarer pour le SPLA.
"
+$body += "
"
+$body += "Bonne lecture.
"
+$body += "Merci de ne pas faire repondre a ce message.
"
+$body += "Pour ne plus faire partie de la liste Send Mail.
"
+
+$emailMessage = New-Object System.Net.Mail.MailMessage( $emailFrom , $emailTo )
+$emailMessage.Subject = "Extraction : client CONNECT"
+$emailMessage.IsBodyHtml = $True
+$emailMessage.Body = $body
+$emailMessage.Attachments.add($emailAttachments)
+
+$SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer, $emailSmtpServerPort )
+$SMTPClient.EnableSsl = $False
+$SMTPClient.Send( $emailMessage )
+
+Start-Sleep -s 10
+
+Remove-Item "D:\Informatique\All-Mailbox-$Date.csv" -recurse
+Remove-Item "D:\Informatique\All-Mailbox-temp.csv" -recurse
+Remove-Item "D:\Informatique\All-Mailbox.csv" -recurse
+
diff --git a/Exchange/Test-ExchangeServerHealth.ps1 b/Exchange/Test-ExchangeServerHealth.ps1
new file mode 100644
index 0000000..d99b9e0
--- /dev/null
+++ b/Exchange/Test-ExchangeServerHealth.ps1
@@ -0,0 +1,2157 @@
+<#
+.SYNOPSIS
+Test-ExchangeServerHealth.ps1 - Exchange Server Health Check Script.
+
+.DESCRIPTION
+Performs a series of health checks on Exchange servers and DAGs
+and outputs the results to screen, and optionally to log file, HTML report,
+and HTML email.
+
+Use the ignorelist.txt file to specify any servers, DAGs, or databases you
+want the script to ignore (eg test/dev servers).
+
+.OUTPUTS
+Results are output to screen, as well as optional log file, HTML report, and HTML email
+
+.PARAMETER Server
+Perform a health check of a single server
+
+.PARAMETER ReportMode
+Set to $true to generate a HTML report. A default file name is used if none is specified.
+
+.PARAMETER ReportFile
+Allows you to specify a different HTML report file name than the default.
+
+.PARAMETER SendEmail
+Sends the HTML report via email using the SMTP configuration within the script.
+
+.PARAMETER AlertsOnly
+Only sends the email report if at least one error or warning was detected.
+
+.PARAMETER Log
+Writes a log file to help with troubleshooting.
+
+.EXAMPLE
+.\Test-ExchangeServerHealth.ps1
+Checks all servers in the organization and outputs the results to the shell window.
+
+.EXAMPLE
+.\Test-ExchangeServerHealth.ps1 -Server HO-EX2010-MB1
+Checks the server HO-EX2010-MB1 and outputs the results to the shell window.
+
+.EXAMPLE
+.\Test-ExchangeServerHealth.ps1 -ReportMode -SendEmail
+Checks all servers in the organization, outputs the results to the shell window, a HTML report, and
+emails the HTML report to the address configured in the script.
+
+.LINK
+https://practical365.com/exchange-server/powershell-script-exchange-server-health-check-report/
+
+.NOTES
+Written by: Paul Cunningham
+
+Find me on:
+
+* My Blog: http://paulcunningham.me
+* Twitter: https://twitter.com/paulcunningham
+* LinkedIn: http://au.linkedin.com/in/cunninghamp/
+* Github: https://github.com/cunninghamp
+
+For more Exchange Server tips, tricks and news
+check out Exchange Server Pro.
+
+* Website: https://practical365.com
+* Twitter: https://twitter.com/practical365
+
+Additional Credits (code contributions and testing):
+- Chris Brown, http://twitter.com/chrisbrownie
+- Ingmar Brückner
+- John A. Eppright
+- Jonas Borelius
+- Thomas Helmdach
+- Bruce McKay
+- Tony Holdgate
+- Ryan
+- Rob Silver
+- andrewcr7, https://github.com/andrewcr7
+
+License:
+
+The MIT License (MIT)
+
+Copyright (c) 2017 Paul Cunningham
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Change Log
+V1.00, 05/07/2012 - Initial version
+V1.01, 05/08/2012 - Minor bug fixes and removed Edge Tranport checks
+V1.02, 05/05/2013 - A lot of bug fixes, updated SMTP to use Send-MailMessage, added DAG health check.
+V1.03, 04/08/2013 - Minor bug fixes
+V1.04, 19/08/2013 - Added Exchange 2013 compatibility, added option to output a log file, converted many
+ sections of code to use pre-defined strings, fixed -AlertsOnly parameter, improved summary
+ sections of report to be more readable and include DAG summary
+V1.05, 23/08/2013 - Added workaround for Test-ServiceHealth error for Exchange 2013 CAS-only servers
+V1.06, 28/10/2013 - Added workaround for Test-Mailflow error for Exchange 2013 Mailbox servers.
+ - Added workaround for Exchange 2013 mail test.
+ - Added localization strings for service health check errors for non-English systems.
+ - Fixed an uptime calculation bug for some regional settings.
+ - Excluded recovery databases from active database calculation.
+ - Fixed bug where high transport queues would not count as an alert.
+ - Fixed error thrown when Site attribute can't be found for Exchange 2003 servers.
+ - Fixed bug causing Exchange 2003 servers to be added to the report twice.
+V1.07, 24/11/2013 - Fixed bug where disabled content indexes were counted as failed.
+V1.08, 29/06/2014 - Fixed bug with DAG reporting in mixed Exchange 2010/2013 orgs.
+V1.09, 06/07/2014 - Fixed bug with DAG member replication health reporting for mixed Exchange 2010/2013 orgs.
+V1.10, 19/08/2014 - Fixed bug with E14 replication health not testing correct server.
+V1.11, 11/02/2015 - Added queue length to Transport queue result in report.
+V1.12, 05/03/2015 - Fixed bug with color-coding in report for Transport Queue length.
+V1.13, 07/03/2015 - Fixed bug with incorrect function name used sometimes when trying to call Write-LogFile
+V1.14, 21/05/2015 - Fixed bug with color-coding in report for Transport Queue length on CAS-only Exchange 2013 servers.
+V1.15, 18/11/2015 - Fixed bug with Exchange 2016 version detection.
+V1.16, 13/04/2017 - Fixed bugs with recovery DB detection, invalid variables, shadow redundancy queues, and lagged copy detection.
+V1.17, 17/05/2017 - Fixed bug with auto-suspended content index detection
+#>
+
+#requires -version 2
+
+[CmdletBinding()]
+param (
+ [Parameter( Mandatory=$false)]
+ [string]$Server,
+
+ [Parameter( Mandatory=$false)]
+ [string]$ServerList,
+
+ [Parameter( Mandatory=$false)]
+ [string]$ReportFile="exchangeserverhealth.html",
+
+ [Parameter( Mandatory=$false)]
+ [switch]$ReportMode,
+
+ [Parameter( Mandatory=$false)]
+ [switch]$SendEmail,
+
+ [Parameter( Mandatory=$false)]
+ [switch]$AlertsOnly,
+
+ [Parameter( Mandatory=$false)]
+ [switch]$Log
+ )
+
+
+#...................................
+# Variables
+#...................................
+
+$now = Get-Date #Used for timestamps
+$date = $now.ToShortDateString() #Short date format for email message subject
+[array]$exchangeservers = @() #Array for the Exchange server or servers to check
+[int]$transportqueuehigh = 100 #Change this to set transport queue high threshold. Must be higher than warning threshold.
+[int]$transportqueuewarn = 80 #Change this to set transport queue warning threshold. Must be lower than high threshold.
+$mapitimeout = 10 #Timeout for each MAPI connectivity test, in seconds
+$pass = "Green"
+$warn = "Yellow"
+$fail = "Red"
+$ip = $null
+[array]$serversummary = @() #Summary of issues found during server health checks
+[array]$dagsummary = @() #Summary of issues found during DAG health checks
+[array]$report = @()
+[bool]$alerts = $false
+[array]$dags = @() #Array for DAG health check
+[array]$dagdatabases = @() #Array for DAG databases
+[int]$replqueuewarning = 8 #Threshold to consider a replication queue unhealthy
+$dagreportbody = $null
+
+$myDir = Split-Path -Parent $MyInvocation.MyCommand.Path
+
+#...................................
+# Modify these Variables (optional)
+#...................................
+
+$reportemailsubject = "Exchange Server Health Report"
+$ignorelistfile = "$myDir\ignorelist.txt"
+$logfile = "$myDir\exchangeserverhealth.log"
+
+#...................................
+# Modify these Email Settings
+#...................................
+
+$smtpsettings = @{
+ #To = hcornet@fichorga.fr,jmdefossez@fichorga.fr
+ From = "Rapports@cloud-fichorga.fr"
+ Subject = "$reportemailsubject - $now"
+ SmtpServer = "10.101.10.2"
+ }
+
+
+#...................................
+# Modify these language
+# localization strings.
+#...................................
+
+# The server roles must match the role names you see when you run Test-ServiceHealth.
+#$casrole = "Client Access Server Role"
+$casrole = "Rôle serveur d'accès au client"
+#$htrole = "Hub Transport Server Role"
+$htrole = "Rôle serveur de transport Hub"
+#$mbrole = "Mailbox Server Role"
+$mbrole = "Rôle serveur de boîtes aux lettres"
+#$umrole = "Unified Messaging Server Role"
+$umrole = "Rôle serveur de messagerie unifiée"
+
+# This should match the word for "Success", or the result of a successful Test-MAPIConnectivity test
+$success = "Success"
+
+#...................................
+# Logfile Strings
+#...................................
+
+$logstring0 = "====================================="
+$logstring1 = " Exchange Server Health Check"
+
+#...................................
+# Initialization Strings
+#...................................
+
+$initstring0 = "Initializing..."
+$initstring1 = "Loading the Exchange Server PowerShell snapin"
+$initstring2 = "The Exchange Server PowerShell snapin did not load."
+$initstring3 = "Setting scope to entire forest"
+
+#...................................
+# Error/Warning Strings
+#...................................
+
+$string0 = "Server is not an Exchange server. "
+$string1 = "Server is not reachable. "
+$string3 = "------ Checking"
+$string4 = "Could not test service health. "
+$string5 = "required services not running. "
+$string6 = "Could not check queue. "
+$string7 = "Public Folder database not mounted. "
+$string8 = "Skipping Edge Transport server. "
+$string9 = "Mailbox databases not mounted. "
+$string10 = "MAPI tests failed. "
+$string11 = "Mail flow test failed. "
+$string12 = "No Exchange Server 2003 checks performed. "
+$string13 = "Server not found in DNS. "
+$string14 = "Sending email. "
+$string15 = "Done."
+$string16 = "------ Finishing"
+$string17 = "Unable to retrieve uptime. "
+$string18 = "Ping failed. "
+$string19 = "No alerts found, and AlertsOnly switch was used. No email sent. "
+$string20 = "You have specified a single server to check"
+$string21 = "Couldn't find the server $server. Script will terminate."
+$string22 = "The file $ignorelistfile could not be found. No servers, DAGs or databases will be ignored."
+$string23 = "You have specified a filename containing a list of servers to check"
+$string24 = "The file $serverlist could not be found. Script will terminate."
+$string25 = "Retrieving server list"
+$string26 = "Removing servers in ignorelist from server list"
+$string27 = "Beginning the server health checks"
+$string28 = "Servers, DAGs and databases to ignore:"
+$string29 = "Servers to check:"
+$string30 = "Checking DNS"
+$string31 = "DNS check passed"
+$string32 = "Checking ping"
+$string33 = "Ping test passed"
+$string34 = "Checking uptime"
+$string35 = "Checking service health"
+$string36 = "Checking Hub Transport Server"
+$string37 = "Checking Mailbox Server"
+$string38 = "Ignore list contains no server names."
+$string39 = "Checking public folder database"
+$string40 = "Public folder database status is"
+$string41 = "Checking mailbox databases"
+$string42 = "Mailbox database status is"
+$string43 = "Offline databases: "
+$string44 = "Checking MAPI connectivity"
+$string45 = "MAPI connectivity status is"
+$string46 = "MAPI failed to: "
+$string47 = "Checking mail flow"
+$string48 = "Mail flow status is"
+$string49 = "No active DBs"
+$string50 = "Finished checking server"
+$string51 = "Skipped"
+$string52 = "Using alternative test for Exchange 2013 CAS-only server"
+$string60 = "Beginning the DAG health checks"
+$string61 = "Could not determine server with active database copy"
+$string62 = "mounted on server that is activation preference"
+$string63 = "unhealthy database copy count is"
+$string64 = "healthy copy/replay queue count is"
+$string65 = "(of"
+$string66 = ")"
+$string67 = "unhealthy content index count is"
+$string68 = "DAGs to check:"
+$string69 = "DAG databases to check"
+
+
+
+#...................................
+# Functions
+#...................................
+
+#This function is used to generate HTML for the DAG member health report
+Function New-DAGMemberHTMLTableCell()
+{
+ param( $lineitem )
+
+ $htmltablecell = $null
+
+ switch ($($line."$lineitem"))
+ {
+ $null { $htmltablecell = "
n/a | " }
+ "Passed" { $htmltablecell = "$($line."$lineitem") | " }
+ default { $htmltablecell = "$($line."$lineitem") | " }
+ }
+
+ return $htmltablecell
+}
+
+#This function is used to generate HTML for the server health report
+Function New-ServerHealthHTMLTableCell()
+{
+ param( $lineitem )
+
+ $htmltablecell = $null
+
+ switch ($($reportline."$lineitem"))
+ {
+ $success {$htmltablecell = "$($reportline."$lineitem") | "}
+ "Success" {$htmltablecell = "$($reportline."$lineitem") | "}
+ "Pass" {$htmltablecell = "$($reportline."$lineitem") | "}
+ "Warn" {$htmltablecell = "$($reportline."$lineitem") | "}
+ "Access Denied" {$htmltablecell = "$($reportline."$lineitem") | "}
+ "Fail" {$htmltablecell = "$($reportline."$lineitem") | "}
+ "Could not test service health. " {$htmltablecell = "$($reportline."$lineitem") | "}
+ "Unknown" {$htmltablecell = "$($reportline."$lineitem") | "}
+ default {$htmltablecell = "$($reportline."$lineitem") | "}
+ }
+
+ return $htmltablecell
+}
+
+#This function is used to write the log file if -Log is used
+Function Write-Logfile()
+{
+ param( $logentry )
+ $timestamp = Get-Date -DisplayHint Time
+ "$timestamp $logentry" | Out-File $logfile -Append
+}
+
+#This function is used to test service health for Exchange 2013 CAS-only servers
+Function Test-E15CASServiceHealth()
+{
+ param ( $e15cas )
+
+ $e15casservicehealth = $null
+ $servicesrunning = @()
+ $servicesnotrunning = @()
+ $casservices = @(
+ "IISAdmin",
+ "W3Svc",
+ "WinRM",
+ "MSExchangeADTopology",
+ "MSExchangeDiagnostics",
+ "MSExchangeFrontEndTransport",
+ #"MSExchangeHM",
+ "MSExchangeIMAP4",
+ "MSExchangePOP3",
+ "MSExchangeServiceHost",
+ "MSExchangeUMCR"
+ )
+
+ try {
+ $servicestates = @(Get-WmiObject -ComputerName $e15cas -Class Win32_Service -ErrorAction STOP | Where-Object {$casservices -icontains $_.Name} | Select-Object name,state,startmode)
+ }
+ catch
+ {
+ if ($Log) {Write-LogFile $_.Exception.Message}
+ Write-Warning $_.Exception.Message
+ $e15casservicehealth = "Fail"
+ }
+
+ if (!($e15casservicehealth))
+ {
+ $servicesrunning = @($servicestates | Where-Object {$_.StartMode -eq "Auto" -and $_.State -eq "Running"})
+ $servicesnotrunning = @($servicestates | Where-Object {$_.Startmode -eq "Auto" -and $_.State -ne "Running"})
+ if ($($servicesnotrunning.Count) -gt 0)
+ {
+ Write-Verbose "Service health check failed"
+ Write-Verbose "Services not running:"
+ foreach ($service in $servicesnotrunning)
+ {
+ Write-Verbose "- $($service.Name)"
+ }
+ $e15casservicehealth = "Fail"
+ }
+ else
+ {
+ Write-Verbose "Service health check passed"
+ $e15casservicehealth = "Pass"
+ }
+ }
+ return $e15casservicehealth
+}
+
+#This function is used to test mail flow for Exchange 2013 Mailbox servers
+Function Test-E15MailFlow()
+{
+ param ( $e15mailboxserver )
+
+ $e15mailflowresult = $null
+
+ Write-Verbose "Creating PSSession for $e15mailboxserver"
+ $url = (Get-PowerShellVirtualDirectory -Server $e15mailboxserver -AdPropertiesOnly | Where-Object {$_.Name -eq "Powershell (Default Web Site)"}).InternalURL.AbsoluteUri
+ if ($url -eq $null)
+ {
+ $url = "http://$e15mailboxserver/powershell"
+ }
+
+ try
+ {
+ $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $url -ErrorAction STOP
+ }
+ catch
+ {
+ Write-Verbose "Something went wrong"
+ if ($Log) {Write-LogFile $_.Exception.Message}
+ Write-Warning $_.Exception.Message
+ $e15mailflowresult = "Fail"
+ }
+
+ try
+ {
+ Write-Verbose "Running mail flow test on $e15mailboxserver"
+ $result = Invoke-Command -Session $session {Test-Mailflow} -ErrorAction STOP
+ $e15mailflowresult = $result.TestMailflowResult
+ }
+ catch
+ {
+ Write-Verbose "An error occurred"
+ if ($Log) {Write-LogFile $_.Exception.Message}
+ Write-Warning $_.Exception.Message
+ $e15mailflowresult = "Fail"
+ }
+
+ Write-Verbose "Mail flow test: $e15mailflowresult"
+ Write-Verbose "Removing PSSession"
+ Remove-PSSession $session.Id
+
+ return $e15mailflowresult
+}
+
+#This function is used to test replication health for Exchange 2010 DAG members in mixed 2010/2013 organizations
+Function Test-E14ReplicationHealth()
+{
+ param ( $e14mailboxserver )
+
+ $e14replicationhealth = $null
+
+ #Find an E14 CAS in the same site
+ $ADSite = (Get-ExchangeServer $e14mailboxserver).Site
+ $e14cas = (Get-ExchangeServer | Where-Object {$_.IsClientAccessServer -and $_.AdminDisplayVersion -match "Version 14" -and $_.Site -eq $ADSite} | Select-Object -first 1).FQDN
+
+ Write-Verbose "Creating PSSession for $e14cas"
+ $url = (Get-PowerShellVirtualDirectory -Server $e14cas -AdPropertiesOnly | Where-Object {$_.Name -eq "Powershell (Default Web Site)"}).InternalURL.AbsoluteUri
+ if ($url -eq $null)
+ {
+ $url = "http://$e14cas/powershell"
+ }
+
+ Write-Verbose "Using URL $url"
+
+ try
+ {
+ $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $url -ErrorAction STOP
+ }
+ catch
+ {
+ Write-Verbose "Something went wrong"
+ if ($Log) {Write-LogFile $_.Exception.Message}
+ Write-Warning $_.Exception.Message
+ #$e14replicationhealth = "Fail"
+ }
+
+ try
+ {
+ Write-Verbose "Running replication health test on $e14mailboxserver"
+ #$e14replicationhealth = Invoke-Command -Session $session {Test-ReplicationHealth} -ErrorAction STOP
+ $e14replicationhealth = Invoke-Command -Session $session -Args $e14mailboxserver.Name {Test-ReplicationHealth $args[0]} -ErrorAction STOP
+ }
+ catch
+ {
+ Write-Verbose "An error occurred"
+ if ($Log) {Write-LogFile $_.Exception.Message}
+ Write-Warning $_.Exception.Message
+ #$e14replicationhealth = "Fail"
+ }
+
+ #Write-Verbose "Replication health test: $e14replicationhealth"
+ Write-Verbose "Removing PSSession"
+ Remove-PSSession $session.Id
+
+ return $e14replicationhealth
+}
+
+
+#...................................
+# Initialize
+#...................................
+
+#Log file is overwritten each time the script is run to avoid
+#very large log files from growing over time
+if ($Log) {
+ $timestamp = Get-Date -DisplayHint Time
+ "$timestamp $logstring0" | Out-File $logfile
+ Write-Logfile $logstring1
+ Write-Logfile " $now"
+ Write-Logfile $logstring0
+}
+
+Write-Host $initstring0
+if ($Log) {Write-Logfile $initstring0}
+
+#Add Exchange 2010 snapin if not already loaded in the PowerShell session
+if (!(Get-PSSnapin | Where-Object {$_.Name -eq "Microsoft.Exchange.Management.PowerShell.E2010"}))
+{
+ Write-Verbose $initstring1
+ if ($Log) {Write-Logfile $initstring1}
+ try
+ {
+ Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction STOP
+ }
+ catch
+ {
+ #Snapin was not loaded
+ Write-Verbose $initstring2
+ if ($Log) {Write-Logfile $initstring2}
+ Write-Warning $_.Exception.Message
+ EXIT
+ }
+ . $env:ExchangeInstallPath\bin\RemoteExchange.ps1
+ Connect-ExchangeServer -auto -AllowClobber
+}
+
+
+#Set scope to include entire forest
+Write-Verbose $initstring3
+if ($Log) {Write-Logfile $initstring3}
+if (!(Get-ADServerSettings).ViewEntireForest)
+{
+ Set-ADServerSettings -ViewEntireForest $true -WarningAction SilentlyContinue
+}
+
+
+#...................................
+# Script
+#...................................
+
+#Check if a single server was specified
+if ($server)
+{
+ #Run for single specified server
+ [bool]$NoDAG = $true
+ Write-Verbose $string20
+ if ($Log) {Write-Logfile $string20}
+ try
+ {
+ $exchangeservers = Get-ExchangeServer $server -ErrorAction STOP
+ }
+ catch
+ {
+ #Exit because single server name was specified and couldn't be found in the organization
+ Write-Verbose $string21
+ if ($Log) {Write-Logfile $string21}
+ Write-Error $_.Exception.Message
+ EXIT
+ }
+}
+elseif ($serverlist)
+{
+ #Run for a list of servers in a text file
+ [bool]$NoDAG = $true
+ Write-Verbose $string23
+ if ($Log) {Write-Logfile $string23}
+ try
+ {
+ $tmpservers = @(Get-Content $serverlist -ErrorAction STOP)
+ $exchangeservers = @($tmpservers | Get-ExchangeServer)
+ }
+ catch
+ {
+ #Exit because file could not be found
+ Write-Verbose $string24
+ if ($Log) {Write-Logfile $string24}
+ Write-Error $_.Exception.Message
+ EXIT
+ }
+}
+else
+{
+ #This is the list of servers, DAGs, and databases to never alert for
+ try
+ {
+ $ignorelist = @(Get-Content $ignorelistfile -ErrorAction STOP)
+ if ($Log) {Write-Logfile $string28}
+ if ($Log) {
+ if ($($ignorelist.count) -gt 0)
+ {
+ foreach ($line in $ignorelist)
+ {
+ Write-Logfile "- $line"
+ }
+ }
+ else
+ {
+ Write-Logfile $string38
+ }
+ }
+ }
+ catch
+ {
+ Write-Warning $string22
+ if ($Log) {Write-Logfile $string22}
+ }
+
+ #Get all servers
+ Write-Verbose $string25
+ if ($Log) {Write-Logfile $string25}
+ $GetExchangeServerResults = @(Get-ExchangeServer | Sort-Object site,name)
+
+ #Remove the servers that are ignored from the list of servers to check
+ Write-Verbose $string26
+ if ($Log) {Write-Logfile $string26}
+ foreach ($tmpserver in $GetExchangeServerResults)
+ {
+ if (!($ignorelist -icontains $tmpserver.name))
+ {
+ $exchangeservers = $exchangeservers += $tmpserver.identity
+ }
+ }
+
+ if ($Log) {Write-Logfile $string29}
+ if ($Log) {
+ foreach ($server in $exchangeservers)
+ {
+ Write-Logfile "- $server"
+ }
+ }
+}
+
+### Check if any Exchange 2013 servers exist
+if ($GetExchangeServerResults | Where-Object {$_.AdminDisplayVersion -like "Version 15.*"})
+{
+ [bool]$HasE15 = $true
+}
+
+### Begin the Exchange Server health checks
+Write-Verbose $string27
+if ($Log) {Write-Logfile $string27}
+foreach ($server in $exchangeservers)
+{
+ Write-Host -ForegroundColor White "$string3 $server"
+ if ($Log) {Write-Logfile "$string3 $server"}
+
+ #Find out some details about the server
+ try
+ {
+ $serverinfo = Get-ExchangeServer $server -ErrorAction Stop
+ }
+ catch
+ {
+ Write-Warning $_.Exception.Message
+ if ($Log) {Write-Logfile $_.Exception.Message}
+ $serverinfo = $null
+ }
+
+ if ($serverinfo -eq $null )
+ {
+ #Server is not an Exchange server
+ Write-Host -ForegroundColor $warn $string0
+ if ($Log) {Write-Logfile $string0}
+ }
+ elseif ( $serverinfo.IsEdgeServer )
+ {
+ Write-Host -ForegroundColor White $string8
+ if ($Log) {Write-Logfile $string8}
+ }
+ else
+ {
+ #Server is an Exchange server, continue the health check
+
+ #Custom object properties
+ $serverObj = New-Object PSObject
+ $serverObj | Add-Member NoteProperty -Name "Server" -Value $server
+
+ #Skip Site attribute for Exchange 2003 servers
+ if ($serverinfo.AdminDisplayVersion -like "Version 6.*")
+ {
+ $serverObj | Add-Member NoteProperty -Name "Site" -Value "n/a"
+ }
+ else
+ {
+ $site = ($serverinfo.site.ToString()).Split("/")
+ $serverObj | Add-Member NoteProperty -Name "Site" -Value $site[-1]
+ }
+
+ #Null and n/a the rest, will be populated as script progresses
+ $serverObj | Add-Member NoteProperty -Name "DNS" -Value $null
+ $serverObj | Add-Member NoteProperty -Name "Ping" -Value $null
+ $serverObj | Add-Member NoteProperty -Name "Uptime (hrs)" -Value $null
+ $serverObj | Add-Member NoteProperty -Name "Version" -Value $null
+ $serverObj | Add-Member NoteProperty -Name "Roles" -Value $null
+ $serverObj | Add-Member NoteProperty -Name "Client Access Server Role Services" -Value "n/a"
+ $serverObj | Add-Member NoteProperty -Name "Hub Transport Server Role Services" -Value "n/a"
+ $serverObj | Add-Member NoteProperty -Name "Mailbox Server Role Services" -Value "n/a"
+ $serverObj | Add-Member NoteProperty -Name "Unified Messaging Server Role Services" -Value "n/a"
+ $serverObj | Add-Member NoteProperty -Name "Transport Queue" -Value "n/a"
+ $serverObj | Add-Member NoteProperty -Name "Queue Length" -Value "n/a"
+ $serverObj | Add-Member NoteProperty -Name "PF DBs Mounted" -Value "n/a"
+ $serverObj | Add-Member NoteProperty -Name "MB DBs Mounted" -Value "n/a"
+ $serverObj | Add-Member NoteProperty -Name "Mail Flow Test" -Value "n/a"
+ $serverObj | Add-Member NoteProperty -Name "MAPI Test" -Value "n/a"
+
+ #Check server name resolves in DNS
+ if ($Log) {Write-Logfile $string30}
+ Write-Host "DNS Check: " -NoNewline;
+ try
+ {
+ $ip = @([System.Net.Dns]::GetHostByName($server).AddressList | Select-Object IPAddressToString -ExpandProperty IPAddressToString)
+ }
+ catch
+ {
+ Write-Host -ForegroundColor $warn $_.Exception.Message
+ if ($Log) {Write-Logfile $_.Exception.Message}
+ $ip = $null
+ }
+
+ if ( $ip -ne $null )
+ {
+ Write-Host -ForegroundColor $pass "Pass"
+ if ($Log) {Write-Logfile $string31}
+ $serverObj | Add-Member NoteProperty -Name "DNS" -Value "Pass" -Force
+
+ #Is server online
+ if ($Log) {Write-Logfile $string32}
+ Write-Host "Ping Check: " -NoNewline;
+
+ $ping = $null
+ try
+ {
+ $ping = Test-Connection $server -Quiet -ErrorAction Stop
+ }
+ catch
+ {
+ Write-Host -ForegroundColor $warn $_.Exception.Message
+ if ($Log) {Write-Logfile $_.Exception.Message}
+ }
+
+ switch ($ping)
+ {
+ $true {
+ Write-Host -ForegroundColor $pass "Pass"
+ $serverObj | Add-Member NoteProperty -Name "Ping" -Value "Pass" -Force
+ if ($Log) {Write-Logfile $string33}
+ }
+ default {
+ Write-Host -ForegroundColor $fail "Fail"
+ $serverObj | Add-Member NoteProperty -Name "Ping" -Value "Fail" -Force
+ $serversummary += "$server - $string18"
+ if ($Log) {Write-Logfile $string18}
+ }
+ }
+
+ #Uptime check, even if ping fails
+ if ($Log) {Write-Logfile $string34}
+ [int]$uptime = $null
+ #$laststart = $null
+ $OS = $null
+
+ try
+ {
+ #$laststart = [System.Management.ManagementDateTimeconverter]::ToDateTime((Get-WmiObject -Class Win32_OperatingSystem -computername $server -ErrorAction Stop).LastBootUpTime)
+ $OS = Get-WmiObject -Class Win32_OperatingSystem -ComputerName $server -ErrorAction STOP
+ }
+ catch
+ {
+ Write-Host -ForegroundColor $warn $_.Exception.Message
+ if ($Log) {Write-Logfile $_.Exception.Message}
+ }
+
+ Write-Host "Uptime (hrs): " -NoNewline
+
+ if ($OS -eq $null)
+ {
+ [string]$uptime = $string17
+ if ($Log) {Write-Logfile $string17}
+ switch ($ping)
+ {
+ $true { $serversummary += "$server - $string17" }
+ default { $serversummary += "$server - $string17" }
+ }
+ }
+ else
+ {
+ $timespan = $OS.ConvertToDateTime($OS.LocalDateTime) – $OS.ConvertToDateTime($OS.LastBootUpTime)
+ [int]$uptime = "{0:00}" -f $timespan.TotalHours
+ Switch ($uptime -gt 23) {
+ $true { Write-Host -ForegroundColor $pass $uptime }
+ $false { Write-Host -ForegroundColor $warn $uptime; $serversummary += "$server - Uptime is less than 24 hours" }
+ default { Write-Host -ForegroundColor $warn $uptime; $serversummary += "$server - Uptime is less than 24 hours" }
+ }
+ }
+
+ if ($Log) {Write-Logfile "Uptime is $uptime hours"}
+
+ $serverObj | Add-Member NoteProperty -Name "Uptime (hrs)" -Value $uptime -Force
+
+ if ($ping -or ($uptime -ne $string17))
+ {
+ #Determine the friendly version number
+ $ExVer = $serverinfo.AdminDisplayVersion
+ Write-Host "Server version: " -NoNewline;
+
+ if ($ExVer -like "Version 6.*")
+ {
+ $version = "Exchange 2003"
+ }
+
+ if ($ExVer -like "Version 8.*")
+ {
+ $version = "Exchange 2007"
+ }
+
+ if ($ExVer -like "Version 14.*")
+ {
+ $version = "Exchange 2010"
+ }
+
+ if ($ExVer -like "Version 15.0*")
+ {
+ $version = "Exchange 2013"
+ }
+
+ if ($ExVer -like "Version 15.1*")
+ {
+ $version = "Exchange 2016"
+ }
+
+ Write-Host $version
+ if ($Log) {Write-Logfile "Server is running $version"}
+ $serverObj | Add-Member NoteProperty -Name "Version" -Value $version -Force
+
+ if ($version -eq "Exchange 2003")
+ {
+ Write-Host $string12
+ if ($Log) {Write-Logfile $string12}
+ }
+
+ #START - Exchange 2013/2010/2007 Health Checks
+ if ($version -ne "Exchange 2003")
+ {
+ Write-Host "Roles:" $serverinfo.ServerRole
+ if ($Log) {Write-Logfile "Server roles: $($serverinfo.ServerRole)"}
+ $serverObj | Add-Member NoteProperty -Name "Roles" -Value $serverinfo.ServerRole -Force
+
+ $IsEdge = $serverinfo.IsEdgeServer
+ $IsHub = $serverinfo.IsHubTransportServer
+ $IsCAS = $serverinfo.IsClientAccessServer
+ $IsMB = $serverinfo.IsMailboxServer
+
+ #START - General Server Health Check
+ #Skipping Edge Transports for the general health check, as firewalls usually get
+ #in the way. If you want to include them, remove this If.
+ if ($IsEdge -ne $true)
+ {
+ #Service health is an array due to how multi-role servers return Test-ServiceHealth status
+ if ($Log) {Write-Logfile $string35}
+ $servicehealth = @()
+ $e15casservicehealth = @()
+ try {
+ $servicehealth = @(Test-ServiceHealth $server -ErrorAction Stop)
+ }
+ catch {
+ #Workaround for Test-ServiceHealth problem with CAS-only Exchange 2013 servers
+ #More info: http://exchangeserverpro.com/exchange-2013-test-servicehealth-error/
+ if ($_.Exception.Message -like "*There are no Microsoft Exchange 2007 server roles installed*")
+ {
+ if ($Log) {Write-Logfile $string52}
+ $e15casservicehealth = Test-E15CASServiceHealth($server)
+ }
+ else
+ {
+ $serversummary += "$server - $string4"
+ Write-Host -ForegroundColor $warn $string4 ":" $_.Exception
+ if ($Log) {Write-Logfile $_.Exception}
+ $serverObj | Add-Member NoteProperty -Name "Client Access Server Role Services" -Value $string4 -Force
+ $serverObj | Add-Member NoteProperty -Name "Hub Transport Server Role Services" -Value $string4 -Force
+ $serverObj | Add-Member NoteProperty -Name "Mailbox Server Role Services" -Value $string4 -Force
+ $serverObj | Add-Member NoteProperty -Name "Unified Messaging Server Role Services" -Value $string4 -Force
+ }
+ }
+
+ if ($servicehealth)
+ {
+ foreach($s in $servicehealth)
+ {
+ $roleName = $s.Role
+ Write-Host $roleName "Services: " -NoNewline;
+
+ switch ($s.RequiredServicesRunning)
+ {
+ $true {
+ $svchealth = "Pass"
+ Write-Host -ForegroundColor $pass "Pass"
+ }
+ $false {
+ $svchealth = "Fail"
+ Write-Host -ForegroundColor $fail "Fail"
+ $serversummary += "$server - $rolename $string5"
+ }
+ default {
+ $svchealth = "Warn"
+ Write-Host -ForegroundColor $warn "Warning"
+ $serversummary += "$server - $rolename $string5"
+ }
+ }
+
+ switch ($s.Role)
+ {
+ $casrole { $serverinfoservices = "Client Access Server Role Services" }
+ $htrole { $serverinfoservices = "Hub Transport Server Role Services" }
+ $mbrole { $serverinfoservices = "Mailbox Server Role Services" }
+ $umrole { $serverinfoservices = "Unified Messaging Server Role Services" }
+ }
+ if ($Log) {Write-Logfile "$serverinfoservices status is $svchealth"}
+ $serverObj | Add-Member NoteProperty -Name $serverinfoservices -Value $svchealth -Force
+ }
+ }
+
+ if ($e15casservicehealth)
+ {
+ $serverinfoservices = "Client Access Server Role Services"
+ if ($Log) {Write-Logfile "$serverinfoservices status is $e15casservicehealth"}
+ $serverObj | Add-Member NoteProperty -Name $serverinfoservices -Value $e15casservicehealth -Force
+ Write-Host $serverinfoservices ": " -NoNewline;
+ switch ($e15casservicehealth)
+ {
+ "Pass" { Write-Host -ForegroundColor $pass "Pass" }
+ "Fail" { Write-Host -ForegroundColor $fail "Fail" }
+ }
+ }
+ }
+ #END - General Server Health Check
+
+ #START - Hub Transport Server Check
+ if ($IsHub)
+ {
+ $q = $null
+ if ($Log) {Write-Logfile $string36}
+ Write-Host "Total Queue: " -NoNewline;
+ try {
+ $q = Get-Queue -server $server -ErrorAction Stop | Where-Object {$_.DeliveryType -ne "ShadowRedundancy"}
+ }
+ catch {
+ $serversummary += "$server - $string6"
+ Write-Host -ForegroundColor $warn $string6
+ Write-Warning $_.Exception.Message
+ if ($Log) {Write-Logfile $string6}
+ if ($Log) {Write-Logfile $_.Exception.Message}
+ }
+
+ if ($q)
+ {
+ $qcount = $q | Measure-Object MessageCount -Sum
+ [int]$qlength = $qcount.sum
+ $serverObj | Add-Member NoteProperty -Name "Queue Length" -Value $qlength -Force
+ if ($Log) {Write-Logfile "Queue length is $qlength"}
+ if ($qlength -le $transportqueuewarn)
+ {
+ Write-Host -ForegroundColor $pass $qlength
+ $serverObj | Add-Member NoteProperty -Name "Transport Queue" -Value "Pass ($qlength)" -Force
+ }
+ elseif ($qlength -gt $transportqueuewarn -and $qlength -lt $transportqueuehigh)
+ {
+ Write-Host -ForegroundColor $warn $qlength
+ $serversummary += "$server - Transport queue is above warning threshold"
+ $serverObj | Add-Member NoteProperty -Name "Transport Queue" -Value "Warn ($qlength)" -Force
+ }
+ else
+ {
+ Write-Host -ForegroundColor $fail $qlength
+ $serversummary += "$server - Transport queue is above high threshold"
+ $serverObj | Add-Member NoteProperty -Name "Transport Queue" -Value "Fail ($qlength)" -Force
+ }
+ }
+ else
+ {
+ $serverObj | Add-Member NoteProperty -Name "Transport Queue" -Value "Unknown" -Force
+ }
+ }
+ #END - Hub Transport Server Check
+
+ #START - Mailbox Server Check
+ if ($IsMB)
+ {
+ if ($Log) {Write-Logfile $string37}
+
+ #Get the PF and MB databases
+ [array]$pfdbs = @(Get-PublicFolderDatabase -server $server -status -WarningAction SilentlyContinue)
+ [array]$mbdbs = @(Get-MailboxDatabase -server $server -status | Where-Object {$_.Recovery -ne $true})
+
+ if ($version -ne "Exchange 2007")
+ {
+ [array]$activedbs = @(Get-MailboxDatabase -server $server -status | Where-Object {$_.Recovery -ne $true -and $_.MountedOnServer -eq ($serverinfo.fqdn)})
+ }
+ else
+ {
+ [array]$activedbs = $mbdbs
+ }
+
+ #START - Database Mount Check
+
+ #Check public folder databases
+ if ($pfdbs.count -gt 0)
+ {
+ if ($Log) {Write-Logfile $string39}
+ Write-Host "Public Folder databases mounted: " -NoNewline;
+ [string]$pfdbstatus = "Pass"
+ [array]$alertdbs = @()
+ foreach ($db in $pfdbs)
+ {
+ if (($db.mounted) -ne $true)
+ {
+ $pfdbstatus = "Fail"
+ $alertdbs += $db.name
+ }
+ }
+
+ $serverObj | Add-Member NoteProperty -Name "PF DBs Mounted" -Value $pfdbstatus -Force
+ if ($Log) {Write-Logfile "$string40 $pfdbstatus"}
+
+ if ($alertdbs.count -eq 0)
+ {
+ Write-Host -ForegroundColor $pass $pfdbstatus
+ }
+ else
+ {
+ Write-Host -ForegroundColor $fail $pfdbstatus
+ $serversummary += "$server - $string7"
+ Write-Host "Offline databases:"
+ foreach ($al in $alertdbs)
+ {
+ Write-Host -ForegroundColor $fail `t$al
+ }
+ }
+ }
+
+ #Check mailbox databases
+ if ($mbdbs.count -gt 0)
+ {
+ if ($Log) {Write-Logfile $string41}
+
+ [string]$mbdbstatus = "Pass"
+ [array]$alertdbs = @()
+
+ Write-Host "Mailbox databases mounted: " -NoNewline;
+ foreach ($db in $mbdbs)
+ {
+ if (($db.mounted) -ne $true)
+ {
+ $mbdbstatus = "Fail"
+ $alertdbs += $db.name
+ }
+ }
+
+ $serverObj | Add-Member NoteProperty -Name "MB DBs Mounted" -Value $mbdbstatus -Force
+ if ($Log) {Write-Logfile "$string42 $mbdbstatus"}
+
+ if ($alertdbs.count -eq 0)
+ {
+ Write-Host -ForegroundColor $pass $mbdbstatus
+ }
+ else
+ {
+ $serversummary += "$server - $string9"
+ Write-Host -ForegroundColor $fail $mbdbstatus
+ Write-Host $string43
+ if ($Log) {Write-Logfile $string43}
+ foreach ($al in $alertdbs)
+ {
+ Write-Host -ForegroundColor $fail `t$al
+ if ($Log) {Write-Logfile "- $al"}
+ }
+ }
+ }
+
+ #END - Database Mount Check
+
+ #START - MAPI Connectivity Test
+ if ($activedbs.count -gt 0 -or $pfdbs.count -gt 0 -or $version -eq "Exchange 2007")
+ {
+ [string]$mapiresult = "Unknown"
+ [array]$alertdbs = @()
+ if ($Log) {Write-Logfile $string44}
+ Write-Host "MAPI connectivity: " -NoNewline;
+ foreach ($db in $mbdbs)
+ {
+ $mapistatus = Test-MapiConnectivity -Database $db.Identity -PerConnectionTimeout $mapitimeout
+ if ($mapistatus.Result.Value -eq $null)
+ {
+ $mapiresult = $mapistatus.Result
+ }
+ else
+ {
+ $mapiresult = $mapistatus.Result.Value
+ }
+ if (($mapiresult) -ne "Success")
+ {
+ $mapistatus = "Fail"
+ $alertdbs += $db.name
+ }
+ }
+
+ $serverObj | Add-Member NoteProperty -Name "MAPI Test" -Value $mapiresult -Force
+ if ($Log) {Write-Logfile "$string45 $mapiresult"}
+
+ if ($alertdbs.count -eq 0)
+ {
+ Write-Host -ForegroundColor $pass $mapiresult
+ }
+ else
+ {
+ $serversummary += "$server - $string10"
+ Write-Host -ForegroundColor $fail $mapiresult
+ Write-Host $string46
+ if ($Log) {Write-Logfile $string46}
+ foreach ($al in $alertdbs)
+ {
+ Write-Host -ForegroundColor $fail `t$al
+ if ($Log) {Write-Logfile "- $al"}
+ }
+ }
+ }
+ #END - MAPI Connectivity Test
+
+ #START - Mail Flow Test
+ if ($version -eq "Exchange 2007" -and $mbdbs.count -gt 0 -and $HasE15)
+ {
+ #Skip Exchange 2007 mail flow tests when run from Exchange 2013
+ if ($Log) {Write-Logfile $string47}
+ Write-Host "Mail flow test: Skipped"
+ $serverObj | Add-Member NoteProperty -Name "Mail Flow Test" -Value $string51 -Force
+ if ($Log) {Write-Logfile $string51}
+ }
+ elseif ($activedbs.count -gt 0 -and $HasE15)
+ {
+ if ($Log) {Write-Logfile $string47}
+ Write-Host "Mail flow test: " -NoNewline;
+ $e15mailflowresult = Test-E15MailFlow($Server)
+ $serverObj | Add-Member NoteProperty -Name "Mail Flow Test" -Value $e15mailflowresult -Force
+ if ($Log) {Write-Logfile "$string48 $e15mailflowresult"}
+
+ if ($e15mailflowresult -eq $success)
+ {
+ Write-Host -ForegroundColor $pass $e15mailflowresult
+ $serverObj | Add-Member NoteProperty -Name "Mail Flow Test" -Value "Pass" -Force
+ }
+ else
+ {
+ $serversummary += "$server - $string11"
+ Write-Host -ForegroundColor $fail $e15mailflowresult
+ $serverObj | Add-Member NoteProperty -Name "Mail Flow Test" -Value "Fail" -Force
+ }
+ }
+ elseif ($activedbs.count -gt 0 -or ($version -eq "Exchange 2007" -and $mbdbs.count -gt 0))
+ {
+ $flow = $null
+ $testmailflowresult = $null
+
+ if ($Log) {Write-Logfile $string47}
+ Write-Host "Mail flow test: " -NoNewline;
+ try
+ {
+ $flow = Test-Mailflow $server -ErrorAction Stop
+ }
+ catch
+ {
+ $testmailflowresult = $_.Exception.Message
+ if ($Log) {Write-Logfile $_.Exception.Message}
+ }
+
+ if ($flow)
+ {
+ $testmailflowresult = $flow.testmailflowresult
+ if ($Log) {Write-Logfile "$string48 $testmailflowresult"}
+ }
+
+ if ($testmailflowresult -eq "Success" -or $testmailflowresult -eq $success)
+ {
+ Write-Host -ForegroundColor $pass $testmailflowresult
+ $serverObj | Add-Member NoteProperty -Name "Mail Flow Test" -Value "Pass" -Force
+ }
+ else
+ {
+ $serversummary += "$server - $string11"
+ Write-Host -ForegroundColor $fail $testmailflowresult
+ $serverObj | Add-Member NoteProperty -Name "Mail Flow Test" -Value "Fail" -Force
+ }
+ }
+ else
+ {
+ Write-Host "Mail flow test: No active mailbox databases"
+ $serverObj | Add-Member NoteProperty -Name "Mail Flow Test" -Value $string49 -Force
+ if ($Log) {Write-Logfile $string49}
+ }
+ #END - Mail Flow Test
+ }
+ #END - Mailbox Server Check
+
+ }
+ #END - Exchange 2013/2010/2007 Health Checks
+ if ($Log) {Write-Logfile "$string50 $server"}
+ $report = $report + $serverObj
+ }
+ else
+ {
+ #Server is not reachable and uptime could not be retrieved
+ Write-Host -ForegroundColor $warn $string1
+ if ($Log) {Write-Logfile $string1}
+ $serversummary += "$server - $string1"
+ $serverObj | Add-Member NoteProperty -Name "Ping" -Value "Fail" -Force
+ if ($Log) {Write-Logfile "$string50 $server"}
+ $report = $report + $serverObj
+ }
+ }
+ else
+ {
+ Write-Host -ForegroundColor $Fail "Fail"
+ Write-Host -ForegroundColor $warn $string13
+ if ($Log) {Write-Logfile $string13}
+ $serversummary += "$server - $string13"
+ $serverObj | Add-Member NoteProperty -Name "DNS" -Value "Fail" -Force
+ if ($Log) {Write-Logfile "$string50 $server"}
+ $report = $report + $serverObj
+ }
+ }
+}
+### End the Exchange Server health checks
+
+
+### Begin DAG Health Report
+
+#Check if -Server or -Serverlist parameter was used, and skip if it was
+if (!($NoDAG))
+{
+ if ($Log) {Write-Logfile $string60}
+ Write-Verbose "Retrieving Database Availability Groups"
+
+ #Get all DAGs
+ $tmpdags = @(Get-DatabaseAvailabilityGroup)
+ $tmpstring = "$($tmpdags.count) DAGs found"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ #Remove DAGs in ignorelist
+ foreach ($tmpdag in $tmpdags)
+ {
+ if (!($ignorelist -icontains $tmpdag.name))
+ {
+ $dags += $tmpdag
+ }
+ }
+
+ $tmpstring = "$($dags.count) DAGs will be checked"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ if ($Log) {Write-Logfile $string68}
+ if ($Log) {
+ foreach ($dag in $dags)
+ {
+ Write-Logfile "- $dag"
+ }
+ }
+}
+
+if ($($dags.count) -gt 0)
+{
+ foreach ($dag in $dags)
+ {
+
+ #Strings for use in the HTML report/email
+ $dagsummaryintro = "Database Availability Group $($dag.Name) Health Summary:
"
+ $dagdetailintro = "Database Availability Group $($dag.Name) Health Details:
"
+ $dagmemberintro = "Database Availability Group $($dag.Name) Member Health:
"
+
+ $dagdbcopyReport = @() #Database copy health report
+ $dagciReport = @() #Content Index health report
+ $dagmemberReport = @() #DAG member server health report
+ $dagdatabaseSummary = @() #Database health summary report
+ $dagdatabases = @() #Array of databases in the DAG
+
+ $tmpstring = "---- Processing DAG $($dag.Name)"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ $dagmembers = @($dag | Select-Object -ExpandProperty Servers | Sort-Object Name)
+ $tmpstring = "$($dagmembers.count) DAG members found"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ #Get all databases in the DAG
+ if ($HasE15)
+ {
+ $tmpdatabases = @(Get-MailboxDatabase -Status -IncludePreExchange2013 | Where-Object {$_.Recovery -ne $true -and $_.MasterServerOrAvailabilityGroup -eq $dag.Name} | Sort-Object Name)
+ }
+ else
+ {
+ $tmpdatabases = @(Get-MailboxDatabase -Status | Where-Object {$_.Recovery -ne $true -and $_.MasterServerOrAvailabilityGroup -eq $dag.Name} | Sort-Object Name)
+ }
+
+ foreach ($tmpdatabase in $tmpdatabases)
+ {
+ if (!($ignorelist -icontains $tmpdatabase.name))
+ {
+ $dagdatabases += $tmpdatabase
+ }
+ }
+
+ $tmpstring = "$($dagdatabases.count) DAG databases will be checked"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ if ($Log) {Write-Logfile $string69}
+ if ($Log) {
+ foreach ($database in $dagdatabases)
+ {
+ Write-Logfile "- $database"
+ }
+ }
+
+ foreach ($database in $dagdatabases)
+ {
+ $tmpstring = "---- Processing database $database"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ $activationPref = $null
+ $totalcopies = $null
+ $healthycopies = $null
+ $unhealthycopies = $null
+ $healthyqueues = $null
+ $unhealthyqueues = $null
+ $laggedqueues = $null
+ $healthyindexes = $null
+ $unhealthyindexes = $null
+
+ #Custom object for Database
+ $objectHash = @{
+ "Database" = $database.Identity
+ "Mounted on" = "Unknown"
+ "Preference" = $null
+ "Total Copies" = $null
+ "Healthy Copies" = $null
+ "Unhealthy Copies" = $null
+ "Healthy Queues" = $null
+ "Unhealthy Queues" = $null
+ "Lagged Queues" = $null
+ "Healthy Indexes" = $null
+ "Unhealthy Indexes" = $null
+ }
+ $databaseObj = New-Object PSObject -Property $objectHash
+
+ $dbcopystatus = @($database | Get-MailboxDatabaseCopyStatus)
+ $tmpstring = "$database has $($dbcopystatus.Count) copies"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ foreach ($dbcopy in $dbcopystatus)
+ {
+ #Custom object for DB copy
+ $objectHash = @{
+ "Database Copy" = $dbcopy.Identity
+ "Database Name" = $dbcopy.DatabaseName
+ "Mailbox Server" = $null
+ "Activation Preference" = $null
+ "Status" = $null
+ "Copy Queue" = $null
+ "Replay Queue" = $null
+ "Replay Lagged" = $null
+ "Truncation Lagged" = $null
+ "Content Index" = $null
+ }
+ $dbcopyObj = New-Object PSObject -Property $objectHash
+
+ $tmpstring = "Database Copy: $($dbcopy.Identity)"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ $mailboxserver = $dbcopy.MailboxServer
+ $tmpstring = "Server: $mailboxserver"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ $pref = ($database | Select-Object -ExpandProperty ActivationPreference | Where-Object {$_.Key -ieq $mailboxserver}).Value
+ $tmpstring = "Activation Preference: $pref"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ $copystatus = $dbcopy.Status
+ $tmpstring = "Status: $copystatus"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ [int]$copyqueuelength = $dbcopy.CopyQueueLength
+ $tmpstring = "Copy Queue: $copyqueuelength"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ [int]$replayqueuelength = $dbcopy.ReplayQueueLength
+ $tmpstring = "Replay Queue: $replayqueuelength"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ if ($($dbcopy.ContentIndexErrorMessage -match "is disabled in Active Directory"))
+ {
+ $contentindexstate = "Disabled"
+ }
+ else
+ {
+ $contentindexstate = $dbcopy.ContentIndexState
+ }
+ $tmpstring = "Content Index: $contentindexstate"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ #Checking whether this is a replay lagged copy
+ $replaylagcopies = @($database | Select-Object -ExpandProperty ReplayLagTimes | Where-Object {$_.Value -gt 0})
+ if ($($replaylagcopies.count) -gt 0)
+ {
+ [bool]$replaylag = $false
+ foreach ($replaylagcopy in $replaylagcopies)
+ {
+ if ($replaylagcopy.Key -ieq $mailboxserver)
+ {
+ $tmpstring = "$database is replay lagged on $mailboxserver"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+ [bool]$replaylag = $true
+ }
+ }
+ }
+ else
+ {
+ [bool]$replaylag = $false
+ }
+ $tmpstring = "Replay lag is $replaylag"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ #Checking for truncation lagged copies
+ $truncationlagcopies = @($database | Select-Object -ExpandProperty TruncationLagTimes | Where-Object {$_.Value -gt 0})
+ if ($($truncationlagcopies.count) -gt 0)
+ {
+ [bool]$truncatelag = $false
+ foreach ($truncationlagcopy in $truncationlagcopies)
+ {
+ if ($truncationlagcopy.Key -eq $mailboxserver)
+ {
+ $tmpstring = "$database is truncate lagged on $mailboxserver"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+ [bool]$truncatelag = $true
+ }
+ }
+ }
+ else
+ {
+ [bool]$truncatelag = $false
+ }
+ $tmpstring = "Truncation lag is $truncatelag"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ $dbcopyObj | Add-Member NoteProperty -Name "Mailbox Server" -Value $mailboxserver -Force
+ $dbcopyObj | Add-Member NoteProperty -Name "Activation Preference" -Value $pref -Force
+ $dbcopyObj | Add-Member NoteProperty -Name "Status" -Value $copystatus -Force
+ $dbcopyObj | Add-Member NoteProperty -Name "Copy Queue" -Value $copyqueuelength -Force
+ $dbcopyObj | Add-Member NoteProperty -Name "Replay Queue" -Value $replayqueuelength -Force
+ $dbcopyObj | Add-Member NoteProperty -Name "Replay Lagged" -Value $replaylag -Force
+ $dbcopyObj | Add-Member NoteProperty -Name "Truncation Lagged" -Value $truncatelag -Force
+ $dbcopyObj | Add-Member NoteProperty -Name "Content Index" -Value $contentindexstate -Force
+
+ $dagdbcopyReport += $dbcopyObj
+ }
+
+ $copies = @($dagdbcopyReport | Where-Object { ($_."Database Name" -eq $database) })
+
+ $mountedOn = ($copies | Where-Object { ($_.Status -eq "Mounted") })."Mailbox Server"
+ if ($mountedOn)
+ {
+ $databaseObj | Add-Member NoteProperty -Name "Mounted on" -Value $mountedOn -Force
+ }
+
+ $activationPref = ($copies | Where-Object { ($_.Status -eq "Mounted") })."Activation Preference"
+ $databaseObj | Add-Member NoteProperty -Name "Preference" -Value $activationPref -Force
+
+ $totalcopies = $copies.count
+ $databaseObj | Add-Member NoteProperty -Name "Total Copies" -Value $totalcopies -Force
+
+ $healthycopies = @($copies | Where-Object { (($_.Status -eq "Mounted") -or ($_.Status -eq "Healthy")) }).Count
+ $databaseObj | Add-Member NoteProperty -Name "Healthy Copies" -Value $healthycopies -Force
+
+ $unhealthycopies = @($copies | Where-Object { (($_.Status -ne "Mounted") -and ($_.Status -ne "Healthy")) }).Count
+ $databaseObj | Add-Member NoteProperty -Name "Unhealthy Copies" -Value $unhealthycopies -Force
+
+ $healthyqueues = @($copies | Where-Object { (($_."Copy Queue" -lt $replqueuewarning) -and (($_."Replay Queue" -lt $replqueuewarning)) -and ($_."Replay Lagged" -eq $false)) }).Count
+ $databaseObj | Add-Member NoteProperty -Name "Healthy Queues" -Value $healthyqueues -Force
+
+ $unhealthyqueues = @($copies | Where-Object { (($_."Copy Queue" -ge $replqueuewarning) -or (($_."Replay Queue" -ge $replqueuewarning) -and ($_."Replay Lagged" -eq $false))) }).Count
+ $databaseObj | Add-Member NoteProperty -Name "Unhealthy Queues" -Value $unhealthyqueues -Force
+
+ $laggedqueues = @($copies | Where-Object { ($_."Replay Lagged" -eq $true) -or ($_."Truncation Lagged" -eq $true) }).Count
+ $databaseObj | Add-Member NoteProperty -Name "Lagged Queues" -Value $laggedqueues -Force
+
+ $healthyindexes = @($copies | Where-Object { ($_."Content Index" -eq "Healthy" -or $_."Content Index" -eq "Disabled" -or $_."Content Index" -eq "AutoSuspended") }).Count
+ $databaseObj | Add-Member NoteProperty -Name "Healthy Indexes" -Value $healthyindexes -Force
+
+ $unhealthyindexes = @($copies | Where-Object { ($_."Content Index" -ne "Healthy" -and $_."Content Index" -ne "Disabled" -and $_."Content Index" -ne "AutoSuspended") }).Count
+ $databaseObj | Add-Member NoteProperty -Name "Unhealthy Indexes" -Value $unhealthyindexes -Force
+
+ $dagdatabaseSummary += $databaseObj
+
+ }
+
+ #Get Test-Replication Health results for each DAG member
+ foreach ($dagmember in $dagmembers)
+ {
+ $replicationhealth = $null
+
+ $replicationhealthitems = @{
+ ClusterService = $null
+ ReplayService = $null
+ ActiveManager = $null
+ TasksRpcListener = $null
+ TcpListener = $null
+ ServerLocatorService = $null
+ DagMembersUp = $null
+ ClusterNetwork = $null
+ QuorumGroup = $null
+ FileShareQuorum = $null
+ DatabaseRedundancy = $null
+ DatabaseAvailability = $null
+ DBCopySuspended = $null
+ DBCopyFailed = $null
+ DBInitializing = $null
+ DBDisconnected = $null
+ DBLogCopyKeepingUp = $null
+ DBLogReplayKeepingUp = $null
+ }
+
+ $memberObj = New-Object PSObject -Property $replicationhealthitems
+ $memberObj | Add-Member NoteProperty -Name "Server" -Value $($dagmember.Name)
+
+ $tmpstring = "---- Checking replication health for $($dagmember.Name)"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+
+ if ($HasE15)
+ {
+ $DagMemberVer = ($GetExchangeServerResults | Where-Object {$_.Name -ieq $dagmember.Name}).AdminDisplayVersion.ToString()
+ }
+
+
+ if ($DagMemberVer -like "Version 14.*")
+ {
+ if ($Log) {Write-Logfile "Using E14 replication health test workaround"}
+ $replicationhealth = Test-E14ReplicationHealth $dagmember
+ }
+ else
+ {
+ $replicationhealth = Test-ReplicationHealth -Identity $dagmember
+ }
+
+ foreach ($healthitem in $replicationhealth)
+ {
+ if ($($healthitem.Result) -eq $null)
+ {
+ $healthitemresult = "n/a"
+ }
+ else
+ {
+ $healthitemresult = $($healthitem.Result)
+ }
+ $tmpstring = "$($healthitem.Check) $healthitemresult"
+ Write-Verbose $tmpstring
+ if ($Log) {Write-Logfile $tmpstring}
+ $memberObj | Add-Member NoteProperty -Name $($healthitem.Check) -Value $healthitemresult -Force
+ }
+ $dagmemberReport += $memberObj
+ }
+
+
+ #Generate the HTML from the DAG health checks
+ if ($SendEmail -or $ReportFile)
+ {
+
+ ####Begin Summary Table HTML
+ $dagdatabaseSummaryHtml = $null
+ #Begin Summary table HTML header
+ $htmltableheader = "
+
+
+ Database |
+ Mounted on |
+ Preference |
+ Total Copies |
+ Healthy Copies |
+ Unhealthy Copies |
+ Healthy Queues |
+ Unhealthy Queues |
+ Lagged Queues |
+ Healthy Indexes |
+ Unhealthy Indexes |
+
"
+
+ $dagdatabaseSummaryHtml += $htmltableheader
+ #End Summary table HTML header
+
+ #Begin Summary table HTML rows
+ foreach ($line in $dagdatabaseSummary)
+ {
+ $htmltablerow = ""
+ $htmltablerow += "$($line.Database) | "
+
+ #Warn if mounted server is still unknown
+ switch ($($line."Mounted on"))
+ {
+ "Unknown" {
+ $htmltablerow += "$($line."Mounted on") | "
+ $dagsummary += "$($line.Database) - $string61"
+ }
+ default { $htmltablerow += "$($line."Mounted on") | " }
+ }
+
+ #Warn if DB is mounted on a server that is not Activation Preference 1
+ if ($($line.Preference) -gt 1)
+ {
+ $htmltablerow += "$($line.Preference) | "
+ $dagsummary += "$($line.Database) - $string62 $($line.Preference)"
+ }
+ else
+ {
+ $htmltablerow += "$($line.Preference) | "
+ }
+
+ $htmltablerow += "$($line."Total Copies") | "
+
+ #Show as info if health copies is 1 but total copies also 1,
+ #Warn if healthy copies is 1, Fail if 0
+ switch ($($line."Healthy Copies"))
+ {
+ 0 {$htmltablerow += "$($line."Healthy Copies") | "}
+ 1 {
+ if ($($line."Total Copies") -eq $($line."Healthy Copies"))
+ {
+ $htmltablerow += "$($line."Healthy Copies") | "
+ }
+ else
+ {
+ $htmltablerow += "$($line."Healthy Copies") | "
+ }
+ }
+ default {$htmltablerow += "$($line."Healthy Copies") | "}
+ }
+
+ #Warn if unhealthy copies is 1, fail if more than 1
+ switch ($($line."Unhealthy Copies"))
+ {
+ 0 { $htmltablerow += "$($line."Unhealthy Copies") | " }
+ 1 {
+ $htmltablerow += "$($line."Unhealthy Copies") | "
+ $dagsummary += "$($line.Database) - $string63 $($line."Unhealthy Copies") $string65 $($line."Total Copies") $string66"
+ }
+ default {
+ $htmltablerow += "$($line."Unhealthy Copies") | "
+ $dagsummary += "$($line.Database) - $string63 $($line."Unhealthy Copies") $string65 $($line."Total Copies") $string66"
+ }
+ }
+
+ #Warn if healthy queues + lagged queues is less than total copies
+ #Fail if no healthy queues
+ if ($($line."Total Copies") -eq ($($line."Healthy Queues") + $($line."Lagged Queues")))
+ {
+ $htmltablerow += "$($line."Healthy Queues") | "
+ }
+ else
+ {
+ $dagsummary += "$($line.Database) - $string64 $($line."Healthy Queues") $string65 $($line."Total Copies") $string66"
+ switch ($($line."Healthy Queues"))
+ {
+ 0 { $htmltablerow += "$($line."Healthy Queues") | " }
+ default { $htmltablerow += "$($line."Healthy Queues") | " }
+ }
+ }
+
+ #Fail if unhealthy queues = total queues
+ #Warn if more than one unhealthy queue
+ if ($($line."Total Queues") -eq $($line."Unhealthy Queues"))
+ {
+ $htmltablerow += "$($line."Unhealthy Queues") | "
+ }
+ else
+ {
+ switch ($($line."Unhealthy Queues"))
+ {
+ 0 { $htmltablerow += "$($line."Unhealthy Queues") | " }
+ default { $htmltablerow += "$($line."Unhealthy Queues") | " }
+ }
+ }
+
+ #Info for lagged queues
+ switch ($($line."Lagged Queues"))
+ {
+ 0 { $htmltablerow += "$($line."Lagged Queues") | " }
+ default { $htmltablerow += "$($line."Lagged Queues") | " }
+ }
+
+ #Pass if healthy indexes = total copies
+ #Warn if healthy indexes less than total copies
+ #Fail if healthy indexes = 0
+ if ($($line."Total Copies") -eq $($line."Healthy Indexes"))
+ {
+ $htmltablerow += "$($line."Healthy Indexes") | "
+ }
+ else
+ {
+ $dagsummary += "$($line.Database) - $string67 $($line."Unhealthy Indexes") $string65 $($line."Total Copies") $string66"
+ switch ($($line."Healthy Indexes"))
+ {
+ 0 { $htmltablerow += "$($line."Healthy Indexes") | " }
+ default { $htmltablerow += "$($line."Healthy Indexes") | " }
+ }
+ }
+
+ #Fail if unhealthy indexes = total copies
+ #Warn if unhealthy indexes 1 or more
+ #Pass if unhealthy indexes = 0
+ if ($($line."Total Copies") -eq $($line."Unhealthy Indexes"))
+ {
+ $htmltablerow += "$($line."Unhealthy Indexes") | "
+ }
+ else
+ {
+ switch ($($line."Unhealthy Indexes"))
+ {
+ 0 { $htmltablerow += "$($line."Unhealthy Indexes") | " }
+ default { $htmltablerow += "$($line."Unhealthy Indexes") | " }
+ }
+ }
+
+ $htmltablerow += "
"
+ $dagdatabaseSummaryHtml += $htmltablerow
+ }
+ $dagdatabaseSummaryHtml += "
+
"
+ #End Summary table HTML rows
+ ####End Summary Table HTML
+
+ ####Begin Detail Table HTML
+ $databasedetailsHtml = $null
+ #Begin Detail table HTML header
+ $htmltableheader = "
+
+
+ Database Copy |
+ Database Name |
+ Mailbox Server |
+ Activation Preference |
+ Status |
+ Copy Queue |
+ Replay Queue |
+ Replay Lagged |
+ Truncation Lagged |
+ Content Index |
+
"
+
+ $databasedetailsHtml += $htmltableheader
+ #End Detail table HTML header
+
+ #Begin Detail table HTML rows
+ foreach ($line in $dagdbcopyReport)
+ {
+ $htmltablerow = ""
+ $htmltablerow += "$($line."Database Copy") | "
+ $htmltablerow += "$($line."Database Name") | "
+ $htmltablerow += "$($line."Mailbox Server") | "
+ $htmltablerow += "$($line."Activation Preference") | "
+
+ Switch ($($line."Status"))
+ {
+ "Healthy" { $htmltablerow += "$($line."Status") | " }
+ "Mounted" { $htmltablerow += "$($line."Status") | " }
+ "Failed" { $htmltablerow += "$($line."Status") | " }
+ "FailedAndSuspended" { $htmltablerow += "$($line."Status") | " }
+ "ServiceDown" { $htmltablerow += "$($line."Status") | " }
+ "Dismounted" { $htmltablerow += "$($line."Status") | " }
+ default { $htmltablerow += "$($line."Status") | " }
+ }
+
+ if ($($line."Copy Queue") -lt $replqueuewarning)
+ {
+ $htmltablerow += "$($line."Copy Queue") | "
+ }
+ else
+ {
+ $htmltablerow += "$($line."Copy Queue") | "
+ }
+
+ if (($($line."Replay Queue") -lt $replqueuewarning) -or ($($line."Replay Lagged") -eq $true))
+ {
+ $htmltablerow += "$($line."Replay Queue") | "
+ }
+ else
+ {
+ $htmltablerow += "$($line."Replay Queue") | "
+ }
+
+
+ Switch ($($line."Replay Lagged"))
+ {
+ $true { $htmltablerow += "$($line."Replay Lagged") | " }
+ default { $htmltablerow += "$($line."Replay Lagged") | " }
+ }
+
+ Switch ($($line."Truncation Lagged"))
+ {
+ $true { $htmltablerow += "$($line."Truncation Lagged") | " }
+ default { $htmltablerow += "$($line."Truncation Lagged") | " }
+ }
+
+ Switch ($($line."Content Index"))
+ {
+ "Healthy" { $htmltablerow += "$($line."Content Index") | " }
+ "Disabled" { $htmltablerow += "$($line."Content Index") | " }
+ default { $htmltablerow += "$($line."Content Index") | " }
+ }
+
+ $htmltablerow += "
"
+ $databasedetailsHtml += $htmltablerow
+ }
+ $databasedetailsHtml += "
+ "
+ #End Detail table HTML rows
+ ####End Detail Table HTML
+
+
+ ####Begin Member Table HTML
+ $dagmemberHtml = $null
+ #Begin Member table HTML header
+ $htmltableheader = "
+
+
+ Server |
+ Cluster Service |
+ Replay Service |
+ Active Manager |
+ Tasks RPC Listener |
+ TCP Listener |
+ Server Locator Service |
+ DAG Members Up |
+ Cluster Network |
+ Quorum Group |
+ File Share Quorum |
+ Database Redundancy |
+ Database Availability |
+ DB Copy Suspended |
+ DB Copy Failed |
+ DB Initializing |
+ DB Disconnected |
+ DB Log Copy Keeping Up |
+ DB Log Replay Keeping Up |
+
"
+
+ $dagmemberHtml += $htmltableheader
+ #End Member table HTML header
+
+ #Begin Member table HTML rows
+ foreach ($line in $dagmemberReport)
+ {
+ $htmltablerow = ""
+ $htmltablerow += "$($line."Server") | "
+ $htmltablerow += (New-DAGMemberHTMLTableCell "ClusterService")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "ReplayService")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "ActiveManager")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "TasksRPCListener")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "TCPListener")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "ServerLocatorService")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "DAGMembersUp")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "ClusterNetwork")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "QuorumGroup")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "FileShareQuorum")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "DatabaseRedundancy")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "DatabaseAvailability")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "DBCopySuspended")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "DBCopyFailed")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "DBInitializing")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "DBDisconnected")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "DBLogCopyKeepingUp")
+ $htmltablerow += (New-DAGMemberHTMLTableCell "DBLogReplayKeepingUp")
+ $htmltablerow += "
"
+ $dagmemberHtml += $htmltablerow
+ }
+ $dagmemberHtml += "
+ "
+ }
+
+ #Output the report objects to console, and optionally to email and HTML file
+ #Forcing table format for console output due to issue with multiple output
+ #objects that have different layouts
+
+ #Write-Host "---- Database Copy Health Summary ----"
+ #$dagdatabaseSummary | ft
+
+ #Write-Host "---- Database Copy Health Details ----"
+ #$dagdbcopyReport | ft
+
+ #Write-Host "`r`n---- Server Test-Replication Report ----`r`n"
+ #$dagmemberReport | ft
+
+ if ($SendEmail -or $ReportFile)
+ {
+ $dagreporthtml = $dagsummaryintro + $dagdatabaseSummaryHtml + $dagdetailintro + $databasedetailsHtml + $dagmemberintro + $dagmemberHtml
+ $dagreportbody += $dagreporthtml
+ }
+
+ }
+}
+else
+{
+ $tmpstring = "No DAGs found"
+ if ($Log) {Write-LogFile $tmpstring}
+ Write-Verbose $tmpstring
+ $dagreporthtml = "No database availability groups found.
"
+}
+### End DAG Health Report
+
+Write-Host $string16
+### Begin report generation
+if ($ReportMode -or $SendEmail)
+{
+ #Get report generation timestamp
+ $reportime = Get-Date
+
+ #Create HTML Report
+ #Common HTML head and styles
+ $htmlhead="
+
+
+ Exchange Server Health Check Report
+ Generated: $reportime
"
+
+ #Check if the server summary has 1 or more entries
+ if ($($serversummary.count) -gt 0)
+ {
+ #Set alert flag to true
+ $alerts = $true
+
+ #Generate the HTML
+ $serversummaryhtml = "Exchange Server Health Check Summary
+ The following server errors and warnings were detected.
+
+
"
+ foreach ($reportline in $serversummary)
+ {
+ $serversummaryhtml +="- $reportline
"
+ }
+ $serversummaryhtml += "
"
+ $alerts = $true
+ }
+ else
+ {
+ #Generate the HTML to show no alerts
+ $serversummaryhtml = "Exchange Server Health Check Summary
+ No Exchange server health errors or warnings.
"
+ }
+
+ #Check if the DAG summary has 1 or more entries
+ if ($($dagsummary.count) -gt 0)
+ {
+ #Set alert flag to true
+ $alerts = $true
+
+ #Generate the HTML
+ $dagsummaryhtml = "Database Availability Group Health Check Summary
+ The following DAG errors and warnings were detected.
+
+
"
+ foreach ($reportline in $dagsummary)
+ {
+ $dagsummaryhtml +="- $reportline
"
+ }
+ $dagsummaryhtml += "
"
+ $alerts = $true
+ }
+ else
+ {
+ #Generate the HTML to show no alerts
+ $dagsummaryhtml = "Database Availability Group Health Check Summary
+ No Exchange DAG errors or warnings.
"
+ }
+
+
+ #Exchange Server Health Report Table Header
+ $htmltableheader = "Exchange Server Health
+
+
+
+ Server |
+ Site |
+ Roles |
+ Version |
+ DNS |
+ Ping |
+ Uptime (hrs) |
+ Client Access Server Role Services |
+ Hub Transport Server Role Services |
+ Mailbox Server Role Services |
+ Unified Messaging Server Role Services |
+ Transport Queue |
+ PF DBs Mounted |
+ MB DBs Mounted |
+ MAPI Test |
+ Mail Flow Test |
+
"
+
+ #Exchange Server Health Report Table
+ $serverhealthhtmltable = $serverhealthhtmltable + $htmltableheader
+
+ foreach ($reportline in $report)
+ {
+ $htmltablerow = ""
+ $htmltablerow += "$($reportline.server) | "
+ $htmltablerow += "$($reportline.site) | "
+ $htmltablerow += "$($reportline.roles) | "
+ $htmltablerow += "$($reportline.version) | "
+ $htmltablerow += (New-ServerHealthHTMLTableCell "dns")
+ $htmltablerow += (New-ServerHealthHTMLTableCell "ping")
+
+ if ($($reportline."uptime (hrs)") -eq "Access Denied")
+ {
+ $htmltablerow += "Access Denied | "
+ }
+ elseif ($($reportline."uptime (hrs)") -eq $string17)
+ {
+ $htmltablerow += "$string17 | "
+ }
+ else
+ {
+ $hours = [int]$($reportline."uptime (hrs)")
+ if ($hours -le 24)
+ {
+ $htmltablerow += "$hours | "
+ }
+ else
+ {
+ $htmltablerow += "$hours | "
+ }
+ }
+
+ $htmltablerow += (New-ServerHealthHTMLTableCell "Client Access Server Role Services")
+ $htmltablerow += (New-ServerHealthHTMLTableCell "Hub Transport Server Role Services")
+ $htmltablerow += (New-ServerHealthHTMLTableCell "Mailbox Server Role Services")
+ $htmltablerow += (New-ServerHealthHTMLTableCell "Unified Messaging Server Role Services")
+ #$htmltablerow += (New-ServerHealthHTMLTableCell "Transport Queue")
+ if ($($reportline."Transport Queue") -match "Pass")
+ {
+ $htmltablerow += "$($reportline."Transport Queue") | "
+ }
+ elseif ($($reportline."Transport Queue") -match "Warn")
+ {
+ $htmltablerow += "$($reportline."Transport Queue") | "
+ }
+ elseif ($($reportline."Transport Queue") -match "Fail")
+ {
+ $htmltablerow += "$($reportline."Transport Queue") | "
+ }
+ elseif ($($reportline."Transport Queue") -eq "n/a")
+ {
+ $htmltablerow += "$($reportline."Transport Queue") | "
+ }
+ else
+ {
+ $htmltablerow += "$($reportline."Transport Queue") | "
+ }
+ $htmltablerow += (New-ServerHealthHTMLTableCell "PF DBs Mounted")
+ $htmltablerow += (New-ServerHealthHTMLTableCell "MB DBs Mounted")
+ $htmltablerow += (New-ServerHealthHTMLTableCell "MAPI Test")
+ $htmltablerow += (New-ServerHealthHTMLTableCell "Mail Flow Test")
+ $htmltablerow += "
"
+
+ $serverhealthhtmltable = $serverhealthhtmltable + $htmltablerow
+ }
+
+ $serverhealthhtmltable = $serverhealthhtmltable + "
"
+
+ $htmltail = "
+ "
+
+ $htmlreport = $htmlhead + $serversummaryhtml + $dagsummaryhtml + $serverhealthhtmltable + $dagreportbody + $htmltail
+
+ if ($ReportMode -or $ReportFile)
+ {
+ $htmlreport | Out-File $ReportFile -Encoding UTF8
+ }
+
+ if ($SendEmail)
+ {
+ if ($alerts -eq $false -and $AlertsOnly -eq $true)
+ {
+ #Do not send email message
+ Write-Host $string19
+ if ($Log) {Write-Logfile $string19}
+ }
+ else
+ {
+ #Send email message
+ Write-Host $string14
+ Send-MailMessage -To hcornet@fichorga.fr, jmdefossez@fichorga.fr, alefevre@pmsjuris.fr @smtpsettings -Body $htmlreport -BodyAsHtml -Encoding ([System.Text.Encoding]::UTF8)
+ }
+ }
+}
+### End report generation
+
+
+Write-Host $string15
+if ($Log) {Write-Logfile $string15}
diff --git a/Exchange/purge.ps1 b/Exchange/purge.ps1
new file mode 100644
index 0000000..803d247
--- /dev/null
+++ b/Exchange/purge.ps1
@@ -0,0 +1 @@
+Get-ChildItem 'C:\Inetpub\Logs' -Directory | Get-ChildItem -Include '*.log' -Recurse | ? LastWriteTime -lt (Get-Date).AddDays(-20) | Remove-Item
\ No newline at end of file
diff --git a/Exchange/scheduler.ps1 b/Exchange/scheduler.ps1
new file mode 100644
index 0000000..0fb4af4
--- /dev/null
+++ b/Exchange/scheduler.ps1
@@ -0,0 +1,4 @@
+.\ExchangeEnvironmentReport.ps1 -HTMLReport .\report.html -SendMail $True -MailFrom "Rapports@cloud-fichorga.fr" -MailTo "hcornet@fichorga.fr" -MailServer 10.101.10.2
+.\ExchangeEnvironmentReport.ps1 -HTMLReport .\report.html -SendMail $True -MailFrom "Rapports@cloud-fichorga.fr" -MailTo "jmdefossez@fichorga.fr" -MailServer 10.101.10.2
+.\ExchangeEnvironmentReport.ps1 -HTMLReport .\report.html -SendMail $True -MailFrom "Rapports@cloud-fichorga.fr" -MailTo "alefevre@pmsjuris.fr" -MailServer 10.101.10.2
+.\Test-ExchangeServerHealth.ps1 -ReportMode -SendEmail
\ No newline at end of file
diff --git a/Exemples/Affichage-Calendrier.ps1 b/Exemples/Affichage-Calendrier.ps1
new file mode 100644
index 0000000..5d4917c
--- /dev/null
+++ b/Exemples/Affichage-Calendrier.ps1
@@ -0,0 +1,93 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version: 1.0
+ Author: Hubert CORNET
+ Creation Date:
+ Purpose/Change: Initial script development
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+cls
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+# Bibliothèques de fonctions requises
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = ".log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#-----------------------------------------------------------[]------------------------------------------------------------
+Add-Type -AssemblyName System.Windows.Forms
+Add-Type -AssemblyName System.Drawing
+
+$form = New-Object Windows.Forms.Form -Property @{
+ StartPosition = [Windows.Forms.FormStartPosition]::CenterScreen
+ Size = New-Object Drawing.Size 280, 285
+ Text = 'Selection Date'
+ Topmost = $true
+ MaximizeBox = $false
+ MinimumSize = New-Object System.Drawing.Size(280,285)
+ MaximumSize = New-Object System.Drawing.Size(280,285)
+ ControlBox = $false
+}
+
+$calendar = New-Object Windows.Forms.MonthCalendar -Property @{
+ ShowTodayCircle = $True
+ MaxSelectionCount = 1
+}
+$form.Controls.Add($calendar)
+
+$okButton = New-Object Windows.Forms.Button -Property @{
+ Location = New-Object Drawing.Point 10, 210
+ Size = New-Object Drawing.Size 75, 23
+ Text = 'OK'
+ DialogResult = [Windows.Forms.DialogResult]::OK
+}
+$form.AcceptButton = $okButton
+$form.Controls.Add($okButton)
+
+$cancelButton = New-Object Windows.Forms.Button -Property @{
+ Location = New-Object Drawing.Point 180, 210
+ Size = New-Object Drawing.Size 75, 23
+ Text = 'Cancel'
+ DialogResult = [Windows.Forms.DialogResult]::Cancel
+}
+$form.CancelButton = $cancelButton
+$form.Controls.Add($cancelButton)
+
+$result = $form.ShowDialog()
+
+If ($result -eq [Windows.Forms.DialogResult]::OK) {
+ $date = $calendar.SelectionStart
+ Write-Host "Date selected: $($date.ToShortDateString())"
+}
\ No newline at end of file
diff --git a/Exemples/Creation-Multi-Fichier.ps1 b/Exemples/Creation-Multi-Fichier.ps1
new file mode 100644
index 0000000..4e36ea3
--- /dev/null
+++ b/Exemples/Creation-Multi-Fichier.ps1
@@ -0,0 +1,55 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date : 22/11/2022
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+# Bibliothèques de fonctions requises
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = "Creation-Multi-Fichier.log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+Start-Transcript -Path $sLogFile -NoClobber
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#--------------------------------------------------------[Debut Du Script]---------------------------------------------------------
+
+1..100 | %{ ($_ * (Get-Random -Max ([int]::maxvalue))) > "D:\script\file$_.txt"}
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
\ No newline at end of file
diff --git a/Exemples/Dichotomie.ps1 b/Exemples/Dichotomie.ps1
new file mode 100644
index 0000000..3bfc1bb
--- /dev/null
+++ b/Exemples/Dichotomie.ps1
@@ -0,0 +1,195 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date :
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+[CmdletBinding()]
+Param(
+ [Parameter(Position=0,Mandatory=$True)]
+ [string]$CheminSource,
+ [Parameter(Position=1,Mandatory=$True)]
+ [string]$Pattern,
+ [Parameter(Position=2,Mandatory=$True)]
+ [int]$Pourcentage
+ )
+
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = "Dichotomie.log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+Start-Transcript -Path $sLogFile -NoClobber
+
+$Date = Get-Date -Format "yyyyMMdd HHmm"
+$FolderBackup = $CheminSource+"\Backup - "+$Date
+$FolderLotA = $CheminSource+"\Lot-A"
+$FolderLotB = $CheminSource+"\Lot-B"
+$FolderLock = $CheminSource+"\Fichier Bloquant - "+$Date
+$Compteur = 0
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+Function Login-RestApi {
+ [cmdletbinding()]
+ param(
+ [string] $ApiUrl,
+ [string] $OpConUser,
+ [string] $OpConPassword
+ )
+
+ Write-Verbose ("Parameters =")
+ Write-Verbose ("ApiUrl: " + $ApiUrl)
+ Write-Verbose ("OpConUser: " + $OpConUser)
+ Write-Verbose ("OpConPassword: (hidden)")
+
+ $ApiUrl = $ApiUrl.ToLower().TrimEnd("/").TrimEnd("/api")
+
+ Write-Host ("Logging in to OpCon REST API: " + $ApiUrl)
+
+ $Global:OpconRESTApiUrl = $ApiUrl
+ $Global:OpconRESTApiUser = $OpConUser
+ $Global:OpConRESTApiPassword = $OpConPassword
+ $token = Get-OpConApiToken -Url $ApiUrl -User $OpConUser -Password $OpConPassword
+ $Global:OpconRESTApiToken = $token.id
+
+ $Global:OpconRESTApiAuthHeader = Get-OpConApiAuthHeader -Token $token.id
+ Write-Host ('Token successfully stored for future calls in session.')
+}
+
+Function Ignore-SelfSignedCerts {
+ add-type -TypeDefinition @"
+ using System.Net;
+ using System.Security.Cryptography.X509Certificates;
+ public class TrustAllCertsPolicy : ICertificatePolicy {
+ public bool CheckValidationResult(
+ ServicePoint srvPoint, X509Certificate certificate,
+ WebRequest request, int certificateProblem) {
+ return true;
+ }
+ }
+"@
+ [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
+}
+
+Function Get-OpConApiToken {
+ [cmdletbinding()]
+ param(
+ [string] $Url,
+ [string] $User,
+ [string] $Password
+ )
+ $tokensUri = -join($Url, "/api/tokens")
+ Write-Host ("Retrieving authorization token...")
+ Write-Host ("Uri: " + $tokensUri)
+ Write-Host ("User: " + $User)
+ $tokenObject = @{
+ user = @{
+ loginName = $User
+ password = $Password
+ }
+ tokenType = @{
+ type = "User"
+ }
+ }
+ try
+ {
+ Ignore-SelfSignedCerts
+ #$token = Invoke-RestMethod -Method Post -Uri $tokensUri -Body (ConvertTo-Json $tokenObject) -ContentType 'application/json; charset=utf-8' -ErrorVariable $RestException -SkipCertificateCheck
+ $token = Invoke-RestMethod -Method Post -Uri $tokensUri -Body (ConvertTo-Json $tokenObject) -ContentType 'application/json; charset=utf-8' -ErrorVariable $RestException
+ }
+ catch
+ {
+ ## $error = ConvertFrom-Json $RestException.ErrorDetails.Message
+ ##Write-Host ("Unable to fetch token for user '" + $user + "'")
+ ##Write-Host ("Error Code: " + $error.code)
+ ##Write-Host ("Message: " + $error.message)
+ Write-Host ("StatusCode: " + $_.Exception.Response.StatusCode.value__)
+ Write-Host ("StatusDescription: " + $_.Exception.Response.StatusDescription)
+ Write-Host ("Message: " + $_[0].message)
+ ##$Global:OpConRESTAPIException = $_
+ throw
+ ##exit $_.Exception.Response.StatusCode.value__
+ }
+ Write-Host ("Token retrieved successfully, Id: " + $token.id + ", Valid Until: " + $token.validUntil)
+ return $token
+ }
+
+ Function Get-OpConApiAuthHeader {
+ Param(
+ [string] $Token
+ )
+
+ $authHeader = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
+ $authHeader.Add("Authorization", ("Token " + $Token))
+
+ return $authHeader
+ }
+
+#--------------------------------------------------------[Debut Du Script]---------------------------------------------------------
+
+Login-RestApi -ApiUrl $ServerUrl -OpConUser $OpConUser -OpConPassword $clearPassword
+
+#Nombre de fichier présent dans le répertoire
+$ListFile = Get-ChildItem -Path $CheminSource"\*" -Include "*.$Pattern" | Select Name,FullName
+$FileCount = $ListFile.count
+
+$PourcentageFichier = (($Pourcentage/100)*$FileCount)
+$PourcentageFichier = [math]::floor($PourcentageFichier)
+
+If (!(Test-Path $FolderBackup)) {
+ New-Item -Path $FolderBackup -ItemType Directory
+ New-Item -Path $FolderLotA -ItemType Directory
+ New-Item -Path $FolderLotB -ItemType Directory
+ New-Item -Path $FolderLock -ItemType Directory
+}
+
+Foreach ($File in $ListFile) {
+ Copy-Item $File.FullName -Destination $FolderBackup
+
+ If ($Compteur -le $PourcentageFichier) {
+ Move-Item $File.FullName -Destination $FolderLotA
+ }
+ Else {
+ Move-Item $File.FullName -Destination $FolderLotB
+ }
+
+ $Compteur = $Compteur + 1
+}
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
\ No newline at end of file
diff --git a/Exemples/Envoie-Mail.ps1 b/Exemples/Envoie-Mail.ps1
new file mode 100644
index 0000000..c1bd3f1
--- /dev/null
+++ b/Exemples/Envoie-Mail.ps1
@@ -0,0 +1,14 @@
+$Destinataires = "hubert.cornet-ext@saint-maclou.com","thedjinhn@gmail.com"
+[string[]]$To = $Destinataires.Split(',')
+$From = "POWERSHELL@saint-maclou.com"
+$Subject = "Exemple 3"
+$BODY = "Some important plain text!"
+$SmtpServer = "RELAISSMTP.FR.DGS.GROUP"
+$Port = "25"
+$Attachments = ""
+$Bcc = ""
+$Cc = ""
+$Encoding = ""
+$Priority = "Normal"
+
+Send-MailMessage -To $To -From $From -Subject $Subject -Body $BODY -SmtpServer $SmtpServer -Port $Port -BodyAsHtml -Priority $Priority #-Bcc $Bcc -Cc $Cc -Encoding $Encoding -Attachments $Attachments
\ No newline at end of file
diff --git a/Exemples/Fichier multiple/Liste-import.csv b/Exemples/Fichier multiple/Liste-import.csv
new file mode 100644
index 0000000..493276e
--- /dev/null
+++ b/Exemples/Fichier multiple/Liste-import.csv
@@ -0,0 +1,431 @@
+objet;marque;modele;serial;autre
+IMPRIMANTE;RICOH;1515F;K2268700985;P.1/2
+IMPRIMANTE;RICOH;1515F;K2268500899;P.1/2
+IMPRIMANTE;RICOH;1515F;K2258801771;P.1/2
+IMPRIMANTE;RICOH;1515F;K2258600994;P.1/2
+IMPRIMANTE;RICOH;1515F;K2259401255;P.1/2
+IMPRIMANTE;RICOH;1515F;K2259600645;P.1/2
+IMPRIMANTE;RICOH;1515F;K2268600239;P.1/2
+IMPRIMANTE;RICOH;1515F;K2259101182;P.1/2
+IMPRIMANTE;RICOH;1515MF;K2169008365;P.1/2
+IMPRIMANTE;RICOH;1515MF;K2168907266;P.1/2
+IMPRIMANTE;RICOH;MP201SPF;W3029500722;P.3
+IMPRIMANTE;RICOH;MP201SPF;W3038800967;P.3
+IMPRIMANTE;RICOH;MP201SPF;W3029502690;P.3
+IMPRIMANTE;RICOH;MP201SPF;W3029502959;P.3
+IMPRIMANTE;RICOH;MP201SPF;W3029303536;P.3
+IMPRIMANTE;RICOH;MP171SPF;V4489601154;P.3
+IMPRIMANTE;RICOH;MP171SPF;V4498501045;P.3
+IMPRIMANTE;RICOH;MP171SPF;V4498500895;P.3
+IMPRIMANTE;RICOH;MPC407SPF;C499P700786;P.5
+IMPRIMANTE;RICOH;MPC407SPF;C499P700804;P.5
+IMPRIMANTE;KONICA MINOLTA;BIZHUB36;A0ED94360;P.6
+IMPRIMANTE;KONICA MINOLTA;BIZHUB36;A0ED94360;P.6
+IMPRIMANTE;KONICA MINOLTA;;A32R022015985;P.3
+UC;DELL;DCNE;9L4JJ3J;P.16
+UC;DELL;DCNE;FL4JJ3J;P.16
+UC;DELL;DCNE;20WJ94J;P.16
+UC;DELL;DCNE;57WJ94J;P.16
+UC;DELL;DCNE;BST434J;P.16
+UC;DELL;DCNE;G25VL4J;P.16
+UC;DELL;DCNE;D4WJ94J;P.16
+UC;DELL;DCNE;DZVJ94J;P.16
+UC;DELL;DCNE;C5WJ94J;P.16
+UC;DELL;DCNE;GYVJ94J;P.16
+UC;DELL;DCNE;25WJ94J;P.16
+UC;DELL;DCNE;CZVJ94J;P.16
+UC;DELL;DCNE;50WJ94J;P.16
+UC;DELL;DCNE;5YVJ94J;P.16
+UC;DELL;DCNE;G3WJ94J;P.16
+UC;DELL;DCNE;J0WJ94J;P.16
+UC;DELL;DCNE;67WJ94J;P.16
+UC;DELL;DCNE;24WJ94J;P.16
+UC;DELL;DCNE;DL4JJ3J;P.16
+UC;DELL;DCNE;72WJ94J;P.16
+UC;DELL;DCNE;G2WJ94J;P.16
+UC;DELL;DCNE;82WJ94J;P.16
+UC;DELL;DCNE;7ZVJ94J;P.16
+UC;DELL;DCNE;94WJ94J;P.16
+UC;DELL;DCNE;31WJ94J;P.16
+UC;DELL;DCNE;70WJ94J;P.16
+UC;DELL;DCNE;41WJ94J;P.16
+UC;DELL;DCNE;G1WJ94J;P.16
+UC;DELL;DCNE;60WJ94J;P.16
+UC;DELL;DCNE;HZVJ94J;P.16
+UC;DELL;DCNE;G0WJ94J;P.16
+UC;DELL;DCNE;84WJ94J;P.16
+UC;DELL;DCNE;J4WJ94J;P.16
+UC;DELL;DCNE;F6WJ94J;P.16
+UC;DELL;DCNE;92WJ94J;P.16
+UC;DELL;DCNE;FYVJ94J;P.16
+UC;DELL;DCNE;37WJ94J;P.16
+UC;DELL;DCNE;60DGX3J;P.16
+UC;DELL;DHS;H32GV1J;P.16
+UC;DELL;DHS;3WNWR0J;P.16
+UC;DELL;DHS;7GBBG1J;P.16
+UC;DELL;DHS;7LXMS1J;P.16
+UC;DELL;DHS;8LM5S0J;P.16
+UC;DELL;DHS;?;P.16
+UC;DELL;DHP;4HCSQ1J;P.16
+UC;DELL;DHP;JPYKF1J;P.16
+UC;DELL;DHP;J569K1J;P.16
+UC;DELL;DCSM;GXVXG4J;P.16
+UC;DELL;DCSM;JXVXG4J;P.16
+UC;DELL;DCSM;3YVXG4J;P.16
+UC;DELL;DCCY;6YKF32J;P.16
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021013846;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021013808;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021019527;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021019525;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021013799;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021013837;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021013794;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021013821;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021019536;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021013743;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021019473;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021019535;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021013839;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021019538;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021013830;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;451433LM12LD3;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;451433LM12LC2;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;451433LM11C1;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;A63P021022185;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 20P;A32P021024680;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 20P;A32P021024664;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 20P;A32P021024678;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 20P;A32P021024682;P.7/8
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 20P;A32P021024676;P.7/8
+IMPRIMANTE;EPSON;AL-M200DN;RVCZ104482;P.7/8
+IMPRIMANTE;EPSON;AL-M200DN;RVCZ104679;P.7/8
+IMPRIMANTE;EPSON;AL-M200DN;RVCZ102517;P.7/8
+IMPRIMANTE;EPSON;AL-M200DN;RVCZ104680;P.7/8
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0UJ532;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0UJ532;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0UJ532;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0UJ532;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0UJ532;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0UJ532;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0UJ532;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0UJ532;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0MX028;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0MX028;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0MX028;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0MX028;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0MX028;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0MX028;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0M6CFG;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0M6CFG;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0M6CFG;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0M6CFG;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0M6CFG;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0M6CFG;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0R511D;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0R511D;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0R511D;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;DP4733;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;DP4733;P.9
+IMPRIMANTE;DELL;LASER PRINTER 1720DN;0M9834;P.9
+IMPRIMANTE;C352A;;LEVY159613;P.9
+IMPRIMANTE;PRINTRONIX;P7210;6R07120114;FOND ENTREPT
+IMPRIMANTE;PRINTRONIX;P7210;6RV608150016;FOND ENTREPT
+IMPRIMANTE;KONICA MINOLTA;BIZHUB36;A45X02100P006;FOND ENTREPT
+IMPRIMANTE;KONICA MINOLTA;BIZHUB36;A45X021008070;FOND ENTREPT
+IMPRIMANTE;RICOH;MPC2050;V2294502701;FOND ENTREPT
+IMPRIMANTE;RICOH;1027;K2259600645;FOND ENTREPT
+IMPRIMANTE;RICOH;MP2550;M6584000997;FOND ENTREPT
+IMPRIMANTE;RICOH;MPC3500;L8974200939;FOND ENTREPT
+IMPRIMANTE;RICOH;3025;K8563804891;FOND ENTREPT
+IMPRIMANTE;RICOH;MPC5000;V1303000756;FOND ENTREPT
+SERVEUR;EMS01;;2PK2T3J;P.10/11
+SERVEUR;EMS01;;1NG73TJ;P.10/11
+SERVEUR;EMS01;;3PK2T3J;P.10/11
+SERVEUR;3573;;xSB2008SD;P.10/11
+SERVEUR;JPE-i;;CF2NV075200123;P.10/11
+SERVEUR;B2G;;KD7N908;P.10/11
+SERVEUR;EMC;;AC979094950279;P.10/11
+SERVEUR;7945L4G;;K45GTT;P.10/11
+SERVEUR;TL2000;;H79851F;P.10/11
+SERVEUR;7945L4G;;KD45FYH;P.10/11
+UC;SCL;;5LPDM0J;P.10/11
+UC;SCL;;6LPDM0J;P.10/11
+UC;SCL;;1Y6W21J;P.10/11
+UC;ECM;;FFWJF2J;P.10/11
+UC;ECM;;1222904;P.10/11
+UC;ECM;;CZT5F1J;P.10/11
+UC;ECM;;GYG9B1J;P.10/11
+IMPRIM. ENTREPOT;B-472-QP;;1N310342;P.10/11
+IMPRIM. ENTREPOT;B-672-QP;;28015220298;P.10/11
+IMPRIM. ENTREPOT;B-672-QP;;2801522285;P.10/11
+IMPRIMANTE;LEXMARK;MS421DN;S460083510CV0M;P.4
+IMPRIMANTE;LEXMARK;MS421DN;S460083510CT73;P.4
+IMPRIMANTE;LEXMARK;MS421DN;S460083510CV11;P.4
+UC;DELL;OPTIPLEX 7010;7QDKJ32;P.17
+UC;DELL;OPTIPLEX 360;1,44561E+11;?
+IMPRIMANTE;LEXMARK;7017-476;S701793530FNMX;P.4
+IMPRIMANTE;LEXMARK;MS421DN;S701793530FNBW;P.4
+UC;DELL;OPTIPLEX 3020;JBH4952;P.18
+UC;DELL;OPTIPLEX 3020;D9H4952;P.18
+UC;DELL;OPTIPLEX 3020;CTWFZ72;P.18
+UC;DELL;D11S;H1YCGM2;P.17
+UC;DELL;D11S;7JGSV22;P.17
+IMPRIMANTE;DELL;;G7QJR0J;
+UC;DELL;OPTIPLEX 3060;TPV1824Z;
+UC;DELL;OPTIPLEX 3060;TPV1824X;
+UC;HP;;CZC310320M;
+UC;HP;;CZC4124DPG;
+UC;HP;;CZC4162WNV;
+UC;HP;;CZC4124DPR;
+ECRAN;FUJITSU - W2112;W2112;YV8T028676;P.18
+ECRAN;FUJITSU - L22T-2;L22T-2;YV7Q006974;P.18
+ECRAN;FUJITSU - W2112;W2112;YV8T028265;P.18
+ECRAN;FUJITSU;;YV5F216107;P.18
+ECRAN;FUJITSU;;YV5F216068;P.18
+ECRAN;AOC - 215LM00063;215LM00063;B63G2QA002736;P.17
+ECRAN;AOC - 215LM00063;215LM00063;B63GAQA010890;P.17
+ECRAN;AOC - 215LM00063;215LM00063;B63G2QA002667;P.17
+ECRAN;AOC - 215LM00063;215LM00063;B63GBQA014401;P.17
+ECRAN;AOC - 215LM00063;215LM00063;B63G8QA001019;P.17
+ECRAN;AOC - 215LM0041;215LM0041;GFRGBHA005133;P.17
+ECRAN;AOC - 215LM0041;215LM0041;GFRGBHA005159;P.17
+ECRAN;AOC - 215LM0041;215LM0041;GFRGBHA005137;P.17
+ECRAN;AOC - 215LM0041;215LM0041;GFRGBHA005179;P.17
+ECRAN;AOC - 215LM0041;215LM0041;GFRGBHA005147;P.17
+ECRAN;AOC - 215LM0041;215LM0041;GFRGBHA005132;P.17
+ECRAN;AOC - 215LM0041;215LM0041;GFRGBHA005146;P.17
+ECRAN;AOC - 215LM00019;215LM00019;GAXF1HA002177;P.17
+ECRAN;DELL;;CN-044FGY-72872-44J-C8YM;P.18
+ECRAN;DELL;;CN-0PD06D-72872-4AH-C3CM;P.18
+ECRAN;DELL;;CN-0PD06D-72872-4AH-C0WM;P.18
+ECRAN;DELL;;CN-0C2XM8-74445-22L-526L;P.18
+ECRAN;DELL;;CN-029C29-74261-58D-1NDS;P.18
+ECRAN;LG - 22M37A;22M37A;S04NTQD10436;P.18
+ECRAN;LG - 22M37A;22M37A;S04NTYT10458;P.18
+ECRAN;LG - 22M37A;22M37A;S04NTLE10464;P.18
+ECRAN;LG - 22M37A;22M37A;S04NTEP10420;P.18
+ECRAN;HANNS.G - HC174D;HC174D;646DK3NA01059;P.18
+ECRAN;ACER - V193W;V193W;ETLJE0W1810490320C4306;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W181049032264306;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W1810490329D4306;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W181049032864306;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W181049032184306;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W181049032A84306;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W181049032174306;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W1810490321B4306;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W181107082704309;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W181107082714309;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W1811070827F4309;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W1811070827D4309;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W1811070826A4309;P.19
+ECRAN;ACER - V193W;V193W;ETLJE0W181107081C34309;P.19
+ECRAN;ACER - V193W;V193W;ETLBP0C186051266ED40G0;P.19
+ECRAN;ACER - V193W;V193W;ETLBP0C186051269BD40G0;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420AB888500;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420A3D18500;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420AB758500;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420A8098500;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420A8188500;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420AB8A8500;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420AB168500;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420AB768500;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420AB7C8500;P.19
+ECRAN;ACER - V193WD;V193WD;ETLHV0D0929420AB798500;P.19
+ECRAN;ACER - V226HQL;V226HQL;MMLY7EE0164480746D8513;
+ECRAN;ACER - V226HQL;V226HQL;MMLY7EE016448074DB8513;
+ECRAN;ACER - V193HQV;V193HQV;ETLKX0W020224028F84300;P.19
+ECRAN;ACER - V193HQV;V193HQV;ETLKX0W020224028DC4300;P.19
+ECRAN;ACER - V193HQV;V193HQV;ETLKX0W020224029024300;P.19
+ECRAN;ACER - V173;V173;ETLCA02018823045894111;P.19
+ECRAN;ACER - V196WL;V196WL;MMLXWEE005311068338530;P.19
+ECRAN;ACER - V196WL;V196WL;MMLXWEE005311069888530;P.19
+ECRAN;ACER - V196WL;V196WL;MMLXWEE0053110694E8530;P.19
+IMPRIMANTE;KYOCERA - FS-2100DN;FS-2100DN;V1N5789691;P.4
+UC;DELL - D07D001;D07D001;;P.18
+UC;DELL - D07D001;D07D001;;P.18
+UC;DELL - D07D001;D07D001;;P.18
+UC;DELL - D07D001;D07D001;;P.18
+UC;DELL - D07D001;D07D001;;P.18
+UC;DELL - D07D001;D07D001;;P.18
+UC;HP;;CZC4124DPR;P.17
+UC;HP;;CZC4124DV5;P.17
+UC;HP;;CZC4124DQW;P.17
+UC;HP;;CZC4124DQC;P.17
+UC;HP;;CZC4162WP7;P.17
+UC;HP;;CZC4162WP0;P.17
+UC;HP;;CZC4162WMT;P.17
+UC;HP;;CZC4140VRT;P.17
+IMPRIMANTE;MS410DN;MS410DN;S451445LM1YDNK;P.4
+IMPRIMANTE;MS410DN;MS410DN;S451445LM206BF;P.4
+IMPRIMANTE;MS410DN;MS410DN;S451445LM20696;P.4
+IMPRIMANTE;;;S451445L1YDVL;P.4
+IMPRIMANTE;;;S451445L1YDMW;P.4
+IMPRIMANTE;;;S451445LM1F094;P.4
+IMPRIMANTE;;;S451445LM1YDGB;P.4
+IMPRIMANTE;;;S451445LM1Z5HP;P.4
+IMPRIMANTE;- MS415DN;MS415DN;S451445LM1YDZ;P.4
+IMPRIMANTE;DELL - 0MX028;0MX028;;P.4
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86217E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86275E+11;P.15
+UC;DELL;;1KGSV22;P.15
+UC;DELL;;4KGSV22;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86275E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;DELL;;1,86177E+11;P.15
+UC;HP;;CZC310320Q;P.15
+UC;HP;;CZC3360BQD;P.15
+UC;HP;;CZC242CW3Z;P.15
+UC;HP;;CZC310320W;P.15
+UC;HP;;CZC3360BQH;P.15
+UC;HP;;CZC3360BQM;P.15
+UC;HP;;CZC310320T;P.15
+UC;HP;;CZC3360BQJ;P.15
+UC;HP;;CZC310320P;P.15
+UC;HP;;CZC4162WMW;P.15
+UC;HP;;CZC4162WPB;P.15
+UC;HP;;CZC4162WNL;P.15
+UC;HP;;CZC3360BQB;P.15
+UC;HP;;CZC310320N;P.15
+UC;HP;;CZC3360BQK;P.15
+UC;HP;;CZC310320V;P.15
+IMPRIMANTE;LEXMARK MS410DN;MS410DN;S451445LM1Z5VY;P.4
+IMPRIMANTE;LEXMARK MS410DN;MS410DN;S451445LM1YDV8;P.4
+IMPRIMANTE;LEXMARK MS410DN;MS410DN;S451444LM1F0CB;P.4
+IMPRIMANTE;LEXMARK MS410DN;MS410DN;S451444LM1F095;P.4
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;S451443LM185KL;P.4
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;S451445LM1Z638;P.4
+IMPRIMANTE;KONICA MINOLTA;BIZHUB 3300P;S451445LM206CC;P.4
+IMPRIMANTE;KONICA MINOLTA - BIZHUB 3300P;BIZHUB 3300P;S451444LM1F06F;P.4
+IMPRIMANTE;MS421DW;MS421DW;S46009323104XX;P.4
+IMPRIMANTE;MS421DW;MS421DW;S46009323105LV;P.4
+SWITCH;TP LINK;TL-SF1008P;10B64901046;CAGE
+SWITCH;TP LINK;TL-SF1008P;13175202775;CAGE
+SWITCH;TP LINK;TL-SF1008P;13175202783;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;11B95800510;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;9983300925;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;11B95800501;CAGE
+SWITCH;TP LINK;TL-SF1008P;11370200527;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;13168801655;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;13175202855;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;9975800770;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;13175202784;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;11B95800295;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;9983300890;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;9975800767;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;10B64901052;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;9983300941;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;13175202777;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;9975800719;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;11264301877;CAGE
+SWITCH;TP LINK - TL-SF1008P;TL-SF1008P;11264301274;CAGE
+SWITCH;SMC - EZ108DT;EZ108DT;T184601903;CAGE
+SWITCH;SMC - EZ108DT;EZ108DT;T162516018;CAGE
+SWITCH;SMC - EZ108DT;EZ108DT;T185002057;CAGE
+SWITCH;SMC - EZ108DT;EZ108DT;T185002013;CAGE
+SWITCH;SMC - EZ108DT;EZ108DT;T142201396;CAGE
+SWITCH;SMC - EZ108DT;EZ108DT;T134706296;CAGE
+SWITCH;ATI - FS708;FS708;L1E44153B;CAGE
+SWITCH;ATI - FS708;FS708;L0EZ4018B;CAGE
+SWITCH;ATI - FS708;FS708;L0KV4018B;CAGE
+SWITCH;ATI - FS708;FS708;L0FD4018B;CAGE
+SWITCH;MOTOROLA - PD3001/AC;PD3001/AC;SR10136050012326701;CAGE
+SWITCH;MOTOROLA - PD3001/AC;PD3001/AC;SR08526050058512401;CAGE
+SWITCH;MOTOROLA - PD3001/AC;PD3001/AC;SR11016050001140001;CAGE
+SWITCH;DACOMEX;;?;CAGE
+SWITCH;SMC - SMCGS8;SMCGS8;N11027006616;CAGE
+SWITCH;DEXLAN - EW-408R;EW-408R;53124800628;CAGE
+SWITCH;TP-LINK - TL-SF1016D;TL-SF1016D;2,14705E+12;CAGE
+SWITCH;TP-LINK - TL-SF1016D;TL-SF1016D;2,14752E+12;CAGE
+SWITCH;TP-LINK - TL-SF1016D;TL-SF1016D;2,14752E+12;CAGE
+SWITCH;TP-LINK - TL-SF1016D;TL-SF1016D;2,14752E+12;CAGE
+SWITCH;TP-LINK - TL-SF1016D;TL-SF1016D;2,14668E+12;CAGE
+SWITCH;TP-LINK - TL-POE150S;TL-SF1016D;2,14455E+12;CAGE
+UC;HP;;CZC6348XMS;P.20
+UC;HP;;CZC5112XXQ;P.20
+UC;HP;;CZC5112XY6;P.20
+UC;HP;;CZC5112XY1;P.20
+UC;HP;;CZC651782N;P.20
+UC;HP;;CZC4293K1Z;P.20
+UC;DELL - D08U;D08U;6FZ5C72;P.18
+UC;DELL - D08U;D08U;CTV9Z72;P.18
+WIFI;DELL - ANTENNE SF (WLAN);ANTENNE SF (WLAN);CN0WX4920084235O3249;CAGE
+WIFI;DELL - ANTENNE SF (WLAN);ANTENNE SF (WLAN);CN0WX4920084235O3253;CAGE
+WIFI;DELL - ANTENNE SF (WLAN);ANTENNE SF (WLAN);CN0WX4920084235O3223;CAGE
+WIFI;DELL - ANTENNE SF (WLAN);ANTENNE SF (WLAN);CN0WX4920084235O3252;CAGE
+WIFI;DELL - ANTENNE SF (WLAN);ANTENNE SF (WLAN);CN0RU2970084235O3264;CAGE
+WIFI;MOTOROLA - NCAP-500;NCAP-500;1,30305E+13;CAGE
+WIFI;MOTOROLA - NCAP-500;NCAP-500;1,41155E+13;CAGE
+WIFI;MOTOROLA - NCAP-500;NCAP-500;S14115523075061;CAGE
+WIFI;MOTOROLA - NCAP-500;NCAP-500;S14115523075467;CAGE
+WIFI;MOTOROLA - NCAP-500;NCAP-500;S14115523075264;CAGE
+WIFI;MOTOROLA - NCAP-500;NCAP-500;S14115523075250;HS/CAGE
+WIFI;MOTOROLA - NCAP-500;NCAP-500;S14115523075501;HS/CAGE
+SWITCH;MOTOROLA - PD3001/AC;PD3001/AC;SR10136050012326801;CAGE
+WIFI;MOTOROLA - AP-5131;AP-5131;1,03445E+13;CAGE
+WIFI;HOMERIDER / CR100_ANIG;CR100_ANIG;5,32202E+15;CAGE
+ECRAN;LG - 22M37A-B;22M37A-B;504NTHM10433;CAGE
+ECRAN;LG - 22M37A-B;22M37A-B;504NTFA10427;CAGE
+UC;HP - TPC-I011-DM;TPC-I011-DM;4CH602164M;
+ECRAN;AOC - 215LM00041;215LM00041;GFRGBHA005140;CAGE
+ECRAN;AOC - 215LM00041;215LM00041;GFRGBHA005188;CAGE
+ECRAN;AOC - 215LM00063;215LM00063;B63GAQA011751;CAGE
+ECRAN;AOC - 215LM00019;215LM00019;GAXF1HA002122;CAGE
+ECRAN;FUJITSU - W2112;W2112;YV8T028276;CAGE
+ECRAN;FUJITSU - L22T-2;L22T-2;YV7Q006922;CAGE
+ECRAN;AOC - 215LM00041;215LM00041;GFRGBHA004388;CAGE
+ECRAN;ACER - V193W;V193W;ETLJE0W1811070827A4309;CAGE
+ECRAN;ACER - V193W;V193W;ETLJE0W18104900320F4306;CAGE
+ECRAN;ACER - V193W D;V193W D;ETLHV0D0929420AB808500;CAGE
+ECRAN;ACER - V193W D;V193W D;ETLHV0D0929420AB948500;CAGE
+ECRAN;ACER - V193W D;V193W D;ETLHV0D0929420A8118500;CAGE
+ECRAN;ACER - V193W;V193W;ETLPB0C186051266E940G0;CAGE
+ECRAN;ACER - V193W;V193W;ETLJE0W181049032104306;CAGE
+ECRAN;ACER - V193W D;V193W D;ETLHV0D0929420A3D68500;CAGE
+ECRAN;AOC - 215LM00063;215LM00063;B63GAQA010841;HS / P.20
+ECRAN;DELL - E2216Hf;E2216Hf;CN-0XV9JN-72872-631-DKJL-A01;HS / P.20
+ECRAN;AOC - 215LM00019;215LM00019;GAXF1HA002080;HS / P.20
+ECRAN;AOC - 215LM00063;215LM00063;B63G2QA002742;HS / P.20
+ECRAN;FUJITSU - L22T-2;L22T-2;YV5F216051;HS / P.20
+UC;DELL - OPTIPLEX 390;OPTIPLEX 390;1,86177E+11;CAGE
+UC;DELL - OPTIPLEX 3010;OPTIPLEX 3010;1,86217E+11;CAGE
+ECRAN;AOC - 215LM00063;215LM00063;B63G6QA013855;HS / P.20
+ECRAN;AOC - 215LM00019;215LM00019;FZUECHA043503;HS / P.20
+ECRAN;AOC - 215LM00063;215LM00063;B63G6QA014012;HS / P.20
+ECRAN;AOC - 215LM00063;215LM00063;B63G6QA014098;CAGE
+ECRAN;AOC - 215LM00063;215LM00063;B63G6QA001233;HS / P.20
+ECRAN;AOC - 215LM00063;215LM00063;B63GAQA011924;HS / P.20
+ECRAN;AOC - 215LM00063;215LM00063;B63G6QA001232;HS / P.20
+ECRAN;AOC - 215LM00019;215LM00019;GAXF1HA002112;HS / P.20
+ECRAN;AOC - 215LM00019;215LM00019;GAXF1HA002079;HS / P.20
+UC;DELL - OPTIPLEX 390;OPTIPLEX 390;1,86177E+11;CAGE
+ECRAN;AOC - 215LM00063;215LM00063;B63GAQA010860;HS / P.20
+ECRAN;AOC - 215LM00019;215LM00019;GAXF1HA002060;HS / P.20
+ECRAN;AOC - 215LM00032;215LM00032;KARFC1A002746;HS / P.20
+ECRAN;AOC - 215LM00063;215LM00063;B63G6QA014075;HS / P.20
+ECRAN;AOC - 215LM00019;215LM00019;GAXF1HA013119;HS / P.20
+WIFI;TP-LINK - TL-POE150S;TL-POE150S;2,16948E+12;CAGE
+SWITCH;AVOCENT - SWITCH VIEW;SWITCH VIEW;FK0241919;CAGE
+WIFI;D-LINK - DWL-G520;DWL-G520;BN2G33B004856;CAGE
+SWITCH;3COM;3300XM;7MAV1D761C078;CAGE
+SWITCH;3COM;3300XM;7MAV1D761D278;HS / CAGE
+SWITCH;TRENDNET;TE100-S80g;CA1048S849840;CAGE
+UC;WYSE;SX0;61T8DC03152;CAGE
+SWITCH;TP-LINK;TL-POE150S;127A2804999;CAGE
+SWITCH;TP-LINK;TL-POE150S;127A2804982;CAGE
diff --git a/Exemples/Fichier multiple/script-multi-fichier.ps1 b/Exemples/Fichier multiple/script-multi-fichier.ps1
new file mode 100644
index 0000000..6916cd6
--- /dev/null
+++ b/Exemples/Fichier multiple/script-multi-fichier.ps1
@@ -0,0 +1,59 @@
+$Folder = "C:\Users\hubert.cornet\Downloads\Rules\"
+
+clear
+
+$Mag = $Null
+$FinalData = $Null
+$RANK = 100
+
+For ($Num = 1 ;$Num -le 243 ; $Num++) {
+ $RANK = 10
+ $RANK = $RANK + $Num
+
+ $measureNum = $Num | Measure-Object -Character
+
+ If ($measureNum.Characters -eq 1 ) {
+ $Mag = "00"+$Num
+ }
+ ElseIf ($measureNum.Characters -eq 2 ) {
+ $Mag = "0"+$Num
+ }
+ ElseIf ($measureNum.Characters -eq 3 ) {
+ $Mag = $Num
+ }
+ Else {
+
+ }
+
+ $DataTexte = "
+
+
+ Saint-Maclou
+ RuleTicket
+ $RANK
+ MAG$Mag
+
+ AND
+ 1
+
+ 0
+ 500717c8-2bd6e957-53a12b5fd37f94.10365$Mag
+ 3
+
+
+ _locations_id_of_requester
+ 0
+ Magasins > MAG$Mag
+
+
+ assign
+ locations_id
+ Magasins > MAG$Mag
+
+
+"
+
+ $File = $Folder+"\rules-$Mag.xml"
+ Add-Content $File $DataTexte
+}
+
diff --git a/Exemples/Fichier multiple/script-un-fichier.ps1 b/Exemples/Fichier multiple/script-un-fichier.ps1
new file mode 100644
index 0000000..19de05d
--- /dev/null
+++ b/Exemples/Fichier multiple/script-un-fichier.ps1
@@ -0,0 +1,57 @@
+$File = "C:\Users\hubert.cornet\Downloads\rules-010.xml"
+
+clear
+
+$Mag = $Null
+$FinalData = $Null
+$RANK = 30
+
+For ($Num = 1 ;$Num -le 243 ; $Num++) {
+ $RANK = 10
+ $RANK = $RANK + $Num
+
+ $measureNum = $Num | Measure-Object -Character
+
+ If ($measureNum.Characters -eq 1 ) {
+ $Mag = "00"+$Num
+ }
+ ElseIf ($measureNum.Characters -eq 2 ) {
+ $Mag = "0"+$Num
+ }
+ ElseIf ($measureNum.Characters -eq 3 ) {
+ $Mag = $Num
+ }
+ Else {
+
+ }
+
+ $DataTexte = "
+
+ Saint-Maclou
+ RuleLocation
+ $RANK
+ MAG$Mag
+
+ AND
+ 1
+
+ 0
+ 500717c8-2bd6e957-53a12b5fd45f84.20365$Mag
+ 0
+
+
+ tag
+ 0
+ MAG$Mag
+
+
+ assign
+ locations_id
+ Magasins > MAG$Mag
+
+ "
+
+ $FinalData += $DataTexte
+}
+
+Add-Content $File $FinalData
diff --git a/Exemples/Finalisation.ps1 b/Exemples/Finalisation.ps1
new file mode 100644
index 0000000..ed3f801
--- /dev/null
+++ b/Exemples/Finalisation.ps1
@@ -0,0 +1,96 @@
+[void][reflection.assembly]::loadwithpartialname("system.windows.forms")
+
+Set-ExecutionPolicy Unrestricted
+Clear-Host
+
+write-host "Lancement du script"
+write-host " "
+
+# Fonction pour l'interface de saisie
+Function ModeInstall() {
+ [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
+ [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
+
+ $objForm = New-Object System.Windows.Forms.Form
+ $objForm.Text = "Finalisation serveur"
+ $objForm.Size = New-Object System.Drawing.Size(500,300)
+ $objForm.StartPosition = "CenterScreen"
+
+ $objForm.KeyPreview = $True
+ $objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter")
+ {$ClusterInstall=$objListBoxCluster.SelectedItem;$objForm.hide()}})
+ $objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape")
+ {$objForm.hide()}})
+ $objForm.AcceptButton = $OKButton
+ $objForm.CancelButton = $CancelButton
+
+ $OKButton = New-Object System.Windows.Forms.Button
+ $OKButton.Location = New-Object System.Drawing.Size(10,230)
+ $OKButton.Size = New-Object System.Drawing.Size(75,23)
+ $OKButton.Text = "OK"
+ $OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
+
+ $CancelButton = New-Object System.Windows.Forms.Button
+ $CancelButton.Location = New-Object System.Drawing.Size(200,230)
+ $CancelButton.Size = New-Object System.Drawing.Size(75,23)
+ $CancelButton.Text = "Cancel"
+ $CancelButton.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
+
+ $objLabel1 = New-Object System.Windows.Forms.Label
+ $objLabel1.Location = New-Object System.Drawing.Size(10,20)
+ $objLabel1.Size = New-Object System.Drawing.Size(280,20)
+ $objLabel1.Text = "Merci de la clé Windows 2016 pour finaliser le serveur"
+
+ $objLabel3 = New-Object System.Windows.Forms.Label
+ $objLabel3.Location = New-Object System.Drawing.Size(10,80)
+ $objLabel3.Size = New-Object System.Drawing.Size(280,20)
+ $objLabel3.Text = "clé : "
+
+ $objTextBoxKey = New-Object System.Windows.Forms.TextBox
+ $objTextBoxKey.Location = New-Object System.Drawing.Size(10,100)
+ $objTextBoxKey.Size = New-Object System.Drawing.Size(250,20)
+ $objTextBoxKey.text = "AAAAA-BBBBB-CCCCC-DDDDD-EEEEE"
+ $objForm.Controls.Add($objTextBoxKey)
+
+
+ $objForm.Controls.AddRange(@($OKButton,$CancelButton,$objLabel1,$objLabel2,$objLabel3,$objLabel4,$objListBoxServeur))
+ $objForm.Topmost = $True
+
+ $dialogResult = $objForm.ShowDialog()
+
+ if ($dialogResult -eq [System.Windows.Forms.DialogResult]::OK)
+ {
+
+ $Key = $objTextBoxKey.Text
+ #$InstallCRPCEN
+
+ $return = "$Key"
+ $return
+ }
+
+ $objForm.dispose()
+
+} # End Function DriveList
+
+write-host " *****************************************"
+Write-host " "
+
+write-host " *****************************************"
+write-host " * Génération de l'interface"
+write-host " *****************************************"
+
+$ModeInstall = ModeInstall
+write-host "- Données saisie ............................................... "
+$Blocage = $False
+
+write-host "- Validation des informations saisie ............................. "
+if ($ModeInstall -ne $null) {
+ $ModeInstall | foreach { $ModeInstall = $_ -split ';'
+ $key = $ModeInstall[0]
+} }
+
+write-host $key
+
+Dism /online /Set-Edition:ServerStandard /AcceptEula /ProductKey:$key
+
+Restart-Computer
\ No newline at end of file
diff --git a/Exemples/Get-FolderSize.ps1 b/Exemples/Get-FolderSize.ps1
new file mode 100644
index 0000000..ac3f6a8
--- /dev/null
+++ b/Exemples/Get-FolderSize.ps1
@@ -0,0 +1,125 @@
+<#
+ .SYNOPSIS
+
+ Cette fonction renvoi le nombre de fichier et la taille contenu dans le dossier ainsi que le détail pour les sous-dossiers sur N niveaux.
+ Le résultat est un tableau indiquant le nombre et la taille des fichiers directement dans le dossier ainsi que le cumul des sous dossiers.
+ Il est possible de définir l'unité pour les tailles (B,Kb,Mb,Gb), le nombre de niveau et de filtrer sur certains types de fichier (*.txt)
+ La fonction utilise Get-childitem et Measure-Object.
+ Attention à la version de PowerShell.
+
+ This function returns the number of files and the size contained in the folder as well as the detail for the subfolders on N levels.
+ The result is a table showing the number and size of files directly in the folder as well as the total of subfolders.
+ It is possible to set the unit for sizes (B, Kb, Mb, Gb), the number of level and filter on certain file types (* .txt)
+ The function uses Get-childitem and Measure-Object.
+ Watch out for the PowerShell version.
+
+
+ .DESCRIPTION
+ Cette fonction renvoie un tableau avec :
+ - chemin du dossier (Path)
+ - nombre de fichiers dans le dossier (InFolderFiles)
+ - tailles des fichiers dans le dossier (InFolderSize)
+ - nombre de fichier dans le dossier et les sous dossiers (AllFiles)
+ - tailles des fichiers du dossier et des sous dossiers (AllSize)
+
+ This function returns an array with:
+ - Path of the folder (Path)
+ - number of files in the folder (InFolderFiles)
+ - file sizes in the folder (InFolderSize)
+ - number of files in the folder and subfolders (AllFiles)
+ - file sizes of the folder and subfolders (AllSize)
+
+
+ .PARAMETER FolderPath
+
+ Chemin du dossier à analyser
+ Folder path to analyze
+
+ .PARAMETER Level
+
+ Nombre de niveau de sous dossier.
+ Number of subfolder level.
+
+ .PARAMETER unit
+
+ Unité pour les tailles de fichiers (B,Kb,Mb,Gb).Par défaut :Gb.
+ Unit for file sizes
+
+ .PARAMETER Filter (B,Kb,Mb,Gb), default Gb.
+
+ Filtre les fichiers par type. Par exemple *.txt ne compte que les fichiers txt.
+ Filters files by type. For example * .txt only counts txt files.
+
+
+ .EXAMPLE
+
+ .\Get-FolderSize.ps1 -FolderPath d:\tools -level 2
+ .EXAMPLE
+
+ .\Get-FolderSize.ps1 -FolderPath \\Server\Documents -level 2 -filter "*.doc*" -unit "kb"
+
+ .NOTES
+ Author: Philippe BARTH
+ Version: 1.0
+ #>
+
+ # Déclaration des paramètres
+ param([string]$FolderPath,[int]$level,[string]$unit="Mb",[string]$Filter="*.*")
+
+if ($level -lt 1) { $level = 1 }
+
+# Determine unit for folder size, default Gb
+Switch ($unit)
+ {
+ "Gb"
+ {
+ $div="1GB"
+ }
+
+ "Mb"
+ {
+ $div="1MB"
+ }
+
+ "Kb"
+ {
+ $div="1KB"
+ }
+ "b"
+ {
+ $div="1"
+ }
+ Default
+ {
+ $div="1GB"
+ }
+
+ }
+
+
+#init result
+$result=@()
+# search subfolder
+$SubFolders = (Get-ChildItem -path $FolderPath -recurse -Directory -Depth $($level-1)).FullName
+#add parent folder in list
+$SubFolders+=$FolderPath
+# scan all folder
+foreach ($subfolder in $SubFolders)
+ {
+ #Search file in folder and subfolder
+ $FolderSize = Get-ChildItem -path $SubFolder -filter $filter -File -recurse | Measure-Object -Sum Length
+ #Search file only in folder
+ $fileInFolder = Get-ChildItem -path $SubFolder -filter $filter -File | Measure-Object -Sum Length
+
+ #result
+ $result+= New-Object -TypeName PSObject -Property @{
+ Path = $subfolder
+ AllFiles = $foldersize.count
+ AllSize = $foldersize.sum/$div
+ InFolderFiles = $fileInFolder.count
+ InFolderSize = $fileInFolder.sum/$div
+ }
+
+ }
+
+return $result | Sort-Object -Property path
diff --git a/Exemples/Nagvis - generateur de carte/script.ps1 b/Exemples/Nagvis - generateur de carte/script.ps1
new file mode 100644
index 0000000..71b6d6c
--- /dev/null
+++ b/Exemples/Nagvis - generateur de carte/script.ps1
@@ -0,0 +1,45 @@
+cls
+
+$Folder = "C:\Users\hubert.cornet\Downloads\Centreon\maps"
+$FichierTemplate = "Mag000.cfg"
+$FichierListMag = "_liste.csv"
+
+$ListeMag = Import-CSV -Path $Folder"\"$FichierListMag -Delimiter ";"
+
+Foreach ($Mag in $ListeMag) {
+ $Number = $Mag.Magasins.SubString(3,3)
+ $TPV = $Mag.tpv.SubString(3,5)
+
+ $FichierMap = $Folder+"\Mag"+$Number+".cfg"
+
+ If (!(Test-Path -Path $FichierMap+".new") -And !(Test-Path -Path $FichierMap)) {
+ Write-host "False"
+
+ Copy-Item $Folder"\Mag000.cfg" -Destination $FichierMap+".old"
+ (Get-Content $FichierMap+".old") -Replace "Mag000", "Mag$Number" | Set-Content $FichierMap+".tmp1"
+ (Get-Content $FichierMap+".tmp1") -Replace "swa-000", "swa-$Number" | Set-Content $FichierMap+".tmp2"
+
+ If (Test-Path -Path $FichierMap+".old") {
+ Remove-Item -Path $FichierMap+".old" -Force
+ }
+
+ (Get-Content $FichierMap+".tmp2") -Replace "AAAAA", "$TPV" | Set-Content $FichierMap+".new"
+
+ If (Test-Path -Path $FichierMap+".tmp1") {
+ Remove-Item -Path $FichierMap+".tmp1" -Force
+ }
+
+ If (Test-Path -Path $FichierMap+".tmp2") {
+ Remove-Item -Path $FichierMap+".tmp2" -Force
+ }
+ }
+ Else {
+ Write-host "True"
+
+ (Get-Content $FichierMap+".new") -Replace "BBBBB", "$TPV" | Set-Content $FichierMap
+
+ If (Test-Path -Path $FichierMap+".new") {
+ Remove-Item -Path $FichierMap+".new" -Force
+ }
+ }
+}
diff --git a/Exemples/README.md b/Exemples/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/Exemples/couleur.ps1 b/Exemples/couleur.ps1
new file mode 100644
index 0000000..550c3fc
--- /dev/null
+++ b/Exemples/couleur.ps1
@@ -0,0 +1,54 @@
+function Write-Color([String[]]$Text, [ConsoleColor[]]$Color = "White", [int]$StartTab = 0, [int] $LinesBefore = 0,[int] $LinesAfter = 0, [string] $LogFile = "", $TimeFormat = "yyyy-MM-dd HH:mm:ss") {
+ # version 0.2
+ # - added logging to file
+ # version 0.1
+ # - first draft
+ #
+ # Notes:
+ # - TimeFormat https://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
+
+ $DefaultColor = $Color[0]
+ if ($LinesBefore -ne 0) { for ($i = 0; $i -lt $LinesBefore; $i++) { Write-Host "`n" -NoNewline } } # Add empty line before
+ if ($StartTab -ne 0) { for ($i = 0; $i -lt $StartTab; $i++) { Write-Host "`t" -NoNewLine } } # Add TABS before text
+ if ($Color.Count -ge $Text.Count) {
+ for ($i = 0; $i -lt $Text.Length; $i++) { Write-Host $Text[$i] -ForegroundColor $Color[$i] -NoNewLine }
+ } else {
+ for ($i = 0; $i -lt $Color.Length ; $i++) { Write-Host $Text[$i] -ForegroundColor $Color[$i] -NoNewLine }
+ for ($i = $Color.Length; $i -lt $Text.Length; $i++) { Write-Host $Text[$i] -ForegroundColor $DefaultColor -NoNewLine }
+ }
+ Write-Host
+ if ($LinesAfter -ne 0) { for ($i = 0; $i -lt $LinesAfter; $i++) { Write-Host "`n" } } # Add empty line after
+ if ($LogFile -ne "") {
+ $TextToFile = ""
+ for ($i = 0; $i -lt $Text.Length; $i++) {
+ $TextToFile += $Text[$i]
+ }
+ Write-Output "[$([datetime]::Now.ToString($TimeFormat))]$TextToFile" | Out-File $LogFile -Encoding unicode -Append
+ }
+}
+
+
+Write-Color -Text "Red ", "Green ", "Yellow " -Color Red,Green,Yellow
+
+Write-Color -Text "This is text in Green ",
+ "followed by red ",
+ "and then we have Magenta... ",
+ "isn't it fun? ",
+ "Here goes DarkCyan" -Color Green,Red,Magenta,White,DarkCyan
+
+Write-Color -Text "This is text in Green ",
+ "followed by red ",
+ "and then we have Magenta... ",
+ "isn't it fun? ",
+ "Here goes DarkCyan" -Color Green,Red,Magenta,White,DarkCyan -StartTab 3 -LinesBefore 1 -LinesAfter 1
+
+Write-Color "1. ", "Option 1" -Color Yellow, Green
+Write-Color "2. ", "Option 2" -Color Yellow, Green
+Write-Color "3. ", "Option 3" -Color Yellow, Green
+Write-Color "4. ", "Option 4" -Color Yellow, Green
+Write-Color "9. ", "Press 9 to exit" -Color Yellow, Gray -LinesBefore 1
+
+
+
+Write-Color -LinesBefore 2 -Text "This little ","message is ", "written to log ", "file as well." -Color Yellow, White, Green, Red, Red -LogFile "C:\testing.txt" -TimeFormat "yyyy-MM-dd HH:mm:ss"
+Write-Color -Text "This can get ","handy if ", "want to display things, and log actions to file ", "at the same time." -Color Yellow, White, Green, Red, Red -LogFile "C:\testing.txt"
\ No newline at end of file
diff --git a/Exemples/creation graphique - ligne/README.md b/Exemples/creation graphique - ligne/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/Exemples/creation graphique - ligne/script-002.ps1 b/Exemples/creation graphique - ligne/script-002.ps1
new file mode 100644
index 0000000..3d0e3fa
--- /dev/null
+++ b/Exemples/creation graphique - ligne/script-002.ps1
@@ -0,0 +1,55 @@
+[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization")
+$scriptpath = Split-Path -parent $MyInvocation.MyCommand.Definition
+
+# chart object
+ $chart1 = New-object System.Windows.Forms.DataVisualization.Charting.Chart
+ $chart1.Width = 1000
+ $chart1.Height = 700
+ $chart1.BackColor = [System.Drawing.Color]::White
+
+# title
+ [void]$chart1.Titles.Add("Titre")
+ $chart1.Titles[0].Font = "Arial,13pt"
+ $chart1.Titles[0].Alignment = "topLeft"
+
+# chart area
+ $chartarea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea
+ $chartarea.Name = "ChartArea1"
+ $chartarea.AxisY.Title = "Durée (en minutes)"
+ $chartarea.AxisX.Title = "Temps (en jours)"
+ $chartarea.AxisY.Interval = 100
+ $chartarea.AxisX.Interval = 1
+ $chart1.ChartAreas.Add($chartarea)
+
+# legend
+ $legend = New-Object system.Windows.Forms.DataVisualization.Charting.Legend
+ $legend.name = "Legend1"
+ $chart1.Legends.Add($legend)
+
+# data source
+ $datasource = Get-Process | sort PrivateMemorySize -Descending | Select-Object -First 15
+
+# data series
+ [void]$chart1.Series.Add("VirtualMem")
+ $chart1.Series["VirtualMem"].ChartType = "StackedBar"
+ $chart1.Series["VirtualMem"].BorderWidth = 3
+ $chart1.Series["VirtualMem"].IsVisibleInLegend = $true
+ $chart1.Series["VirtualMem"].chartarea = "ChartArea1"
+ $chart1.Series["VirtualMem"].Legend = "Legend1"
+ $chart1.Series["VirtualMem"].color = "#62B5CC"
+ $datasource | ForEach-Object {$chart1.Series["VirtualMem"].Points.addxy( $_.Name , ($_.VirtualMemorySize / 1000000)) }
+
+# data series
+ [void]$chart1.Series.Add("PrivateMem")
+ $chart1.Series["PrivateMem"].ChartType = "StackedBar"
+ $chart1.Series["PrivateMem"].IsVisibleInLegend = $true
+ $chart1.Series["PrivateMem"].BorderWidth = 3
+ $chart1.Series["PrivateMem"].chartarea = "ChartArea1"
+ $chart1.Series["PrivateMem"].Legend = "Legend1"
+ $chart1.Series["PrivateMem"].color = "#FF0000"
+ $datasource | ForEach-Object {$chart1.Series["PrivateMem"].Points.addxy( $_.Name , ($_.PrivateMemorySize / 1000000)) }
+
+# save chart
+ $chart1.SaveImage("$env:TEMP\SplineArea.png","png")
+
+ ."$env:TEMP\SplineArea.png"
\ No newline at end of file
diff --git a/Exemples/creation graphique - ligne/script.ps1 b/Exemples/creation graphique - ligne/script.ps1
new file mode 100644
index 0000000..a95a84c
--- /dev/null
+++ b/Exemples/creation graphique - ligne/script.ps1
@@ -0,0 +1,197 @@
+#Build graph
+[Array]$Line1 = 1..12 | ForEach-Object{Get-Random (10..20)}
+$p=Get-Random (14..25)
+$p%5
+[Array]$Line2 = 1..12 | ForEach-Object{
+ If($p%5 -eq 0){
+ $p-=(get-random (1..3))
+ }
+ Else{
+ $p+=(get-random (1..5))
+ }
+ $p
+}
+[Array]$Lines = $Line1,$Line2
+$Legend = "Heure cible","Heure de fin"
+$Colors = "Blue","Green"
+
+$file = ([guid]::NewGuid()).Guid
+$file = "$env:TEMP\$file.png"
+Draw-Graph -Lines $Lines -Legend $Legend -Colors $Colors -Header "Ponctualité flux AX vers DataHUB" -SaveDestination $file
+.$file
+
+Add-Type -AssemblyName System.Windows.Forms,System.Drawing
+
+Function Get-Color{
+ $rbg = @()
+
+ For($i = 0;$i -le 3;$i++){
+ Switch($i){
+ #Black
+ 0{ $rbg += 255}#Get-Random -Minimum 128 -Maximum 255 }
+ #RGB
+ Default{$rbg += Get-Random -Minimum 0 -Maximum 255}
+ }
+ }
+ Return $rbg
+}
+
+Function Draw-Graph{
+Param(
+ $Width = 1024,
+ $Height = 512,
+ [Array]$Lines,
+ [Array]$Legend,
+ [Array]$Colors,
+ $Header = "Graph",
+ $SaveDestination,
+ [Switch]$Preview
+)
+ Begin{}
+ Process{
+ If($Preview){
+ [Windows.Forms.Form]$Window = New-Object System.Windows.Forms.Form
+
+ $Window.Width = $Width
+ $Window.Height = $Height
+
+ $Window.Show()
+ $Window.Refresh()
+
+ [Drawing.Graphics]$Graph = $Window.CreateGraphics()
+ }
+ Else{
+ $bmp = New-Object Drawing.Bitmap $Width,$Height
+ $Graph = [Drawing.Graphics]::FromImage($bmp)
+
+ }
+ $Graph.InterpolationMode = [Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic
+ $Graph.SmoothingMode = [Drawing.Drawing2D.SmoothingMode]::AntiAlias
+ $Graph.TextRenderingHint = [Drawing.Text.TextRenderingHint]::AntiAlias
+ $Graph.CompositingQuality = [Drawing.Drawing2D.CompositingQuality]::HighQuality
+
+ $Background = [System.Drawing.Color]::Snow
+ $Graph.Clear($Background)
+
+ $TextBrush = New-Object Drawing.SolidBrush([System.Drawing.Color]::FromArgb(255, 0, 212,252))
+ $Font = New-object System.Drawing.Font("arial",12)
+ $gridPen = [Drawing.Pens]::LightGray
+
+ #Draw Graph area
+ $DrawArea = New-Object 'object[,]' 2,2
+
+ # X (Width)
+ [int]$DrawArea[0,0] = $Width/10
+ [int]$DrawArea[0,1] = ($Width-$Width/6)
+ # Y (Height)
+ [int]$DrawArea[1,0] = $Height/10
+ [int]$DrawArea[1,1] = ($Height-$Height/3)
+
+ # Get X bounds
+ $xFac = ($Lines | ForEach-Object{$_.Length} | Sort -Descending)[0]-1
+ $xInc = ($DrawArea[0,1]-$DrawArea[0,0]+$DrawArea[0,0])/$xFac
+
+ #Get Y bounds
+ $yMax = ($lines | ForEach-Object{$_} | sort -Descending)[0]
+ $yFac = ($DrawArea[1,1]-$DrawArea[1,0])/$yMax
+
+ #Draw box
+ $Graph.DrawRectangle($gridPen, ($DrawArea[0,0]),($DrawArea[1,0]),($DrawArea[0,1]),($DrawArea[1,1]))
+
+ #Draw Header
+ $Textpoint = New-Object System.Drawing.PointF ((($DrawArea[0,1]-$DrawArea[0,0])/2+$DrawArea[0,0]),($DrawArea[1,0]/2))
+ $Graph.DrawString($Header,$Font,$TextBrush,$TextPoint)
+
+ #Draw horizontal lines
+ $scaleFac = 0.1
+ $i = 1
+ #Get scale
+ While($i -ge 1){
+ $scaleFac = $scaleFac*10
+ $i = $yMax/$scaleFac
+ }
+ $scaleFac = $scaleFac/10
+
+ 0..($yMax/$scaleFac) | ForEach-Object{
+ $y = $DrawArea[1,1]-(($_*$scaleFac)*$yFac)+$DrawArea[1,0]
+ $x1 = $DrawArea[0,0]
+ $x2 = $DrawArea[0,1]+$DrawArea[0,0]
+
+ $Graph.DrawLine($gridPen,$x1,$y,$x2,$y)
+ $thisPoint = New-Object System.Drawing.PointF (($x1-10),($y-15))
+ $thisSF = New-object System.Drawing.StringFormat
+ $thisSF.Alignment = "Far"
+ $Graph.DrawString("$($_*$scaleFac)",$Font,$TextBrush,$thisPoint,$thisSF)
+ }
+
+ If($lines[0].Count -le 1){
+ $tmp = $Lines
+ Remove-Variable Lines
+ $Lines = @(0)
+ $Lines[0] = $tmp
+ Remove-Variable tmp
+ $Lines
+ }
+
+ #DRAW LINE
+ $l = 0
+ Foreach($Line in $Lines){
+ If($Colors.Count -gt $l){
+ $Pen = New-Object Drawing.Pen($Colors[$l])
+ }
+ Else{
+ $rgb = Get-Color
+ $Pen = New-object Drawing.Pen([System.Drawing.Color]::FromArgb($rgb[0],$rgb[1],$rgb[2],$rgb[3]))
+ }
+ $Pen.Width = 2
+
+ #Initiate/Reset Points
+ $Points = @()
+ $Step = 0
+
+ Foreach($point in $line){
+
+ $x = ($xInc*$step)+$DrawArea[0,0]
+ $y = $DrawArea[1,1]-($point*$yFac)+$DrawArea[1,0]
+
+ $Points += New-Object System.Drawing.PointF($x,$y)
+ $Step++
+ }
+ $Graph.DrawLines($pen,$Points)
+
+ If($Legend.Count -gt $l){
+ $thisLegend = $Legend[$l]
+ If($Colors.Count -gt $l){
+ $thisBrush = New-Object Drawing.SolidBrush($Colors[$l])
+ }
+ Else{
+ $rgb = Get-Color
+ $thisBrush = New-Object Drawing.SolidBrush([System.Drawing.Color]::FromArgb($rgb[0],$rgb[1],$rgb[2],$rgb[3]))
+ }
+
+ $y = $DrawArea[1,1]+$DrawArea[1,0]+20
+ $x = $DrawArea[0,0]+100*$l
+
+ $thisPoint = New-Object System.Drawing.PointF ($x,$y)
+ $thisFont = New-Object System.Drawing.Font("arial",12,[System.Drawing.FontStyle]::Bold)
+ $Graph.DrawString($thisLegend,$thisFont,$thisBrush,$thisPoint)
+ }
+ $l++
+ }
+
+ }
+ End{
+
+ If($Preview){
+ Start-Sleep 10
+ }
+ Else{
+ $bmp.save($SaveDestination)
+ }
+
+ Try{$Graph.Dispose()}Catch{}
+ Try{$bmp.Dispose()}Catch{}
+ Try{$Window.Close()}Catch{}
+ Try{$Window.Dispose()}Catch{}
+ }
+}
\ No newline at end of file
diff --git a/Exemples/création-procédure.ps1 b/Exemples/création-procédure.ps1
new file mode 100644
index 0000000..29521ff
--- /dev/null
+++ b/Exemples/création-procédure.ps1
@@ -0,0 +1,192 @@
+
+# Fonction pour créer une carte pôur NAGVIS
+#
+# Recoit en parametre :
+# - l'emplacement du fichier source
+# - l'emplacement du fichier de destination
+# - le texte à rajouter
+# - la position du texte dans l'image
+Function AjoutTextePourImageMap {
+
+ [CmdletBinding()]
+ PARAM (
+ [Parameter(Mandatory=$true)][String] $CheminSource,
+ [Parameter(Mandatory=$true)][String] $CheminDestination,
+ [Parameter(Mandatory=$true)][String] $Texte,
+ [Parameter(Mandatory=$true)][String] $Position,
+ [Parameter()][String] $Description = $null
+ )
+
+ Write-Verbose "Load System.Drawing"
+ [Reflection.Assembly]::LoadWithPartialName("System.Drawing") | Out-Null
+
+ Write-Verbose "Get the image from $CheminSource"
+ $srcImg = [System.Drawing.Image]::FromFile($CheminSource)
+
+ Write-Verbose "Create a bitmap as $destPath"
+ $outputIImg = new-object System.Drawing.Bitmap([int]($srcImg.width)),([int]($srcImg.height))
+
+ Write-Verbose "Intialize Graphics"
+ $Image = [System.Drawing.Graphics]::FromImage($outputIImg)
+ $Image.SmoothingMode = "AntiAlias"
+
+ $Rectangle = New-Object Drawing.Rectangle 0, 0, $srcImg.Width, $srcImg.Height
+ $Image.DrawImage($srcImg, $Rectangle, 0, 0, $srcImg.Width, $srcImg.Height, ([Drawing.GraphicsUnit]::Pixel))
+
+ Write-Verbose "Draw title: $Title"
+ $Font = new-object System.Drawing.Font("Arial", 14, "Bold","Pixel")
+
+ #get font size
+ $font_size = [System.Windows.Forms.TextRenderer]::MeasureText($Texte, $Font)
+ $font_size_width = $font_size.Width
+ $font_size_height = $font_size.Height
+
+ $rect = [System.Drawing.RectangleF]::FromLTRB(0, 0, $srcImg.Width, $srcImg.Height)
+
+ If ($Position -eq "nom") {
+ #$text_in_middle_top_offset = $srcImg.Height / 2
+ $text_in_middle_top_offset = 180
+ $text_in_middle_left_offset = 155
+
+ #styling font
+ $Brush = New-Object Drawing.SolidBrush([System.Drawing.Color]::FromArgb(255, 0, 0, 0))
+
+ #lets draw font
+ $Image.DrawString($Texte, $Font, $Brush, $text_in_middle_top_offset, $text_in_middle_left_offset)
+
+ }
+ ElseIf ($Position -eq "adresse") {
+ $text_in_middle_top_offset = 180
+ $text_in_middle_left_offset = 205
+
+ #styling font
+ $Brush = New-Object Drawing.SolidBrush([System.Drawing.Color]::FromArgb(255, 0, 0, 0))
+
+ #lets draw font
+ $Image.DrawString($Texte, $Font, $Brush, $text_in_middle_top_offset, $text_in_middle_left_offset)
+ }
+ ElseIf ($Position -eq "password") {
+ $text_in_middle_top_offset = 180
+ $text_in_middle_left_offset1 = 257
+ $text_in_middle_left_offset2 = 280
+
+ #styling font
+ $Brush = New-Object Drawing.SolidBrush([System.Drawing.Color]::FromArgb(255, 0, 0, 0))
+
+ #lets draw font
+ $Image.DrawString($Texte, $Font, $Brush, $text_in_middle_top_offset, $text_in_middle_left_offset1)
+ $Image.DrawString($Texte, $Font, $Brush, $text_in_middle_top_offset, $text_in_middle_left_offset2)
+ }
+ Else {
+ $format = [System.Drawing.StringFormat]::GenericDefault
+ $format.Alignment = [System.Drawing.StringAlignment]::Center
+ $format.LineAlignment = [System.Drawing.StringAlignment]::Center
+ }
+
+ Write-Verbose "Save and close the files"
+ $outputIImg.save($CheminDestination, [System.Drawing.Imaging.ImageFormat]::jpeg)
+ $outputIImg.Dispose()
+ $srcImg.Dispose()
+}
+
+
+$Nom = "DUPONT"
+$Prenom = "Flavien"
+$CRPCEN = "59159"
+$SamAccountName = "$Prenom.$Nom@no$CRPCEN.mailnot.fr"
+
+Add-Type -Path “$PSScriptRoot\itextsharp.dll”
+Import-Module "$PSScriptRoot\PDF.psm1"
+
+AjoutTextePourImageMap -CheminSource "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001.jpg" -CheminDestination "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001-temp.jpg" -Texte "$Prenom.$Nom" -Position "nom"
+AjoutTextePourImageMap -CheminSource "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001-temp.jpg" -CheminDestination "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001-temp-002.jpg" -Texte "$SamAccountName" -Position "adresse"
+AjoutTextePourImageMap -CheminSource "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001-temp-002.jpg" -CheminDestination "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001-temp-003.jpg" -Texte "*******************" -Position "password"
+
+$pdf = New-Object iTextSharp.text.Document
+Create-PDF -Document $pdf -File "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\exemple-0001.pdf" -TopMargin 20 -BottomMargin 20 -LeftMargin 20 -RightMargin 20 -Author "Patrick"
+
+$pdf.Open()
+
+Add-Text -Document $pdf -Text "1"
+Add-Text -Document $pdf -Text "2"
+Add-Text -Document $pdf -Text "3"
+Add-Text -Document $pdf -Text "4"
+Add-Text -Document $pdf -Text "5"
+Add-Text -Document $pdf -Text "6"
+Add-Text -Document $pdf -Text "7"
+Add-Text -Document $pdf -Text "8"
+Add-Text -Document $pdf -Text "9"
+Add-Text -Document $pdf -Text "10"
+Add-Text -Document $pdf -Text "11"
+Add-Text -Document $pdf -Text "12"
+Add-Text -Document $pdf -Text "13"
+Add-Text -Document $pdf -Text "14"
+Add-Text -Document $pdf -Text "15"
+Add-Text -Document $pdf -Text "16"
+Add-Text -Document $pdf -Text "17"
+Add-Text -Document $pdf -Text "18"
+Add-Text -Document $pdf -Text "19"
+Add-Text -Document $pdf -Text "20"
+Add-Text -Document $pdf -Text "21"
+Add-Text -Document $pdf -Text "22"
+Add-Text -Document $pdf -Text "23"
+Add-Text -Document $pdf -Text "24"
+Add-Text -Document $pdf -Text "25"
+Add-Text -Document $pdf -Text "26"
+Add-Text -Document $pdf -Text "27"
+Add-Text -Document $pdf -Text "28"
+Add-Text -Document $pdf -Text "29"
+Add-Text -Document $pdf -Text "30"
+Add-Text -Document $pdf -Text "31"
+Add-Text -Document $pdf -Text "32"
+Add-Text -Document $pdf -Text "33"
+Add-Text -Document $pdf -Text "34"
+Add-Text -Document $pdf -Text "35"
+Add-Text -Document $pdf -Text "36"
+Add-Text -Document $pdf -Text "37"
+Add-Text -Document $pdf -Text "38"
+Add-Text -Document $pdf -Text "39"
+Add-Text -Document $pdf -Text "40"
+
+
+Add-Title -Document $pdf -Text "Configuration de la messagerie sur Outlook" -Color "magenta" -Centered
+
+Add-Text -Document $pdf -Text ""
+Add-Text -Document $pdf -Text "Nous utilisons Outlook 2010"
+Add-Text -Document $pdf -Text ""
+Add-Text -Document $pdf -Text "Commencer par lancer l'application Outlook avec l'aide d'un des icones ci-dessous"
+
+Add-Image -Document $pdf -File "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0003.jpg"
+
+Add-Image -Document $pdf -File "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0004.jpg"
+
+
+
+Add-Image -Document $pdf -File "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0002.jpg"
+
+Add-Text -Document $pdf -Text ""
+Add-Text -Document $pdf -Text "Dans l'application"
+
+Add-Text -Document $pdf -Text ""
+Add-Text -Document $pdf -Text "Nous arrivons dans la fenêtre ci-dessous"
+
+Add-Image -Document $pdf -File "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001.jpg"
+
+Add-Text -Document $pdf -Text "Nous devons remplir les champs vide avec les informaions contenu dans le tableau"
+Add-Table -Document $pdf -Dataset @("Nom", "$Prenom.$Nom", "Adresse", "$SamAccountName", "Mot de passe", "String", "Confirmer le mot de passe", "String") -Cols 2 -Centered
+
+Add-Text -Document $pdf -Text "Nous obtenons ceci"
+Add-Image -Document $pdf -File "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001-temp-003.jpg"
+
+Add-Text -Document $pdf -Text "Nous pouvons cliquer sur le bouton"
+Add-Image -Document $pdf -File "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0005.jpg"
+
+Add-Title -Document $pdf -Text "Configuration de la messagerie sur Iphone" -Color "magenta" -Centered
+
+Add-Title -Document $pdf -Text "Configuration de la messagerie sur Androïd" -Color "magenta" -Centered
+
+$pdf.Close()
+
+Remove-Item -Path "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001-temp.jpg" -Force
+Remove-Item -Path "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001-temp-002.jpg" -Force
+Remove-Item -Path "C:\Users\hcornet\Downloads\PowerShell-PDF-master\PowerShell-PDF-master\Outlook-0001-temp-003.jpg" -Force
\ No newline at end of file
diff --git a/Exemples/etape1.ps1 b/Exemples/etape1.ps1
new file mode 100644
index 0000000..b2b7a13
--- /dev/null
+++ b/Exemples/etape1.ps1
@@ -0,0 +1,178 @@
+
+
+ #Creation de la page HTML
+
+$hostname = "Serveur 1";
+$date = Date;
+
+[System.Collections.ArrayList] $lignes = @()
+
+
+$lignes += 'Installation ServerView RAID;OK/KO'
+$lignes += 'Installation MegaRAID;OK/KO'
+$lignes += 'Installation AD-Domain-Services;OK/KO'
+$lignes += 'Installation DHCP;OK/KO'
+$lignes += 'Installation Hyper-V;OK/KO'
+$lignes += 'Installation SNMP;OK/KO'
+
+$VersionWindows = "Windows Server 2016"
+$NumeroDeSerie = "QSXRTFYJ5YIFL48"
+$CPU = "Celeron 2 Duo"
+$RAM = "256MB"
+$NombreDeDisque = "1"
+$EtatDisque = "OK"
+$EtatRaid = "OK"
+
+
+
+
+$HTML = @"
+
+
+
+
+
+
+
+
+
+
+$hostname
+$date
+
+
+
+
+
+ Version de Windows |
+ $VersionWindows |
+
+
+
+ Date |
+ $date |
+
+
+
+ Numéro de série |
+ $NumeroDeSerie |
+
+
+
+ Processeur |
+ $CPU |
+
+
+
+ RAM |
+ $RAM |
+
+
+
+ Nombre de disque |
+ $NombreDeDisque |
+
+
+
+ Etat disque |
+ $EtatDisque |
+
+
+
+ Etat Raid |
+ $EtatRaid |
+
+
+
+
+
+
+
+
+ Disque C |
+ |
+
+
+
+ Disque D |
+ |
+
+
+
+ Disque E |
+ |
+
+
+
+ Disque F |
+ |
+
+
+
+
+
+"@
+
+
+
+
+
+$table = @"
+ ETAPE 1
+
+
+ |
+ Status |
+
+"@
+
+
+
+
+ForEach($elem in $lignes){
+
+ $ligne = $elem.Split(';')
+
+ $ligne0=$ligne[0]
+ $ligne1=$ligne[1]
+
+ $table += @"
+
+ $ligne0 |
+ $ligne1 |
+
+"@
+
+}
+
+$table += '
'
+
+$HTML += $table
+
+
+
+$HTML | Out-file "C:\Users\arobert\Desktop\Powershell etapes en HTML\index1.html"
\ No newline at end of file
diff --git a/Exemples/get_remoteapps_from_appserver.ps1 b/Exemples/get_remoteapps_from_appserver.ps1
new file mode 100644
index 0000000..1c47887
--- /dev/null
+++ b/Exemples/get_remoteapps_from_appserver.ps1
@@ -0,0 +1,78 @@
+#Detect os version script is executed on
+$osversionString = (Get-WmiObject -class Win32_OperatingSystem).Caption
+If ($osversionString.Contains('2008')){ $osVersion = '2008'}
+Elseif ($osversionString.Contains('2012')){ $osversion = '2012'}
+Elseif ($osversionString.Contains('2016')){ $osversion = '2016'}
+else { $Host.SetShouldExit(1) }
+
+#function to safely define directory of the script
+function Get-ScriptDirectory
+{
+ $Invocation = (Get-Variable MyInvocation -Scope 1).Value;
+ if($Invocation.PSScriptRoot)
+ {
+ $Invocation.PSScriptRoot;
+ }
+ Elseif($Invocation.MyCommand.Path)
+ {
+ Split-Path $Invocation.MyCommand.Path
+ }
+ else
+ {
+ $Invocation.InvocationName.Substring(0,$Invocation.InvocationName.LastIndexOf("\"));
+ }
+}
+
+# Create Folder to store the csv
+$scriptDir = Get-ScriptDirectory
+$path = "$($scriptdir)\Awingu_Apps"
+if (Test-Path $path){
+ Remove-item $path -recurse
+}
+New-Item $path -type directory
+#Fetch all info to populate the csv
+$tabName = "remoteApps"
+
+#Create Table object
+$table = New-Object system.Data.DataTable "$tabName"
+
+#Define Columns
+$col1 = New-Object system.Data.DataColumn command,([string])
+$col2 = New-Object system.Data.DataColumn name,([string])
+$col3 = New-Object system.Data.DataColumn icon,([string])
+
+#Add the Columns
+$table.columns.add($col1)
+$table.columns.add($col2)
+$table.columns.add($col3)
+
+if ($osversion -eq '2008')
+{
+ Import-Module RemoteDesktopServices -verbose
+ cd RDS:
+ $remoteapps = Get-ChildItem RemoteApp\RemoteAppPrograms
+ ForEach ($remoteapp in $remoteapps) {
+ #Create a row
+ $row = $table.NewRow()
+ $row.command = $remoteapp.Name
+ $row.name = (Get-Item RemoteApp\RemoteAppPrograms\$remoteapp\DisplayName).CurrentValue
+ $row.icon = (Get-Item RemoteApp\RemoteAppPrograms\$remoteapp\Iconcontents).CurrentValue
+ $table.Rows.Add($row)
+ }
+}
+Elseif ($osversion -eq '2012' -OR $osversion -eq '2016')
+{
+ $remoteapps = get-rdsessioncollection | get-rdremoteapp
+ ForEach ($remoteapp in $remoteapps) {
+ #Create a row
+ $row = $table.NewRow()
+ $row.command = $remoteapp.ALIAS
+ $row.name = $remoteapp.DisplayName
+ $row.icon = $remoteapp.IconContents -join ','
+ $table.Rows.Add($row)
+ }
+}
+
+
+#Dump the table into the csv
+$tabCsv = $table | export-csv "$path\remoteapps.csv" -noType
\ No newline at end of file
diff --git a/Exemples/test.ps1 b/Exemples/test.ps1
new file mode 100644
index 0000000..c04f3a5
--- /dev/null
+++ b/Exemples/test.ps1
@@ -0,0 +1 @@
+Get-ADReplAccount -All -Server $env:ComputerName -NamingContext $(Get-ADDomain | select -ExpandProperty DistinguishedName) | Test-PasswordQuality -IncludeDisabledAccounts
\ No newline at end of file
diff --git a/Exemples/tirage euromillion/script-001.ps1 b/Exemples/tirage euromillion/script-001.ps1
new file mode 100644
index 0000000..f7e4c89
--- /dev/null
+++ b/Exemples/tirage euromillion/script-001.ps1
@@ -0,0 +1,22 @@
+cls
+
+$Array = @(("01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50"),("00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00","00"))
+
+For ($j=0;$j -lt 2500;$j++) {
+ $Number = Get-Random @('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49','50') -Count 1
+ $Star = Get-Random @('1','2','3','4','5','6','7','8','9','10','11','12') -Count 1
+
+ For ($i=1;$i -lt 50;$i++) {
+ If ($i -eq $Number) {
+ $Array[1][$i] = [int]$Array[1][$i] + 1
+
+ If ($Array[1][$i] -lt 10) {
+ $Array[1][$i] = "0" + $Array[1][$i]
+ }
+ }
+ }
+}
+Write-Host $Array[0]
+Write-Host
+Write-Host $Array[1]
+Write-Host
\ No newline at end of file
diff --git a/GLPI/Extraction.ps1 b/GLPI/Extraction.ps1
new file mode 100644
index 0000000..1cc5d26
--- /dev/null
+++ b/GLPI/Extraction.ps1
@@ -0,0 +1,61 @@
+Import-Module GlpiTools
+
+Set-GlpiToolsConfig -PathToGlpi "https://glpi.fr.dgs.group/apirest.php" -AppToken "A37784iAbavHXtNKOome2zhBv1bKW7ycDSkJTtk8" -UserToken "xoRND6NwIcQ8qlEz1MOJCGOhHsOlf7DDmMRQETWu"
+
+$ListeTicket = Get-GlpiToolsTickets -TicketName "[OPCON]"
+
+$Extraction = @()
+$percentComplete = $null
+$Counter = $null
+$listeTechniciens = $null
+
+ForEach($Ticket in $ListeTicket) {
+
+ $percentComplete = $(($Counter / $ListeTicket.Count) * 100 )
+
+ $Progress = @{
+ Activity = "Getting folder information for '$($Ticket.Titre)'."
+ Status = "Processing $Counter of $($ListeTicket.Count)"
+ PercentComplete = $([math]::Round($percentComplete, 2))
+ }
+
+ Write-Progress @Progress -Id 1
+
+ If ($Ticket.Statut -ne "6") {
+ If ($Ticket.Technicien) {
+ $Technicien = Get-GlpiToolsUsers -UserId $Ticket.Technicien
+
+ If ($Technicien.Count -le "1") {
+ $Extraction += [pscustomobject]@{
+ ID = $Ticket.ID
+ Titre = $Ticket.Titre
+ Entité = $Ticket.Entité
+ Demandeur = $Ticket.Demandeur
+ Status = $Ticket.Statut
+ Date_ouverture = $Ticket."Date d'ouverture"
+ Groupe_techniciens = $Ticket."Groupe de techniciens"
+ Technicien = $Technicien.realname+" "+$Technicien.firstname
+ }
+ }
+ Else {
+ Foreach ($tmp in $Technicien) {
+ $listeTechniciens += $tmp.realname + " " + $tmp.firstname + "`n"
+ }
+ $Extraction += [pscustomobject]@{
+ ID = $Ticket.ID
+ Titre = $Ticket.Titre
+ Entité = $Ticket.Entité
+ Demandeur = $Ticket.Demandeur
+ Status = $Ticket.Statut
+ Date_ouverture = $Ticket."Date d'ouverture"
+ Groupe_techniciens = $Ticket."Groupe de techniciens"
+ Technicien = $listeTechniciens
+ }
+ }
+ }
+ }
+ $Counter++
+ $listeTechniciens = $null
+}
+
+$Extraction | Export-CSV -Path "C:\Ntico\OPCON_BIRT\ReportEngine\rapports\FichierIn\ExtractionGlpi-V2.0.csv" -Force -Encoding UTF8 -NoTypeInformation
\ No newline at end of file
diff --git a/General/Cheat-Sheet-1.ps1 b/General/Cheat-Sheet-1.ps1
new file mode 100644
index 0000000..96c371f
--- /dev/null
+++ b/General/Cheat-Sheet-1.ps1
@@ -0,0 +1,197 @@
+Get-Command # Retrieves a list of all the commands available to PowerShell
+ # (native binaries in $env:PATH + cmdlets / functions from PowerShell modules)
+Get-Command -Module Microsoft* # Retrieves a list of all the PowerShell commands exported from modules named Microsoft*
+Get-Command -Name *item # Retrieves a list of all commands (native binaries + PowerShell commands) ending in "item"
+
+Get-Help # Get all help topics
+Get-Help -Name about_Variables # Get help for a specific about_* topic (aka. man page)
+Get-Help -Name Get-Command # Get help for a specific PowerShell function
+Get-Help -Name Get-Command -Parameter Module # Get help for a specific parameter on a specific command
+
+
+###################################################
+# Operators
+###################################################
+
+$a = 2 # Basic variable assignment operator
+$a += 1 # Incremental assignment operator
+$a -= 1 # Decrement assignment operator
+
+$a -eq 0 # Equality comparison operator
+$a -ne 5 # Not-equal comparison operator
+$a -gt 2 # Greater than comparison operator
+$a -lt 3 # Less than comparison operator
+
+$FirstName = 'Trevor'
+$FirstName -like 'T*' # Perform string comparison using the -like operator, which supports the wildcard (*) character. Returns $true
+
+$BaconIsYummy = $true
+$FoodToEat = $BaconIsYummy ? 'bacon' : 'beets' # Sets the $FoodToEat variable to 'bacon' using the ternary operator
+
+###################################################
+# Regular Expressions
+###################################################
+
+'Trevor' -match '^T\w*' # Perform a regular expression match against a string value. # Returns $true and populates $matches variable
+$matches[0] # Returns 'Trevor', based on the above match
+
+@('Trevor', 'Billy', 'Bobby') -match '^B' # Perform a regular expression match against an array of string values. Returns Billy, Bobby
+
+$regex = [regex]'(\w{3,8})'
+$regex.Matches('Trevor Bobby Dillon Joe Jacob').Value # Find multiple matches against a singleton string value.
+
+###################################################
+# Flow Control
+###################################################
+
+if (1 -eq 1) { } # Do something if 1 is equal to 1
+
+do { 'hi' } while ($false) # Loop while a condition is true (always executes at least once)
+
+while ($false) { 'hi' } # While loops are not guaranteed to run at least once
+while ($true) { } # Do something indefinitely
+while ($true) { if (1 -eq 1) { break } } # Break out of an infinite while loop conditionally
+
+for ($i = 0; $i -le 10; $i++) { Write-Host $i } # Iterate using a for..loop
+foreach ($item in (Get-Process)) { } # Iterate over items in an array
+
+switch ('test') { 'test' { 'matched'; break } } # Use the switch statement to perform actions based on conditions. Returns string 'matched'
+switch -regex (@('Trevor', 'Daniel', 'Bobby')) { # Use the switch statement with regular expressions to match inputs
+ 'o' { $PSItem; break } # NOTE: $PSItem or $_ refers to the "current" item being matched in the array
+}
+switch -regex (@('Trevor', 'Daniel', 'Bobby')) { # Switch statement omitting the break statement. Inputs can be matched multiple times, in this scenario.
+ 'e' { $PSItem }
+ 'r' { $PSItem }
+}
+
+###################################################
+# Variables
+###################################################
+
+
+$a = 0 # Initialize a variable
+[int] $a = 'Trevor' # Initialize a variable, with the specified type (throws an exception)
+[string] $a = 'Trevor' # Initialize a variable, with the specified type (doesn't throw an exception)
+
+Get-Command -Name *varia* # Get a list of commands related to variable management
+
+Get-Variable # Get an array of objects, representing the variables in the current and parent scopes
+Get-Variable | ? { $PSItem.Options -contains 'constant' } # Get variables with the "Constant" option set
+Get-Variable | ? { $PSItem.Options -contains 'readonly' } # Get variables with the "ReadOnly" option set
+
+New-Variable -Name FirstName -Value Trevor
+New-Variable FirstName -Value Trevor -Option Constant # Create a constant variable, that can only be removed by restarting PowerShell
+New-Variable FirstName -Value Trevor -Option ReadOnly # Create a variable that can only be removed by specifying the -Force parameter on Remove-Variable
+
+Remove-Variable -Name firstname # Remove a variable, with the specified name
+Remove-Variable -Name firstname -Force # Remove a variable, with the specified name, that has the "ReadOnly" option set
+
+###################################################
+# Functions
+###################################################
+
+function add ($a, $b) { $a + $b } # A basic PowerShell function
+
+function Do-Something { # A PowerShell Advanced Function, with all three blocks declared: BEGIN, PROCESS, END
+ [CmdletBinding]()]
+ param ()
+ begin { }
+ process { }
+ end { }
+}
+
+###################################################
+# Working with Modules
+###################################################
+
+Get-Command -Name *module* -Module mic*core # Which commands can I use to work with modules?
+
+Get-Module -ListAvailable # Show me all of the modules installed on my system (controlled by $env:PSModulePath)
+Get-Module # Show me all of the modules imported into the current session
+
+$PSModuleAutoLoadingPreference = 0 # Disable auto-loading of installed PowerShell modules, when a command is invoked
+
+Import-Module -Name NameIT # Explicitly import a module, from the specified filesystem path or name (must be present in $env:PSModulePath)
+Remove-Module -Name NameIT # Remove a module from the scope of the current PowerShell session
+
+New-ModuleManifest # Helper function to create a new module manifest. You can create it by hand instead.
+
+New-Module -Name trevor -ScriptBlock { # Create an in-memory PowerShell module (advanced users)
+ function Add($a,$b) { $a + $b } }
+
+New-Module -Name trevor -ScriptBlock { # Create an in-memory PowerShell module, and make it visible to Get-Module (advanced users)
+ function Add($a,$b) { $a + $b } } | Import-Module
+
+###################################################
+# Module Management
+###################################################
+
+Get-Command -Module PowerShellGet # Explore commands to manage PowerShell modules
+
+Find-Module -Tag cloud # Find modules in the PowerShell Gallery with a "cloud" tag
+Find-Module -Name ps* # Find modules in the PowerShell Gallery whose name starts with "PS"
+
+Install-Module -Name NameIT -Scope CurrentUser -Force # Install a module to your personal directory (non-admin)
+Install-Module -Name NameIT -Force # Install a module to your personal directory (admin / root)
+Install-Module -Name NameIT -RequiredVersion 1.9.0 # Install a specific version of a module
+
+Uninstall-Module -Name NameIT # Uninstall module called "NameIT", only if it was installed via Install-Module
+
+Register-PSRepository -Name -SourceLocation # Configure a private PowerShell module registry
+Unregister-PSRepository -Name # Deregister a PowerShell Repository
+
+
+###################################################
+# Filesystem
+###################################################
+
+New-Item -Path c:\test -ItemType Directory # Create a directory
+mkdir c:\test2 # Create a directory (short-hand)
+
+New-Item -Path c:\test\myrecipes.txt # Create an empty file
+Set-Content -Path c:\test.txt -Value '' # Create an empty file
+[System.IO.File]::WriteAllText('testing.txt', '') # Create an empty file using .NET Base Class Library
+
+Remove-Item -Path testing.txt # Delete a file
+[System.IO.File]::Delete('testing.txt') # Delete a file using .NET Base Class Library
+
+###################################################
+# Hashtables (Dictionary)
+###################################################
+
+$Person = @{
+ FirstName = 'Trevor'
+ LastName = 'Sullivan'
+ Likes = @(
+ 'Bacon',
+ 'Beer',
+ 'Software'
+ )
+} # Create a PowerShell HashTable
+
+$Person.FirstName # Retrieve an item from a HashTable
+$Person.Likes[-1] # Returns the last item in the "Likes" array, in the $Person HashTable (software)
+$Person.Age = 50 # Add a new property to a HashTable
+
+###################################################
+# Windows Management Instrumentation (WMI) (Windows only)
+###################################################
+
+Get-CimInstance -ClassName Win32_BIOS # Retrieve BIOS information
+Get-CimInstance -ClassName Win32_DiskDrive # Retrieve information about locally connected physical disk devices
+Get-CimInstance -ClassName Win32_PhysicalMemory # Retrieve information about install physical memory (RAM)
+Get-CimInstance -ClassName Win32_NetworkAdapter # Retrieve information about installed network adapters (physical + virtual)
+Get-CimInstance -ClassName Win32_VideoController # Retrieve information about installed graphics / video card (GPU)
+
+Get-CimClass -Namespace root\cimv2 # Explore the various WMI classes available in the root\cimv2 namespace
+Get-CimInstance -Namespace root -ClassName __NAMESPACE # Explore the child WMI namespaces underneath the root\cimv2 namespace
+
+
+###################################################
+# Asynchronous Event Registration
+###################################################
+
+$Watcher = [System.IO.FileSystemWatcher]::new('c:\tmp')
+Register-ObjectEvent -InputObject $Watcher -EventName Created -Action {
+ Write-Host -Object 'New file created!!!'
+} # Register for filesystem events
diff --git a/General/Get-RandomPassword.ps1 b/General/Get-RandomPassword.ps1
new file mode 100644
index 0000000..c091942
--- /dev/null
+++ b/General/Get-RandomPassword.ps1
@@ -0,0 +1,20 @@
+function Get-RandomPassword {
+ [CmdletBinding()]
+ param(
+ [int] $LettersLowerCase = 4,
+ [int] $LettersHigherCase = 2,
+ [int] $Numbers = 1,
+ [int] $SpecialChars = 0,
+ [int] $SpecialCharsLimited = 1
+ )
+ $Password = @(
+ Get-RandomCharacters -length $LettersLowerCase -characters 'abcdefghiklmnoprstuvwxyz'
+ Get-RandomCharacters -length $LettersHigherCase -characters 'ABCDEFGHKLMNOPRSTUVWXYZ'
+ Get-RandomCharacters -length $Numbers -characters '1234567890'
+ Get-RandomCharacters -length $SpecialChars -characters '!$%()=?{@#'
+ Get-RandomCharacters -length $SpecialCharsLimited -characters '!$#'
+ )
+ $StringPassword = $Password -join ''
+ $StringPassword = ($StringPassword.ToCharArray() | Get-Random -Count $StringPassword.Length) -join ''
+ return $StringPassword
+}
\ No newline at end of file
diff --git a/General/README.md b/General/README.md
new file mode 100644
index 0000000..23d342b
--- /dev/null
+++ b/General/README.md
@@ -0,0 +1 @@
+# General
diff --git a/General/Send-Mail.ps1 b/General/Send-Mail.ps1
new file mode 100644
index 0000000..f937b01
--- /dev/null
+++ b/General/Send-Mail.ps1
@@ -0,0 +1,31 @@
+# Get the credential
+$creduser = Read-Host "Sender Email"
+$credpassword = Read-Host "Sender Password"
+
+[securestring]$secStringPassword = ConvertTo-SecureString $credpassword -AsPlainText -Force
+[pscredential]$credObject = New-Object System.Management.Automation.PSCredential ($creduser, $secStringPassword)
+
+$Users = Import-Csv -Path "Send-Mail.csv" -Delimiter ";" -Encoding UTF8
+
+foreach ($User in $Users) {
+
+ ## Define the Send-MailMessage parameters
+ $mailParams = @{
+ SmtpServer = 'smtp.office365.com'
+ Port = '587'
+ UseSSL = $true
+ Credential = $credObject
+ From = $creduser
+ To = $($User.UserMail)
+ Subject = "Mail from PowerShell"
+ Body = "Hello,
+ Your email is $($User.UserMail)
"
+ DeliveryNotificationOption = 'OnFailure'
+ BodyAsHtml = $true
+ Encoding = [System.Text.Encoding]::UTF8
+ }
+
+ ## Send the message
+ Send-MailMessage @mailParams
+
+}
\ No newline at end of file
diff --git a/General/Templates/Send-Mail.csv b/General/Templates/Send-Mail.csv
new file mode 100644
index 0000000..34c9881
--- /dev/null
+++ b/General/Templates/Send-Mail.csv
@@ -0,0 +1,4 @@
+UserMail
+user1@domain.com
+user2@domain.com
+user3@domain.com
diff --git a/Hyper-V/Compact-VHD.ps1 b/Hyper-V/Compact-VHD.ps1
new file mode 100644
index 0000000..614e40b
--- /dev/null
+++ b/Hyper-V/Compact-VHD.ps1
@@ -0,0 +1,26 @@
+# Importer le moudule Hyper-V
+Import-Module -Name Hyper-V
+
+# Chemin du VHD et mode de compactage
+param(
+ [Parameter(Mandatory = $true, ValueFromPipeline = $true)][String]$Path,
+ [Parameter()][Microsoft.Vhd.PowerShell.VhdCompactMode]$Mode = [Microsoft.Vhd.PowerShell.VhdCompactMode]::Full
+)
+
+# Vérifier le fichier
+try {
+ $Path = (Resolve-Path -Path $Path -ErrorAction Stop).Path
+ if ($Path -notmatch '\.a?vhdx?$') { throw }
+}
+catch {
+ throw('{0} is not a valid VHDX file.' -f $Path)
+}
+
+# Monter le VHD
+Mount-VHD -Path $Path -ReadOnly -ErrorAction Stop
+
+# Compacter le VHD
+Optimize-VHD -Path $Path -Mode $Mode -ErrorAction Continue
+
+# Démonter le VHD
+Dismount-VHD -Path $Path
diff --git a/Hyper-V/Create-VM.ps1 b/Hyper-V/Create-VM.ps1
new file mode 100644
index 0000000..8a265cd
--- /dev/null
+++ b/Hyper-V/Create-VM.ps1
@@ -0,0 +1,108 @@
+Import-Module Hyper-V
+
+$HypervConfig = Get-VMHost | Select-Object VirtualHardDiskPath, VirtualMachinePath
+
+Write-Host ""
+Write-Host "Emlacement des VM: " $HypervConfig.VirtualMachinePath
+Write-Host "Emplacement des VHD: " $HypervConfig.VirtualHardDiskPath
+Write-Host ""
+
+$NewConfig = Read-Host "Voulez-vous changer les emplacements ? (o pour oui, non par défaut) "
+
+if ($NewConfig -eq "o") {
+
+ $HvVmPath = Read-Host "Entre un chemin pour les VM (a pour annuler)"
+
+ if (Test-Path $HvVmPath -ErrorAction SilentlyContinue) {
+ Set-VMHost -VirtualMachinePath $HvVmPath
+ }
+
+ $HvVhdPath = Read-Host "Entre un chemin pour les VHD (a pour annuler)"
+
+ if (Test-Path $HvVhdPath -ErrorAction SilentlyContinue) {
+ Set-VMHost -VirtualHardDiskPath $HvVhdPath
+ }
+
+ $HypervConfig = Get-VMHost | Select-Object VirtualHardDiskPath, VirtualMachinePath
+
+ Write-Host ""
+ Write-Host "Emlacement des VM: " $HypervConfig.VirtualMachinePath
+ Write-Host "Emplacement des VHD: " $HypervConfig.VirtualHardDiskPath
+ Write-Host ""
+
+}
+
+$Template = Read-Host "Avez-vous un template VHD pour votre VM ? (o pour oui, non par défaut) "
+
+if ($Template -eq "o") {
+ do {
+
+ $TemplatePath = Read-Host "Entre un chemin pour le VHD (a pour annuler)"
+
+ if ($TemplatePath -eq "a") {
+ break
+ }
+
+ } until (Test-Path $TemplatePath -ErrorAction SilentlyContinue)
+
+}
+
+$VMName = Read-Host "Entrez un Nom pour votre VM"
+$VMSwitch = Read-Host "Entrez un le nom du swith pour votre VM"
+New-Item -Path (Join-Path $HypervConfig.VirtualMachinePath ($VMName + "\Virtual Hard Disks")) -ItemType Directory -Force
+$VhdPath = (Join-Path $HypervConfig.VirtualMachinePath ($VMName + "\Virtual Hard Disks"))
+
+if (!(Test-Path $TemplatePath -ErrorAction SilentlyContinue)) {
+ $VhdSize = Read-Host "Entrez la capacité pour le VHDx (avec Gb à la fin)"
+ $VhdFile = $VMName + ".vhdx"
+ New-VM -Name $VMName -Generation 2 -SwitchName $VMSwitch -Path $HypervConfig.VirtualMachinePath -NewVHDPath (Join-Path $VhdPath $VhdFile) -NewVHDSizeBytes ($VhdSize)
+}
+elseif (Test-Path $TemplatePath -ErrorAction SilentlyContinue) {
+ Start-BitsTransfer -Source $TemplatePath -Destination $VhdPath
+ $VhdFile = Split-Path $TemplatePath -leaf
+ New-VM -Name $VMName -Generation 2 -SwitchName $VMSwitch -Path $HypervConfig.VirtualMachinePath -VHDPath (Join-Path $VhdPath $VhdFile)
+}
+else {
+ New-VM -Name $VMName -Generation 2 -SwitchName $VMSwitch -Path $HypervConfig.VirtualMachinePath -NoVHD
+}
+
+$VMProc = Read-Host "Entrez le nombre de processeurs pour votre VM"
+$VMRam = Read-Host "Entrez la RAM pour votre VM (avec Gb à la fin) "
+
+Set-VM -Name $VMName -CheckpointType Production -AutomaticCheckpointsEnabled $false -AutomaticStartAction Start -AutomaticStopAction Shutdown -ProcessorCount $VMProc -MemoryStartupBytes ($VMRam)
+Set-VMFirmware $VMName -EnableSecureBoot On -BootOrder ((Get-VMFirmware $VMName).BootOrder[1]), ((Get-VMFirmware $VMName).BootOrder[0])
+
+Enable-VMIntegrationService -VMName $VMName -Name "Guest Service Interface"
+
+$VMDC = Read-Host "Est-ce que votre VM est un controlleur de domaine ? (o pour oui, non par défaut) "
+if ($VMDC -eq "o") {
+ Disable-VMIntegrationService -VMName $VMName -Name "Time Synchronization"
+}
+
+$VMHdd = Read-Host "Est-ce que vous souhaitez ajouter un autre VHD à la VM ? (o pour oui, non par défaut) "
+if ($VMHdd -eq "o") {
+
+ $VhdName = Read-Host "Entrez un nom pour le VHDx (avec .vhdx)"
+ $VhdSize = Read-Host "Entrez la capacité pour le VHDx (en Gb)"
+
+ New-VHD -Path (Join-Path $VhdPath $VhdName) -SizeBytes $VhdSize -Dynamic
+
+ Add-VMHardDiskDrive -VMName $VMName -Path (Join-Path $VhdPath $VhdName)
+}
+
+$VMOs = Read-Host "Quel est l'OS de votre VM (l pour linux, Windows par défaut) "
+
+switch ($VMOs) {
+ "l" {
+
+ }
+ Default {
+
+ }
+}
+
+$StartVM = Read-Host "Voulez-Vous démarrer la VM ? (o pour oui, non par défaut) "
+
+if ($StartVM -eq "o") {
+ Start-VM $VMName
+}
\ No newline at end of file
diff --git a/Hyper-V/README.md b/Hyper-V/README.md
new file mode 100644
index 0000000..23fe8c6
--- /dev/null
+++ b/Hyper-V/README.md
@@ -0,0 +1 @@
+# Hyper-V
diff --git a/Kemp/KEMP.ps1 b/Kemp/KEMP.ps1
new file mode 100644
index 0000000..cb0efa4
--- /dev/null
+++ b/Kemp/KEMP.ps1
@@ -0,0 +1,22 @@
+Initialize-LmConnectionParameters -Address 10.101.50.1 -LBPort 443 -Credential bal -Verbose
+
+# Set variables
+$ContentMatchingRuleName = "$CRPCEN_Authentic"
+$ContentMatchingRulePattern = "/^\/$CRPCEN-Authentic.*/"
+$VirtualServiceName = "10.80.20.2"
+$VirtualServicePort = 443
+$RealServerName = "xx-P-IIS-011.xx.net"
+$RealServerPort = 80
+$CheckUrl = "xx.xx.com"
+
+# Create Content Rule
+New-AdcContentRule -RuleName $ContentMatchingRuleName -Header Host -MatchType regex -Pattern $ContentMatchingRulePattern -NoCase true
+
+# Create Sub Virtual Service
+$NASVS = New-AdcSubVirtualService -VirtualService $VirtualServiceName -VSPort $VirtualServicePort -VSProtocol tcp
+$NASVSIndex = ($NASVS.Data.VS.SubVS[-1]).VSIndex
+Set-AdcSubVirtualService -SubVSIndex $NASVSIndex -CheckHost $RealServerName -CheckPort $RealServerPort -CheckType http -CheckUrl $CheckUrl -CheckUse1_1 1 -Nickname $CheckUrl -VSType http -Weight 1000
+Set-AdcSubVirtualService -SubVSIndex $NASVSIndex -CheckHost $RealServerName -CheckPort $RealServerPort -CheckType http -CheckUrl $CheckUrl -CheckUse1_1 1 -Nickname $CheckUrl -VSType http -Weight 900
+
+# Add Real Server to Sub Virtual Service (disabled)
+New-AdcRealServer -RealServer $RealServerName -RealServerPort $RealServerPort -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 1000
diff --git a/Kemp/KEMP2.ps1 b/Kemp/KEMP2.ps1
new file mode 100644
index 0000000..d0ad35a
--- /dev/null
+++ b/Kemp/KEMP2.ps1
@@ -0,0 +1,153 @@
+Function KempAuthenticDuo {
+
+ [CmdletBinding()]
+ PARAM (
+ [Parameter(Mandatory=$true)][String] $CRPCEN,
+ [Parameter(Mandatory=$true)][String] $PortPROXY,
+ [Parameter(Mandatory=$true)][String] $Principal,
+ [Parameter(Mandatory=$true)][String] $Secondaire,
+ [Parameter()][String] $Description = $null
+ )
+
+ #Import-Module Kemp.LoadBalancer.Powershell.psd1 -errorAction SilentlyContinue -Verbose
+
+ $lm49 = ConvertTo-SecureString "F1ch0rg@PM$" -AsPlainText -Force
+ $creds = New-Object System.Management.Automation.PSCredential("bal", $lm49)
+
+ Initialize-LmConnectionParameters -Address 10.101.50.1 -LBPort 443 -Credential $creds -Verbose
+
+ #Variable
+ $ContentMatchingRuleName = $CRPCEN+"_ui_Authentic"
+ $ContentMatchingRulePattern = "/^\/$CRPCEN-ui-Authentic./"
+ $VirtualServiceName = "10.80.20.2"
+ $VirtualServicePort = 443
+ $CheckedPort = $Port
+ $SubVSName = "$CRPCEN-ui-Authentic"
+ $Url = "/$CRPCEN-ui-Authentic/kemp.jsp"
+ $AllowedVirtualHosts = "www.cloud-fichorga.fr"
+ $AllowedVirtualDirectories = "/$CRPCEN-ui-Authentic*"
+ $SchedulingMethod = "fixed"
+ #$HTTPHeaderModifications = ""
+
+ # Creation Rules & Checking > Content Rules
+ New-AdcContentRule -RuleName $ContentMatchingRuleName -MatchType regex -Pattern $ContentMatchingRulePattern -NoCase 1
+
+ # Create Sub Virtual Service
+ $NASVS = New-AdcSubVirtualService -VirtualService $VirtualServiceName -VSPort $VirtualServicePort -VSProtocol tcp
+ $NASVSIndex = ($NASVS.Data.VS.SubVS[-1]).VSIndex
+
+ Set-AdcSubVirtualService -SubVSIndex $NASVSIndex -CheckPort $PortPROXY -CheckType http -CheckUrl $Url -CheckUse1_1 0 -Nickname $SubVSName -VSType http -Weight 1000 -ESPEnabled $True -AllowedHosts $AllowedVirtualHosts -AllowedDirectories $AllowedVirtualDirectories -Schedule $SchedulingMethod -CheckUseGet 1 -AddVia 2 -StandByAddr 10.101.20.21 -StandByPort 8015
+
+ New-AdcRealServer -RealServer $Principal -RealServerPort $PortPROXY -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 800
+ New-AdcRealServer -RealServer $Secondaire -RealServerPort $PortPROXY -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 700
+
+}
+
+Function KempAuthenticQuatro {
+
+ [CmdletBinding()]
+ PARAM (
+ [Parameter(Mandatory=$true)][String] $CRPCEN,
+ [Parameter(Mandatory=$true)][String] $PortPROXY1,
+ [Parameter(Mandatory=$true)][String] $PortPROXY2,
+ [Parameter(Mandatory=$true)][String] $Principal,
+ [Parameter(Mandatory=$true)][String] $Secondaire,
+ [Parameter()][String] $Description = $null
+ )
+
+ #Import-Module Kemp.LoadBalancer.Powershell.psd1 -errorAction SilentlyContinue -Verbose
+
+ $lm49 = ConvertTo-SecureString "F1ch0rg@PM$" -AsPlainText -Force
+ $creds = New-Object System.Management.Automation.PSCredential("bal", $lm49)
+
+ Initialize-LmConnectionParameters -Address 10.101.50.1 -LBPort 443 -Credential $creds -Verbose
+
+ #Variable
+ $ContentMatchingRuleName = $CRPCEN+"_ui_Authentic"
+ $ContentMatchingRulePattern = "/^\/$CRPCEN-ui-Authentic./"
+ $VirtualServiceName = "10.80.20.2"
+ $VirtualServicePort = 443
+ $CheckedPort = $Port
+ $SubVSName = "$CRPCEN-ui-Authentic"
+ $Url = "/$CRPCEN-ui-Authentic/kemp.jsp"
+ $AllowedVirtualHosts = "www.cloud-fichorga.fr"
+ $AllowedVirtualDirectories = "/$CRPCEN-ui-Authentic*"
+ $SchedulingMethod = "fixed"
+ #$HTTPHeaderModifications = ""
+
+ # Creation Rules & Checking > Content Rules
+ New-AdcContentRule -RuleName $ContentMatchingRuleName -MatchType regex -Pattern $ContentMatchingRulePattern -NoCase 1
+
+ # Create Sub Virtual Service
+ $NASVS = New-AdcSubVirtualService -VirtualService $VirtualServiceName -VSPort $VirtualServicePort -VSProtocol tcp
+ $NASVSIndex = ($NASVS.Data.VS.SubVS[-1]).VSIndex
+
+ Set-AdcSubVirtualService -SubVSIndex $NASVSIndex -CheckPort $PortPROXY1 -CheckType http -CheckUrl $Url -CheckUse1_1 0 -Nickname $SubVSName -VSType http -Weight 1000 -ESPEnabled $True -AllowedHosts $AllowedVirtualHosts -AllowedDirectories $AllowedVirtualDirectories -Schedule $SchedulingMethod -CheckUseGet 1 -AddVia 2 -StandByAddr 10.101.20.21 -StandByPort 8015
+
+ New-AdcRealServer -RealServer $Principal -RealServerPort $PortPROXY1 -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 1000
+ New-AdcRealServer -RealServer $Principal -RealServerPort $PortPROXY2 -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 800
+
+ Start-Sleep -s 5
+
+ New-AdcRealServer -RealServer $Secondaire -RealServerPort $PortPROXY1 -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 900
+ New-AdcRealServer -RealServer $Secondaire -RealServerPort $PortPROXY2 -Enable $true -Forward nat -VSIndex $NASVSIndex -Weight 700
+
+}
+
+Import-Module Kemp.LoadBalancer.Powershell.psd1 -errorAction SilentlyContinue -Verbose
+
+$lm49 = ConvertTo-SecureString "F1ch0rg@PM$" -AsPlainText -Force
+$creds = New-Object System.Management.Automation.PSCredential("bal", $lm49)
+
+Initialize-LmConnectionParameters -Address 10.101.50.1 -LBPort 443 -Credential $creds -Verbose
+
+Foreach($Line in Get-Content C:\tmp\CRPCEN.txt) {
+
+ If ($Line -ne $null) {
+ $Line | foreach { $Line = $_ -split ';'
+ $CRPCEN = $Line[0]
+ $Serveur1 = $Line[1]
+ $PortServeur1 = $Line[2]
+ $PoidServeur1 = $Line[3]
+ $Serveur2 = $Line[4]
+ $PortServeur2 = $Line[5]
+ $PoidServeur2 = $Line[6]
+ $Serveur3 = $Line[7]
+ $PortServeur3 = $Line[8]
+ $PoidServeur3 = $Line[9]
+ $Serveur4 = $Line[10]
+ $PortServeur4 = $Line[11]
+ $PoidServeur4 = $Line[12]
+ } }
+
+ write-host "$CRPCEN"
+
+ If ($Serveur3 -ne '') {
+ write-host "ici" $Serveur3
+
+ If ( $PoidServeur1 -lt $PoidServeur2 ) {
+ write-host $CRPCEN $PortServeur1 $PortServeur2 $Serveur3 $Serveur1
+ KempAuthenticQuatro $CRPCEN $PortServeur1 $PortServeur2 $Serveur3 $Serveur1
+ }
+ Else {
+ write-host $CRPCEN $PortServeur1 $PortServeur2 $Serveur1 $Serveur3
+ KempAuthenticQuatro $CRPCEN $PortServeur1 $PortServeur2 $Serveur1 $Serveur3
+ }
+
+ }
+ Else {
+ write-host "la" $Serveur3
+
+ If ( $PoidServeur1 -lt $PoidServeur2 ) {
+ write-host $CRPCEN $PortServeur1 $Serveur2 $Serveur1
+ KempAuthenticDuo $CRPCEN $PortServeur1 $Serveur2 $Serveur1
+ }
+ Else {
+ write-host $CRPCEN $PortServeur1 $Serveur1 $Serveur2
+ KempAuthenticDuo $CRPCEN $PortServeur1 $Serveur1 $Serveur2
+ }
+ }
+
+ Start-Sleep -s 10
+
+}
\ No newline at end of file
diff --git a/Kemp/Modification-KEMP.ps1 b/Kemp/Modification-KEMP.ps1
new file mode 100644
index 0000000..b081d54
--- /dev/null
+++ b/Kemp/Modification-KEMP.ps1
@@ -0,0 +1,91 @@
+Import-Module Kemp.LoadBalancer.Powershell.psd1 -errorAction SilentlyContinue -Verbose
+
+$lm49 = ConvertTo-SecureString "F1ch0rg@PM$" -AsPlainText -Force
+$creds = New-Object System.Management.Automation.PSCredential("bal", $lm49)
+
+Initialize-LmConnectionParameters -Address 10.101.50.1 -LBPort 443 -Credential $creds -Verbose
+
+#Variable
+$VirtualServiceName = "10.80.20.2"
+$VirtualServicePort = 443
+
+$Liste = Get-AdcVirtualService -VirtualService $VirtualServiceName -VSPort $VirtualServicePort -VSProtocol tcp
+
+$VSIndex = $Liste.Data.VS.subVS.VSIndex
+
+Foreach ($VSClient in $VSIndex) {
+ $NASVS = Get-AdcSubVirtualService -SubVSIndex $VSClient
+
+ $Temp = $NASVS.DATA.VS.NickName
+ $IndexKemp = $NASVS.DATA.VS.index
+
+ $Temp | Foreach { $Temp = $_ -split '-'
+ $ValueCRPCEN = $Temp[0]
+ $ValueApp = $Temp[1]
+ }
+
+ #foreach ($Ligne Get-Content clients.csv) {
+ Foreach($Ligne in [System.IO.File]::ReadLines("D:\Data\Administration\app-2.csv")) {
+ $Ligne | Foreach { $Ligne = $_ -split ';'
+ $KempCRPCEN = $Ligne[0]
+ $KempApp = $Ligne[1]
+ $KempPrincipal = $Ligne[2]
+ $KempSecondaire = $Ligne[3]
+ $KempPort = $Ligne[4]
+ }
+
+ If($KempCRPCEN -eq $ValueCRPCEN) {
+
+ If($KempApp -eq $ValueApp) {
+
+ #write-host $KempCRPCEN"/"$KempApp"/"$KempPrincipal"/"$KempSecondaire"/"$KempPort"/"$NASVS.DATA.VS.index
+
+ If (Test-Connection $KempPrincipal -count 1 -Quiet) {
+ $ipV4Principal = Test-Connection "$KempPrincipal" -count 1 | select Ipv4Address
+
+ If ($ipV4Principal -ne $null) {
+ $ipV4Principal | foreach { $ipV4Principal = $_ -split '='
+ $ipV4PrincipalCLOUD = $ipV4Principal[1]
+ }
+
+ $ipV4PrincipalCLOUD = $ipV4PrincipalCLOUD -replace " ", ""
+ $ipV4PrincipalCLOUD = $ipV4PrincipalCLOUD -replace "}", ""
+ }
+ Else {
+ $ipV4Principal = "0.0.0.0"
+ $ipV4PrincipalCLOUD = "0.0.0.0"
+ }
+ #write-host "$ipV4PrincipalCLOUD"
+ }
+
+ If (Test-Connection $KempSecondaire -count 1 -Quiet) {
+ $ipV4Secondaire = Test-Connection "$KempSecondaire" -count 1 | select Ipv4Address
+
+ If ($ipV4Secondaire -ne $null) {
+ $ipV4Secondaire | foreach { $ipV4Secondaire = $_ -split '='
+ $ipV4SecondaireCLOUD = $ipV4Secondaire[1]
+ }
+
+ $ipV4SecondaireCLOUD = $ipV4SecondaireCLOUD -replace " ", ""
+ $ipV4SecondaireCLOUD = $ipV4SecondaireCLOUD -replace "}", ""
+ }
+ Else {
+ $ipV4Secondaire = "0.0.0.0"
+ $ipV4SecondaireCLOUD = "0.0.0.0"
+ }
+ #write-host "$ipV4SecondaireCLOUD"
+ }
+ write-host $KempCRPCEN"-"$KempApp":"$ipV4PrincipalCLOUD"/"$ipV4SecondaireCLOUD"-"$KempPort"-"$IndexKemp
+ New-AdcRealServer -RealServer $ipV4PrincipalCLOUD -RealServerPort $KempPort -Enable $true -Forward nat -VSIndex $IndexKemp -Weight 800
+ New-AdcRealServer -RealServer $ipV4SecondaireCLOUD -RealServerPort $KempPort -Enable $true -Forward nat -VSIndex $IndexKemp -Weight 700
+ Start-Sleep -s 5
+ }
+ Else {
+
+ }
+ }
+ Else {
+
+ }
+ }
+}
diff --git a/Kemp/README.md b/Kemp/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell-Help.xml b/Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell-Help.xml
new file mode 100644
index 0000000..9bc6995
--- /dev/null
+++ b/Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell-Help.xml
@@ -0,0 +1,197399 @@
+
+
+
+
+ Add-BondedInterface
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkBondedInterface
+
+
+
+
+ Add
+ BondedInterface
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkBondedInterface
+
+
+
+ Add-BondedInterface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ BondID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Add-BondedInterface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ BondID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BondID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddCluster
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoCluster
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoCluster
+
+
+
+ AddCluster
+
+ ClusterIp
+
+
+
+ String
+
+
+ ClusterName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddCluster
+
+ ClusterIp
+
+
+
+ String
+
+
+ ClusterName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ClusterName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddCountry
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDNSiteCountry
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDNSiteCountry
+
+
+
+ AddCountry
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ CountryCode
+
+
+
+ String
+
+
+ IsContinent
+
+
+
+ String
+
+
+ CustomLocation
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddCountry
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ CountryCode
+
+
+
+ String
+
+
+ IsContinent
+
+
+
+ String
+
+
+ CustomLocation
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CountryCode
+
+
+
+ String
+
+ String
+
+
+
+
+
+ IsContinent
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CustomLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddCustomLocation
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoCustomLocation
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoCustomLocation
+
+
+
+ AddCustomLocation
+
+ Location
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddCustomLocation
+
+ Location
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Location
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddFQDN
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoFQDN
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoFQDN
+
+
+
+ AddFQDN
+
+ FQDN
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddFQDN
+
+ FQDN
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-GeoFQDN
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoFQDN
+
+
+
+
+ Add
+ GeoFQDN
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoFQDN
+
+
+
+ Add-GeoFQDN
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Add-GeoFQDN
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-GeoFQDN –FQDN <FQDNName>
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-InterfaceAddress
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkInterfaceAdditionalAddress
+
+
+
+
+ Add
+ InterfaceAddress
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkInterfaceAdditionalAddress
+
+
+
+ Add-InterfaceAddress
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ Address
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Add-InterfaceAddress
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ Address
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Address
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddIP
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoIpRange
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoIpRange
+
+
+
+ AddIP
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddIP
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddIPCountry
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoIPRangeCountry
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoIPRangeCountry
+
+
+
+ AddIPCountry
+
+ IP
+
+
+
+ String
+
+
+ CountryCode
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddIPCountry
+
+ IP
+
+
+
+ String
+
+
+ CountryCode
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CountryCode
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddIPCountryCustom
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoIPRangeCustomLocation
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoIPRangeCustomLocation
+
+
+
+ AddIPCountryCustom
+
+ IP
+
+
+
+ String
+
+
+ CustomLoc
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddIPCountryCustom
+
+ IP
+
+
+
+ String
+
+
+ CustomLoc
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CustomLoc
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddMap
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoFQDNSiteAddress
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-GeoFQDNSiteAddress
+
+
+
+ AddMap
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ Cluster
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddMap
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ Cluster
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Cluster
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-NoCacheExtension
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcHttpCacheException
+
+
+
+
+ Add
+ NoCacheExtension
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcHttpCacheException
+
+
+
+ Add-NoCacheExtension
+
+ Extension
+
+
+
+ String[]
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Add-NoCacheExtension
+
+ Extension
+
+
+
+ String[]
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Extension
+
+
+
+ String[]
+
+ String[]
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-NoCompressExtension
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcHttpCompressionException
+
+
+
+
+ Add
+ NoCompressExtension
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcHttpCompressionException
+
+
+
+ Add-NoCompressExtension
+
+ Extension
+
+
+
+ String[]
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Add-NoCompressExtension
+
+ Extension
+
+
+
+ String[]
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Extension
+
+
+
+ String[]
+
+ String[]
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddSDNController
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-SdnController
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-SdnController
+
+
+
+ AddSDNController
+
+ IPV4
+
+
+
+ String
+
+
+ Port
+
+
+
+ Int32
+
+
+ Clid
+
+
+
+ Int32
+
+
+ Https
+
+
+
+ Boolean
+
+
+ User
+
+
+
+ String
+
+
+ Password
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddSDNController
+
+ IPV4
+
+
+
+ String
+
+
+ Port
+
+
+
+ Int32
+
+
+ Clid
+
+
+
+ Int32
+
+
+ Https
+
+
+
+ Boolean
+
+
+ User
+
+
+
+ String
+
+
+ Password
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IPV4
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Clid
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Https
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ User
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-VLan
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkVLAN
+
+
+
+
+ Add
+ VLan
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkVLAN
+
+
+
+ Add-VLan
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ VLanId
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Add-VLan
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ VLanId
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ VLanId
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-VxLan
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkVxLAN
+
+
+
+
+ Add
+ VxLan
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkVxLAN
+
+
+
+ Add-VxLan
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ VNI
+
+
+
+ Int32
+
+
+ Addr
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Add-VxLan
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ VNI
+
+
+
+ Int32
+
+
+ Addr
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ VNI
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Addr
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddWafCustomData
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-WafCustomRuleData
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-WafCustomRuleData
+
+
+
+ AddWafCustomData
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddWafCustomData
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AddWafCustomRule
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-WafCustomRuleSet
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-WafCustomRuleSet
+
+
+
+ AddWafCustomRule
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AddWafCustomRule
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AfeClientLimitAdd
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-LmIPConnectionLimit
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-LmIPConnectionLimit
+
+
+
+ AfeClientLimitAdd
+
+ L7addr
+
+
+
+ String
+
+
+ L7limit
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AfeClientLimitAdd
+
+ L7addr
+
+
+
+ String
+
+
+ L7limit
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ L7addr
+
+
+
+ String
+
+ String
+
+
+
+
+
+ L7limit
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AfeClientLimitDelete
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-LmIPConnectionLimit
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-LmIPConnectionLimit
+
+
+
+ AfeClientLimitDelete
+
+ L7addr
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AfeClientLimitDelete
+
+ L7addr
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ L7addr
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AfeClientLimitList
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmIPConnectionLimit
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmIPConnectionLimit
+
+
+
+ AfeClientLimitList
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ AfeClientLimitList
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Backup-Certificate
+
+ WARNING: This function is deprecated. Use the following command instead:
+Backup-TlsCertificate
+
+
+
+
+ Backup
+ Certificate
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Backup-TlsCertificate
+
+
+
+ Backup-Certificate
+
+ Password
+
+
+
+ String
+
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Backup-Certificate
+
+ Password
+
+
+
+ String
+
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Password
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Backup-LmConfiguration
+
+ Allows you to back up the LoadMaster.
+
+
+
+
+ Backup
+ LmConfiguration
+
+
+
+ Allows you to back up the LoadMaster.
+
+
+
+ Backup-LmConfiguration
+
+ Path
+
+ The local path where the LoadMaster backup file should be saved.
+
+ String
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Backup-LmConfiguration
+
+ Path
+
+ The local path where the LoadMaster backup file should be saved.
+
+ String
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The local path where the LoadMaster backup file should be saved.
+
+ String
+
+ String
+
+
+
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Backup-LmConfiguration -Path c:\backup\backup.file
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Backup-LoadBalancer
+
+ WARNING: This function is deprecated. Use the following command instead:
+Backup-LmConfiguration
+
+
+
+
+ Backup
+ LoadBalancer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Backup-LmConfiguration
+
+
+
+ Backup-LoadBalancer
+
+ Path
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Backup-LoadBalancer
+
+ Path
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Backup-TlsCertificate
+
+ Create a backup of all the certificates and intermediate certificates on the LoadMaster.
+
+
+
+
+ Backup
+ TlsCertificate
+
+
+
+ The password will be required to restore the certificate file to the load balancer.
+
+
+
+ Backup-TlsCertificate
+
+ Password
+
+ A password to encrypt the certificate backup file. This password will be needed to restore the certificate file to the LoadMaster.
+
+ String
+
+
+ Path
+
+ The local path where the certificate backup file should be saved. If no file is specified, the backup file will be saved as C:\Temp\CertificateBackup_yyyy-MM-dd_HH-mm-ss, assuming that C:\ is the System Root drive specified in the Environment variables.
+ If the input parameter Path is not set, the default location where the cmdlet tries to save the TlsCertificate is:
+$($Env:SystemRoot)\Temp
+If the above folder does not exist or it is not accessible (permissions) the cmdlet will fail.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Backup-TlsCertificate
+
+ Password
+
+ A password to encrypt the certificate backup file. This password will be needed to restore the certificate file to the LoadMaster.
+
+ String
+
+
+ Path
+
+ The local path where the certificate backup file should be saved. If no file is specified, the backup file will be saved as C:\Temp\CertificateBackup_yyyy-MM-dd_HH-mm-ss, assuming that C:\ is the System Root drive specified in the Environment variables.
+ If the input parameter Path is not set, the default location where the cmdlet tries to save the TlsCertificate is:
+$($Env:SystemRoot)\Temp
+If the above folder does not exist or it is not accessible (permissions) the cmdlet will fail.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Password
+
+ A password to encrypt the certificate backup file. This password will be needed to restore the certificate file to the LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+ The local path where the certificate backup file should be saved. If no file is specified, the backup file will be saved as C:\Temp\CertificateBackup_yyyy-MM-dd_HH-mm-ss, assuming that C:\ is the System Root drive specified in the Environment variables.
+ If the input parameter Path is not set, the default location where the cmdlet tries to save the TlsCertificate is:
+$($Env:SystemRoot)\Temp
+If the above folder does not exist or it is not accessible (permissions) the cmdlet will fail.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Backup-TlsCertificate -Password password -Path C:\temp\CertBackup_2017_04_28.16.09
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ChangeCheckerAddr
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDNSiteCheckerAddress
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDNSiteCheckerAddress
+
+
+
+ ChangeCheckerAddr
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ CheckerIP
+
+
+
+ String
+
+
+ CheckerPort
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ChangeCheckerAddr
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ CheckerIP
+
+
+
+ String
+
+
+ CheckerPort
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckerIP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckerPort
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ChangeMapLocation
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDNSiteCoordinates
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDNSiteCoordinates
+
+
+
+ ChangeMapLocation
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ Lat
+
+
+
+ Int32
+
+
+ Long
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ChangeMapLocation
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ Lat
+
+
+
+ Int32
+
+
+ Long
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Lat
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Long
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Clear-SSOCache
+
+ Flush the SSO authentication cache.
+
+
+
+
+ Clear
+ SSOCache
+
+
+
+ Flush the SSO authentication cache.
+
+
+
+ Clear-SSOCache
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Clear-SSOCache
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Clear-SSOCache
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ClusterChangeLocation
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoClusterCoordinates
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoClusterCoordinates
+
+
+
+ ClusterChangeLocation
+
+ ClusterIp
+
+
+
+ String
+
+
+ LatSecs
+
+
+
+ Int32
+
+
+ LongSecs
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ClusterChangeLocation
+
+ ClusterIp
+
+
+
+ String
+
+
+ LatSecs
+
+
+
+ Int32
+
+
+ LongSecs
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LatSecs
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LongSecs
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Confirm-LicenseEULA
+
+ Used to enter the magic cookie key returned by the ReadEula command to accept the EULA and to set the type of license used, for example trial, perm or free.
+
+
+
+
+ Confirm
+ LicenseEULA
+
+
+
+ When this command is run successfully, a second EULA and magic string will be displayed.
+ Value Description
+Trial Temporary license for users evaluating the KEMP LoadMaster
+Perm Purchased permanent LoadMaster
+Free Free LoadMaster
+
+
+
+ Confirm-LicenseEULA
+
+ Type
+
+ Use this parameter to specify the type of license that is being employed.
+The type parameter is legacy. The default value of the type parameter is Trial. This can be overwritten by setting the type parameter when running the Confirm-LicenseEULA command.
+Valid values for the type parameter are:
+Perm - Perpetual
+Free - Free (Restricted)
+Trial – Trial (Unrestricted)
+
+ String
+
+
+ Magic
+
+ The key that is is generated by the ReadEULA command.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Type
+
+ Use this parameter to specify the type of license that is being employed.
+The type parameter is legacy. The default value of the type parameter is Trial. This can be overwritten by setting the type parameter when running the Confirm-LicenseEULA command.
+Valid values for the type parameter are:
+Perm - Perpetual
+Free - Free (Restricted)
+Trial – Trial (Unrestricted)
+
+ String
+
+ String
+
+
+
+
+
+ Magic
+
+ The key that is is generated by the ReadEULA command.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Currently there are three license types available from KEMP. These are: Trial (Unrestricted), Perpetual and Free (Restricted).
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ $confirm = Confirm-LicenseEULA -Magic 82745495-48f8-4fec-895c-c21f9297d989 -Type trial
+
+$confirm
+
+
+
+
+ Example Output:
+Full response: @{Eula2=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...:
+Eula2
+-----
+@{MagicString=20864369-5d36-407c-874d-772e610c8bbc; Eula2=...
+Eula
+----
+@{MagicString=013b50b2-e3bb-468e-b64a-de78d46cdfb8; Eula=...
+Param........:
+MagicString Eula2
+----------- -----
+20864369-5d36-407c-874d-772e610c8bbc ...
+Param........:
+As part of KEMPs continuous drive to offer better value and services to our customers KEMP has introduced a Call Home feature.
+The LoadMaster can utilize Call Home to get available license updates, information regarding any updated firmware for your product and provide system status information to KEMP. The system st
+atus information will include Throughput, Enabled Features, Virtual Services and Real Servers details but will not include any unique personal information or actual traffic from your network.
+Your LoadMaster will initiate a connection to KEMP once during any 24 hour interval.
+<b>NOTE</b> – Allowing Call Home is mandatory for Free LoadMaster versions.
+For more details on this visit <a href="http://www.kemptechnologies.com/callhome" target="_blank">www.kemptechnologies.com/callhome</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Confirm-LicenseEULA2
+
+ Specify whether or not to use the Call Home feature.
+
+
+
+
+ Confirm
+ LicenseEULA2
+
+
+
+ If this is enabled, the LoadMaster regularly contacts KEMP to check for updates and other information.
+
+
+
+ Confirm-LicenseEULA2
+
+ Magic
+
+ The IP Address for the KEMP LoadMaster to which the command is being directed. This key is generated by running the ReadEULA command.
+
+ String
+
+
+ Accept
+
+ This parameter is used to accept or reject the license agreement. The possible values are; yes and no.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Magic
+
+ The IP Address for the KEMP LoadMaster to which the command is being directed. This key is generated by running the ReadEULA command.
+
+ String
+
+ String
+
+
+
+
+
+ Accept
+
+ This parameter is used to accept or reject the license agreement. The possible values are; yes and no.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ $confirm = Confirm-LicenseEULA2 -Accept yes -Magic 20864369-5d36-407c-874d-772e610c8bbc
+
+$confirm
+
+
+
+
+ Example Output:
+Full response: Command successfully executed
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CreateVpnConnection
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-LmVpnConnection
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-LmVpnConnection
+
+
+
+ CreateVpnConnection
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ CreateVpnConnection
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DelCipherset
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-TlsCipherSet
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-TlsCipherSet
+
+
+
+ DelCipherset
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DelCipherset
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteAddon
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-LmAddon
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-LmAddon
+
+
+
+ DeleteAddon
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteAddon
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteCluster
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoCluster
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoCluster
+
+
+
+ DeleteCluster
+
+ ClusterIp
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteCluster
+
+ ClusterIp
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteCustomLocation
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoCustomLocation
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoCustomLocation
+
+
+
+ DeleteCustomLocation
+
+ Location
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteCustomLocation
+
+ Location
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Location
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteFQDN
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoFQDN
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoFQDN
+
+
+
+ DeleteFQDN
+
+ FQDN
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteFQDN
+
+ FQDN
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteIP
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIpRange
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIpRange
+
+
+
+ DeleteIP
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteIP
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteIPLocation
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIPRangeCoordinates
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIPRangeCoordinates
+
+
+
+ DeleteIPLocation
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteIPLocation
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteMap
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoFQDNSiteAddress
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoFQDNSiteAddress
+
+
+
+ DeleteMap
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteMap
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteSDNController
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-SdnController
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-SdnController
+
+
+
+ DeleteSDNController
+
+ Clid
+
+
+
+ Int32
+
+
+ Cid
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteSDNController
+
+ Clid
+
+
+
+ Int32
+
+
+ Cid
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Clid
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Cid
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteTemplate
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-Template
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-Template
+
+
+
+ DeleteTemplate
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteTemplate
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeleteVpnConnection
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-LmVpnConnection
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-LmVpnConnection
+
+
+
+ DeleteVpnConnection
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DeleteVpnConnection
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DelWafCustomData
+
+ WARNING: This function is deprecated. Use the following command instead:
+Uninstall-WafCustomRuleData
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Uninstall-WafCustomRuleData
+
+
+
+ DelWafCustomData
+
+ Filename
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DelWafCustomData
+
+ Filename
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Filename
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DelWafCustomRule
+
+ WARNING: This function is deprecated. Use the following command instead:
+Uninstall-WafCustomRuleSet
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Uninstall-WafCustomRuleSet
+
+
+
+ DelWafCustomRule
+
+ Filename
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DelWafCustomRule
+
+ Filename
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Filename
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable-AdcRealServer
+
+ Disables the specified Real Server.
+
+
+
+
+ Disable
+ AdcRealServer
+
+
+
+ Disables the specified Real Server.
+
+
+
+ Disable-AdcRealServer
+
+ RSIpaddress
+
+ The IP address of the Real Server to disable.
+
+ String
+
+
+ RSPort
+
+ The port of the Real Server to disable.
+
+ Int32
+
+
+ RSFqdn
+
+ The Fully Qualified Domain Name (FQDN) of the Real Server to disable.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Disable-AdcRealServer
+
+ RSIpaddress
+
+ The IP address of the Real Server to disable.
+
+ String
+
+
+ RSPort
+
+ The port of the Real Server to disable.
+
+ Int32
+
+
+ RSFqdn
+
+ The Fully Qualified Domain Name (FQDN) of the Real Server to disable.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RSIpaddress
+
+ The IP address of the Real Server to disable.
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+ The port of the Real Server to disable.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSFqdn
+
+ The Fully Qualified Domain Name (FQDN) of the Real Server to disable.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ IPAddress
+
+ The IP Address of the Real Server that should be disabled on the load balancer. This parameter is required.
+The IP address can be in either the IPv4 or IPv6 formats.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Disable-AdcRealServer -IPAddress 10.11.0.24
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable-ClusterNode
+
+ Disables the specified node.
+
+
+
+
+ Disable
+ ClusterNode
+
+
+
+ Disables the specified node.
+
+
+
+ Disable-ClusterNode
+
+ NodeId
+
+ The ID number of the node to be disabled. The ID of the node can be found in the ID column in the Cluster Control screen in the LoadMaster WUI.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Disable-ClusterNode
+
+ NodeId
+
+ The ID number of the node to be disabled. The ID of the node can be found in the ID column in the Cluster Control screen in the LoadMaster WUI.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ NodeId
+
+ The ID number of the node to be disabled. The ID of the node can be found in the ID column in the Cluster Control screen in the LoadMaster WUI.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Disable-ClusterNode -NodeId 2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DisableGEO
+
+ WARNING: This function is deprecated. Use the following command instead:
+Disable-LmGeoPack
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Disable-LmGeoPack
+
+
+
+ DisableGEO
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DisableGEO
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable-LmGeoPack
+
+ Disables GEO globally for the LoadMaster.
+
+
+
+
+ Disable
+ LmGeoPack
+
+
+
+ Disables GEO globally for the LoadMaster.
+
+
+
+ Disable-LmGeoPack
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Disable-LmGeoPack
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Disable-LmGeoPack
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable-RealServer
+
+ WARNING: This function is deprecated. Use the following command instead:
+Disable-AdcRealServer
+
+
+
+
+ Disable
+ RealServer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Disable-AdcRealServer
+
+
+
+ Disable-RealServer
+
+ RSIpaddress
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSFqdn
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Disable-RealServer
+
+ RSIpaddress
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSFqdn
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RSIpaddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSFqdn
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable-SecAPIAccess
+
+ Disables the programmable Application Program Interface (API).
+
+
+
+
+ Disable
+ SecAPIAccess
+
+
+
+ Run this command to disable the API interface.
+
+
+
+ Disable-SecAPIAccess
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Disable-SecAPIAccess
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If this is disabled, the API will no longer be accessible.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Disable-SecAPIAccess
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=The API is disabled; Data=}
+Return Code..: 200
+Response.....: The API is disabled
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DisableWafRemoteLogging
+
+ WARNING: This function is deprecated. Use the following command instead:
+Disable-WafRemoteLogging
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Disable-WafRemoteLogging
+
+
+
+ DisableWafRemoteLogging
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DisableWafRemoteLogging
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable-WafRemoteLogging
+
+ Allows you to turn off WAF remote logging.
+
+
+
+
+ Disable
+ WafRemoteLogging
+
+
+
+ Allows you to turn off WAF remote logging.
+
+
+
+ Disable-WafRemoteLogging
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Disable-WafRemoteLogging
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Disable-WafRemoteLogging -LoadBalancer <LoadMasterIPAddress>
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DoTcpDump
+
+ WARNING: This function is deprecated. Use the following command instead:
+Trace-TcpTraffic
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Trace-TcpTraffic
+
+
+
+ DoTcpDump
+
+ MaxPackets
+
+ The maximum number of packets to capture. The default value for this parameter is 10000. Valid values range from 1 to 200000. The maximum is the API maximum. The actual maximum size is defined by the space available.
+
+ Int32
+
+
+ MaxTime
+
+ The maximum number of seconds to capture. The default value for this parameter is 10. Valid values range from 1 to 600.
+
+ Int32
+
+
+ Interface
+
+ The interface(s) to monitor. The default interface is eth0. A TCP dump can be captured either by one or all Ethernet ports.
+
+ String
+
+
+ Port
+
+ The port to be monitored.
+
+ String
+
+
+ Address
+
+ The (optional) address to be monitored.
+
+ String
+
+
+ TcpOptions
+
+ Any additional TCPDump parameters needed. The maximum number of characters permitted is 255.
+
+ String
+
+
+ Path
+
+ The path to export a saved file to. If the path parameter is not populated, the path defaults to <WindowsDirectory>\Temp\tcpdump_<Timestamp>.pcap.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ DoTcpDump
+
+ MaxPackets
+
+ The maximum number of packets to capture. The default value for this parameter is 10000. Valid values range from 1 to 200000. The maximum is the API maximum. The actual maximum size is defined by the space available.
+
+ Int32
+
+
+ MaxTime
+
+ The maximum number of seconds to capture. The default value for this parameter is 10. Valid values range from 1 to 600.
+
+ Int32
+
+
+ Interface
+
+ The interface(s) to monitor. The default interface is eth0. A TCP dump can be captured either by one or all Ethernet ports.
+
+ String
+
+
+ Port
+
+ The port to be monitored.
+
+ String
+
+
+ Address
+
+ The (optional) address to be monitored.
+
+ String
+
+
+ TcpOptions
+
+ Any additional TCPDump parameters needed. The maximum number of characters permitted is 255.
+
+ String
+
+
+ Path
+
+ The path to export a saved file to. If the path parameter is not populated, the path defaults to <WindowsDirectory>\Temp\tcpdump_<Timestamp>.pcap.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ MaxPackets
+
+ The maximum number of packets to capture. The default value for this parameter is 10000. Valid values range from 1 to 200000. The maximum is the API maximum. The actual maximum size is defined by the space available.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ MaxTime
+
+ The maximum number of seconds to capture. The default value for this parameter is 10. Valid values range from 1 to 600.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Interface
+
+ The interface(s) to monitor. The default interface is eth0. A TCP dump can be captured either by one or all Ethernet ports.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port to be monitored.
+
+ String
+
+ String
+
+
+
+
+
+ Address
+
+ The (optional) address to be monitored.
+
+ String
+
+ String
+
+
+
+
+
+ TcpOptions
+
+ Any additional TCPDump parameters needed. The maximum number of characters permitted is 255.
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+ The path to export a saved file to. If the path parameter is not populated, the path defaults to <WindowsDirectory>\Temp\tcpdump_<Timestamp>.pcap.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ DoTcpDump -MaxPackets 15000 -Interface any -Port 443 -MaxTime 800 -Path c:\temp\out.pcap
+
+
+
+
+ Example Output:
+No output is displayed, but a file will be downloaded to the specified path.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DownloadWafAuditLog
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-WafAuditLog
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-WafAuditLog
+
+
+
+ DownloadWafAuditLog
+
+ Path
+
+
+
+ String
+
+
+ AuditFile
+
+
+
+ String
+
+
+ Filter
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DownloadWafAuditLog
+
+ Path
+
+
+
+ String
+
+
+ AuditFile
+
+
+
+ String
+
+
+ Filter
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AuditFile
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Filter
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DownloadWafCustomData
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-WafCustomRuleData
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-WafCustomRuleData
+
+
+
+ DownloadWafCustomData
+
+ Path
+
+
+
+ String
+
+
+ RuleDataName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DownloadWafCustomData
+
+ Path
+
+
+
+ String
+
+
+ RuleDataName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RuleDataName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DownloadWafCustomRule
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-WafCustomRuleSet
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-WafCustomRuleSet
+
+
+
+ DownloadWafCustomRule
+
+ Path
+
+
+
+ String
+
+
+ RuleSetName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DownloadWafCustomRule
+
+ Path
+
+
+
+ String
+
+
+ RuleSetName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RuleSetName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DownloadWafRules
+
+ WARNING: This function is deprecated. Use the following command instead:
+Update-WafRulesDatabase
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Update-WafRulesDatabase
+
+
+
+ DownloadWafRules
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ DownloadWafRules
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An error might be displayed, for example Command Failed: Download Failed if there is a problem downloading the rules.
+ If there are no updates because the latest rules have already been downloaded, a message will be displayed which says No updates available.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ DownloadWafRules
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EditCustomLocation
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoCustomLocation
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoCustomLocation
+
+
+
+ EditCustomLocation
+
+ clOldName
+
+
+
+ String
+
+
+ clNewName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ EditCustomLocation
+
+ clOldName
+
+
+
+ String
+
+
+ clNewName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ clOldName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ clNewName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enable-AdcRealServer
+
+ Enables a specified Real Server that is currently disabled.
+
+
+
+
+ Enable
+ AdcRealServer
+
+
+
+ Enables a specified Real Server that is currently disabled.
+
+
+
+ Enable-AdcRealServer
+
+ RSIpAddress
+
+ The IP address of the Real Server to enable.
+
+ String
+
+
+ RSPort
+
+ The port of the Real Server to enable.
+
+ Int32
+
+
+ RSFqdn
+
+ The Fully Qualified Domain Name (FQDN) of the Real Server to enable.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Enable-AdcRealServer
+
+ RSIpAddress
+
+ The IP address of the Real Server to enable.
+
+ String
+
+
+ RSPort
+
+ The port of the Real Server to enable.
+
+ Int32
+
+
+ RSFqdn
+
+ The Fully Qualified Domain Name (FQDN) of the Real Server to enable.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RSIpAddress
+
+ The IP address of the Real Server to enable.
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+ The port of the Real Server to enable.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSFqdn
+
+ The Fully Qualified Domain Name (FQDN) of the Real Server to enable.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ IPAddress
+
+ The IP Address of the Real Server that should be enabled on the load balancer. This parameter is required.
+The IP address can be in either the IPv4 (e.g. 10.11.0.24) or IPv6 (e.g. fdce:9b36:e54f:110::40:14) format.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Enable-AdcRealServer -RSIpAddress 10.154.11.84
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Rs=}
+Param........: @{Status=Down; VSIndex=1; RsIndex=4; Addr=10.154.11.84; Port=443; DnsName=; Forward=route; Weight=1000; Limit=0; Follow=0; Enable=Y; Crit
+ical=N}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enable-ClusterNode
+
+ Enables the specified node.
+
+
+
+
+ Enable
+ ClusterNode
+
+
+
+ Enables the specified node.
+
+
+
+ Enable-ClusterNode
+
+ NodeId
+
+ The ID number of the node to be enabled. The ID of the node can be found in the ID column in the Cluster Control screen in the LoadMaster WUI.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Enable-ClusterNode
+
+ NodeId
+
+ The ID number of the node to be enabled. The ID of the node can be found in the ID column in the Cluster Control screen in the LoadMaster WUI.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ NodeId
+
+ The ID number of the node to be enabled. The ID of the node can be found in the ID column in the Cluster Control screen in the LoadMaster WUI.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Enable-ClusterNode -NodeId 2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnableGEO
+
+ WARNING: This function is deprecated. Use the following command instead:
+Enable-LmGeoPack
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Enable-LmGeoPack
+
+
+
+ EnableGEO
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ EnableGEO
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enable-LmGeoPack
+
+ Enables GEO globally for the LoadMaster.
+
+
+
+
+ Enable
+ LmGeoPack
+
+
+
+ Enables GEO globally for the LoadMaster.
+
+
+
+ Enable-LmGeoPack
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Enable-LmGeoPack
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Enable-LmGeoPack
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enable-RealServer
+
+ WARNING: This function is deprecated. Use the following command instead:
+Enable-AdcRealServer
+
+
+
+
+ Enable
+ RealServer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Enable-AdcRealServer
+
+
+
+ Enable-RealServer
+
+ RSIpAddress
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSFqdn
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Enable-RealServer
+
+ RSIpAddress
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSFqdn
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RSIpAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSFqdn
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enable-SecAPIAccess
+
+ Enables the programmable Application Program Interface (API).
+
+
+
+
+ Enable
+ SecAPIAccess
+
+
+
+ Run this command to enable the API interface.
+
+
+
+ Enable-SecAPIAccess
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Enable-SecAPIAccess
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Enable-SecAPIAccess
+
+
+
+
+ ReturnCode Response Data
+---------- -------- ----
+ 200 The API is enabled
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnableWafRemoteLogging
+
+ WARNING: This function is deprecated. Use the following command instead:
+Enable-WafRemoteLogging
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Enable-WafRemoteLogging
+
+
+
+ EnableWafRemoteLogging
+
+ RemoteURI
+
+
+
+ String
+
+
+ Username
+
+
+
+ String
+
+
+ Passwd
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ EnableWafRemoteLogging
+
+ RemoteURI
+
+
+
+ String
+
+
+ Username
+
+
+
+ String
+
+
+ Passwd
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RemoteURI
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Username
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Passwd
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enable-WafRemoteLogging
+
+ Allows you to enable WAF remote logging.
+
+
+
+
+ Enable
+ WafRemoteLogging
+
+
+
+ Allows you to enable WAF remote logging.
+
+
+
+ Enable-WafRemoteLogging
+
+ RemoteURI
+
+ The remote server console URI.
+
+ String
+
+
+ Username
+
+ The remote username.
+
+ String
+
+
+ Passwd
+
+ The remote password.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Enable-WafRemoteLogging
+
+ RemoteURI
+
+ The remote server console URI.
+
+ String
+
+
+ Username
+
+ The remote username.
+
+ String
+
+
+ Passwd
+
+ The remote password.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RemoteURI
+
+ The remote server console URI.
+
+ String
+
+ String
+
+
+
+
+
+ Username
+
+ The remote username.
+
+ String
+
+ String
+
+
+
+
+
+ Passwd
+
+ The remote password.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Enable-WafRemoteLogging -Passwd ExamplePassword -RemoteURI ExampleRemoteURI -Username ExampleUsername
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-GeoIPBlacklistDatabase
+
+ Retrieve the GEO IP blacklist.
+
+
+
+
+ Export
+ GeoIPBlacklistDatabase
+
+
+
+ Run this command to display the current, full GEO IP blacklist.
+
+
+
+ Export-GeoIPBlacklistDatabase
+
+ filename
+
+ This parameter is mandatory. This is the desired path and filename for the file that will be downloaded from the LoadMaster. If a file with the same name already exists, the command will fail. If no data is available on the LoadMaster, the command returns an empty file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Export-GeoIPBlacklistDatabase
+
+ filename
+
+ This parameter is mandatory. This is the desired path and filename for the file that will be downloaded from the LoadMaster. If a file with the same name already exists, the command will fail. If no data is available on the LoadMaster, the command returns an empty file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ filename
+
+ This parameter is mandatory. This is the desired path and filename for the file that will be downloaded from the LoadMaster. If a file with the same name already exists, the command will fail. If no data is available on the LoadMaster, the command returns an empty file.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-GeoIPBlacklistDatabase -filename 'C:\Users\ExampleUser\Documents\temp\blacklist.txt'
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-GeoIPBlacklistDatabaseChanges
+
+ Retrieve a list of changes which were made to the blacklist.
+
+
+
+
+ Export
+ GeoIPBlacklistDatabaseChanges
+
+
+
+ To retrieve a list of changes which were made as of the last download, run this command.
+
+
+
+ Export-GeoIPBlacklistDatabaseChanges
+
+ filename
+
+ This parameter is mandatory. This is the desired path and filename for the file that will be downloaded from the LoadMaster. If a file with the same name already exists, the command will fail. If no data is available on the LoadMaster, the command returns an empty file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Export-GeoIPBlacklistDatabaseChanges
+
+ filename
+
+ This parameter is mandatory. This is the desired path and filename for the file that will be downloaded from the LoadMaster. If a file with the same name already exists, the command will fail. If no data is available on the LoadMaster, the command returns an empty file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ filename
+
+ This parameter is mandatory. This is the desired path and filename for the file that will be downloaded from the LoadMaster. If a file with the same name already exists, the command will fail. If no data is available on the LoadMaster, the command returns an empty file.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-GeoIPBlacklistDatabaseChanges -filename c:\t\example
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-GeoIPWhitelistDatabase
+
+ Retrieve the contents of the user-defined whitelist.
+
+
+
+
+ Export
+ GeoIPWhitelistDatabase
+
+
+
+ To view the user-defined whitelist (which overrides the blacklist), run this command.
+
+
+
+ Export-GeoIPWhitelistDatabase
+
+ filename
+
+ This parameter is mandatory. This is the desired path and filename for the file that will be downloaded from the LoadMaster. If a file with the same name already exists, the command will fail. If no data is available on the LoadMaster, the command returns an empty file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Export-GeoIPWhitelistDatabase
+
+ filename
+
+ This parameter is mandatory. This is the desired path and filename for the file that will be downloaded from the LoadMaster. If a file with the same name already exists, the command will fail. If no data is available on the LoadMaster, the command returns an empty file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ filename
+
+ This parameter is mandatory. This is the desired path and filename for the file that will be downloaded from the LoadMaster. If a file with the same name already exists, the command will fail. If no data is available on the LoadMaster, the command returns an empty file.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-GeoIPWhitelistDatabase -filename c:\t\example3
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-SAMLSPCert
+
+ If using a self-signed certificate, the Export-SAMLSPCert command is used to download the certificate from the LoadMaster.
+
+
+
+
+ Export
+ SAMLSPCert
+
+
+
+ This certificate must be installed on the IdP server (for example AD FS) in order to be added to the relying party signature.
+The AD FS server will require this certificate for use of the public key in order to verify the signatures that the LoadMaster generates.
+
+
+
+ Export-SAMLSPCert
+
+ Domain
+
+ The name of the relevant SAML SSO domain to download the certificate for.
+
+ String
+
+
+ CertificateFilePath
+
+ The CertificateFilePath parameter of the Export-SAMLSPCert is the name of the file where to store the certificate, not a path. The name can be with or without the path. If no path is provided, the file is stored in current working directory. If the file is already present the command fails. To overwrite it, the Force switch must be used.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Export-SAMLSPCert
+
+ Domain
+
+ The name of the relevant SAML SSO domain to download the certificate for.
+
+ String
+
+
+ CertificateFilePath
+
+ The CertificateFilePath parameter of the Export-SAMLSPCert is the name of the file where to store the certificate, not a path. The name can be with or without the path. If no path is provided, the file is stored in current working directory. If the file is already present the command fails. To overwrite it, the Force switch must be used.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ Domain
+
+ The name of the relevant SAML SSO domain to download the certificate for.
+
+ String
+
+ String
+
+
+
+
+
+ CertificateFilePath
+
+ The CertificateFilePath parameter of the Export-SAMLSPCert is the name of the file where to store the certificate, not a path. The name can be with or without the path. If no path is provided, the file is stored in current working directory. If the file is already present the command fails. To overwrite it, the Force switch must be used.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-SAMLSPCert -CertificateFilePath C:\ExamplePath\SAMLCert -Domain example.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-SecUserCertificate
+
+ Download a previously generated local user certificate.
+
+
+
+
+ Export
+ SecUserCertificate
+
+
+
+ Download a previously generated local user certificate.
+
+
+
+ Export-SecUserCertificate
+
+ User
+
+ The relevant username to download the certificate for.
+
+ String
+
+
+ Path
+
+ The location to store the certificate file in.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Export-SecUserCertificate
+
+ User
+
+ The relevant username to download the certificate for.
+
+ String
+
+
+ Path
+
+ The location to store the certificate file in.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ User
+
+ The relevant username to download the certificate for.
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+ The location to store the certificate file in.
+
+ String
+
+ String
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-KEMPSecUserCertificate -Path c:\temp\cert -User Example
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ExportVSTemplate
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-VSTemplate
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-VSTemplate
+
+
+
+ ExportVSTemplate
+
+ VirtualService
+
+ Specify the IP address of the Virtual Service to be exported as a template.
+
+ String
+
+
+ Port
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ Int32
+
+
+ Protocol
+
+ Specifies the communication protocol of the Virtual Service. Valid options are TCP or UDP.
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ Path
+
+ The path to the location to download the template file to, followed by the desired template file name, in the format <Path>\<Filename>.txt.
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ExportVSTemplate
+
+ VirtualService
+
+ Specify the IP address of the Virtual Service to be exported as a template.
+
+ String
+
+
+ Port
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ Int32
+
+
+ Protocol
+
+ Specifies the communication protocol of the Virtual Service. Valid options are TCP or UDP.
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ Path
+
+ The path to the location to download the template file to, followed by the desired template file name, in the format <Path>\<Filename>.txt.
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ Specify the IP address of the Virtual Service to be exported as a template.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Protocol
+
+ Specifies the communication protocol of the Virtual Service. Valid options are TCP or UDP.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Path
+
+ The path to the location to download the template file to, followed by the desired template file name, in the format <Path>\<Filename>.txt.
+
+ String
+
+ String
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ExportVSTemplate -Path C:\Temp\ExampleTemplateName.txt -Port 80 -Protocol tcp -VirtualService 172.20.0.234
+
+
+
+
+ Example Output:
+No output is displayed, but the file should be downloaded to the specified location.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-VSTemplate
+
+ Export a Virtual Service as a template.
+
+
+
+
+ Export
+ VSTemplate
+
+
+
+ Export the settings in a Virtual Service as a template that can be used to create other Virtual Services.
+
+
+
+ Export-VSTemplate
+
+ VirtualService
+
+ The IP address of the Virtual Service to export.
+
+ String
+
+
+ Port
+
+ The port of the Virtual Service to export.
+
+ Int32
+
+
+ Protocol
+
+ The protocol of the Virtual Service to export.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service to export.
+
+ Int32
+
+
+ Path
+
+ The location to save the exported template to, in the format <path>\<filename>.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Export-VSTemplate
+
+ VirtualService
+
+ The IP address of the Virtual Service to export.
+
+ String
+
+
+ Port
+
+ The port of the Virtual Service to export.
+
+ Int32
+
+
+ Protocol
+
+ The protocol of the Virtual Service to export.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service to export.
+
+ Int32
+
+
+ Path
+
+ The location to save the exported template to, in the format <path>\<filename>.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The IP address of the Virtual Service to export.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port of the Virtual Service to export.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Protocol
+
+ The protocol of the Virtual Service to export.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the Virtual Service to export.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Path
+
+ The location to save the exported template to, in the format <path>\<filename>.
+
+ String
+
+ String
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-VSTemplate -Path C:\t\template -Port 443 -Protocol tcp -VirtualService 10.154.11.181
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-WafAuditLog
+
+ Allows you to download the AFP audit logs.
+
+
+
+
+ Export
+ WafAuditLog
+
+
+
+ Allows you to download the AFP audit logs.
+
+
+
+ Export-WafAuditLog
+
+ Path
+
+ Path to where you want to download the AFP audit logs to. You can either specify a path or a path and filename.
+ If the parameter Path does not contain a filename but only a path and the AuditFile parameter is not null, path will be set to the value path/filename.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\wafaudit_$(Get-Date -format yyyy-MM-dd_HH-mm-ss).log. Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+
+ AuditFile
+
+ The name of the WAF audit log file to be downloaded, for example wafaudit.1.
+
+ String
+
+
+ Filter
+
+ The filter string. This can be a regular expression.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Export-WafAuditLog
+
+ Path
+
+ Path to where you want to download the AFP audit logs to. You can either specify a path or a path and filename.
+ If the parameter Path does not contain a filename but only a path and the AuditFile parameter is not null, path will be set to the value path/filename.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\wafaudit_$(Get-Date -format yyyy-MM-dd_HH-mm-ss).log. Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+
+ AuditFile
+
+ The name of the WAF audit log file to be downloaded, for example wafaudit.1.
+
+ String
+
+
+ Filter
+
+ The filter string. This can be a regular expression.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ Path to where you want to download the AFP audit logs to. You can either specify a path or a path and filename.
+ If the parameter Path does not contain a filename but only a path and the AuditFile parameter is not null, path will be set to the value path/filename.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\wafaudit_$(Get-Date -format yyyy-MM-dd_HH-mm-ss).log. Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+ String
+
+
+
+
+
+ AuditFile
+
+ The name of the WAF audit log file to be downloaded, for example wafaudit.1.
+
+ String
+
+ String
+
+
+
+
+
+ Filter
+
+ The filter string. This can be a regular expression.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The AFP logs are not generated in real time – they can be up to two minutes behind what the AFP engine is actually processing.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-WafAuditLog -Path C:\WAFLogs\ExampleDesiredFileName -File wafaudit.1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-WafChangeLog
+
+ Used to download a log file containing changes made to the KEMP Technologies Web Application Firewall (WAF) rule set.
+
+
+
+
+ Export
+ WafChangeLog
+
+
+
+ Used to download a log file containing changes made to the KEMP Technologies Web Application Firewall (WAF) rule set.
+
+
+
+ Export-WafChangeLog
+
+ Path
+
+ The path to download the change log file to, followed by the filename and extension, in the format <Path\Filename.Extension>.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\WAF_changes_$(Get-Date -format yyyy-MM-dd_HH-mm-ss).log. Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Export-WafChangeLog
+
+ Path
+
+ The path to download the change log file to, followed by the filename and extension, in the format <Path\Filename.Extension>.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\WAF_changes_$(Get-Date -format yyyy-MM-dd_HH-mm-ss).log. Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to download the change log file to, followed by the filename and extension, in the format <Path\Filename.Extension>.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\WAF_changes_$(Get-Date -format yyyy-MM-dd_HH-mm-ss).log. Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-WafChangeLog -Path C:\WAFLogs\ExampleFileName.log
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-WafCustomRuleData
+
+ Allows you to download an AFP custom rule data file to your local machine.
+
+
+
+
+ Export
+ WafCustomRuleData
+
+
+
+ Allows you to download an AFP custom rule data file to your local machine.
+
+
+
+ Export-WafCustomRuleData
+
+ Path
+
+ The path to download the file to. You can either specify a path or a path and filename.
+ If the parameter Path does not contain a filename but only a path and the RuleDataName parameter is not null, the path will be set to the value path/RuleDataName.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\WafCustomRuleData_$(Get-Date -format yyyy-MM-dd_HH-mm-ss). Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+
+ RuleDataName
+
+ The filename of the custom rule data file, followed by the extension (.data).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Export-WafCustomRuleData
+
+ Path
+
+ The path to download the file to. You can either specify a path or a path and filename.
+ If the parameter Path does not contain a filename but only a path and the RuleDataName parameter is not null, the path will be set to the value path/RuleDataName.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\WafCustomRuleData_$(Get-Date -format yyyy-MM-dd_HH-mm-ss). Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+
+ RuleDataName
+
+ The filename of the custom rule data file, followed by the extension (.data).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to download the file to. You can either specify a path or a path and filename.
+ If the parameter Path does not contain a filename but only a path and the RuleDataName parameter is not null, the path will be set to the value path/RuleDataName.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\WafCustomRuleData_$(Get-Date -format yyyy-MM-dd_HH-mm-ss). Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+ String
+
+
+
+
+
+ RuleDataName
+
+ The filename of the custom rule data file, followed by the extension (.data).
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-WafCustomRuleData -Filename modsecurity_35_bad_robots -Path C:\rules\badrobots1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-WafCustomRuleSet
+
+ Download a Web Application Firewall (WAF) custom rule file.
+
+
+
+
+ Export
+ WafCustomRuleSet
+
+
+
+ Download the specified rule file to the specified path.
+
+
+
+ Export-WafCustomRuleSet
+
+ Path
+
+ The path to download the file to. You can either specify a path or a path and filename.
+ If the parameter Path does not contain a filename but only a path and the RuleDataName parameter is not null, the path will be set to the value path/RuleDataName.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\WafCustomRuleSet_$(Get-Date -format yyyy-MM-dd_HH-mm-ss). Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+
+ RuleSetName
+
+ The filename of the custom rule.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Export-WafCustomRuleSet
+
+ Path
+
+ The path to download the file to. You can either specify a path or a path and filename.
+ If the parameter Path does not contain a filename but only a path and the RuleDataName parameter is not null, the path will be set to the value path/RuleDataName.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\WafCustomRuleSet_$(Get-Date -format yyyy-MM-dd_HH-mm-ss). Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+
+ RuleSetName
+
+ The filename of the custom rule.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to download the file to. You can either specify a path or a path and filename.
+ If the parameter Path does not contain a filename but only a path and the RuleDataName parameter is not null, the path will be set to the value path/RuleDataName.
+ If you do not specify a path, the default path is $Env:SystemRoot\Temp\WafCustomRuleSet_$(Get-Date -format yyyy-MM-dd_HH-mm-ss). Usually the $Env:SystemRoot is C:\Windows. Note that the C:\Windows\Temp must exist and the user must have write access to it in order to save the file in that folder. If not the cmdlet will fail.
+
+ String
+
+ String
+
+
+
+
+
+ RuleSetName
+
+ The filename of the custom rule.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-WafCustomRuleSet -Filename modsecurity_crs_40_generic_attacks -Path C:\t\ExportedRule
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FlushSsoCache
+
+ WARNING: This function is deprecated. Use the following command instead:
+Clear-SSOCache
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Clear-SSOCache
+
+
+
+ FlushSsoCache
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ FlushSsoCache
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdaptiveCheck
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcAdaptiveHealthCheck
+
+
+
+
+ Get
+ AdaptiveCheck
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcAdaptiveHealthCheck
+
+
+
+ Get-AdaptiveCheck
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdaptiveCheck
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcAdaptiveHealthCheck
+
+ Allows you to view the values of the Adaptive Health Checking options.
+
+
+
+
+ Get
+ AdcAdaptiveHealthCheck
+
+
+
+ Allows you to view the values of the Adaptive Health Checking options.
+
+
+
+ Get-AdcAdaptiveHealthCheck
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcAdaptiveHealthCheck
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcAdaptiveHealthCheck
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+AdaptiveURL : /load
+AdaptivePort : 80
+AdaptiveInterval : 7
+MinPercent : 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcContentRule
+
+ Returns configured rules on the LoadMaster and the values of the associated options.
+
+
+
+
+ Get
+ AdcContentRule
+
+
+
+ Returns configured rules on the LoadMaster and the values of the associated options. You can specify all the configured rules, a specific rule or rules of a specific type.
+
+
+
+ Get-AdcContentRule
+
+ RuleName
+
+ Specifies the name of the rule to retrieve.
+
+ String
+
+
+ RuleType
+
+ Specifies the type of rule to retrieve from the LoadMaster.
+Options are:
+ - MatchContentRule
+ - AddHeaderRule
+ - DeleteHeaderRule
+ - ReplaceHeaderRule
+ - ModifyURLRule
+
+ String
+
+
+ All
+
+ Gets all rules defined on the LoadMaster.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcContentRule
+
+ RuleName
+
+ Specifies the name of the rule to retrieve.
+
+ String
+
+
+ RuleType
+
+ Specifies the type of rule to retrieve from the LoadMaster.
+Options are:
+ - MatchContentRule
+ - AddHeaderRule
+ - DeleteHeaderRule
+ - ReplaceHeaderRule
+ - ModifyURLRule
+
+ String
+
+
+ All
+
+ Gets all rules defined on the LoadMaster.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RuleName
+
+ Specifies the name of the rule to retrieve.
+
+ String
+
+ String
+
+
+
+
+
+ RuleType
+
+ Specifies the type of rule to retrieve from the LoadMaster.
+Options are:
+ - MatchContentRule
+ - AddHeaderRule
+ - DeleteHeaderRule
+ - ReplaceHeaderRule
+ - ModifyURLRule
+
+ String
+
+ String
+
+
+
+
+
+ All
+
+ Gets all rules defined on the LoadMaster.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcContentRule -Type MatchContentRule
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{ContentRules=}
+Param........: @{MatchContentRule=}
+MatchContentRule : @{Name=Example3; Pattern=ExamplePattern2; MatchType=Regex; AddHost=N; Negate=N; CaseIndependent=N; IncludeQuery=N; Header=;
+ MustFail=N}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcL7Configuration
+
+ Allows you to view the values of Layer 7 Configuration options.
+
+
+
+
+ Get
+ AdcL7Configuration
+
+
+
+ Allows you to view the values of Layer 7 Configuration options.
+
+
+
+ Get-AdcL7Configuration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcL7Configuration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcL7Configuration -LoadBalancer 172.21.59.189 -LBPort 8443
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{AdcL7Configuration=}
+Param........: @{ScalingOver64KConnections=no; AlwaysCheckPersist=Yes - Accept Changes; AddPortToActiveCookie=no; RFCConform=yes; CloseOnError=no; AddVi
+aHeaderInCacheResponses=no; RSAreLocal=no; DropOnRSFail=no; DropAtDrainEnd=no; L7AuthTimeoutSecs=30; L7ClientTokenTimeoutSecs=120; L7ConnectionDrainTime
+outSecs=300; AdditionalL7Header=X-ClientSide; OneHundredContinueHandling=RFC-2616 Compliant; AllowEmptyPosts=no; AllowEmptyHttpHeaders=no; ForceComplete
+RSMatch=no; SlowStart=0; ShareSubVSPersistance=no}
+
+
+ScalingOver64KConnections : no
+AlwaysCheckPersist : Yes - Accept Changes
+AddPortToActiveCookie : no
+RFCConform : yes
+CloseOnError : no
+AddViaHeaderInCacheResponses : no
+RSAreLocal : no
+DropOnRSFail : no
+DropAtDrainEnd : no
+L7AuthTimeoutSecs : 30
+L7ClientTokenTimeoutSecs : 120
+L7ConnectionDrainTimeoutSecs : 300
+AdditionalL7Header : X-ClientSide
+OneHundredContinueHandling : RFC-2616 Compliant
+AllowEmptyPosts : no
+AllowEmptyHttpHeaders : no
+ForceCompleteRSMatch : no
+SlowStart : 0
+ShareSubVSPersistance : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcL7LogInsightSplitConfiguration
+
+ Displays the log split interval value.
+
+
+
+
+ Get
+ AdcL7LogInsightSplitConfiguration
+
+
+
+ Displays the log split interval value.
+
+
+
+ Get-AdcL7LogInsightSplitConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcL7LogInsightSplitConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcL7LogInsightSplitConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{AdcL7Configuration=}
+Param........: @{ScalingOver64KConnections=no; AlwaysCheckPersist=Yes - Accept Changes; AddPortToActiveCookie=no; RFCConform=yes; CloseOnError=no; AddVi
+aHeaderInCacheResponses=no; RSAreLocal=no; DropOnRSFail=no; DropAtDrainEnd=no; L7AuthTimeoutSecs=30; L7ClientTokenTimeoutSecs=120; L7ConnectionDrainTime
+outSecs=300; AdditionalL7Header=X-ClientSide; OneHundredContinueHandling=RFC-2616 Compliant; AllowEmptyPosts=no; AllowEmptyHttpHeaders=no; ForceComplete
+RSMatch=no; SlowStart=0; ShareSubVSPersistance=no}
+ScalingOver64KConnections : no
+AlwaysCheckPersist : Yes - Accept Changes
+AddPortToActiveCookie : no
+RFCConform : yes
+CloseOnError : no
+AddViaHeaderInCacheResponses : no
+RSAreLocal : no
+DropOnRSFail : no
+DropAtDrainEnd : no
+L7AuthTimeoutSecs : 30
+L7ClientTokenTimeoutSecs : 120
+L7ConnectionDrainTimeoutSecs : 300
+AdditionalL7Header : X-ClientSide
+OneHundredContinueHandling : RFC-2616 Compliant
+AllowEmptyPosts : no
+AllowEmptyHttpHeaders : no
+ForceCompleteRSMatch : no
+SlowStart : 0
+ShareSubVSPersistance : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcRealServer
+
+ Returns a list of all Real Servers and their settings.
+
+
+
+
+ Get
+ AdcRealServer
+
+
+
+ Returns a list of all Real Servers and their settings.
+
+
+
+ Get-AdcRealServer
+
+ VirtualService
+
+ The address of the relevant Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The ID number of the relevant Virtual Service.
+
+ Int32
+
+
+ RealServer
+
+ The address of the relevant Real Server, if retrieving details about a particular Real Server.
+
+ String
+
+
+ RSPort
+
+ The port number of the relevant Real Server, if retrieving details about a particular Real Server.
+
+ Int32
+
+
+ RSIndex
+
+ The ID number of the relevant Real Server, if retrieving details about a particular Real Server.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcRealServer
+
+ VirtualService
+
+ The address of the relevant Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The ID number of the relevant Virtual Service.
+
+ Int32
+
+
+ RealServer
+
+ The address of the relevant Real Server, if retrieving details about a particular Real Server.
+
+ String
+
+
+ RSPort
+
+ The port number of the relevant Real Server, if retrieving details about a particular Real Server.
+
+ Int32
+
+
+ RSIndex
+
+ The ID number of the relevant Real Server, if retrieving details about a particular Real Server.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The address of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The ID number of the relevant Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+ The address of the relevant Real Server, if retrieving details about a particular Real Server.
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+ The port number of the relevant Real Server, if retrieving details about a particular Real Server.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+ The ID number of the relevant Real Server, if retrieving details about a particular Real Server.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcRealServer -VirtualService 10.154.11.181 -VSPort 443 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Rs=}
+Param........: @{Status=Down; VSIndex=1; RsIndex=4; Addr=10.154.11.84; Port=443; DnsName=; Forward=route; Weight=1000; Limit=0; Follow=0; Enable=Y; Crit
+ical=N}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcServiceHealth
+
+ Allows you to see the values of the Service Check options.
+
+
+
+
+ Get
+ AdcServiceHealth
+
+
+
+ Allows you to see the values of the Service Check options.
+
+
+
+ Get-AdcServiceHealth
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcServiceHealth
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcServiceHealth
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{AdcServiceHealth=}
+CheckInterval : 9
+ConnectionTimeout : 4
+RetryCount : 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcSubVirtualService
+
+ Retrieve details for a SubVS.
+
+
+
+
+ Get
+ AdcSubVirtualService
+
+
+
+ This command returns details of the specified SubVS.
+
+
+
+ Get-AdcSubVirtualService
+
+ SubVSIndex
+
+ The ID number of the SubVS to retrieve details for.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcSubVirtualService
+
+ SubVSIndex
+
+ The ID number of the SubVS to retrieve details for.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SubVSIndex
+
+ The ID number of the SubVS to retrieve details for.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcSubVirtualService
+
+
+
+
+ Example:
+Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{VS=}
+Param........: @{Status=Down; Index=3; VSPort=0; Layer=7; Enable=Y; SSLReverse=N; SSLReencrypt=N; Intercept=N; InterceptOpts=; AlertThreshold=0; Transac
+tionlimit=0; Transparent=N; SubnetOriginating=Y; ServerInit=0; StartTLSMode=0; Idletime=660; Cache=N; Compress=N; Verify=0; UseforSnat=N; ForceL4=N; For
+ceL7=Y; MultiConnect=N; ClientCert=0; ErrorCode=0; CheckUse1.1=N; MatchLen=0; CheckUseGet=0; SSLRewrite=0; VStype=http; FollowVSID=0; Protocol=tcp; Sche
+dule=rr; CheckType=http; PersistTimeout=0; CheckPort=0; NRules=0; NRequestRules=0; NResponseRules=0; NPreProcessRules=0; EspEnabled=N; InputAuthMode=0;
+OutputAuthMode=0; MasterVS=0; MasterVSID=1; IsTransparent=2; AddVia=0; QoS=0; TlsType=0; NeedHostName=N; OCSPVerify=N; AllowHTTP2=N; EnhancedHealthCheck
+s=N; RsMinimum=0; NumberOfRSs=0}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcTotalVirtualService
+
+ Retrieve details about the Virtual Services, SubVSs and Real Servers.
+
+
+
+
+ Get
+ AdcTotalVirtualService
+
+
+
+ This command returns the total number of Virtual Services, SubVSs and Real Servers and also returns the total number of each that are up, down and disabled.
+
+
+
+ Get-AdcTotalVirtualService
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcTotalVirtualService
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcTotalVirtualService
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+VSTotals : @{Total=6; Up=2; Down=4; Disabled=0}
+SUBVSTotals : @{Total=32; Up=0; Down=32; Disabled=0}
+RSTotals : @{Total=1; Up=0; Down=0; Disabled=1}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcVirtualService
+
+ Get details for configured Virtual Services.
+
+
+
+
+ Get
+ AdcVirtualService
+
+
+
+ Returns details of all Virtual Services on the LoadMaster. If details of a specific Virtual Service are entered in the parameters, only details relating to that Virtual Service will be displayed.
+
+
+
+ Get-AdcVirtualService
+
+ VirtualService
+
+ The IP address of the Virtual Service to be displayed.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to retrieve the details for.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to retrieve the details for.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service to be displayed.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcVirtualService
+
+ VirtualService
+
+ The IP address of the Virtual Service to be displayed.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to retrieve the details for.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to retrieve the details for.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service to be displayed.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The IP address of the Virtual Service to be displayed.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the Virtual Service to retrieve the details for.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to retrieve the details for.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the Virtual Service to be displayed.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port of the Virtual Service to be displayed.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ The protocol of the Virtual Service to be displayed.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcVirtualService
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Status=Down; Index=4; VSAddress=10.154.11.90; VSPort=80; Layer=7; Enable=Y; SSLReverse=N; SSLReencrypt=N; Intercept=N; InterceptOpts=;
+AlertThreshold=0; Transactionlimit=0; Transparent=N; SubnetOriginating=Y; ServerInit=0; StartTLSMode=0; Idletime=660; Cache=N; Compress=N; Verify=0; Use
+forSnat=N; ForceL4=N; ForceL7=Y; MultiConnect=N; ClientCert=0; ErrorCode=0; CheckUse1.1=N; MatchLen=0; CheckUseGet=0; SSLRewrite=0; VStype=http; FollowV
+SID=0; Protocol=tcp; Schedule=rr; CheckType=http; PersistTimeout=0; CheckPort=0; NRules=0; NRequestRules=0; NResponseRules=0; NPreProcessRules=0; EspEna
+bled=N; InputAuthMode=0; OutputAuthMode=0; MasterVS=0; MasterVSID=0; IsTransparent=2; AddVia=0; QoS=0; TlsType=0; NeedHostName=N; OCSPVerify=N; AllowHTT
+P2=N; EnhancedHealthChecks=N; RsMinimum=0; NumberOfRSs=0}
+Param........: @{Status=Down; Index=4; VSAddress=10.154.11.90; VSPort=80; Layer=7; Enable=Y; SSLReverse=N; SSLReencrypt=N; Intercept=N; InterceptOpts=;
+AlertThreshold=0; Transactionlimit=0; Transparent=N; SubnetOriginating=Y; ServerInit=0; StartTLSMode=0; Idletime=660; Cache=N; Compress=N; Verify=0; Use
+forSnat=N; ForceL4=N; ForceL7=Y; MultiConnect=N; ClientCert=0; ErrorCode=0; CheckUse1.1=N; MatchLen=0; CheckUseGet=0; SSLRewrite=0; VStype=http; FollowV
+SID=0; Protocol=tcp; Schedule=rr; CheckType=http; PersistTimeout=0; CheckPort=0; NRules=0; NRequestRules=0; NResponseRules=0; NPreProcessRules=0; EspEna
+bled=N; InputAuthMode=0; OutputAuthMode=0; MasterVS=0; MasterVSID=0; IsTransparent=2; AddVia=0; QoS=0; TlsType=0; NeedHostName=N; OCSPVerify=N; AllowHTT
+P2=N; EnhancedHealthChecks=N; RsMinimum=0; NumberOfRSs=0}
+
+
+Status : Down
+Index : 4
+VSAddress : 10.154.11.90
+VSPort : 80
+Layer : 7
+Enable : Y
+SSLReverse : N
+SSLReencrypt : N
+Intercept : N
+InterceptOpts : @{Opt=System.Object[]}
+AlertThreshold : 0
+Transactionlimit : 0
+Transparent : N
+SubnetOriginating : Y
+ServerInit : 0
+StartTLSMode : 0
+Idletime : 660
+Cache : N
+Compress : N
+Verify : 0
+UseforSnat : N
+ForceL4 : N
+ForceL7 : Y
+MultiConnect : N
+ClientCert : 0
+ErrorCode : 0
+CheckUse1.1 : N
+MatchLen : 0
+CheckUseGet : 0
+SSLRewrite : 0
+VStype : http
+FollowVSID : 0
+Protocol : tcp
+Schedule : rr
+CheckType : http
+PersistTimeout : 0
+CheckPort : 0
+NRules : 0
+NRequestRules : 0
+NResponseRules : 0
+NPreProcessRules : 0
+EspEnabled : N
+InputAuthMode : 0
+OutputAuthMode : 0
+MasterVS : 0
+MasterVSID : 0
+IsTransparent : 2
+AddVia : 0
+QoS : 0
+TlsType : 0
+NeedHostName : N
+OCSPVerify : N
+AllowHTTP2 : N
+EnhancedHealthChecks : N
+RsMinimum : 0
+NumberOfRSs : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AdcVsWafRule
+
+ Retrieve the status of a Web Application Firewall (WAF) rule.
+
+
+
+
+ Get
+ AdcVsWafRule
+
+
+
+ This command shows if the specified WAF rule is active/inactive.
+
+
+
+ Get-AdcVsWafRule
+
+ VS
+
+ The address of the relevant Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ String
+
+
+ VSProtocol
+
+ The port of the relevant Virtual Service.
+
+ String
+
+
+ Rule
+
+ The <RuleName> must be preceded with the relevant letter or word and a forward slash. The letter/word used depends on the type of rule being checked:
+C or Custom
+Z or ApplicationGeneric
+A or ApplicationSpecific
+G or Generic
+ This is case sensitive. The letter/word needs to be in in the correct case for the command to work.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AdcVsWafRule
+
+ VS
+
+ The address of the relevant Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ String
+
+
+ VSProtocol
+
+ The port of the relevant Virtual Service.
+
+ String
+
+
+ Rule
+
+ The <RuleName> must be preceded with the relevant letter or word and a forward slash. The letter/word used depends on the type of rule being checked:
+C or Custom
+Z or ApplicationGeneric
+A or ApplicationSpecific
+G or Generic
+ This is case sensitive. The letter/word needs to be in in the correct case for the command to work.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VS
+
+ The address of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSProtocol
+
+ The port of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ Rule
+
+ The <RuleName> must be preceded with the relevant letter or word and a forward slash. The letter/word used depends on the type of rule being checked:
+C or Custom
+Z or ApplicationGeneric
+A or ApplicationSpecific
+G or Generic
+ This is case sensitive. The letter/word needs to be in in the correct case for the command to work.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AdcVsWafRule -Rule G/ip_reputation -VS 10.35.47.16 -VSPort 80 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+ip_reputation : Inactive
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AFEConfiguration
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAFEConfiguration
+
+
+
+
+ Get
+ AFEConfiguration
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAFEConfiguration
+
+
+
+ Get-AFEConfiguration
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AFEConfiguration
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AllParameters
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAllParameters
+
+
+
+
+ Get
+ AllParameters
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAllParameters
+
+
+
+ Get-AllParameters
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AllParameters
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AllParameters
+
+
+
+
+ Example Output:
+dfltgw : 172.20.0.1
+snat : no
+hamode : 0
+sshaccess : yes
+sshport : 22
+wuiaccess : yes
+wuiiface : 0
+wuiport : 443
+sshiface : all
+hoverhelp : yes
+routefilter : no
+transparent : no
+expect100 : 0
+localbind : no
+addcookieport : no
+subnetoriginating : yes
+nonlocalrs : no
+multigw : no
+addforwardheader : 0
+conntimeout : 660
+authtimeout : 30
+finalpersist : 300
+tcptimestamp : no
+paranoia : 1
+cachesize : 100
+hostcache : no
+resetclose : no
+rfcconform : yes
+keepalive : yes
+backupday : 0
+backupenable : no
+backuphour : 0
+backupminute : 0
+backuppassword : ********
+enableapi : yes
+emailpassword : ********
+emailsslmode : 0
+emailport : 0
+addvia : no
+allowupload : no
+dropatdrainend : no
+droponfail : no
+closeonerror : no
+limitinput : 0
+rsarelocal : no
+slowstart : 0
+subnetorigin : yes
+syslogcritical : 10.35.0.190
+syslogemergency : 10.35.0.190
+syslogerror : 10.35.0.190
+sysloginfo : 10.35.0.190
+syslognotice : 10.35.0.190
+syslogwarn : 10.35.0.190
+sslrenegotiate : no
+dnssecclient : yes
+emailenable : no
+irqbalance : no
+snmpenable : no
+snmpV3enable : no
+snmpv3userpasswd : ********
+snmpHaTrap : no
+snmptrapenable : no
+motd : <h1>This device is being managed by KEMP360</h1>
+wuidisplaylines : 0
+linearesplogs : no
+onlydefaultroutes : no
+sessionauthmode : 0
+sessionidletime : 0
+sessionmaxfailattempts : 0
+sessioncontrol : no
+sessionbasicauth : yes
+sessionconcurrent : 0
+adminclientaccess : 0
+sessionlocalauth : no
+ntpkeyid : 0
+ntpkeysecret : ********
+netconsoleinterface : 0
+namserver : 10.154.11.192
+radiusbackupport : 0
+radiusbackupsecret : ********
+radiusport : 0
+radiussecret : ********
+radiusrevalidateinterval : 60
+ldapsecurity : 0
+ldaprevalidateinterval : 60
+geosshport : 22
+hostname : lb100
+admincert : No Admin Certificate assigned
+
+localcert : Only available in HA mode
+
+time : Tue, 15 Mar 16 15:08:38 UTC
+serialnumber : 1051082
+
+version : 7.1.35.0.12508.DEV
+Tethering : yes
+multihomedwui : no
+logsplitinterval : 10
+allowemptyposts : no
+OCSPPort : 0
+OCSPUseSSL : no
+OCSPOnServerFail : no
+L7LimitInput : 0
+sdnstatsmode : 0
+dhkeysize : 2048
+WUITLSProtocols : 0
+WUICipherset : Intermediate_compatibility
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AslLicenseType
+
+ Retrieve a list of available license types.
+
+
+
+
+ Get
+ AslLicenseType
+
+
+
+ Retrieve a list of available license types when using Activation Server functionality.
+
+
+
+ Get-AslLicenseType
+
+ aslipaddr
+
+ Specify the Activation Server IP address (the IP address of the KEMP 360 Central machine being used to activate the license).
+
+ String
+
+
+ aslport
+
+ Specify the Activation Server port (the port of the KEMP 360 Central machine being used to activate the license).
+
+ Int32
+
+
+ aslname
+
+ Specify the Activation Server name (the name of the KEMP 360 Central machine being used to activate the license).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AslLicenseType
+
+ aslipaddr
+
+ Specify the Activation Server IP address (the IP address of the KEMP 360 Central machine being used to activate the license).
+
+ String
+
+
+ aslport
+
+ Specify the Activation Server port (the port of the KEMP 360 Central machine being used to activate the license).
+
+ Int32
+
+
+ aslname
+
+ Specify the Activation Server name (the name of the KEMP 360 Central machine being used to activate the license).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ aslipaddr
+
+ Specify the Activation Server IP address (the IP address of the KEMP 360 Central machine being used to activate the license).
+
+ String
+
+ String
+
+
+
+
+
+ aslport
+
+ Specify the Activation Server port (the port of the KEMP 360 Central machine being used to activate the license).
+
+ Int32
+
+ Int32
+
+
+
+
+
+ aslname
+
+ Specify the Activation Server name (the name of the KEMP 360 Central machine being used to activate the license).
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AslLicenseType -LoadBalancer 10.35.41.63 -Verbose -aslipaddr 10.35.41.53 -aslport 443
+
+
+
+
+ Example Output:
+Full response: Command successfully executed.
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{OrderID=; AvailableLicenses=1; Licenses=}
+Param........:
+id : 0be64d5fb077d757c691e6745cf68c6c035e9635
+name : VLM-5000 ESP GEO with Evaluation + WAF
+description : VLM-5000 ESP GEO with Evaluation + WAF
+available : 1
+tethered : False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AwsHAOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAwsHAConfiguration
+
+
+
+
+ Get
+ AwsHAOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAwsHAConfiguration
+
+
+
+ Get-AwsHAOption
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AwsHAOption
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AwsHAOption
+
+
+
+
+ Example Output:
+AwsHA
+master,192.168.1.1,8443
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-AzureHAOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAzureHAConfiguration
+
+
+
+
+ Get
+ AzureHAOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAzureHAConfiguration
+
+
+
+ Get-AzureHAOption
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-AzureHAOption
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-AzureHAOption
+
+
+
+
+ Example Output:
+(This is a legacy command and has been replaced with the Get-ClusterAzureHAConfiguration command.)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-BackupOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmBackupConfiguration
+
+
+
+
+ Get
+ BackupOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmBackupConfiguration
+
+
+
+ Get-BackupOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-BackupOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GetCipherset
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-TlsCipherSet
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-TlsCipherSet
+
+
+
+ GetCipherset
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ GetCipherset
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-ClusterStatus
+
+ Retrieves the status of the cluster.
+
+
+
+
+ Get
+ ClusterStatus
+
+
+
+ Retrieves the status of the cluster.
+
+
+
+ Get-ClusterStatus
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-ClusterStatus
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-ClusterStatus
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+{SharedAddress=172.16.178.178; Node=System.Object[]}
+
+$get.Data.ClusterConfiguration
+
+SharedAddress Node
+------------- ----
+172.16.178.178 {@
+{Id=1; Address=172.16.176.1; Enabled=1; Status=5}
+
+, @
+{Id=2; Address=172.16.178.1; Enabled=0; Status=2}
+
+, @{Id=3; Add...
+
+
+$get.Data.ClusterConfiguration.Node
+
+Id Address Enabled Status
+– ------- ------- ------
+1 172.16.176.1 1 5
+2 172.16.178.1 0 2
+3 172.16.191.1 0 2
+
+$get.Data.ClusterConfiguration.SharedAddress
+172.16.178.178
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-DateTimeOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmDateTimeConfiguration
+
+
+
+
+ Get
+ DateTimeOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmDateTimeConfiguration
+
+
+
+ Get-DateTimeOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-DateTimeOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-DebugOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmDebugConfiguration
+
+
+
+
+ Get
+ DebugOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmDebugConfiguration
+
+
+
+ Get-DebugOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-DebugOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-DNSConfiguration
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkDNSConfiguration
+
+
+
+
+ Get
+ DNSConfiguration
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkDNSConfiguration
+
+
+
+ Get-DNSConfiguration
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-DNSConfiguration
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-EmailOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LogEmailConfiguration
+
+
+
+
+ Get
+ EmailOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LogEmailConfiguration
+
+
+
+ Get-EmailOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-EmailOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoCluster
+
+ Display all GEO clusters, or one specific GEO cluster.
+
+
+
+
+ Get
+ GeoCluster
+
+
+
+ Run this command without the IP parameter to display all all clusters. Specify an IP address in order to display details for one specific cluster.
+
+
+
+ Get-GeoCluster
+
+ ClusterIp
+
+ The IP address of the cluster to retrieve.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GeoCluster
+
+ ClusterIp
+
+ The IP address of the cluster to retrieve.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+ The IP address of the cluster to retrieve.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ IP
+
+ To display details for one particular GEO cluster, specify the IP address of the cluster using this parameter.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoCluster -ClusterIp 10.34.52.55
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Index : 1
+Status : Up
+Name : ExampleCluster
+ClusterVSAddress :
+IPAddress : 10.34.52.55
+Checker : none
+CheckerPort : 80
+Type : default
+Enable : Y
+LocationLatitude :
+LocationLongitude :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoCustomLocation
+
+ Retrieves a list of any existing custom locations.
+
+
+
+
+ Get
+ GeoCustomLocation
+
+
+
+ Retrieves a list of any existing custom locations.
+
+
+
+ Get-GeoCustomLocation
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GeoCustomLocation
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoCustomLocation
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Name : Limerick
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoDNSSECConfiguration
+
+ Retrieve the DNSSEC settings.
+
+
+
+
+ Get
+ GeoDNSSECConfiguration
+
+
+
+ Retrieve the DNSSEC settings.
+
+
+
+ Get-GeoDNSSECConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GeoDNSSECConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoDNSSECConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+PublicKey
+---------
+ExampleZone. IN DNSKEY 257 3 8 AwEAAeRfz2/QoPCphUgG2nK/DK8u8xxbseh64lDRydZHbGRTM8XjXd6v +lt9peqGFqulejJe0ojI0KrBVZqwkPkEuwujqL+zaYG6/SfW0xRdzEdP SF...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoFQDN
+
+ Display settings for either all FQDNs, or a specific FQDN.
+
+
+
+
+ Get
+ GeoFQDN
+
+
+
+ Set the FQDN parameter to display details for a specific FQDN. To display details for all FQDNs, do not use the FQDN parameter.
+
+
+
+ Get-GeoFQDN
+
+ FQDN
+
+ To display details for a specific FQDN - specify the name of the FQDN using this parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GeoFQDN
+
+ FQDN
+
+ To display details for a specific FQDN - specify the name of the FQDN using this parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ To display details for a specific FQDN - specify the name of the FQDN using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoFQDN -FQDN Example.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+SelectionCriteria : RoundRobin
+SiteRecoveryMode : auto
+Mapping : 0
+LocalSettings : 0
+UnanimousChecks : N
+Failover : N
+SiteFailureDelay : 0
+Fqdn : Example.com.
+PrivateRequest : 0
+PublicRequest : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoIPBlacklistDatabaseConfiguration
+
+ Retrieve the GEO IP blacklist settings.
+
+
+
+
+ Get
+ GeoIPBlacklistDatabaseConfiguration
+
+
+
+ Run this command to retrieve the GEO IP blacklist settings, such as the:
+- Date of the last update
+- Date of the last install
+- Auto-update setting
+- Auto-install settings
+
+
+
+ Get-GeoIPBlacklistDatabaseConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GeoIPBlacklistDatabaseConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoIPBlacklistDatabaseConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+AutoUpdate : yes
+LastUpdated : 03 May 2017 14:55:09
+AutoInstall : no
+InstallTimeHour : 4
+LastInstalled : 03 May 2017 14:55:19
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoIpRange
+
+ Displays details of all IP ranges, or one specific IP range.
+
+
+
+
+ Get
+ GeoIpRange
+
+
+
+ To retrieve details for a specific IP range, set the IP parameter. To retrieve details for all IP ranges, do not use the IP parameter.
+
+
+
+ Get-GeoIpRange
+
+ IP
+
+ Specify the IP address of the range to display details for. Do not use this parameter if you want to retrieve details for all IP ranges.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GeoIpRange
+
+ IP
+
+ Specify the IP address of the range to display details for. Do not use this parameter if you want to retrieve details for all IP ranges.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+ Specify the IP address of the range to display details for. Do not use this parameter if you want to retrieve details for all IP ranges.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoIpRange
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Index : 1
+Ip : 10.154.11.55
+IPAddress : 10.154.11.55
+Mask : 32
+Country :
+IsCustom : N
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoIPWhitelist
+
+ Retrieve the contents of the user-defined GEO IP whitelist.
+
+
+
+
+ Get
+ GeoIPWhitelist
+
+
+
+ The whitelist overrides the blacklist.
+
+
+
+ Get-GeoIPWhitelist
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GeoIPWhitelist
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoMiscParameter
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{GeoWhiteList=}
+Param........: @{addr=System.Object[]}
+
+addr
+----
+{20.54.56.26/32, 12.45.54.33/32}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoMiscParameter
+
+ Displays the values of the miscellaneous GEO parameters.
+
+
+
+
+ Get
+ GeoMiscParameter
+
+
+
+ Shows settings relating to Source of Authority, Resource Check Parameters and Stickiness.
+
+
+
+ Get-GeoMiscParameter
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GeoMiscParameter
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoMiscParameter
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+soa : @{TTL=10; persist=60; Zone=; SourceOfAuthority=; NameSrv=; SOAEmail=}
+check : @{CheckInterval=120; ConnTimeout=20; RetryAttempts=2}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoPartnerStatus
+
+ Returns the status of all configured GEO partners.
+
+
+
+
+ Get
+ GeoPartnerStatus
+
+
+
+ The status returned is either:
+ - Up
+ - Down
+- Empty: An empty list is returned if there are no GEO partners configured.
+ - Unknown: If a status for a particular partner is not known
+
+
+
+ Get-GeoPartnerStatus
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GeoPartnerStatus
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoPartnerStatus
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Address : 10.154.11.180
+Status : Down
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GlobalPacketFilterACL
+
+ Displays the addresses on the global black or white list.
+
+
+
+
+ Get
+ GlobalPacketFilterACL
+
+
+
+ Lists the host and network IP addresses on the global black or white access control list. Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+ Get-GlobalPacketFilterACL
+
+ Type
+
+ Specifies the access control list type: "black" or "white".
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-GlobalPacketFilterACL
+
+ Type
+
+ Specifies the access control list type: "black" or "white".
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Type
+
+ Specifies the access control list type: "black" or "white".
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GlobalPacketFilterACL -Type black
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Blacklist=}
+Param........: @{addr=10.154.11.12/32; comment=Example comment}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-HAOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmHAConfiguration
+
+
+
+
+ Get
+ HAOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmHAConfiguration
+
+
+
+ Get-HAOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-HAOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-HostsEntry
+
+ Lists the existing hosts for local resolution.
+
+
+
+
+ Get
+ HostsEntry
+
+
+
+ This command returns a list of host IP addresses and host FQDNs for local resolution.
+
+
+
+ Get-HostsEntry
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-HostsEntry
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-HostsEntry
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{LocalHosts=}
+Param........: @{HostIPAddress=10.154.33.233; HostFqdn=example.com}
+HostIPAddress : 10.154.33.233
+HostFqdn : example.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-Interface
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkInterface
+
+
+
+
+ Get
+ Interface
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkInterface
+
+
+
+ Get-Interface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-Interface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-L7Configuration
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcL7Configuration
+
+
+
+
+ Get
+ L7Configuration
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcL7Configuration
+
+
+
+ Get-L7Configuration
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-L7Configuration
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LdapEndpoint
+
+ Retrieve details for existing LDAP endpoints.
+
+
+
+
+ Get
+ LdapEndpoint
+
+
+
+ If you do not specify a value in the name parameter the output will display details of all existing endpoints. Specify a name to retreive details for that specific LDAP endpoint.
+
+
+
+ Get-LdapEndpoint
+
+ Name
+
+ The name of the LDAP endpoint to retreive details for.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LdapEndpoint
+
+ Name
+
+ The name of the LDAP endpoint to retreive details for.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the LDAP endpoint to retreive details for.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LdapEndpoint
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{LDAPEndPoint=System.Object[]}
+Param........:
+
+
+name : EXAMPLE
+vinterval : 60
+server : 10.154.11.103 10.154.11.104
+adminuser : ExampleUser
+adminpass : ********
+LdapProtocol : Unencrypted
+ReferralCount : 6
+
+name : EXAMPLE2
+vinterval : 60
+server : 10.154.11.32
+adminuser : exampleuser
+adminpass : ********
+LdapProtocol : StartTLS
+ReferralCount : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LicenseAccessKey
+
+ Allows you to get the access key of the LoadMaster.
+
+
+
+
+ Get
+ LicenseAccessKey
+
+
+
+ Allows you to get the access key of the LoadMaster.
+
+
+
+ Get-LicenseAccessKey
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LicenseAccessKey
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LicenseAccessKey
+
+
+
+
+ Example Output:
+Full response: Command successfully executed.
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{AccessKey=mmw14-97w51-cr45g-88x5g}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LicenseInfo
+
+ Retrieves the license details for the LoadMaster.
+
+
+
+
+ Get
+ LicenseInfo
+
+
+
+ Retrieves the license details for the LoadMaster.
+
+
+
+ Get-LicenseInfo
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LicenseInfo
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ $get = Get-LicenseInfo -Credential bal -LoadBalancer 10.154.11.180
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{LicenseInfo=}
+Param........: @{uuid=31159ab6-5da4-4b92-8ee2-b8922cc08dfe; ActivationDate=Tue Nov 15 10:32:34 UTC 2016; LicensedUntil=unlimited; SupportLevel=; Support
+Until=none; LicenseType=; LicenseStatus=Single Perm; ApplianceModel=; MaxVS=0; MaxRS=0; Bandwidth=5000; TpsLimit=10000; HA=no; FirstHA=no; ModSecurity=n
+o; AFE=yes; ViewAFE=yes; ESP=yes; IPSEC=0; SingleCPU=no; VLM=no; FreeLicense=no; Temporary=no; ASL=no; MandatoryTether=no; MultipleConnect=no}
+
+
+uuid : 31159ab6-5da4-4b92-8ee2-b8922cc08dfe
+ActivationDate : Tue Nov 15 10:32:34 UTC 2016
+LicensedUntil : unlimited
+SupportLevel :
+SupportUntil : none
+LicenseType :
+LicenseStatus : Single Perm
+ApplianceModel :
+MaxVS : 0
+MaxRS : 0
+Bandwidth : 5000
+TpsLimit : 10000
+HA : no
+FirstHA : no
+ModSecurity : no
+AFE : yes
+ViewAFE : yes
+ESP : yes
+IPSEC : 0
+SingleCPU : no
+VLM : no
+FreeLicense : no
+Temporary : no
+ASL : no
+MandatoryTether : no
+MultipleConnect : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LicenseType
+
+ Retrieve a list of available license types for a particular KEMP ID.
+
+
+
+
+ Get
+ LicenseType
+
+
+
+ If successful, the output provides a list of license types and associated IDs. The ID number is used when licensing using the Request-LicenseOnline command.
+
+
+
+ Get-LicenseType
+
+ KempId
+
+ The KEMP ID (email address) to retrieve the license types for.
+
+ String
+
+
+ Password
+
+ The password for the KEMP ID being used.
+
+ String
+
+
+ OrderId
+
+ The Orderid parameter is only needed for Virtual LoadMasters. The Order ID is provided by KEMP after a license is purchased.
+
+ String
+
+
+ http_proxy
+
+ Specify the HTTP(S) proxy server and port, in the format <ProxyAddress>:<Port>.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username used to connect to the LoadMaster.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LicenseType
+
+ KempId
+
+ The KEMP ID (email address) to retrieve the license types for.
+
+ String
+
+
+ Password
+
+ The password for the KEMP ID being used.
+
+ String
+
+
+ OrderId
+
+ The Orderid parameter is only needed for Virtual LoadMasters. The Order ID is provided by KEMP after a license is purchased.
+
+ String
+
+
+ http_proxy
+
+ Specify the HTTP(S) proxy server and port, in the format <ProxyAddress>:<Port>.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ KempId
+
+ The KEMP ID (email address) to retrieve the license types for.
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+ The password for the KEMP ID being used.
+
+ String
+
+ String
+
+
+
+
+
+ OrderId
+
+ The Orderid parameter is only needed for Virtual LoadMasters. The Order ID is provided by KEMP after a license is purchased.
+
+ String
+
+ String
+
+
+
+
+
+ http_proxy
+
+ Specify the HTTP(S) proxy server and port, in the format <ProxyAddress>:<Port>.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username used to connect to the LoadMaster.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LicenseType -KempId jbloggs@kemptechnologies.com -Password ExamplePassword -LoadBalancer 172.16.129.72 -Credential bal
+
+
+
+
+ Example Output:
+
+Full response: Command successfully executed.
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{name=VLM-5000 with Enterprise Plus subscription; available=1; tethered=0; id=69cc7829c122f7a1604d97c5224c56f596b4f718; LicenseSt...
+Param........:
+name : VLM-5000 with Enterprise Plus subscription
+available : 1
+tethered : 0
+id : 69cc7829c122f7a1604d97c5224c56f596b4f718
+LicenseStatus : Temp License
+description : VLM-5000 with Enterprise Plus subscription
+BuyMoreAt : https://www.kemptechnologies.com/buy-me-now?KEMPID=jbloggs@kemptechnologies.com
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example (with Order ID) --------------------------
+
+ PS C:\>
+
+ Get-LicenseType -KempId jbloggs@kemptechnologies.com -Password ExamplePassword -LoadBalancer 172.16.129.72 -Credential bal -OrderId ExampleOrderID
+
+
+
+
+ Example Output:
+Full response: Command successfully executed.
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{id=2010d06f77b2d646677b1fd0b4688c019b66ddb7; name=VLM-200 with Enterprise Plus subscription; available=1; description=VLM-200 wi...
+Param........:
+id : 2010d06f77b2d646677b1fd0b4688c019b66ddb7
+name : VLM-200 with Enterprise Plus subscription
+available : 1
+description : VLM-200 with Enterprise Plus subscription
+tethered : False
+LicenseStatus : Permanent License
+BuyMoreAt : https://www.kemptechnologies.com/buy-me-now?KEMPID=jbloggs@kemptechnologies.com
+id : b2eb3e9260958b57743fd1a2cf704915754085b7
+name : VLM-2000 with Enterprise Plus subscription
+available : 1
+description : VLM-2000 with Enterprise Plus subscription
+tethered : False
+LicenseStatus : Permanent License
+BuyMoreAt : https://www.kemptechnologies.com/buy-me-now?KEMPID=jbloggs@kemptechnologies.com
+id : be9fbc4ca4f0f5e023809aa4fc7b399ed7bd0d76
+name : VLM-GEO with Enterprise Plus subscription
+available : 1
+description : VLM-GEO with Enterprise Plus subscription
+tethered : False
+LicenseStatus : Permanent License
+BuyMoreAt : https://www.kemptechnologies.com/buy-me-now?KEMPID=jbloggs@kemptechnologies.com
+name : VLM-5000 with Enterprise Plus subscription
+available : 1
+tethered : 0
+id : 69cc7829c122f7a1604d97c5224c56f596b4f718
+LicenseStatus : Temp License
+description : VLM-5000 with Enterprise Plus subscription
+BuyMoreAt : https://www.kemptechnologies.com/buy-me-now?KEMPID=jbloggs@kemptechnologies.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmAddOn
+
+ Displays a list of any add-on packages that are installed on the LoadMaster.
+
+
+
+
+ Get
+ LmAddOn
+
+
+
+ Displays a list of any add-on packages that are installed on the LoadMaster.
+
+
+
+ Get-LmAddOn
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmAddOn
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmAddOn
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Package=}
+Param........:
+
+Name Installed Version Started
+---- --------- ------- -------
+Vmtoolsd Thu Sep 15 05:58:56 2016 7.2.37.0.13719.DEV yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmAFEConfiguration
+
+ Allows you to view the values of Cache, Compression and IPS options.
+
+
+
+
+ Get
+ LmAFEConfiguration
+
+
+
+ Allows you to view the values of Cache, Compression and IPS options.
+
+
+
+ Get-LmAFEConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.ster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmAFEConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.ster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.ster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmAFEConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+Cachesize HostCache LimitInput DetectionLevel
+--------- --------- ---------- --------------
+100 no 0 Default
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmAllParameters
+
+ Retrieve a list of all parameters that can be retrieved using the Get-LmParameter command.
+
+
+
+
+ Get
+ LmAllParameters
+
+
+
+ Retrieve a list of all parameters that can be retrieved using the Get-LmParameter command and set using the Set-LmParameter command.
+
+
+
+ Get-LmAllParameters
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmAllParameters
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ $get = Get-LmAllParameters
+
+$get
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{AllParameters=}
+Param........:
+
+
+dfltgw : 10.154.0.1
+snat : yes
+hatimeout : 1
+hawait : 0
+haprefered : 0
+hamode : 1
+hastatus : standby
+haif : 0
+havhid : 0
+hainitial : no
+tcpfailover : no
+cookieupdate : no
+hal4update : no
+hal7update : no
+vmac : no
+sshaccess : yes
+sshport : 22
+wuiaccess : yes
+mcast : 0
+wuiiface : 0
+wuiport : 443
+sshiface : all
+hoverhelp : yes
+routefilter : no
+transparent : no
+alwayspersist : 2
+expect100 : 0
+localbind : no
+addcookieport : no
+subnetoriginating : yes
+nonlocalrs : no
+multigw : no
+addforwardheader : 0
+conntimeout : 660
+authtimeout : 30
+clienttokentimeout : 120
+finalpersist : 300
+tcptimestamp : no
+paranoia : 1
+cachesize : 100
+hostcache : no
+resetclose : no
+rfcconform : yes
+keepalive : yes
+backupday : 0
+backupenable : yes
+backuphour : 0
+backupminute : 0
+backuppassword : ********
+backupnetstat : yes
+backupsecure : yes
+backupident : ********
+enableapi : yes
+emailuser : test
+emaildomain : ExampleDomain
+emailpassword : ********
+emailserver : 10.154.22.132
+emailsslmode : 1
+emailport : 80
+addvia : no
+allowupload : no
+dropatdrainend : no
+droponfail : no
+closeonerror : no
+limitinput : 0
+rsarelocal : no
+slowstart : 0
+subnetorigin : yes
+sysloginfo : 10.154.153.94
+sslrenegotiate : no
+dnssecclient : yes
+emailenable : yes
+irqbalance : no
+snmpenable : yes
+snmpV3enable : no
+snmpv3userpasswd : ********
+snmpHaTrap : no
+snmptrapenable : no
+motd : <h1>This device is being managed by KEMP360</h1>
+wuidisplaylines : 0
+linearesplogs : no
+onlydefaultroutes : no
+sessionauthmode : 19
+sessionidletime : 0
+sessionmaxfailattempts : 0
+sessioncontrol : yes
+sessionbasicauth : no
+sessionconcurrent : 0
+adminclientaccess : 1
+sessionlocalauth : no
+ntpkeyid : 0
+ntpkeysecret : ********
+netconsoleinterface : 0
+nameserver : 10.154.75.25
+namserver : 10.154.75.25
+wuildapep : EXAMPLE
+geopartners : 10.154.11.190
+geosshport : 22
+geosshiface : 0
+hostname : lb100
+searchlist : KEMP.LAB.INTRA
+admincert : No Admin Certificate assigned
+localcert : No Local Admin Certificate assigned
+time : Thu, 20 Apr 17 10:14:21 UTC
+boottime : Tue, 11 Apr 17 13:36:17 UTC
+activetime : Thu, 01 Jan 70 00:00:00 UTC
+serialnumber : 446312
+version : 7.2.39.0.14938.DEV
+Tethering : yes
+multihomedwui : no
+logsplitinterval : 10
+allowemptyposts : no
+OCSPPort : 0
+OCSPUseSSL : no
+OCSPOnServerFail : no
+L7LimitInput : 0
+sdnstatsmode : 0
+dhkeysize : 2048
+WUITLSProtocols : 0
+AllowEmptyHttpHeaders : no
+ShareSubVSPersist : no
+DNSNamesEnable : yes
+ForceFullRSMatch : no
+SSLForceServerVerify : no
+SyslogPort : 60
+SSLStapling : no
+SSLRefreshInterval : 3700
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmAwsHAConfiguration
+
+ Retrieve the AWS High Availability (HA) parameters.
+
+
+
+
+ Get
+ LmAwsHAConfiguration
+
+
+
+ Display the HA settings for a LoadMaster on Azure.
+
+
+
+ Get-LmAwsHAConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmAwsHAConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmAwsHAConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{AwsHAConfiguration=}
+
+HaMode Partner HealthCheckPort
+------ ------- ---------------
+single unset unset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmAzureHAConfiguration
+
+ Retrieves the Azure High Availability (HA) parameters.
+
+
+
+
+ Get
+ LmAzureHAConfiguration
+
+
+
+ Displays the HA settings for an Azure LoadMaster.
+
+
+
+ Get-LmAzureHAConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmAzureHAConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmAzureHAConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{AzureHAConfiguration=}
+
+HaMode Partner HealthCheckPort
+------ ------- ---------------
+single unset unset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmBackupConfiguration
+
+ Allows to view the values of the Automated Backup options.
+
+
+
+
+ Get
+ LmBackupConfiguration
+
+
+
+ Allows to view the values of the Automated Backup options.
+
+
+
+ Get-LmBackupConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmBackupConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmBackupConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{BackupConfiguration=}
+Param........: @{backupenable=yes; backuphour=0; backupminute=0; backupday=0; BackupMethod=SCP; backupuser=; backuppassword=********; backuphost=; back
+uppath=}
+
+
+backupenable : yes
+backuphour : 0
+backupminute : 0
+backupday : 0
+BackupMethod : SCP
+backupuser :
+backuppassword : ********
+backuphost :
+backuppath :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmDateTimeConfiguration
+
+ Allows you to view the values of the Date and Time options.
+
+
+
+
+ Get
+ LmDateTimeConfiguration
+
+
+
+ Allows you to view the values of the Date and Time options.
+
+
+
+ Get-LmDateTimeConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmDateTimeConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and does not return all of the available parameters. Please refer to the Get-Help of the Get-Parameter command to view a full list of parameters that can be returned.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmDateTimeConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{DateTimeConfiguration=}
+Param........: @{NTPHost=; Time=Thu, 20 Apr 17 11:12:59 UTC; BootTime=Thu, 20 Apr 17 11:02:28 UTC; ActiveTime=Thu, 20 Apr 17 11:02:28 UTC; TimeZone=; NT
+PKeyId=0}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmDebugConfiguration
+
+ Displays the Debug Option values.
+
+
+
+
+ Get
+ LmDebugConfiguration
+
+
+
+ Allows you to view some of the values of options contained in the in the Debug Option screen of the WUI.
+
+
+
+ Get-LmDebugConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmDebugConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmDebugConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+irqbalance : no
+linearesplogs : no
+netconsole :
+netconsoleinterface : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmDebugInformation
+
+ Returns the system information related to the specified command option.
+
+
+
+
+ Get
+ LmDebugInformation
+
+
+
+ Returns the system information related to the specified command option.
+
+
+
+ Get-LmDebugInformation
+
+ Param
+
+ Valid values and their descriptions are provided below:
+ - ps: Report a snapshot of the current processes.
+ - meminfo: Report the memory status of the LoadMaster.
+ - ifconfig: Return the details of the network interfaces.
+ - netstat: Return the following information:
+ - Active Internet connections, servers and established (IPv4/IPv6)
+ - Kernel IP routing table (IPv4/IPv6)
+ - IPv4/IPv6 packet filter
+ - interrupts: Lists the number of interrupts per CPU per I/O device.
+ - partitions: Partition block allocation information.
+ - cpuinfo: Return the details of the LoadMaster CPU(s).
+ - df: Display the device name, total blocks, total disk space, used disk space, available disk space and mount points on the LoadMaster file system.
+ - lspci: Returns information about PCI buses in the system and devices connected to them.
+ - lsmod: Show the status of modules in the Linux Kernel
+ - slabinfo: Return statistics for frequently used objects in the Linux kernel (buffer heads, inodes, dentries and so on).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmDebugInformation
+
+ Param
+
+ Valid values and their descriptions are provided below:
+ - ps: Report a snapshot of the current processes.
+ - meminfo: Report the memory status of the LoadMaster.
+ - ifconfig: Return the details of the network interfaces.
+ - netstat: Return the following information:
+ - Active Internet connections, servers and established (IPv4/IPv6)
+ - Kernel IP routing table (IPv4/IPv6)
+ - IPv4/IPv6 packet filter
+ - interrupts: Lists the number of interrupts per CPU per I/O device.
+ - partitions: Partition block allocation information.
+ - cpuinfo: Return the details of the LoadMaster CPU(s).
+ - df: Display the device name, total blocks, total disk space, used disk space, available disk space and mount points on the LoadMaster file system.
+ - lspci: Returns information about PCI buses in the system and devices connected to them.
+ - lsmod: Show the status of modules in the Linux Kernel
+ - slabinfo: Return statistics for frequently used objects in the Linux kernel (buffer heads, inodes, dentries and so on).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Param
+
+ Valid values and their descriptions are provided below:
+ - ps: Report a snapshot of the current processes.
+ - meminfo: Report the memory status of the LoadMaster.
+ - ifconfig: Return the details of the network interfaces.
+ - netstat: Return the following information:
+ - Active Internet connections, servers and established (IPv4/IPv6)
+ - Kernel IP routing table (IPv4/IPv6)
+ - IPv4/IPv6 packet filter
+ - interrupts: Lists the number of interrupts per CPU per I/O device.
+ - partitions: Partition block allocation information.
+ - cpuinfo: Return the details of the LoadMaster CPU(s).
+ - df: Display the device name, total blocks, total disk space, used disk space, available disk space and mount points on the LoadMaster file system.
+ - lspci: Returns information about PCI buses in the system and devices connected to them.
+ - lsmod: Show the status of modules in the Linux Kernel
+ - slabinfo: Return statistics for frequently used objects in the Linux kernel (buffer heads, inodes, dentries and so on).
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmDebugInformation -Param ps
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
+4 0 1 0 20 0 4356 1376 - Ss ? 0:14 init [2]
+1 0 2 0 20 0 0 0 - S ? 0:00 [kthreadd]
+1 0 3 2 20 0 0 0 - S ? 0:01 [ksoftirqd/0]
+1 0 4 2 20 0 0 0 - S ? 0:00 [kworker/0:0]
+1 0 5 2 0 -20 0 0 - S< ? 0:00 [kworker/0:0H]
+1 0 7 2 20 0 0 0 - S ? 1:28 [rcu_sched]
+1 0 8 2 20 0 0 0 - S ? 0:00 [rcu_bh]
+1 0 9 2 -100 - 0 0 - S ? 0:04 [migration/0]
+5 0 10 2 -100 - 0 0 - S ? 0:04 [watchdog/0]
+5 0 11 2 -100 - 0 0 - S ? 0:05 [watchdog/1]
+1 0 12 2 -100 - 0 0 - S ? 0:04 [migration/1]
+1 0 13 2 20 0 0 0 - S ? 0:02 [ksoftirqd/1]
+1 0 15 2 0 -20 0 0 - S< ? 0:00 [kworker/1:0H]
+1 0 16 2 0 -20 0 0 - S< ? 0:00 [netns]
+1 0 17 2 0 -20 0 0 - S< ? 0:00 [perf]
+1 0 18 2 20 0 0 0 - S ? 0:02 [khungtaskd]
+1 0 19 2 0 -20 0 0 - S< ? 0:00 [writeback]
+1 0 20 2 0 -20 0 0 - S< ? 0:00 [crypto]
+1 0 21 2 20 0 0 0 - S ? 1:30 [kworker/0:1]
+1 0 22 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 23 2 0 -20 0 0 - S< ? 0:00 [kblockd]
+1 0 24 2 0 -20 0 0 - S< ? 0:00 [ata_sff]
+1 0 26 2 20 0 0 0 - S ? 0:00 [kswapd0]
+1 0 27 2 0 -20 0 0 - S< ? 0:00 [vmstat]
+1 0 28 2 20 0 0 0 - S ? 0:00 [fsnotify_mark]
+1 0 43 2 0 -20 0 0 - S< ? 0:00 [acpi_thermal_pm]
+1 0 45 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 46 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 47 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 48 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 49 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 50 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 51 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 52 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 53 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 54 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 55 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 56 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 57 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 58 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 59 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 60 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 61 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 62 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 63 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 64 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 65 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 66 2 20 0 0 0 - S ? 0:48 [kworker/1:1]
+1 0 67 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 68 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 69 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 70 2 0 -20 0 0 - S< ? 0:00 [fc_exch_workque]
+1 0 71 2 0 -20 0 0 - S< ? 0:00 [fc_rport_eq]
+1 0 72 2 0 -20 0 0 - S< ? 0:00 [fcoethread/0]
+1 0 73 2 0 -20 0 0 - S< ? 0:00 [fcoethread/1]
+1 0 74 2 0 -20 0 0 - S< ? 0:00 [fnic_event_wq]
+1 0 75 2 0 -20 0 0 - S< ? 0:00 [fnic_fip_q]
+1 0 76 2 20 0 0 0 - S ? 0:00 [scsi_eh_0]
+1 0 77 2 0 -20 0 0 - S< ? 0:00 [scsi_tmf_0]
+1 0 78 2 0 -20 0 0 - S< ? 0:00 [vmw_pvscsi_wq_0]
+1 0 79 2 0 -20 0 0 - S< ? 0:00 [bioset]
+1 0 95 2 0 -20 0 0 - S< ? 0:00 [kpsmoused]
+1 0 96 2 20 0 0 0 - S ? 0:00 [kworker/1:2]
+1 0 97 2 0 -20 0 0 - S< ? 0:00 [ipv6_addrconf]
+1 0 98 2 0 -20 0 0 - S< ? 0:00 [deferwq]
+1 0 99 2 0 -20 0 0 - S< ? 0:00 [ext4-rsv-conver]
+1 0 142 2 0 -20 0 0 - S< ? 0:00 [kworker/0:1H]
+5 3 261 1 20 0 26816 1444 - Ss ? 0:09 /sbin/nscd
+1 0 279 2 0 -20 0 0 - S< ? 0:00 [kworker/1:1H]
+1 0 297 2 0 -20 0 0 - S< ? 0:00 [loop0]
+5 0 636 1 20 0 4392 1780 - Ss ? 0:09 /usr/sbin/syslogd
+5 0 640 1 20 0 4488 1372 - Ss ? 0:00 /usr/sbin/klogd -c 7
+4 0 668 1 20 0 18488 4612 - Ss ? 0:00 /usr/sbin/sshd
+1 0 677 1 20 0 15228 1564 - Ss ? 0:04 /usr/sbin/cron -L 0
+1 0 692 2 0 -20 0 0 - S< ? 0:00 [l7comp]
+4 0 727 1 20 0 4464 1904 - S ? 0:20 /sbin/l7d -C 0 -N 0 -0 eth0 -G 1 -T 2 -l
+0 0 729 1 20 0 4196 644 - S ? 0:02 /sbin/l7log
+0 0 732 1 20 0 9536 2660 - S ? 0:00 /bin/bash /sbin/startDaemon /sbin/ssomgr -C 0
+0 0 761 1 20 0 9536 2648 - S ? 0:00 /bin/bash /sbin/startDaemon /sbin/stats -C 0
+4 0 767 761 20 0 11688 1896 - S ? 3:11 /sbin/stats -C 0
+0 0 784 1 20 0 11868 4984 - S ? 26:01 /bin/bash /usr/local/bin/rrd-upd-all.sh
+1 0 793 1 20 0 6508 124 - S ? 0:40 inotifywait -d -o/tmp/metrics.evts -e MOVED_TO --format %T %f %e --timefmt %s /var/
+lib/metrics
+0 0 833 1 20 0 9536 2636 - S ? 0:00 /bin/bash /sbin/startDaemon /sbin/ocspd
+4 0 842 833 20 0 14060 3576 - S ? 0:03 /sbin/ocspd
+0 0 860 1 20 0 6728 1668 - S ? 0:02 /sbin/httpd -port 8080 -address 127.0.0.1
+0 0 907 1 20 0 9540 2660 - S ? 0:00 /bin/bash /sbin/startDaemon /sbin/wafd -C 0 -M 4
+4 0 916 907 20 0 52488 4212 - S ? 0:00 /sbin/wafd -C 0 -M 4
+0 0 949 1 20 0 9536 2656 - S ? 0:00 /bin/bash /sbin/startDaemon /sbin/l4d -C 0
+4 0 957 949 12 -8 17520 3252 - S< ? 0:35 /sbin/l4d -C 0
+0 0 1000 1 20 0 4672 1304 - S ? 0:04 /sbin/binddb -C 0
+0 0 1002 1 20 0 5440 704 - S ? 0:13 /sbin/geocheck -C 0
+4 0 1004 732 20 0 50372 6324 - S ? 0:12 /sbin/ssomgr -C 0
+5 0 1008 1 20 0 66652 50156 - Ss ? 0:10 /sbin/named
+4 0 1045 1 20 0 116464 4184 - Sl ? 13:51 /usr/bin/vmtoolsd
+4 0 1078 1 20 0 8680 1648 - Ss+ tty1 0:00 /sbin/mingetty --noclear tty1
+4 0 1079 1 20 0 8680 1652 - Ss+ tty2 0:00 /sbin/mingetty tty2
+4 0 1080 1 20 0 8680 1656 - Ss+ tty3 0:00 /sbin/mingetty tty3
+4 0 1081 1 20 0 8680 1724 - Ss+ tty4 0:00 /sbin/mingetty tty4
+4 0 1082 1 20 0 8680 1652 - Ss+ tty5 0:00 /sbin/mingetty tty5
+4 0 1083 1 20 0 8680 1672 - Ss+ tty6 0:00 /sbin/mingetty tty6
+4 0 1084 1 20 0 4360 1660 - Ss+ ttyS0 0:00 /sbin/agetty -L -f /etc/issue.serial 115200 57600 38400 19200 9600 ttyS0 vt100
+1 0 1272 2 20 0 0 0 - S ? 0:00 [kworker/u4:2]
+5 0 1304 916 20 0 59144 6192 - Sl ? 0:00 /sbin/wafd -C 0 -M 4
+0 0 1356 1 20 0 9540 2664 - S ? 0:00 /bin/bash /sbin/startDaemon /sbin/sslproxy -T 10 -P 443 -r 127.0.0.1:8080 -F IPADDR
+_0 -F ADDITIONAL_0 -c /one4net/certs/.cert.pem -E 3 -V /usr/lib/ssl/certs
+4 0 1365 1356 20 0 14460 5300 - S ? 0:38 /sbin/sslproxy -T 10 -P 443 -r 127.0.0.1:8080 -F IPADDR_0 -F ADDITIONAL_0 -c /one4n
+et/certs/.cert.pem -E 3 -V /usr/lib/ssl/certs
+1 0 4024 860 20 0 6740 116 - S ? 0:00 /sbin/httpd -port 8080 -address 127.0.0.1
+4 3 4025 4024 20 0 7828 948 - S ? 0:00 /bin/access -C 0 -F 0 -H 3
+0 3 4034 4025 20 0 11088 4152 - S ? 0:00 /bin/sh /etc/rc.d/config ps
+0 3 4038 4034 20 0 7140 792 - R ? 0:00 /bin/ps alxwww
+1 0 14514 2 20 0 0 0 - S ? 0:00 [kworker/u4:0]
+1 0 27228 2 10 -10 0 0 - S< ? 0:11 [l7s 1]
+1 0 27229 2 20 0 0 0 - S ? 0:10 [l7flow 1]
+1 0 27230 2 20 0 0 0 - S ? 0:11 [l7flow 1]
+1 0 27231 2 20 0 0 0 - S ? 0:12 [l7flow 1]
+1 0 27232 2 20 0 0 0 - S ? 0:11 [l7flow 1]
+1 0 27233 2 20 0 0 0 - S ? 0:11 [l7flow 1]
+1 0 27235 2 20 0 0 0 - S ? 0:11 [l7flow 1]
+1 0 27236 2 20 0 0 0 - S ? 0:10 [l7flow 1]
+1 0 27238 2 20 0 0 0 - S ? 0:11 [l7flow 1]
+0 0 29434 1 20 0 9540 2676 - S ? 0:00 /bin/bash /sbin/startDaemon /sbin/vsslproxy -C 0 -A -D /one4net/certs -V /usr/lib/s
+sl/certs -T 10000 -i 660 -t 65536 -N 5 -E 2
+4 0 29439 29434 20 0 16108 2856 - S ? 0:04 /sbin/vsslproxy -C 0 -A -D /one4net/certs -V /usr/lib/ssl/certs -T 10000 -i 660 -t
+65536 -N 5 -E 2
+5 0 29479 29439 10 -10 282536 4564 - S<l ? 0:00 /sbin/vsslproxy -C 0 -A -D /one4net/certs -V /usr/lib/ssl/certs -T 10000 -i 660 -t
+65536 -N 5 -E 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmHAConfiguration
+
+ Allows you to view the values of High Availability (HA) options.
+
+
+
+
+ Get
+ LmHAConfiguration
+
+
+
+ Retrieve the HA settings.
+
+
+
+ Get-LmHAConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmHAConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ To get the HA status, run the following command: Get-LmParameter -Param HAStatus
+To retrieve the HACheck parameter, run the following command: Get-NetworkInterface
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmHAConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+
+
+hamode : HA Second
+hatimeout : 3
+hawait : 0
+havhid : 0
+haprefered : No Preferred Host
+haif : 0
+hal4update : no
+hal7update : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmHAMode
+
+ Retrieve the High Availability (HA) mode.
+
+
+
+
+ Get
+ LmHAMode
+
+
+
+ The HA mode is one of the following options:
+0 – HA mode disabled
+1 – HA 1 mode
+2 – HA 2 mode
+3 – System is using cloud HA
+4 – System is in a cluster
+
+
+
+ Get-LmHAMode
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmHAMode
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmHAMode
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+HaMode : 2
+HaDescription : HA Second
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmIPConnectionLimit
+
+ Displays a list of client IP address limiters.
+
+
+
+
+ Get
+ LmIPConnectionLimit
+
+
+
+ Displays a list of client IP address limiters.
+
+
+
+ Get-LmIPConnectionLimit
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmIPConnectionLimit
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmIPConnectionLimit
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+Address Mask Limit
+------- ---- -----
+10.64.55.22 32 155
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmNetworkInterface
+
+ Retrieves details for the LoadMaster network interface.
+
+
+
+
+ Get
+ LmNetworkInterface
+
+
+
+ Returns details about the LoadMaster network interface, such as the speed, name and Id number.
+
+
+
+ Get-LmNetworkInterface
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmNetworkInterface
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmNetworkInterface
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Interface=}
+Param........: @{Id=0; Name=eth0; speed=10000; inbytes=11187190; inerrs=0; indrops=0; outbytes=21653858; outerrs=0; outdrops=0; link=up; lastchange=1492
+686160}
+
+
+Id : 0
+Name : eth0
+speed : 10000
+inbytes : 11187190
+inerrs : 0
+indrops : 0
+outbytes : 21653858
+outerrs : 0
+outdrops : 0
+link : up
+lastchange : 1492686160
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmParameter
+
+ A large number of LoadMaster parameters can be retrieved using the Get-LmParameter command.
+
+
+
+
+ Get
+ LmParameter
+
+
+
+ Below is a list of the parameters that can be retrieved using the Get-LmParameter command. The parameters are grouped and ordered by WUI section.
+ -----------------
+WUI Section: Home
+-----------------
+ version
+Retrieves the LoadMaster firmware version.
+ serialnumber
+The serial number of the LoadMaster.
+ boottime
+The time at which the LoadMaster last booted.
+ activetime
+When using non-HA mode, the activetime is the same as the boottime. When in HA mode, the active time is the time at which the LoadMaster last became the master unit. The active time will be zero if the LoadMaster is in slave mode.
+
+--------------------------------------------------------------------------
+WUI Section: Virtual Services > View/Modify Services > Advanced Properties
+--------------------------------------------------------------------------
+ addvia
+Specifies which headers should be added to the HTTP stream. The parameter takes the following arguments:
+ 0 = Legacy Operation
+ 1 = X-Forwarded-For
+ 2 = None
+ 3 = X-Client-Side
+ 4 = X-Client-Side No Via
+ 5 = X-Forwarded-For No Via
+ 6 = Via Only
+
+------------------------------------
+WUI Section: Certificates & Security
+------------------------------------
+ localcert
+This parameter is only relevant when using HA.
+
+-------------------------------------------------------
+WUI Section: Certificates & Security > SSL Certificates
+-------------------------------------------------------
+ admincert
+The certificate used, if any, for the administrative interface.
+
+----------------------------------------------------
+WUI Section: Certificates & Security > Remote Access
+----------------------------------------------------
+ admingw
+When administering the LoadMaster from a non-default interface, this option allows the user to specify a different default gateway for administrative traffic only.
+ sshaccess
+Specify over which addresses remote administrative SSH access to the LoadMaster is allowed.
+ sshport
+Specify the port used to access the LoadMaster via the SSH protocol.
+ wuiaccess
+Enables or disables access to the Web User Interface (WUI).
+ wuiiface
+Specifies the interface for the WUI.
+ wuiport
+Specifies the port to access the WUI.
+ sshiface
+Specify the addresses over which remote administrative SSH access to the LoadMaster is allowed.
+ enableapi
+Enables the programmable command API Interface.
+Note: If this is disabled, the API will no longer be accessible.
+ adminclientaccess
+Valid values for this parameter are:
+0 – Password only access (default)
+1 – Password or client certificate
+2 – Client certificate required
+3 – Client certificate required (verify via OCSP)
+This parameter is only relevant if Session Management is enabled. For further information on Session Management and on the Admin Client Access option, refer to the User Management, Feature Description on the KEMP documentation page: www.kemptechnologies.com/documentation
+ tethering
+Allow the LoadMaster to regularly check the KEMP website for new software versions.
+0 - Disabled
+1 - Enabled
+ geoclients
+Set the addresses of the GEO LoadMasters which can retrieve service status information from the LoadMaster.
+ geopartners
+Set the IP address of the GEO LoadMaster partner(s). These GEO LoadMasters will keep their DNS configurations in sync.
+Note: Before partnering GEO LoadMasters, a backup should be taken of the relevant GEO LoadMaster which has the correct/preferred configuration. This backup should then be restored to the other LoadMasters
+ that will be partnered with the original LoadMaster.
+ multihomedwui
+Allow WUI access from multiple interfaces. Apart from the main administrative interface, each interface can then be enabled to allow WUI access.
+ SSHPreAuth
+Set the SSH pre-authentication banner, which is displayed before the login prompt when logging in via SSH. Space characters should be escaped by entering %20.
+This field accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+ sessioncac
+If this parameter is enabled, the LoadMaster will also check for a Common Access Card (CAC) certificate when a user is logging on to the WUI.
+0 - Disabled
+1 - Enabled
+ --------------------------------------------------------------------------------
+WUI Section: Certificates & Security > Remote Access > WUI Authorization Options
+--------------------------------------------------------------------------------
+ sessionauthmode
+Specifies the authentication mode for the LoadMaster.
+Refer to the following table for values:
+ | RADIUS | LDAP | Local
+Value | Authent. Author. | Authent. | Authent. Author.
+7 | No No | No | No No
+263 | Yes No | No | Yes Yes
+775 | Yes Yes | No | Yes Yes
+23 | No No | Yes | Yes Yes
+22 | No No | Yes | No Yes
+788 | Yes Yes | Yes | No No
+790 | Yes Yes | Yes | No Yes
+791 | Yes Yes | Yes | Yes Yes
+789 | Yes Yes | Yes | Yes No
+773 | Yes Yes | No | Yes No
+262 | Yes No | No | No Yes
+774 | Yes Yes | No | No Yes
+772 | Yes Yes | No | No No
+278 | Yes No | Yes | No No
+279 | Yes No | Yes | Yes Yes
+ sessionlocalauth
+Enables or disables local authentication.
+ radiusbackupport
+Specifies the TCP port for the backup RADIUS server.
+ radiusbackupsecret
+Specifies the password (secret) to the backup RADIUS server.
+ radiusbackupserver
+Specifies the backup RADIUS server to use for authentication.
+ radiusport
+Specifies the TCP port for communication to the RADIUS server.
+ radiussecret
+Specifies the password (secret) to the RADIUS server.
+ radiusserver
+Specifies the RADIUS server to use for authentication.
+ radiusrevalidateinterval
+Specifies when to revalidate the authentication to the RADIUS server.
+ ldapserver
+Specifies the LDAP server to use for authentication.
+ ldapbackupserver
+Specifies the backup LDAP server for authentication.
+ ldapsecurity
+Specifies the security mode for LDAP authentication.
+ ldaprevalidateinterval
+Specifies how often to revalidate the authentication to the LDAP server.
+
+-------------------------------------------------------
+WUI Section: Certificates & Security > Admin WUI Access
+-------------------------------------------------------
+ sessionidletime
+Specifies the number of seconds that the WUI can be idle before logging the user out. This can be set from 60 to 86400 seconds.
+ sessionmaxfailattempts
+Number of failed attempts before locking the user account. This can be set from 1 to 999.
+ sessioncontrol
+Enables or disables session control.
+ sessionbasicauth
+If the SessionControl and SessionBasicAuth parameters are both enabled, there are two levels of authentication enforced in order to access the LoadMaster WUI. The initial level is Basic Authentication where
+ users log in using the bal or user logins, which are default usernames defined by the system.
+ sessionconcurrent
+Limit the maximum number of concurrent connections a single user can have.
+Range: 0 to 9. A value of 0, means logins are unlimited.
+ geosshport
+The port over which GEO LoadMasters will communicate with on another.
+ WUIPreAuth
+Set the pre-authentication click through banner which will be displayed before the LoadMaster login page. This parameter can contain plain text or HTML code. The field cannot contain JavaScript. This field
+ accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+ WUITLSProtocols
+Specify whether or not it is possible to connect to the LoadMaster WUI using the following protocols; SSLv3, TLS1.0, TLS1.1 or TLS1.2. The protocols can be enabled and disabled using a bitmask value in the range 0 to 14. Refer to the table below to find out what number corresponds to which settings.
+ Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+ WUICipherset
+Specify the cipher set to use for the LoadMaster WUI.
+The valid values are below:
+- Default
+- Default_NoRc4
+- BestPractices
+- Intermediate_compatibility
+- Backward_compatibility
+- WUI
+- FIPS
+- Legacy
+- <NameOfCustomCipherSet> Specify the cipher set to use for the LoadMaster WUI.
+
+---------------------------------------------------------
+WUI Section: Certificates & Security > OCSP Configuration
+---------------------------------------------------------
+ OCSPPort
+The port of the OCSP server.
+ OCSPUseSSL
+Specify whether or not to use SSL to connect to the OCSP server.
+ OCSPOnServerFail
+Treat an OCSP server connection failure of timeout as if the OCSP server had returned a valid response, i.e. treat the client certificate as valid.
+ OCSPServer
+The address of the OCSP server.
+ OCSPUrl
+The URL to access on the OCSP server.
+ SSLStapling
+Enable this parameter to enable the LoadMaster to respond to OCSP stapling requests. If a client connects using SSL and asks for an OCSP response, this is returned. Only Virtual Service certificates are validated. The system holds a cache of OCSP responses that are sent back to the client. This cache is maintained by the OCSP daemon. When the OCSP daemon sends a request to the server, it uses the name specified in the certificate (in the Authority Information Access field). If it cannot resolve this name, then it uses the default OCSP server specified in the OCSPServer parameter.
+ SSHRefreshInterval
+Specify how often the LoadMaster should refresh the OCSP stapling information. The OCSP daemon caches the entry for up to the amount of time specified here, after which it is refreshed.
+Valid values range from 3600 (1 hour (default)) to 604800 seconds (7 days).
+
+--------------------------------------------------------------
+WUI Section: System Configuration > Network Setup > Interfaces
+--------------------------------------------------------------
+ mcast
+The network interface used for multicast traffic which is used to synchronize Layer 4 and Layer 7 traffic when Inter HA Updates are enabled.
+
+----------------------------------------------------------------------------
+WUI Section: System Configuration > Network Setup > Host & DNS Configuration
+----------------------------------------------------------------------------
+ dnssecclient
+Enable or disable DNSSEC client capabilities on the LoadMaster. At least one name server must be configured before DNSSEC can be enabled. After changing this setting, the LoadMaster must be rebooted for the change to be applied. Once the setting is changed, it cannot be changed again until the LoadMaster has been rebooted. If using HA, please set the parameter on both devices separately.
+ 0 = Disabled
+ 1 = Enabled
+ DNSNamesEnable
+When this option is enabled, the LoadMaster automatically attempts to update any changed DNS names (based on the update interval):
+- If the address is not found, or if it is the same as before – nothing is done (except a log entry is generated).
+- If the address is different, the Real Server entry is updated with the new address, if possible.
+- If the new address is invalid for some reason, for example if it is a non-local address and the nonlocalrs option is disabled, no changes are made and a log is generated.
+ dnsupdateinterval
+Set the update interval for DNS entries. Valid values range from 1-60 (minutes). The default value is 60.
+ dnsreloadonerror
+If this parameter is enabled, DNS entries are reloaded when health checks have errors and an FQDN is associated with the Real Server IP address.
+ namserver
+The DNS server the LoadMaster will use for name resolution. Setting this parameter to an empty string will delete the name servers. The last remaining name server cannot be deleted if the dnssecclient parameter is enabled. This parameter has been deprecated and replaced with the nameserver parameter.
+ nameserver
+The DNS server the LoadMaster will use for name resolution. Setting this parameter to an empty string will delete the name servers. The last remaining name server cannot be deleted if the dnssecclient parameter is enabled.
+ ha1hostname
+When using the LoadMaster in HA mode, this is the host name of the first node. If the LoadMaster is not in HA mode, then this will return an error.
+ ha2hostname
+When using the LoadMaster in HA mode, this is the host name of the second node. If the LoadMaster is not in HA mode, then this will return an error.
+ hostname
+The hostname assigned to the LoadMaster.
+ searchlist
+The domain suffix search list when performing DNS resolution.
+
+-------------------------------------------------------------------
+WUI Section: System Configuration > Network Setup > Default Gateway
+-------------------------------------------------------------------
+ dfltgw
+Specify the IPv4 default gateway that is to be used for communicating with the internet.
+ dfltgwv6
+Specify the IPv6 default gateway that is to be used for communicating with the internet.
+
+--------------------------------------------------------------------------
+WUI Section: System Configuration > System Administration > Backup/Restore
+--------------------------------------------------------------------------
+ backupday
+For scheduled backups, this parameter specifies the "day" number (0-7).
+ backupenable
+Specifies if scheduled backups are enabled.
+ backuphost
+Specifies the host to save the backup file to.
+ backuphour
+For scheduled backups, this parameter specifies the "hour" number (0-23).
+ backupminute
+For scheduled backups, this parameter specifies the "minute" number (0-59).
+ backupsecure
+Specify the file transfer method for automated backups.
+0 – Ftp (insecure)
+1 – scp (secure)
+ backuppassword
+Specifies the password for the user account that has access to save the backup file.
+ backuppath
+Specifies the path on the remote host for saving the backup file.
+ backupuser
+Specifies the user account that has access to save the backup file.
+
+---------------------------------------------------------------------
+WUI Section: System Configuration > System Administration > Date/Time
+---------------------------------------------------------------------
+ ntphost
+Specifies the time synchronization server. Multiple hosts can be specified using a space-separated list.
+ ntpkeytype
+Specify the NTP Key Type. The valid values are SHA-1 (SHA) and MD5 (M). The values must be specified in uppercase.
+ ntpkeysecret
+The NTP shared secret string. The NTP secret can be a maximum of 40 characters long. If the secret is more than 20 characters long, it is treated as a hex string. Setting this value to an empty string will disable the NTPv4 feature.
+ ntpkeyid
+The NTP key ID. Valid values range from 1 to 99.
+ timezone
+Specifies the time zone of the LoadMaster.
+ time
+Sets the time of the LoadMaster.
+ -------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > Debug Options
+-------------------------------------------------------------------
+ irqbalance
+The purpose of IRQBalance is distribute hardware interrupts across processors on a multiprocessor system. This should only be enabled after consultation with KEMP Technical Support.
+ backupnetstat
+By default, the LoadMaster includes a Netstat output in backups taken. When this is included, backups take longer to complete. You can stop the Netstat output from being included by disabling this parameter.
+ linearesplogs
+By default, the LoadMaster deletes older log files. If this parameter is enabled, older log files will no longer be deleted. If the filesystem fills up, further access via the LoadMaster is blocked.
+ netconsole
+Netconsole is a kernel module which logs kernel printk messages over UDP allowing debugging of problems where disk logging fails. If directed by a KEMP support engineer, the syslog daemon on a specific host
+ will receive all critical kernel messages. This can help in understanding why a LoadMaster is rebooting.
+ netconsoleinterface
+The interface which hosts the Netconsole.
+
+--------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > Syslog Options
+--------------------------------------------------------------------
+ syslogemergency
+Use this option to set the host(s) which will receive Emergency events only. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslogcritical
+Use this option to set the host(s) which will receive Emergency and Critical events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslogerror
+Use this option to set the host(s) which will receive Emergency, Critical and Error events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ sysloginfo
+Use this option to set the host(s) which will receive Emergency, Critical, Error and Warning events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslognotice
+Use this option to set the host(s) which will receive Emergency, Critical, Error, Warning and Notice events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslogwarn
+Use this option to set the host(s) which will receive All events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslogport
+Specify the port that syslog messages are sent to on the receiving hosts.
+ ------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > SNMP Options
+------------------------------------------------------------------
+ snmpenable
+Enable or disable SNMP.
+ snmpV3enable
+Enable SNMP V3.
+ 0 = Disabled
+ 1 = Enabled
+ snmpv3user
+Specify the username.
+ snmpv3userpasswd
+Specify the user password.
+ snmpAuthProt
+Specify the relevant authentication protocol:
+ - MD5
+ - SHA
+SHA is a more secure protocol.
+ snmpPrivProt
+Specify the relevant privacy protocol:
+ - DES
+ - AES
+AES is a more secure protocol.
+ snmpcontact
+Specify the contact address that is sent in SNMP responses.
+ snmpcommunity
+Specify the SNMP community string.
+ snmplocation
+Specify the location that is sent in SNMP responses.
+ snmpHaTrap
+Send SNMP traps from the shared IP address. This option is only available when the LoadMaster is in HA mode.
+ snmpv1sink
+Specify the sink address for SNMP type 1 traps.
+ snmpv2sink
+Specify the sink address for SNMP type 2 traps.
+ snmpclient
+Specify the list of machines that can access the SNMP subsystem. If no clients are specified, then anyone can access SNMP.
+ snmptrapenable
+Enable the generation of SNMP events whenever a significant event occurs.
+
+-------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > Email Options
+-------------------------------------------------------------------
+ emailuser
+The user account with access to send mail messages.
+ emaildomain
+The domain, if required, for the user account authentication.
+ emailpassword
+The email user's password.
+ emailserver
+The host name or address of the SMTP server to send mail messages through.
+ emailsslmode
+Specify the type of security protocol that should be used on the connection:
+ 0 = None
+ 1 = STARTTLS, if available
+ 2 = STARTTLS
+ 3 = SSL/TLS
+ emailport
+The TCP port on which your mail server accepts connections (usually 25).
+ emailcritical
+The email address to receive critical messages.
+ emailemergency
+The email address to receive emergency messages.
+ emailerror
+The email address to receive error messages.
+ emailinfo
+The email address to receive informational messages.
+ emailnotice
+The email address to receive notices.
+ emailwarn
+The email address to receive warnings.
+ emailenable
+Enables or disables the email logging options.
+
+-------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > SDN Log Files
+-------------------------------------------------------------------
+ sdnstatsmode
+There are two modes that can be used to gather the SDN statistics.
+The modes are described below:
+• Mode 1: When set to mode 1, the statistics are taken from the switch port that is connected to the server and the statistics are relayed back to the LoadMaster.
+• Mode 2: When set to mode 2, the information is taken from all of the switch ports along the path.
+
+------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > WUI Settings
+------------------------------------------------------------------------
+ hoverhelp
+Enables or disables hover help in the WUI.
+ motd
+Sets the Message Of The Day (MOTD) for the web user interface. Either plain text or a text file can be used.
+The maximum number of characters is 5,000.
+An error will be displayed if the MOTD is greater than 5,000 characters.
+ wuidisplaylines
+Specifies the number of display lines in the WUI. This can be set from 10 to 100.
+
+----------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > L7 Configuration
+----------------------------------------------------------------------------
+ transparent
+When using Layer 7, when this is enabled the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent which means that the
+ connections at the Real Server appear to come from the LoadMaster.
+ alwayspersist
+This parameter also accepts no and yes as valid values. No and Yes correspond to 0 and 1 respectively.
+ expect100
+By default, the L7 module only waits for 100-Continue replies if it sees an Expect-100 header, use RFC-2616 Compliant. If the system will always wait for 100 Continue messages, use Require 100-Continue. If
+ the client will always send the POST data even if a 100 Continue message is not sent, use RFC-7231 Compliant instead.
+ localbind
+In very high load situations, local port exhaustion can occur. Enabling this option allows the setting of alternate source addresses. This can be used to expand the number of available local ports.
+ addcookieport
+When using the LoadMaster behind a NATing gateway, all client addresses are the same. To create individual cookies the remote port can also be added to the cookie. Enabling this option when not needed wastes
+ resources.
+ addforwardheader
+This option, only available when L7 Transparency is disabled, allows the addition of either X-ClientSide or X-Forwarded For to the HTTP header.
+ authtimeout
+The duration (in seconds) that a connection remains open for while authentication is ongoing. This value can be between 30 and 300.
+ clienttokentimeout
+The duration (in seconds) to wait for the client token while the process of authentication is ongoing (used for RSA SecurID and RADIUS authentication). The default value for this parameter is 120.
+ finalpersist
+When a Real Server is disabled, the sessions persisting on that Real Server continue to be served until the Drain Time has expired or until no more sessions are being handled by the Real Server. No new sessions will be handled by the Real Server. Valid values include 0, and 60 to 86400.
+ rfcconform
+By default, the LoadMaster conforms to the RFC when parsing HTTP headers. Disabling this will allow interworking with some broken browsers.
+ dropatdrainend
+If enabled, all open connections to disabled Real Servers will be dropped at the end of the Real Servers Drain Stop Time or immediately if there are no Persist entries associated with the Real Server.
+ droponfail
+By default, existing connections are not closed if a Real Server fails. Enabling this feature causes all connections to be immediately dropped on Real Server failure.
+ closeonerror
+When enabled, the LoadMaster will always close the client connection when it sends back an error response. For Example, this changes the behaviour of the LoadMaster when sending back a 304 File not changed
+ message after receiving an If-Modified-Since HTTP header.
+ rsarelocal
+When checking to see if a client is on the local subnet, also check to see if the client is actually a Real Server.
+ slowstart
+When using the Least Connection (or Weighted Least Connection) scheduling method, specify the time (in seconds) over which the load to a Real Server which has just come online will be throttled.
+ ShareSubVSPersist
+By default, each SubVS has an independent persistence table. Enabling this parameter will allow the SubVS to share this information.
+ logsplitinterval
+When using Log Insight Scheduling this is the number of messages which are received on a connection before the stream is rescheduled. The default value is 10.
+ allowemptyposts
+By default the LoadMaster blocks POSTs that do not contain a Content-Length or Transfer-Encoding header to indicate the length of the requests payload. When this parameter is set to true, such requests are assumed to have no payload data and are therefore not rejected.
+ forcefullrsmatch
+By default, when the LoadMaster is trying to locate a Real Server for use with content switching, it tries to use the same Real Server as currently selected, even if the port is not the same. If this parameter is enabled - the port is also compared.
+ AllowEmptyHttpHeaders
+By default, if the LoadMaster is processing HTTP headers, it will ignore HTTP headers that have empty content. This can break some SOAP Services even though it is against the HTTP RFCs. Enabling this option will allow these empty headers through.
+ loguseragent
+When enabled, the User Agent header field is added to the User Logs.
+0 - Disabled
+1 - Enabled
+
+---------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > Network Options
+---------------------------------------------------------------------------
+ snat
+Enabling this options allows the LoadMaster to NAT connections from the Real Servers to the internet.
+ routefilter
+When enabled, this option only accepts IP frames from a host over the interface where the routing algorithm would route frames to the host. This is known as strict source route validation.
+ subnetoriginating
+When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster.
+ If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+ nonlocalrs
+Enable this option to allow assigning non-local Real Servers to Virtual Services.
+ multigw
+Use this option to enable the ability to move the default gateway to a different interface.
+ conntimeout
+Specify the timeout value for the check request.
+Range: 4-60
+ tcptimestamp
+The LoadMaster can include a timestamp in the SYN when connecting to Real Servers. Only enable this option when requested to from KEMP Support.
+ resetclose
+When enabled, the LoadMaster will close its connection to the Real Servers by using TCP RESET instead of the normal close handshake.
+ keepalive
+By default, the system uses TCP keepalives to check for failed clients. Enabling this option improves the reliability of older TCP connections (SSH sessions). Not normally required for normal HTTP/HTTPS
+ services.
+ allowupload
+The LoadMaster has been optimized with HTTP workloads in mind. Enabling this option allows non HTTP uploads to work correctly.
+ subnetorigin
+When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster.
+ If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+ onlydefaultroutes
+Enable this option to force traffic from Virtual Services, which have default route entries set, to be routed to the interface where the Virtual Service’s default route is located.
+ http_proxy
+This option allows clients to specify the HTTP(S) proxy server and port the LoadMaster will use to access the internet.
+ dhkeysize
+Select the strength of the key used in the Diffe-Hellman key exchanges. If this value is changed, a reboot is required in order to use the new value. The default value is 2048 Bits.
+ sslrenegotiate
+By default, the LoadMaster allows a client to automatically renegotiate during an SSL transaction. Disabling this parameter causes SSL connections to terminate if a renegotiation is requested by the client.
+ sslforceserververify
+By default, when re-encrypting traffic the LoadMaster does not check the certificate provided by the Real Server. Enabling this option forces the LoadMaster to verify that the certificate on the Real Server is valid, that is, the certificate authority and expiration are OK. This includes all intermediate certificates.
+ tcpnorecycle
+Enable this option to revert to the legacy mode of reusing TCP timewait connections.
+Note: Only enable this after consulting with KEMP Support.
+ -----------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > AFE Configuration
+-----------------------------------------------------------------------------
+ paranoia
+Sets the sensitivity of IDS detection.
+ cachesize
+Specifies the cache size.
+ hostcache
+Enable or disable using the host cache.
+ limitinput
+Limit the number of connections.
+ L7LimitInput
+This setting limits the default maximum number of connection attempts (per second) from a specific host.
+
+-------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > HA Parameters
+-------------------------------------------------------------------------
+ hastatus
+The status of a HA or cluster unit. This is a read only parameter and cannot be set. Possible values are:
+Normal HA:
+Active, Standby, Passive (all as expected).
+Cloud HA:
+Active, Standby, Passive (if status not yet set).
+Cluster:
+Active (if master), Standby (if slave), Passive (if disabled).
+
+hatimeout
+The time the master must be unavailable before a switchover occurs. Allowed Values: 1-5, each option being a predetermined time interval:
+ 1 = 3 seconds
+ 2 = 6 seconds
+ 3 = 9 seconds
+ 4 = 12 seconds
+ 5 = 15 seconds
+ hawait
+This is how long (in seconds) after the initial boot, before the LoadMaster becomes active. If the partner machine is running this value is ignored. This value can be changed to mitigate the time taken for some intelligent switches to detect that the LoadMaster has started and to bring up the link.
+ haprefered
+By default, neither partner in a HA cluster has priority. When a machine restarts after a switchover that machine becomes a slave. Specifying a preferred host means that when this machine restarts it will always become the master and the partner will revert to slave mode.
+ hamode
+Specify the HA mode. If only using a single LoadMaster, use Non-HA Mode. In HA mode, one LoadMaster must be specified as the first and another as second. HA will not work if both LoadMasters are specified
+ the same.
+ 0 = Turn off HA mode
+ 1 = HA 1 mode
+ 2 = HA 2 mode
+ haif
+The network interface used when synchronising the configuration between the members of the HA cluster.
+ havhid
+When using multiple HA LoadMasters on the same network, this value identifies each cluster so that there are no potential unwanted interactions.
+ hastyle
+By default, the system uses a version of VRRP (carp) to check the status of the partner. The system can also support the legacy Heartbeat program. This option only takes effect when both machines are rebooted.
+0 - legacy heartbeat
+1 - carp
+ hainitial
+Perform extra network checks at boot time. This may cause instability and should not be used.
+ tcpfailover
+When using L4 services, enabling updates allows L4 connection maintenance across a HA switchover. This option is ignored for L7 services.
+This parameter is now deprecated and has been replaced with the HAL4update parameter.
+ cookieupdate
+When using L7 services, enabling this option allows sharing of persistency information between HA partners. If a HA switchover occurs, the persistency information will then not be lost. Enabling this option
+ can have a significant performance impact.
+This parameter is now deprecated and has been replaced with the HAL7Update parameter.
+ hal4update
+When using L4 services, enabling updates allows L4 connection maintenance across a HA switchover. This option is ignored for L7 services.
+ hal7update
+When using L7 services, enabling this option allows sharing of persistency information between HA partners. If a HA switchover occurs, the persistency information will then not be lost. Enabling this option can have a significant performance impact.
+ vmac
+This option creates a shared MAC address for both units. When failover occurs, the LoadMaster handles the MAC address handover too. This allows the switches to keep the MAC address and not worry about ARP caches or stale records.
+
+
+
+ Get-LmParameter
+
+ Param
+
+ The parameter to retrieve.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmParameter
+
+ Param
+
+ The parameter to retrieve.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Param
+
+ The parameter to retrieve.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmParameter -Param SSLRefreshInterval
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{SSLRefreshInterval=3700}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmPreviousFirmwareVersion
+
+ Retrieve the firmware version that was previously installed on the LoadMaster.
+
+
+
+
+ Get
+ LmPreviousFirmwareVersion
+
+
+
+ This command returns the firmware version number for the last installed firmware version before the current one.
+
+
+
+ Get-LmPreviousFirmwareVersion
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmPreviousFirmwareVersion
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmPreviousFirmwareVersion
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{PreviousVersion=7.2.39.0.14938.DEV.20170411-1306
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmVpnConnection
+
+ Retrieves a list of all existing Virtual Private Network (VPN) connection details, or details for a specific VPN connection.
+
+
+
+
+ Get
+ LmVpnConnection
+
+
+
+ To retrieve details for a specific VPN connection, use the Name parameter to specify the name of the relevant VPN connection. To retrieve details for all VPN connections, do not use the Name parameter.
+
+
+
+ Get-LmVpnConnection
+
+ Name
+
+ Specify the name of a specific VPN connection to display the details for. To display details for all VPN connections - do not use this parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmVpnConnection
+
+ Name
+
+ Specify the name of a specific VPN connection to display the details for. To display details for all VPN connections - do not use this parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ Specify the name of a specific VPN connection to display the details for. To display details for all VPN connections - do not use this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmVpnConnection
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{VpnConfiguration=}
+Param........: @{name=ExampleVPN; status=Down; localIP=10.35.47.15; localSubnets=10.35.47.15/32; remoteIP=; remoteSubnets=; localID=10.35.47.15; remoteI
+D=; key=; pfs=disabled}
+
+
+name : ExampleVPN
+status : Down
+localIP : 10.35.47.15
+localSubnets : 10.35.47.15/32
+remoteIP :
+remoteSubnets :
+localID : 10.35.47.15
+remoteID :
+key :
+pfs : disabled
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmVpnIkeDaemonStatus
+
+ View the status of the Internet Key Exchange (IKE) daemon.
+
+
+
+
+ Get
+ LmVpnIkeDaemonStatus
+
+
+
+ Run this command to check the status of the IKE daemon.
+
+
+
+ Get-LmVpnIkeDaemonStatus
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmVpnIkeDaemonStatus
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmVpnIkeDaemonStatus
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{IkeDaemonStatus=Down}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmWuiSetting
+
+ Retrieve the LoadMaster Web User Interface (WUI) settings.
+
+
+
+
+ Get
+ LmWuiSetting
+
+
+
+ This command returns the WUI settings, such as the Message of the Day and the Statistics Display Size.
+
+
+
+ Get-LmWuiSetting
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LmWuiSetting
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmWuiSetting
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Parameters=}
+Param........: @{motd=Example Message of the Day; hoverhelp=no}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LogEmailConfiguration
+
+ Allows you to view the values of the email logging options.
+
+
+
+
+ Get
+ LogEmailConfiguration
+
+
+
+ Allows you to view the values of the email logging options.
+
+
+
+ Get-LogEmailConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LogEmailConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LogEmailConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{EmailConfiguration=}
+Param........: @{EmailEnable=yes; EmailServer=10.154.22.132; EmailPort=80; EmailUser=test; EmailPassword=********; EmailDomain=ExampleDomain; EmailSSLMo
+de=1; EmailEmergency=; EmailCritical=; EmailError=; EmailWarn=; EmailNotice=; EmailInfo=}
+
+
+EmailEnable : yes
+EmailServer : 10.154.22.132
+EmailPort : 80
+EmailUser : test
+EmailPassword : ********
+EmailDomain : ExampleDomain
+EmailSSLMode : 1
+EmailEmergency :
+EmailCritical :
+EmailError :
+EmailWarn :
+EmailNotice :
+EmailInfo :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LogSplitInterval
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcL7LogInsightSplitConfiguration
+
+
+
+
+ Get
+ LogSplitInterval
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcL7LogInsightSplitConfiguration
+
+
+
+ Get-LogSplitInterval
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LogSplitInterval
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LogStatistics
+
+ Returns statistics and some settings for each of the services.
+
+
+
+
+ Get
+ LogStatistics
+
+
+
+ Returns statistics and some settings for each of the services.
+
+
+
+ Get-LogStatistics
+
+ VirtualService
+
+ Enable this option to only retrieve statistics for Virtual Services.
+
+ SwitchParameter
+
+
+ RealServer
+
+ Enable this option to only retrieve statistics for Real Servers on the LoadMaster.
+
+ SwitchParameter
+
+
+ Totals
+
+ Enable this to get all statistics from the LoadMaster.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LogStatistics
+
+ VirtualService
+
+ Enable this option to only retrieve statistics for Virtual Services.
+
+ SwitchParameter
+
+
+ RealServer
+
+ Enable this option to only retrieve statistics for Real Servers on the LoadMaster.
+
+ SwitchParameter
+
+
+ Totals
+
+ Enable this to get all statistics from the LoadMaster.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ Enable this option to only retrieve statistics for Virtual Services.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ RealServer
+
+ Enable this option to only retrieve statistics for Real Servers on the LoadMaster.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Totals
+
+ Enable this to get all statistics from the LoadMaster.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If you run the Get-Statistics command on the admin node when using LoadMaster clustering – the output will show the combined totals of all machines.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LogStatistics
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Vs=System.Object[]; VStotals=; CPU=; Network=; Memory=; TPS=; ChangeTime=1492771843}
+Vs : {@{VSAddress=10.154.11.181; VSPort=69; VSProt=udp; Index=1; Status=down; ErrorCode=0; Enable=1; TotalConns=0; TotalPkts=0; TotalBytes=0;
+ TotalBits=0; ActiveConns=0; BytesRead=0; BytesWritten=0; ConnsPerSec=0; WafEnable=0}, @{VSAddress=10.154.11.181; VSPort=8081; VSProt=tcp;
+ Index=3; Status=down; ErrorCode=0; Enable=1; TotalConns=0; TotalPkts=0; TotalBytes=0; TotalBits=0; ActiveConns=0; BytesRead=0;
+ BytesWritten=0; ConnsPerSec=0; WafEnable=0}, @{VSAddress=10.154.11.182; VSPort=69; VSProt=tcp; Index=2; Status=down; ErrorCode=0;
+ Enable=1; TotalConns=0; TotalPkts=0; TotalBytes=0; TotalBits=0; ActiveConns=0; BytesRead=0; BytesWritten=0; ConnsPerSec=0; WafEnable=0},
+ @{VSAddress=10.154.11.182; VSPort=8081; VSProt=tcp; Index=4; Status=down; ErrorCode=0; Enable=1; TotalConns=0; TotalPkts=0; TotalBytes=0;
+ TotalBits=0; ActiveConns=0; BytesRead=0; BytesWritten=0; ConnsPerSec=0; WafEnable=0}}
+VStotals : @{ConnsPerSec=0; TotalConns=0; BitsPerSec=0; TotalBits=0; BytesPerSec=0; TotalBytes=0; PktsPerSec=0; TotalPackets=0}
+CPU : @{total=; cpu0=; cpu1=}
+Network : @{bnd0=; eth1=; eth1.1=; eth1.vxlan1=}
+Memory : @{memused=332188; percentmemused=16; memfree=1724424; percentmemfree=84}
+TPS : @{Total=0; SSL=0}
+ChangeTime : 1492771843
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LogSyslogConfiguration
+
+ Allows you to view which hosts the various Syslog messages get sent to.
+
+
+
+
+ Get
+ LogSyslogConfiguration
+
+
+
+ Allows you to view which hosts the various Syslog messages get sent to.
+
+
+
+ Get-LogSyslogConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-LogSyslogConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LogSyslogConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{SyslogSettings=}
+Param........: @{SyslogEmergency=; SyslogCritical=; SyslogError=; SyslogWarn=; SyslogNotice=; SyslogInfo=10.154.153.94; SyslogPort=60}
+SyslogEmergency :
+SyslogCritical :
+SyslogError :
+SyslogWarn :
+SyslogNotice :
+SyslogInfo : 10.154.153.94
+SyslogPort : 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-NetworkConfiguration
+
+ Allows you to view the values of some networking options.
+
+
+
+
+ Get
+ NetworkConfiguration
+
+
+
+ Allows you to view the values of some networking options.
+
+
+
+ Get-NetworkConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-NetworkConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and does not return all of the available parameters. Please refer to the Get-Help of the Get-Parameter command to view a full list of parameters that can be returned.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-NetworkConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{NetworkConfiguration=}
+Param........: @{snat=yes; allowupload=no; conntimeout=660; keepalive=yes; multigw=no; nonlocalrs=no; onlydefaultroutes=no; resetclose=no; subnetorigin=
+yes; subnetoriginating=yes; tcptimestamp=no; routefilter=no; dhkeysize=2048; http_proxy=}
+snat : yes
+allowupload : no
+conntimeout : 660
+keepalive : yes
+multigw : no
+nonlocalrs : no
+onlydefaultroutes : no
+resetclose : no
+subnetorigin : yes
+subnetoriginating : yes
+tcptimestamp : no
+routefilter : no
+dhkeysize : 2048
+http_proxy :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-NetworkDNSConfiguration
+
+ Allows you to retrieve the values of the DNS Configuration options.
+
+
+
+
+ Get
+ NetworkDNSConfiguration
+
+
+
+ Allows you to retrieve the values of the DNS Configuration options.
+
+
+
+ Get-NetworkDNSConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-NetworkDNSConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and does not return all of the available parameters. Please refer to the Get-Help of the Get-Parameter command to view a full list of parameters that can be returned.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-NetworkDNSConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{NetworkDNSConfiguration=}
+Param........: @{Hostname=lb100; NamServer=10.154.75.25; SearchList= KEMP.LAB.INTRA}
+Hostname : lb100
+NamServer : 10.154.75.25
+SearchList : KEMP.LAB.INTRA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-NetworkInterface
+
+ Retreive details about all interfaces or a specific interface.
+
+
+
+
+ Get
+ NetworkInterface
+
+
+
+ Specify the InterfaceID to retreive details for a particular interface. Otherwise, all interface details are displayed.
+
+
+
+ Get-NetworkInterface
+
+ InterfaceID
+
+ The Interface ID to get settings for. If this parameter is omitted, it will default to eth0.
+To view the interface ID for each of the interfaces, run the Get-Statistics command. The interface ID is the first number displayed in each interface row.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-NetworkInterface
+
+ InterfaceID
+
+ The Interface ID to get settings for. If this parameter is omitted, it will default to eth0.
+To view the interface ID for each of the interfaces, run the Get-Statistics command. The interface ID is the first number displayed in each interface row.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The Interface ID to get settings for. If this parameter is omitted, it will default to eth0.
+To view the interface ID for each of the interfaces, run the Get-Statistics command. The interface ID is the first number displayed in each interface row.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-NetworkInterface
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Id : 0
+IPAddress : 10.154.11.180/16
+Mtu : 1500
+InterfaceType : Port
+GeoTrafficEnable : yes
+DefaultInterface : yes
+
+Id : 1
+IPAddress : 10.154.11.180/16
+Mtu : 1500
+InterfaceType : Port
+GeoTrafficEnable : no
+DefaultInterface : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-NetworkOptions
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkConfiguration
+
+
+
+
+ Get
+ NetworkOptions
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkConfiguration
+
+
+
+ Get-NetworkOptions
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-NetworkOptions
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-NetworkRoute
+
+ Allows you to view the details of all Additional Routes.
+
+
+
+
+ Get
+ NetworkRoute
+
+
+
+ Allows you to view the details of all Additional Routes.
+
+
+
+ Get-NetworkRoute
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-NetworkRoute
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-NetworkRoute
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Route : @{Destination=10.154.11.24/32; Gateway=10.154.2.32}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-NetworkSNMPConfiguration
+
+ Allows you to view the values of the various SNMP options.
+
+
+
+
+ Get
+ NetworkSNMPConfiguration
+
+
+
+ Allows you to view the values of the various SNMP options.
+
+
+
+ Get-NetworkSNMPConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-NetworkSNMPConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-NetworkSNMPConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+SNMPEnable : yes
+SNMPv3enable : no
+SNMPClient :
+SNMPCommunity :
+SNMPContact :
+SNMPLocation :
+SNMPTrapEnable : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-PacketFilterOptionACL
+
+ Retrieves the value of the Packet Routing Filter option.
+
+
+
+
+ Get
+ PacketFilterOptionACL
+
+
+
+ Retrieves the value of the Packet Routing Filter option. This can also be used to determine whether packet filtering is enabled.
+
+
+
+ Get-PacketFilterOptionACL
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-PacketFilterOptionACL
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-PacketFilterOptionACL
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{PacketFilterConfiguration=}
+Param........: @{aclstatus=enable; aclmethod=reply; aclblockall=free}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-Parameter
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmParameter
+
+
+
+
+ Get
+ Parameter
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmParameter
+
+
+
+ Get-Parameter
+
+ Param
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-Parameter
+
+ Param
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Param
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-RealServer
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcRealServer
+
+
+
+
+ Get
+ RealServer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcRealServer
+
+
+
+ Get-RealServer
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-RealServer
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-Route
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkRoute
+
+
+
+
+ Get
+ Route
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkRoute
+
+
+
+ Get-Route
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-Route
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-Rule
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcContentRule
+
+
+
+
+ Get
+ Rule
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcContentRule
+
+
+
+ Get-Rule
+
+ RuleName
+
+
+
+ String
+
+
+ RuleType
+
+
+
+ String
+
+
+ All
+
+
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-Rule
+
+ RuleName
+
+
+
+ String
+
+
+ RuleType
+
+
+
+ String
+
+
+ All
+
+
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RuleName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RuleType
+
+
+
+ String
+
+ String
+
+
+
+
+
+ All
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SAMLDomain
+
+ Retrieve details about the specified SAML SSO domain.
+
+
+
+
+ Get
+ SAMLDomain
+
+
+
+ Retrieve the parameter values for a SAML SSO domain.
+
+
+
+ Get-SAMLDomain
+
+ Domain
+
+ The name of the SAML SSO domain to retrieve the details for. If the Domain is not specified, the command returns all the available SAML domains.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SAMLDomain
+
+ Domain
+
+ The name of the SAML SSO domain to retrieve the details for. If the Domain is not specified, the command returns all the available SAML domains.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ The name of the SAML SSO domain to retrieve the details for. If the Domain is not specified, the command returns all the available SAML domains.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SAMLDomain
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Domain=System.Object[]}
+Param........:
+Id : 9
+Name : EXAMPLE2.COM
+server : 10.154.45.22
+auth_type : SAML
+idp_entity_id :
+idp_sso_url :
+idp_logoff_url :
+idp_cert :
+sp_entity_id : idp-3.example.com
+sp_cert : UseSelfSigned
+sess_tout_type : idle time
+sess_tout_idle_pub : 900
+sess_tout_duration_pub : 1800
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GetSDNController
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SdnController
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SdnController
+
+
+
+ GetSDNController
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ GetSDNController
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SdnController
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SdnController
+
+
+
+
+ Get
+ SdnController
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SdnController
+
+
+
+ Get-SdnController
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SdnController
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SdnController
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=Data}
+Return Code..: 200
+Response.....: Command successfully executed.
+Param........: cluster cluster
+
+id controller
+-- ----------
+1 controller
+3 controller
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecAdminAccess
+
+ Retrieve the admin access settings.
+
+
+
+
+ Get
+ SecAdminAccess
+
+
+
+ This command returns the admin access settings (WuiDefaultGateway, WuiNetworkInterfaceId, WuiPort).
+
+
+
+ Get-SecAdminAccess
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SecAdminAccess
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SecAdminAccess
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{SecAdminAccessConfiguration=}
+Param........: @{WuiDefaultGateway=; WuiNetworkInterfaceId=0; WuiPort=443}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecAdminWuiConfiguration
+
+ Retrieve the admin Web User Interface (WUI) access settings.
+
+
+
+
+ Get
+ SecAdminWuiConfiguration
+
+
+
+ Displays these settings, including the supported TLS protocols and WUI cipher set.
+
+
+
+ Get-SecAdminWuiConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SecAdminWuiConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SecAdminWuiConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{SecAdminWuiConfiguration=}
+Param........: @{WUITLSProtocols=0; WUICipherset=; sessioncontrol=yes; sessionbasicauth=no; sessionmaxfailattempts=0; sessionidletime=0; sessionconcurre
+nt=0; wuipreauth=}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecRemoteAccess
+
+ Allows you to view Remote Access options.
+
+
+
+
+ Get
+ SecRemoteAccess
+
+
+
+ Allows you to view Remote Access options.
+
+
+
+ Get-SecRemoteAccess
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SecRemoteAccess
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and does not return all of the available parameters. Please refer to the Get-Help of the Get-Parameter command to view a full list of parameters that can be returned.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SecRemoteAccess
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Param........: @{sshaccess=yes; sshiface=all; sshport=22; wuiaccess=yes; enableapi=yes; geoclients=; geopartners=10.154.11.190; geosshport=22; geosshifa
+ce=0; MultiHomedWui=no; SSHPreAuthBanner=; AllowUpdateChecks=yes}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecRemoteAccessLoginMethod
+
+ Retrieve the Admin Login Method.
+
+
+
+
+ Get
+ SecRemoteAccessLoginMethod
+
+
+
+ This command returns the Admin Login Method for the WUI, for example, "Password or Client certificate" or "Password Only Access (default)".
+
+
+
+ Get-SecRemoteAccessLoginMethod
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SecRemoteAccessLoginMethod
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SecRemoteAccessLoginMethod
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{LoginMethod=PasswordOrClientCertificate}
+Param........: PasswordOrClientCertificate
+PasswordOrClientCertificate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecUser
+
+ Displays permissions for a user, or users.
+
+
+
+
+ Get
+ SecUser
+
+
+
+ Specifying a username for the User parameter displays details for that partiular user. Omitting the User parameter will return details for all users.
+
+
+
+ Get-SecUser
+
+ User
+
+ Username of the relevant user. If this parameter is omitted, permissions for all users will be returned.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SecUser
+
+ User
+
+ Username of the relevant user. If this parameter is omitted, permissions for all users will be returned.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ User
+
+ Username of the relevant user. If this parameter is omitted, permissions for all users will be returned.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SecUser
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+Name Perms
+---- -----
+Example
+K360Central_10.154.172.215_158 root
+K360Central_10.154.153.94_14 root
+example2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecWuiAuthentication
+
+ View the values of WUI Authentication and Authorization options.
+
+
+
+
+ Get
+ SecWuiAuthentication
+
+
+
+ Returns details such as the RADIUS configuration.
+
+
+
+ Get-SecWuiAuthentication
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SecWuiAuthentication
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SecWuiAuthentication
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{SecWuiAuthenticationConfiguration=}
+Param........: @{radiusserver=; radiusport=0; radiussecret=********; radiusrevalidateinterval=60; radiusbackupserver=; radiusbackupport=0; radiusbackups
+ecret=********; wuildapep=; sessionlocalauth=no; sessionauthmode=0}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-ServiceHealth
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcServiceHealth
+
+
+
+
+ Get
+ ServiceHealth
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcServiceHealth
+
+
+
+ Get-ServiceHealth
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-ServiceHealth
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SNMPOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkSNMPConfiguration
+
+
+
+
+ Get
+ SNMPOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-NetworkSNMPConfiguration
+
+
+
+ Get-SNMPOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SNMPOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SSODomain
+
+ Returns a list of any SSO domains that exist and their settings.
+
+
+
+
+ Get
+ SSODomain
+
+
+
+ Returns a list of any SSO domains that exist and their settings.
+
+
+
+ Get-SSODomain
+
+ Domain
+
+ To retrieve details about a particular domain, specify the domain name using this parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SSODomain
+
+ Domain
+
+ To retrieve details about a particular domain, specify the domain name using this parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ To retrieve details about a particular domain, specify the domain name using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SSODomain
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Param........: @{Id=9; Name=EXAMPLE2.COM; testuser=; ldap_version=3; server_side=0; auth_type=RSA-SECURID; logon_fmt=Principalname; logon_fmt2=Principal
+name; logon_transcode=1; logon_domain=; idp_entity_id=; idp_sso_url=; idp_logoff_url=; idp_cert=; sp_entity_id=; sp_cert=UseSelfSigned; kerberos_domain=
+; kerberos_kdc=; kcd_username=; max_failed_auths=0; reset_fail_tout=60; unblock_tout=1800; sess_tout_type=idle time; sess_tout_idle_pub=900; sess_tout_d
+uration_pub=1800; sess_tout_idle_priv=900; sess_tout_duration_priv=28800; cert_check_asi=0; cert_check_cn=0}
+
+
+Id : 9
+Name : EXAMPLE2.COM
+testuser :
+ldap_version : 3
+server_side : 0
+auth_type : RSA-SECURID
+logon_fmt : Principalname
+logon_fmt2 : Principalname
+logon_transcode : 1
+logon_domain :
+idp_entity_id :
+idp_sso_url :
+idp_logoff_url :
+idp_cert :
+sp_entity_id :
+sp_cert : UseSelfSigned
+kerberos_domain :
+kerberos_kdc :
+kcd_username :
+max_failed_auths : 0
+reset_fail_tout : 60
+unblock_tout : 1800
+sess_tout_type : idle time
+sess_tout_idle_pub : 900
+sess_tout_duration_pub : 1800
+sess_tout_idle_priv : 900
+sess_tout_duration_priv : 28800
+cert_check_asi : 0
+cert_check_cn : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SSODomainLockedUser
+
+ Displays a list of users who are currently blocked from accessing the SSO domain.
+
+
+
+
+ Get
+ SSODomainLockedUser
+
+
+
+ Displays a list of users who are currently blocked from accessing the SSO domain.
+
+
+
+ Get-SSODomainLockedUser
+
+ Domain
+
+ The name of the SSO domain.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SSODomainLockedUser
+
+ Domain
+
+ The name of the SSO domain.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ The name of the SSO domain.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SSODomainLockedUser -Domain example2.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{LockedUsers=}
+Param........: @{domainid=1; user=ruth@qasp.com; locktime=Mon Apr 24 13:38:14 2017}
+domainid : 1
+user : ruth@qasp.com
+locktime : Mon Apr 24 13:38:14 2017
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SSODomainSession
+
+ Retrieve details of an open SSO domain session, or sessions.
+
+
+
+
+ Get
+ SSODomainSession
+
+
+
+ Retrieve details of an open SSO domain session, or sessions.
+
+
+
+ Get-SSODomainSession
+
+ Domain
+
+ Specify the name of the SSO domain to retrieve the details for.
+
+ String
+
+
+ User
+
+ To retrieve a list of all open sessions for the specified SSO domain, leave this parameter blank. To narrow down the list to only retrieve sessions for a particular user, specify the username here.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SSODomainSession
+
+ Domain
+
+ Specify the name of the SSO domain to retrieve the details for.
+
+ String
+
+
+ User
+
+ To retrieve a list of all open sessions for the specified SSO domain, leave this parameter blank. To narrow down the list to only retrieve sessions for a particular user, specify the username here.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ Specify the name of the SSO domain to retrieve the details for.
+
+ String
+
+ String
+
+
+
+
+
+ User
+
+ To retrieve a list of all open sessions for the specified SSO domain, leave this parameter blank. To narrow down the list to only retrieve sessions for a particular user, specify the username here.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SSODomainSession -Domain qasp.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{SSOSession=}
+Param........: @{NumberOfSessions=1; Session=}
+NumberOfSessions : 1
+Session : @{User=ruth@qasp.com; Client=10.0.70.230:40696; Destination=172.20.0.125; Created=2017-04-24 13:16:03; Expires=2017-04-24 13:46:03;
+ Cookie=-}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-Statistics
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LogStatistics
+
+
+
+
+ Get
+ Statistics
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LogStatistics
+
+
+
+ Get-Statistics
+
+ VirtualService
+
+
+
+ SwitchParameter
+
+
+ RealServer
+
+
+
+ SwitchParameter
+
+
+ Totals
+
+
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-Statistics
+
+ VirtualService
+
+
+
+ SwitchParameter
+
+
+ RealServer
+
+
+
+ SwitchParameter
+
+
+ Totals
+
+
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ RealServer
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Totals
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SyslogOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LogSyslogConfiguration
+
+
+
+
+ Get
+ SyslogOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LogSyslogConfiguration
+
+
+
+ Get-SyslogOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-SyslogOption
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-Template
+
+ Retrieve a list of installed templates.
+
+
+
+
+ Get
+ Template
+
+
+
+ This command will return a list of templates and related details.
+
+
+
+ Get-Template
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-Template
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-Template
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{name=TFTP; comment=Handles TFTP over port 69 (Version 1.0); certified=yes}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-TlsCertificate
+
+ List the currently installed certificates and their fingerprints.
+
+
+
+
+ Get
+ TlsCertificate
+
+
+
+ A list of certificates and fingerprints is displayed.
+
+
+
+ Get-TlsCertificate
+
+ CertName
+
+ To retreive details for a particular certificate, specify the name using the CertName parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-TlsCertificate
+
+ CertName
+
+ To retreive details for a particular certificate, specify the name using the CertName parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ CertName
+
+ To retreive details for a particular certificate, specify the name using the CertName parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Outform
+
+ Specify the format - either PEM or DER. DER is Base64-encoded because it is a binary format.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-TlsCertificate
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+name modulus
+---- -------
+Example C89E5A8F8B1FCD8F366D3DE3350B17BA44A18892DECE87B1149F26B849BA9581EFC281FBC9584F763430EF3EAC42E9F63866080766070A60C9314F10C0A07D3CE833928...
+2 C89E5A8F8B1FCD8F366D3DE3350B17BA44A18892DECE87B1149F26B849BA9581EFC281FBC9584F763430EF3EAC42E9F63866080766070A60C9314F10C0A07D3CE833928...
+ExampleCert2 C89E5A8F8B1FCD8F366D3DE3350B17BA44A18892DECE87B1149F26B849BA9581EFC281FBC9584F763430EF3EAC42E9F63866080766070A60C9314F10C0A07D3CE833928...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-TlsCipherSet
+
+ Retrieve the list of ciphers in a cipher set.
+
+
+
+
+ Get
+ TlsCipherSet
+
+
+
+ Retrieves the list of ciphers which are in a specified system-defined or custom cipher set.
+
+
+
+ Get-TlsCipherSet
+
+ Name
+
+ The name of the cipher set.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-TlsCipherSet
+
+ Name
+
+ The name of the cipher set.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the cipher set.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-TlsCipherSet -Name Default
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+ECDHE-RSA-AES256-SHA384
+ECDHE-ECDSA-AES256-SHA384
+DHE-RSA-AES256-SHA256
+DHE-DSS-AES256-SHA256
+DH-RSA-AES256-SHA256
+DH-DSS-AES256-SHA256
+ECDH-RSA-AES256-SHA384
+ECDH-ECDSA-AES256-SHA384
+AES256-SHA256
+AES256-SHA
+ECDHE-RSA-AES128-SHA256
+ECDHE-ECDSA-AES128-SHA256
+DHE-RSA-AES128-SHA256
+DHE-DSS-AES128-SHA256
+DH-RSA-AES128-SHA256
+DH-DSS-AES128-SHA256
+ECDH-RSA-AES128-SHA256
+ECDH-ECDSA-AES128-SHA256
+AES128-SHA256
+AES128-SHA
+DES-CBC3-SHA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-TlsHSM
+
+ Displays the HSM configuration settings.
+
+
+
+
+ Get
+ TlsHSM
+
+
+
+ Displays the HSM configuration settings.
+
+
+
+ Get-TlsHSM
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-TlsHSM
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-TlsHSM
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{engine=cavhsm; addr=10.154.11.129; user=ExampleUser; enable=0}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-TlsIntermediateCertificate
+
+ Retrieve a list of intedmediate certificates currently installed on the LoadMaster.
+
+
+
+
+ Get
+ TlsIntermediateCertificate
+
+
+
+ Retrieve a list of intedmediate certificates currently installed on the LoadMaster.
+
+
+
+ Get-TlsIntermediateCertificate
+
+ CertName
+
+ To retrieve details for a particular intermediate certificate, specify the certificate name using the CertName parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-TlsIntermediateCertificate
+
+ CertName
+
+ To retrieve details for a particular intermediate certificate, specify the certificate name using the CertName parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ CertName
+
+ To retrieve details for a particular intermediate certificate, specify the certificate name using the CertName parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Outform
+
+ Specify the format - either PEM or DER. DER is Base64-encoded because it is a binary format.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-TlsIntermediateCertificate
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+1 C29073E67DD34ABC117326F05B3A6EBC7610ADF0C57D6731B705E56768C36CDA211FD4C21E1FE7D6E08986B2F72973C22E4AA1B5238FE2738C3F5A7202D67BE291C6CAEDA866...
+Exam... C89E5A8F8B1FCD8F366D3DE3350B17BA44A18892DECE87B1149F26B849BA9581EFC281FBC9584F763430EF3EAC42E9F63866080766070A60C9314F10C0A07D3CE833928F431D...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-VirtualService
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcVirtualService
+
+
+
+
+ Get
+ VirtualService
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcVirtualService
+
+
+
+ Get-VirtualService
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-VirtualService
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-VSPacketFilterACL
+
+ Displays the addresses on the black or white list for a Virtual Service.
+
+
+
+
+ Get
+ VSPacketFilterACL
+
+
+
+ Lists the host and network IP addresses on the black or white access control list for a specific Virtual Service. Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+ Get-VSPacketFilterACL
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ String
+
+
+ VSPort
+
+ Specifies the Virtual Service port number.
+
+ Int32
+
+
+ VSProtocol
+
+ Specifies the Virtual Service protocol: "tcp" or "udp".
+
+ String
+
+
+ Type
+
+ Specify the type of list:
+- black: blocked addresses
+- white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-VSPacketFilterACL
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ String
+
+
+ VSPort
+
+ Specifies the Virtual Service port number.
+
+ Int32
+
+
+ VSProtocol
+
+ Specifies the Virtual Service protocol: "tcp" or "udp".
+
+ String
+
+
+ Type
+
+ Specify the type of list:
+- black: blocked addresses
+- white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ Specifies the Virtual Service port number.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ Specifies the Virtual Service protocol: "tcp" or "udp".
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+ Specify the type of list:
+- black: blocked addresses
+- white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-VSPacketFilterACL -VSPort 80 -VSProtocol tcp -Type black -VirtualService 10.35.47.16
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+10.35.47.16 80 tcp @{addr=10.145.33.4/32; comment=}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-WafAuditFiles
+
+ Returns a list of the WAF audit file names.
+
+
+
+
+ Get
+ WafAuditFiles
+
+
+
+ Returns a list of the WAF audit file names.
+
+
+
+ Get-WafAuditFiles
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-WafAuditFiles
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-WafAuditFiles
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+File1 : wafaudit.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GetWafChangeLog
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-WafChangeLog
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Export-WafChangeLog
+
+
+
+ GetWafChangeLog
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ GetWafChangeLog
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-WafRules
+
+ Displays details about all installed Web Application Firewall (WAF) rules (commercial and custom).
+
+
+
+
+ Get
+ WafRules
+
+
+
+ Displays details about all installed Web Application Firewall (WAF) rules (commercial and custom). It also shows if the rules are active or not. Active rules are ones that have been assigned to one or more Virtual Services.
+
+
+
+ Get-WafRules
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-WafRules
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-WafRules
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+Inactive1 : Generic/ip_reputation
+Inactive2 : Generic/known_vulns
+Inactive3 : Generic/malware_detection
+Inactive4 : Generic/botnet_attacks
+Inactive5 : Generic/creditcard_known
+Inactive6 : Generic/creditcard_track_pan
+Inactive7 : ApplicationSpecific/cpanel_attacks
+Inactive8 : ApplicationSpecific/drupal_attacks
+Inactive9 : ApplicationSpecific/joomla_attacks
+Inactive10 : ApplicationSpecific/modx_attacks
+Inactive11 : ApplicationSpecific/netcat_attacks
+Inactive12 : ApplicationSpecific/oscommerce_attacks
+Inactive13 : ApplicationSpecific/phpbb_attacks
+Inactive14 : ApplicationSpecific/sharepoint_attacks
+Inactive15 : ApplicationSpecific/typo3_attacks
+Inactive16 : ApplicationSpecific/vbulletin_attacks
+Inactive17 : ApplicationSpecific/wordpress_attacks
+Inactive18 : ApplicationSpecific/owa_attacks
+Inactive19 : ApplicationSpecific/iis_attacks
+Inactive20 : ApplicationGeneric/lfi_attacks
+Inactive21 : ApplicationGeneric/rfi_attacks
+Inactive22 : ApplicationGeneric/sqli_attacks
+Inactive23 : ApplicationGeneric/xss_attacks
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-WafRulesAutoUpdateConfiguration
+
+ Displays the values of the Web Application Firewall (WAF) auto-update configuration.
+
+
+
+
+ Get
+ WafRulesAutoUpdateConfiguration
+
+
+
+ Displays the values of the WAF configuration relating to the automatic updating of commercial rules.
+
+
+
+ Get-WafRulesAutoUpdateConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-WafRulesAutoUpdateConfiguration
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-WafRulesAutoUpdateConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+AutoUpdate : 0
+AutoInstall : 1
+InstallTimeHour : 4
+LastUpdated : 2017-04-05
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GetWafSettings
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-WafRulesAutoUpdateConfiguration
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-WafRulesAutoUpdateConfiguration
+
+
+
+ GetWafSettings
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ GetWafSettings
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-WUIAuth
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SecWuiAuthentication
+
+
+
+
+ Get
+ WUIAuth
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SecWuiAuthentication
+
+
+
+ Get-WUIAuth
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-WUIAuth
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-WUISetting
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SecAdminWuiConfiguration
+
+
+
+
+ Get
+ WUISetting
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SecAdminWuiConfiguration
+
+
+
+ Get-WUISetting
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Get-WUISetting
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HSMConfigure
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-TlsHSM
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-TlsHSM
+
+
+
+ HSMConfigure
+
+ Sethsm
+
+
+
+ String
+
+
+ Safeaddr
+
+
+
+ String
+
+
+ Clpass
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ Cavhsmaddr
+
+
+
+ String
+
+
+ Cavhsmpasswd
+
+
+
+ String
+
+
+ Cavhsmuser
+
+
+
+ String
+
+
+ Cavhsmenable
+
+
+
+ Boolean
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ HSMConfigure
+
+ Sethsm
+
+
+
+ String
+
+
+ Safeaddr
+
+
+
+ String
+
+
+ Clpass
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ Cavhsmaddr
+
+
+
+ String
+
+
+ Cavhsmpasswd
+
+
+
+ String
+
+
+ Cavhsmuser
+
+
+
+ String
+
+
+ Cavhsmenable
+
+
+
+ Boolean
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Sethsm
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Safeaddr
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Clpass
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Cavhsmaddr
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Cavhsmpasswd
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Cavhsmuser
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Cavhsmenable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HSMGenerateClientCert
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-TlsHSMClientCert
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-TlsHSMClientCert
+
+
+
+ HSMGenerateClientCert
+
+ Path
+
+
+
+ String
+
+
+ Clcertname
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ HSMGenerateClientCert
+
+ Path
+
+
+
+ String
+
+
+ Clcertname
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Clcertname
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HSMShow
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-TlsHSM
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-TlsHSM
+
+
+
+ HSMShow
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ HSMShow
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HSMUploadCACert
+
+ WARNING: This function is deprecated. Use the following command instead:
+Import-TlsHSMCACert
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Import-TlsHSMCACert
+
+
+
+ HSMUploadCACert
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ HSMUploadCACert
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import-GeoDNSSECKeySigningKey
+
+ Import the GEO DNSSEC Key Signing Keys (KSKs).
+
+
+
+
+ Import
+ GeoDNSSECKeySigningKey
+
+
+
+ This command uploads both KSK files at the same time.
+
+
+
+ Import-GeoDNSSECKeySigningKey
+
+ privateKeyFile
+
+ The path to the private key file to upload.
+
+ String
+
+
+ publicKeyFile
+
+ The path to the public key file to upload.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Import-GeoDNSSECKeySigningKey
+
+ privateKeyFile
+
+ The path to the private key file to upload.
+
+ String
+
+
+ publicKeyFile
+
+ The path to the public key file to upload.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ privateKeyFile
+
+ The path to the private key file to upload.
+
+ String
+
+ String
+
+
+
+
+
+ publicKeyFile
+
+ The path to the public key file to upload.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Import-GeoDNSSECKeySigningKey -privateKeyFile .\key.private -publicKeyFile .\public.key
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import-TlsHSMCACert
+
+ Upload the Certificate Authority (CA) certificate that has been downloaded from the Hardware Security Module (HSM).
+
+
+
+
+ Import
+ TlsHSMCACert
+
+
+
+ Upload the CA certificate that has been downloaded from the HSM.
+
+
+
+ Import-TlsHSMCACert
+
+ Path
+
+ The path to the certificate file followed by a backslash and the certificate file name followed by the file extension (.pem).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Import-TlsHSMCACert
+
+ Path
+
+ The path to the certificate file followed by a backslash and the certificate file name followed by the file extension (.pem).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the certificate file followed by a backslash and the certificate file name followed by the file extension (.pem).
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Import-TlsHSMCACert –Path c:\CertificateFileName.pem
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initialize-LmConnectionParameters
+
+ Specify the connection parameters to use for the session.
+
+
+
+
+ Initialize
+ LmConnectionParameters
+
+
+
+ To run PowerShell API commands, you need to establish authentication with the LoadMaster. There are two ways to establish authentication:
+• Using credentials; a LoadMaster username (Credential) and password
+• Using certificate-based authentication
+Whichever option you use, you can either specify the parameters when running individual commands, or using the Initialize-LmConnectionParameters command.
+You can also globally set the KEMP LoadMaster IP address that you are directing the commands to by using the Initialize-LmConnectionParameters command, for example:
+Initialize-LmConnectionParameters -Address 10.11.0.60 -LBPort 443 -Credential bal
+You can either enter a username for the LoadMaster or provide a PSCredential object. When you enter a username, a prompt appears asking for the password. You can override the globally-provided LoadBalancer address and username on each individual command by using the LoadBalancer or Credential parameter within the command.
+Similarly, you can specify the details to use certificate-based authentication using the Initialize-LmConnectionParameters command. For further information on the various steps involved to configure certificate-based authentication, refer to the PowerShell Interface Description document.
+
+
+
+ Initialize-LmConnectionParameters
+
+ Address
+
+ Specify the address of the LoadMaster to run commands on.
+Use this command to specify the LoadMaster address to be used for this session. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Use this command to specify the LoadMaster port to be used for the session. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Use this command to specify the username for the session. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Initialize-LmConnectionParameters
+
+ Address
+
+ Specify the address of the LoadMaster to run commands on.
+Use this command to specify the LoadMaster address to be used for this session. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Use this command to specify the LoadMaster port to be used for the session. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Use this command to specify the CertificateStoreLocation for the session. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Use this command to specify the SubjectCN for the session. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Address
+
+ Specify the address of the LoadMaster to run commands on.
+Use this command to specify the LoadMaster address to be used for this session. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Use this command to specify the LoadMaster port to be used for the session. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Use this command to specify the username for the session. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Use this command to specify the CertificateStoreLocation for the session. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Use this command to specify the SubjectCN for the session. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Initialize-LmConnectionParameters -Address 10.154.11.180 -Credential bal
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initialize-LoadBalancer
+
+ WARNING: This function is deprecated. Use the following command instead:
+Initialize-LmConnectionParameters
+
+
+
+
+ Initialize
+ LoadBalancer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Initialize-LmConnectionParameters
+
+
+
+ Initialize-LoadBalancer
+
+ Address
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Initialize-LoadBalancer
+
+ Address
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Address
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install-GeoIPBlacklistDatabase
+
+ Install any downloaded updates now.
+
+
+
+
+ Install
+ GeoIPBlacklistDatabase
+
+
+
+ Run this command to install any updates to the GEO IP blacklist database which have been downloaded.
+
+
+
+ Install-GeoIPBlacklistDatabase
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Install-GeoIPBlacklistDatabase
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Install-GeoIPBlacklistDatabase
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install-LmAddon
+
+ Allows you to upload an add-on pack.
+
+
+
+
+ Install
+ LmAddon
+
+
+
+ Allows you to upload an add-on pack.
+
+
+
+ Install-LmAddon
+
+ Path
+
+ The path to the add-on file followed by a backslash and then the filename, for example C:\Users\ExampleUser\Desktop\Akami.7.1-22b.20141204-1618
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Install-LmAddon
+
+ Path
+
+ The path to the add-on file followed by a backslash and then the filename, for example C:\Users\ExampleUser\Desktop\Akami.7.1-22b.20141204-1618
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the add-on file followed by a backslash and then the filename, for example C:\Users\ExampleUser\Desktop\Akami.7.1-22b.20141204-1618
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Install-LmAddon -Path C:\Temp\SMART.7.2.39.0.15038.DEV.20170424-0907
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Package=Addon Package \'SMART\' Correctly installed - Please reboot to activate it.}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install-LmPatch
+
+ Allows you to update the LoadMaster with a patch to the firmware.
+
+
+
+
+ Install
+ LmPatch
+
+
+
+ Allows you to update the LoadMaster with a patch to the firmware. You will be asked to restart the LoadMaster for the command to complete.
+
+
+
+ Install-LmPatch
+
+ Path
+
+ The local path to the LoadMaster patch file that should be uploaded. This parameter is required.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Install-LmPatch
+
+ Path
+
+ The local path to the LoadMaster patch file that should be uploaded. This parameter is required.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The local path to the LoadMaster patch file that should be uploaded. This parameter is required.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Install-LmPatch -Path c:\SoftwareUpdate\7.0-10.20130507-1024-32bit
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{PatchData=Patch successfully installed. Please reboot the LM to apply the new software.}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install-Patch
+
+ WARNING: This function is deprecated. Use the following command instead:
+Install-LmPatch
+
+
+
+
+ Install
+ Patch
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Install-LmPatch
+
+
+
+ Install-Patch
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Install-Patch
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install-SAMLIdpMetafile
+
+ Upload an Identity Provider (IdP) metadata file.
+
+
+
+
+ Install
+ SAMLIdpMetafile
+
+
+
+ This simplifies the configuration of the IdP attributes, including the IdP Entity ID, IdP SSO URL and IdP Logoff URL. The metadata file can be downloaded from the IdP.
+
+
+
+ Install-SAMLIdpMetafile
+
+ Domain
+
+ The name of the SSO domain to upload the mdetadata file to.
+
+ String
+
+
+ Path
+
+ The path to the metadata file to be uploaded, followed by the filename and extension, for example, C:\ExampleFolder\ExampleIdPMetaDataFile.xml.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Install-SAMLIdpMetafile
+
+ Domain
+
+ The name of the SSO domain to upload the mdetadata file to.
+
+ String
+
+
+ Path
+
+ The path to the metadata file to be uploaded, followed by the filename and extension, for example, C:\ExampleFolder\ExampleIdPMetaDataFile.xml.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ The name of the SSO domain to upload the mdetadata file to.
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the metadata file to be uploaded, followed by the filename and extension, for example, C:\ExampleFolder\ExampleIdPMetaDataFile.xml.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Install-SAMLIdpMetafile -Domain example2.com -Path C:\Temp\federationmetadata.xml.zip
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Domain=}
+Param........: @{Id=9; Name=EXAMPLE2.COM; server=10.154.45.22; auth_type=SAML; idp_entity_id=; idp_sso_url=; idp_logoff_url=; idp_cert=; sp_entity_id=;
+sp_cert=UseSelfSigned; sess_tout_type=idle time; sess_tout_idle_pub=900; sess_tout_duration_pub=1800}
+
+
+Id : 9
+Name : EXAMPLE2.COM
+server : 10.154.45.22
+auth_type : SAML
+idp_entity_id :
+idp_sso_url :
+idp_logoff_url :
+idp_cert :
+sp_entity_id :
+sp_cert : UseSelfSigned
+sess_tout_type : idle time
+sess_tout_idle_pub : 900
+sess_tout_duration_pub : 1800
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install-SSORSAConfigurationFile
+
+ Allows you to upload the RSA configuration file.
+
+
+
+
+ Install
+ SSORSAConfigurationFile
+
+
+
+ If using RSA-SECURID as the authtype, a configuration file needs to be uploaded to the LoadMaster in order for the authentication to work.
+The Install-SSORSAConfigurationFile command can be used to upload these files.
+
+
+
+ Install-SSORSAConfigurationFile
+
+ Path
+
+ The path to the RSA configuration file, followed by a backslash and then the filename.extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Install-SSORSAConfigurationFile
+
+ Path
+
+ The path to the RSA configuration file, followed by a backslash and then the filename.extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the RSA configuration file, followed by a backslash and then the filename.extension.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Install-SSORSAConfigurationFile -Path C:\examplefolder.AM_Config.zip
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Authentication Manager Config successfully loaded.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Authentication Manager Config successfully loaded.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install-SSORSANodeSecretAndPassword
+
+ Allows you to upload the node secret file.
+
+
+
+
+ Install
+ SSORSANodeSecretAndPassword
+
+
+
+ If using RSA-SECURID as the authtype, a node secret file needs to be uploaded to the LoadMaster in order for the authentication to work.
+To upload the node secret file, run the Install-SSORSANodeSecretAndPassword command.
+
+
+
+ Install-SSORSANodeSecretAndPassword
+
+ Password
+
+ The password to decrypt the node secret.
+
+ String
+
+
+ Path
+
+ The path to the node secret file, followed by a backslash and then the filename.extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Install-SSORSANodeSecretAndPassword
+
+ Password
+
+ The password to decrypt the node secret.
+
+ String
+
+
+ Path
+
+ The path to the node secret file, followed by a backslash and then the filename.extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Password
+
+ The password to decrypt the node secret.
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the node secret file, followed by a backslash and then the filename.extension.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Install-SSORSANodeSecretAndPassword -Password examplepassword -Path C:\examplefolder\LM_NodeSecret.zip
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Node Secret successfully loaded.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Node Secret successfully loaded.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install-Template
+
+ Allows you to upload a template to the LoadMaster.
+
+
+
+
+ Install
+ Template
+
+
+
+ Allows you to upload a template to the LoadMaster.
+
+
+
+ Install-Template
+
+ Path
+
+ The path to the template location followed by a backslash and the filename of the template.tmpl.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Install-Template
+
+ Path
+
+ The path to the template location followed by a backslash and the filename of the template.tmpl.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the template location followed by a backslash and the filename of the template.tmpl.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Install-Template –Path “C:\ Exchange2013Additional v1.6.4.tmpl”
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+TemplateData
+------------
+Installed 1 new KEMP certified templates.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install-WafRulesDatabase
+
+ Manually install the latest commercial Web Application Firewall (WAF) rules.
+
+
+
+
+ Install
+ WafRulesDatabase
+
+
+
+ Manually install the (previously downloaded) latest commercial WAF rules.
+
+
+
+ Install-WafRulesDatabase
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Install-WafRulesDatabase
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Install-WafRulesDatabase
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IsGEOEnabled
+
+ WARNING: This function is deprecated. Use the following command instead:
+Test-LmGeoEnabled
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Test-LmGeoEnabled
+
+
+
+ IsGEOEnabled
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ IsGEOEnabled
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Join-Cluster
+
+ Initiates a node joining a cluster.
+
+
+
+
+ Join
+ Cluster
+
+
+
+ This makes the node LoadMaster available to be added. To finish adding the node, please run the New-ClusterNode command on the shared IP address immediately after running the Join-Cluster command in a different console window.
+
+
+
+ Join-Cluster
+
+ LoadBalancer
+
+ Specify the shared address of the cluster to run the command on.
+Note: The address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Join-Cluster
+
+ LoadBalancer
+
+ Specify the shared address of the cluster to run the command on.
+Note: The address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the shared address of the cluster to run the command on.
+Note: The address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Join-Cluster
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListAddons
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAddOn
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAddOn
+
+
+
+ ListAddons
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListAddons
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListCert
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-TlsCertificate
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-TlsCertificate
+
+
+
+ ListCert
+
+ CertName
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListCert
+
+ CertName
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ CertName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ListCert
+
+
+
+
+ Example Command:
+cert
+----
+ExampleCertificate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListCustomLocation
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoCustomLocation
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoCustomLocation
+
+
+
+ ListCustomLocation
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListCustomLocation
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListFQDNs
+
+ Displays each of the FQDNs and their settings.
+
+
+
+
+
+
+
+
+
+ Displays each of the FQDNs and their settings.
+
+
+
+ ListFQDNs
+
+ FQDN
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListFQDNs
+
+ FQDN
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ListFQDNs
+
+
+
+
+ Example Output:
+Mapping : 0
+IsolatedIPs : Y
+SiteRecoveryMode : auto
+FailTime : 300
+Failover : 0
+SelectionCriteria : rr
+FullyQualifiedDomainName : www.example3.com.
+
+Mapping : 0
+IsolatedIPs : Y
+SiteRecoveryMode : auto
+FailTime : 0
+Failover : 0
+SelectionCriteria : rr
+FullyQualifiedDomainName : 10.154.60.65.
+
+Mapping : 0
+IsolatedIPs : Y
+SiteRecoveryMode : auto
+FailTime : 0
+Failover : 0
+SelectionCriteria : rr
+FullyQualifiedDomainName : example4.com.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListIfconfig
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmNetworkInterface
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmNetworkInterface
+
+
+
+ ListIfconfig
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListIfconfig
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ListIfconfig
+
+
+
+
+ Example Output:
+Network
+-------
+0eth010002718138020260710800up1462801058,1eth11000171006002076800up1462801058,2bnd21000206736002035771400up1462801058,3bnd31000206748402135745000up1462801058
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListIPs
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoIpRange
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoIpRange
+
+
+
+ ListIPs
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListIPs
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ListIPs
+
+
+
+
+ Example Output:
+Longitude : 1234
+Ip : 10.154.11.29
+Used : Y
+IsCustom : Y
+Mask : 32
+Index : 1
+CustomLocation : ExampleLocation2
+IPAddress : 10.154.11.29
+Latitude : 1234
+
+Ip : 10.154.11.30
+Used : Y
+IsCustom : N
+Mask : 32
+Index : 2
+IPAddress : 10.154.11.30
+country : IE,Ireland
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListMiscParameters
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoMiscParameter
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoMiscParameter
+
+
+
+ ListMiscParameters
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListMiscParameters
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListTemplates
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-Template
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-Template
+
+
+
+ ListTemplates
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListTemplates
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListVpns
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmVpnConnection
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmVpnConnection
+
+
+
+ ListVpns
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListVpns
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ListVpns
+
+
+
+
+ Example Output:
+pfs : disabled
+localIP : 10.154.11.10
+remoteSubnet : 10.154.11.30/32
+remoteIP : 10.154.11.20
+name : Example
+remoteID : 10.154.11.20
+localID : 10.154.11.10
+status : Down
+localSubnet : 10.154.11.10/32
+key :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListWafAuditFiles
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-WafAuditFiles
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-WafAuditFiles
+
+
+
+ ListWafAuditFiles
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListWafAuditFiles
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListWafRules
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-WafRules
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-WafRules
+
+
+
+ ListWafRules
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ListWafRules
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LocationDataUpdate
+
+ WARNING: This function is deprecated. Use the following command instead:
+Update-GeoDatabase
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Update-GeoDatabase
+
+
+
+ LocationDataUpdate
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ LocationDataUpdate
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ManInstallWafRules
+
+ WARNING: This function is deprecated. Use the following command instead:
+Install-WafRulesDatabase
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Install-WafRulesDatabase
+
+
+
+ ManInstallWafRules
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ManInstallWafRules
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An error message will be displayed if any problems occur while installing the rules.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ManInstallWafRules
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ModifyCipherset
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-TlsCipherSet
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-TlsCipherSet
+
+
+
+ ModifyCipherset
+
+ Name
+
+
+
+ String
+
+
+ Value
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ModifyCipherset
+
+ Name
+
+
+
+ String
+
+
+ Value
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Value
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ModifyCluster
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoCluster
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoCluster
+
+
+
+ ModifyCluster
+
+ ClusterIp
+
+
+
+ String
+
+
+ ClusterName
+
+
+
+ String
+
+
+ Type
+
+
+
+ String
+
+
+ Checker
+
+
+
+ String
+
+
+ CheckerPort
+
+
+
+ Int32
+
+
+ Enable
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ModifyCluster
+
+ ClusterIp
+
+
+
+ String
+
+
+ ClusterName
+
+
+
+ String
+
+
+ Type
+
+
+
+ String
+
+
+ Checker
+
+
+
+ String
+
+
+ CheckerPort
+
+
+
+ Int32
+
+
+ Enable
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ClusterName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Checker
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckerPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Enable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ModifyFQDN
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDN
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDN
+
+
+
+ ModifyFQDN
+
+ FQDN
+
+
+
+ String
+
+
+ SelectionCriteria
+
+
+
+ String
+
+
+ SiteFailureDelay
+
+
+
+ Int32
+
+
+ SiteRecoveryMode
+
+
+
+ String
+
+
+ PublicRequest
+
+
+
+ String
+
+
+ PrivateRequest
+
+
+
+ String
+
+
+ Failover
+
+
+
+ String
+
+
+ LocalSettings
+
+
+
+ Boolean
+
+
+ localttl
+
+
+
+ Int32
+
+
+ localsticky
+
+
+
+ Int32
+
+
+ UnanimousChecks
+
+
+
+ Boolean
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ModifyFQDN
+
+ FQDN
+
+
+
+ String
+
+
+ SelectionCriteria
+
+
+
+ String
+
+
+ SiteFailureDelay
+
+
+
+ Int32
+
+
+ SiteRecoveryMode
+
+
+
+ String
+
+
+ PublicRequest
+
+
+
+ String
+
+
+ PrivateRequest
+
+
+
+ String
+
+
+ Failover
+
+
+
+ String
+
+
+ LocalSettings
+
+
+
+ Boolean
+
+
+ localttl
+
+
+
+ Int32
+
+
+ localsticky
+
+
+
+ Int32
+
+
+ UnanimousChecks
+
+
+
+ Boolean
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SelectionCriteria
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SiteFailureDelay
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ SiteRecoveryMode
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PublicRequest
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PrivateRequest
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Failover
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LocalSettings
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ localttl
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ localsticky
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ UnanimousChecks
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ModifyIPLocation
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoIPRangeCoordinates
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoIPRangeCoordinates
+
+
+
+ ModifyIPLocation
+
+ IP
+
+
+
+ String
+
+
+ Lat
+
+
+
+ Int32
+
+
+ Long
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ModifyIPLocation
+
+ IP
+
+
+
+ String
+
+
+ Lat
+
+
+
+ Int32
+
+
+ Long
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Lat
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Long
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ModifyMap
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDNSiteAddress
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoFQDNSiteAddress
+
+
+
+ ModifyMap
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ Checker
+
+
+
+ String
+
+
+ Weight
+
+
+
+ Int32
+
+
+ Enable
+
+
+
+ String
+
+
+ Cluster
+
+
+
+ String
+
+
+ Mapaddress
+
+
+
+ String
+
+
+ Mapport
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ModifyMap
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ Checker
+
+
+
+ String
+
+
+ Weight
+
+
+
+ Int32
+
+
+ Enable
+
+
+
+ String
+
+
+ Cluster
+
+
+
+ String
+
+
+ Mapaddress
+
+
+
+ String
+
+
+ Mapport
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Checker
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Weight
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Enable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Cluster
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Mapaddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Mapport
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ModifyMiscParameters
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoMiscParameter
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-GeoMiscParameter
+
+
+
+ ModifyMiscParameters
+
+ SourceOfAuthority
+
+
+
+ String
+
+
+ NameSrv
+
+
+
+ String
+
+
+ SOAEmail
+
+
+
+ String
+
+
+ TTL
+
+
+
+ String
+
+
+ Persist
+
+
+
+ String
+
+
+ CheckInterval
+
+
+
+ String
+
+
+ ConnTimeout
+
+
+
+ String
+
+
+ RetryAttempts
+
+
+
+ String
+
+
+ Zone
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ModifyMiscParameters
+
+ SourceOfAuthority
+
+
+
+ String
+
+
+ NameSrv
+
+
+
+ String
+
+
+ SOAEmail
+
+
+
+ String
+
+
+ TTL
+
+
+
+ String
+
+
+ Persist
+
+
+
+ String
+
+
+ CheckInterval
+
+
+
+ String
+
+
+ ConnTimeout
+
+
+
+ String
+
+
+ RetryAttempts
+
+
+
+ String
+
+
+ Zone
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SourceOfAuthority
+
+
+
+ String
+
+ String
+
+
+
+
+
+ NameSrv
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SOAEmail
+
+
+
+ String
+
+ String
+
+
+
+
+
+ TTL
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Persist
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckInterval
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ConnTimeout
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RetryAttempts
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Zone
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ModifySDNController
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SdnController
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SdnController
+
+
+
+ ModifySDNController
+
+ Cid
+
+
+
+ Int32
+
+
+ Clid
+
+
+
+ Int32
+
+
+ IPV4
+
+
+
+ String
+
+
+ Port
+
+
+
+ Int32
+
+
+ Https
+
+
+
+ Boolean
+
+
+ User
+
+
+
+ String
+
+
+ Password
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ModifySDNController
+
+ Cid
+
+
+
+ Int32
+
+
+ Clid
+
+
+
+ Int32
+
+
+ IPV4
+
+
+
+ String
+
+
+ Port
+
+
+
+ Int32
+
+
+ Https
+
+
+
+ Boolean
+
+
+ User
+
+
+
+ String
+
+
+ Password
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Cid
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Clid
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ IPV4
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Https
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ User
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcContentRule
+
+ Allows you to add a new rule to the LoadMaster.
+
+
+
+
+ New
+ AdcContentRule
+
+
+
+ Allows you to add a new Content Rule rule.
+
+
+
+ New-AdcContentRule
+
+ RuleName
+
+ The desired name for the new content rule.
+
+ String
+
+
+ MatchType
+
+ Specifies whether the rule matches on a regular expression (regex), prefix, or postfix. This parameter defaults to regex, but will also accept prefix or postfix.
+
+ String
+
+
+ IncHost
+
+ Specifies whether to include the host in the URL. This is disabled by default.
+
+ Boolean
+
+
+ NoCase
+
+ Specifies whether to ignore case/capitalization. This is disabled by default.
+
+ Boolean
+
+
+ Negate
+
+ Specifies whether to invert the case of the match. This is disabled by default.
+
+ Boolean
+
+
+ IncQuery
+
+ Specifies whether to include the query string in the match. This is disabled by default.
+
+ Boolean
+
+
+ Header
+
+ Specifies the header that a match should be performed on. Set this to body to match on the body of a request.
+
+ String
+
+
+ Pattern
+
+ Specifies the pattern to search for.
+
+ String
+
+
+ Replacement
+
+ Specifies the replacement string for the pattern. You can enter a maximum of 255 characters in this parameter.
+
+ String
+
+
+ Type
+
+ The type of content rule:
+0 - Content Matching
+1 - Add Header
+2 - Delete Header
+3 - Replace Header
+4 - Modify URL
+5 - Replace String in Response Body
+When creating a Rule - if the "type" is not specified, it will default to zero, that is, a Content Matching rule. The other parameters available for the New-AdcContentRule command depend on the "type" of content rule being added.
+
+ Int32
+
+
+ MustFail
+
+ If this rule is matched, then always fail to connect.
+0 - Disabled (do not fail to connect)
+1 - Enabled (fail to connect)
+
+ Int32
+
+
+ OnlyOnFlag
+
+ Only try to execute this rule if the specified flag is set by another rule (the OnlyOnFlag parameter is used in conjunction with the SetFlagOnMatch parameter).
+Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched ('chaining' rules). For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/
+Valid values: 0-9
+
+ Int32
+
+
+ SetFlagOnMatch
+
+ If the rule is successfully matched, set the specified flag. Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched. For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/.
+Valid values: 0-9
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcContentRule
+
+ RuleName
+
+ The desired name for the new content rule.
+
+ String
+
+
+ MatchType
+
+ Specifies whether the rule matches on a regular expression (regex), prefix, or postfix. This parameter defaults to regex, but will also accept prefix or postfix.
+
+ String
+
+
+ IncHost
+
+ Specifies whether to include the host in the URL. This is disabled by default.
+
+ Boolean
+
+
+ NoCase
+
+ Specifies whether to ignore case/capitalization. This is disabled by default.
+
+ Boolean
+
+
+ Negate
+
+ Specifies whether to invert the case of the match. This is disabled by default.
+
+ Boolean
+
+
+ IncQuery
+
+ Specifies whether to include the query string in the match. This is disabled by default.
+
+ Boolean
+
+
+ Header
+
+ Specifies the header that a match should be performed on. Set this to body to match on the body of a request.
+
+ String
+
+
+ Pattern
+
+ Specifies the pattern to search for.
+
+ String
+
+
+ Replacement
+
+ Specifies the replacement string for the pattern. You can enter a maximum of 255 characters in this parameter.
+
+ String
+
+
+ Type
+
+ The type of content rule:
+0 - Content Matching
+1 - Add Header
+2 - Delete Header
+3 - Replace Header
+4 - Modify URL
+5 - Replace String in Response Body
+When creating a Rule - if the "type" is not specified, it will default to zero, that is, a Content Matching rule. The other parameters available for the New-AdcContentRule command depend on the "type" of content rule being added.
+
+ Int32
+
+
+ MustFail
+
+ If this rule is matched, then always fail to connect.
+0 - Disabled (do not fail to connect)
+1 - Enabled (fail to connect)
+
+ Int32
+
+
+ OnlyOnFlag
+
+ Only try to execute this rule if the specified flag is set by another rule (the OnlyOnFlag parameter is used in conjunction with the SetFlagOnMatch parameter).
+Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched ('chaining' rules). For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/
+Valid values: 0-9
+
+ Int32
+
+
+ SetFlagOnMatch
+
+ If the rule is successfully matched, set the specified flag. Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched. For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/.
+Valid values: 0-9
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RuleName
+
+ The desired name for the new content rule.
+
+ String
+
+ String
+
+
+
+
+
+ MatchType
+
+ Specifies whether the rule matches on a regular expression (regex), prefix, or postfix. This parameter defaults to regex, but will also accept prefix or postfix.
+
+ String
+
+ String
+
+
+
+
+
+ IncHost
+
+ Specifies whether to include the host in the URL. This is disabled by default.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ NoCase
+
+ Specifies whether to ignore case/capitalization. This is disabled by default.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Negate
+
+ Specifies whether to invert the case of the match. This is disabled by default.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ IncQuery
+
+ Specifies whether to include the query string in the match. This is disabled by default.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Header
+
+ Specifies the header that a match should be performed on. Set this to body to match on the body of a request.
+
+ String
+
+ String
+
+
+
+
+
+ Pattern
+
+ Specifies the pattern to search for.
+
+ String
+
+ String
+
+
+
+
+
+ Replacement
+
+ Specifies the replacement string for the pattern. You can enter a maximum of 255 characters in this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+ The type of content rule:
+0 - Content Matching
+1 - Add Header
+2 - Delete Header
+3 - Replace Header
+4 - Modify URL
+5 - Replace String in Response Body
+When creating a Rule - if the "type" is not specified, it will default to zero, that is, a Content Matching rule. The other parameters available for the New-AdcContentRule command depend on the "type" of content rule being added.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ MustFail
+
+ If this rule is matched, then always fail to connect.
+0 - Disabled (do not fail to connect)
+1 - Enabled (fail to connect)
+
+ Int32
+
+ Int32
+
+
+
+
+
+ OnlyOnFlag
+
+ Only try to execute this rule if the specified flag is set by another rule (the OnlyOnFlag parameter is used in conjunction with the SetFlagOnMatch parameter).
+Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched ('chaining' rules). For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/
+Valid values: 0-9
+
+ Int32
+
+ Int32
+
+
+
+
+
+ SetFlagOnMatch
+
+ If the rule is successfully matched, set the specified flag. Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched. For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/.
+Valid values: 0-9
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the rule.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcContentRule -Name ExampleRule -MatchType regex -Pattern ExamplePattern -Replacement ExampleReplacement
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcHttpCacheException
+
+ Add an extension to the "Do Not Cache" extension list.
+
+
+
+
+ New
+ AdcHttpCacheException
+
+
+
+ Add the specified extension to the list.
+
+
+
+ New-AdcHttpCacheException
+
+ Extension
+
+ The file extension that should not be cached, for example, .jpg. The extension must start with a full stop (.). A collection of extensions can be provided through the pipeline.
+
+ String[]
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcHttpCacheException
+
+ Extension
+
+ The file extension that should not be cached, for example, .jpg. The extension must start with a full stop (.). A collection of extensions can be provided through the pipeline.
+
+ String[]
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Extension
+
+ The file extension that should not be cached, for example, .jpg. The extension must start with a full stop (.). A collection of extensions can be provided through the pipeline.
+
+ String[]
+
+ String[]
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcHttpCacheException -Extension .mp4
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcHttpCompressionException
+
+ Allows you to add an extension to the "Do Not Compress" extension list.
+
+
+
+
+ New
+ AdcHttpCompressionException
+
+
+
+ Add the specified extension.
+
+
+
+ New-AdcHttpCompressionException
+
+ Extension
+
+ The file extension that should not be compressed, for example,.jpg. The extension must start with a full stop (.). A collection of extensions can be provided through the pipeline. This parameter is required.
+
+ String[]
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcHttpCompressionException
+
+ Extension
+
+ The file extension that should not be compressed, for example,.jpg. The extension must start with a full stop (.). A collection of extensions can be provided through the pipeline. This parameter is required.
+
+ String[]
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Extension
+
+ The file extension that should not be compressed, for example,.jpg. The extension must start with a full stop (.). A collection of extensions can be provided through the pipeline. This parameter is required.
+
+ String[]
+
+ String[]
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcHttpCompressionException -Extension .mp4
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcRealServer
+
+ Add a new Real Server configuration.
+
+
+
+
+ New
+ AdcRealServer
+
+
+
+ Configures a new Real Server that can handle traffic for a service.
+
+
+
+ New-AdcRealServer
+
+ VirtualService
+
+ The IP address of the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to add the Real Server to.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to add the Real Server to.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The IP address that the Real Server being defined listens on.
+
+ String
+
+
+ RealServerPort
+
+ The port that the Real Server will be listening on.
+
+ Int32
+
+
+ Weight
+
+ The Real Server's weight. This is weight of the Real Server, as used by the Weighted Round Robin, Weighted Least Connection and Adaptive scheduling methods. The default initial value for the weight is 1000, the maximum is 65535 and the minimum is 1.
+
+ Int32
+
+
+ Forward
+
+ Either NAT (Network Address Translation) or Route (Direct) forwarding. The available options are dependent on the other modes configured for the service.
+
+ String
+
+
+ Enable
+
+ Specifies if the Real Server is enabled or disabled. Pass in a value of TRUE ($true) for enabled, and FALSE ($false) for disabled.
+
+ Boolean
+
+
+ Non_Local
+
+ By default only Real Servers on local networks can be assigned to a Virtual Service. Enabling this option will allow a non-local Real Server to be assigned to the Virtual Service.
+ Note: This option will only be available if nonlocalrs has been enabled and the Transparent option has been disabled on the relevant Virtual Service.
+
+ Boolean
+
+
+ Limit
+
+ The maximum number of open connections that a Real Server will accept before it is taken out of the rotation. This is only available for Layer 7 traffic.
+
+ Int64
+
+
+ Critical
+
+ True or false to indicate whether this Real Server is required for the Virtual Service to be available.
+
+ Boolean
+
+
+ Follow
+
+ Specify what Real Server the health check is based on by setting this parameter to the RsIndex of the Real Server to be followed. This can either be set to the RsIndex of the same Real Server in order to health check based on that particular Real Server status, or another Real Server can be specified. For example – if Real Server 1 is down, any Real Servers which have their health check based on Real Server 1 will also be marked as down, regardless of their actual Real Server status.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcRealServer
+
+ VirtualService
+
+ The IP address of the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to add the Real Server to.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to add the Real Server to.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The IP address that the Real Server being defined listens on.
+
+ String
+
+
+ RealServerPort
+
+ The port that the Real Server will be listening on.
+
+ Int32
+
+
+ Weight
+
+ The Real Server's weight. This is weight of the Real Server, as used by the Weighted Round Robin, Weighted Least Connection and Adaptive scheduling methods. The default initial value for the weight is 1000, the maximum is 65535 and the minimum is 1.
+
+ Int32
+
+
+ Forward
+
+ Either NAT (Network Address Translation) or Route (Direct) forwarding. The available options are dependent on the other modes configured for the service.
+
+ String
+
+
+ Enable
+
+ Specifies if the Real Server is enabled or disabled. Pass in a value of TRUE ($true) for enabled, and FALSE ($false) for disabled.
+
+ Boolean
+
+
+ Non_Local
+
+ By default only Real Servers on local networks can be assigned to a Virtual Service. Enabling this option will allow a non-local Real Server to be assigned to the Virtual Service.
+ Note: This option will only be available if nonlocalrs has been enabled and the Transparent option has been disabled on the relevant Virtual Service.
+
+ Boolean
+
+
+ Limit
+
+ The maximum number of open connections that a Real Server will accept before it is taken out of the rotation. This is only available for Layer 7 traffic.
+
+ Int64
+
+
+ Critical
+
+ True or false to indicate whether this Real Server is required for the Virtual Service to be available.
+
+ Boolean
+
+
+ Follow
+
+ Specify what Real Server the health check is based on by setting this parameter to the RsIndex of the Real Server to be followed. This can either be set to the RsIndex of the same Real Server in order to health check based on that particular Real Server status, or another Real Server can be specified. For example – if Real Server 1 is down, any Real Servers which have their health check based on Real Server 1 will also be marked as down, regardless of their actual Real Server status.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The IP address of the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the Virtual Service to add the Real Server to.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to add the Real Server to.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+ The IP address that the Real Server being defined listens on.
+
+ String
+
+ String
+
+
+
+
+
+ RealServerPort
+
+ The port that the Real Server will be listening on.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Weight
+
+ The Real Server's weight. This is weight of the Real Server, as used by the Weighted Round Robin, Weighted Least Connection and Adaptive scheduling methods. The default initial value for the weight is 1000, the maximum is 65535 and the minimum is 1.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Forward
+
+ Either NAT (Network Address Translation) or Route (Direct) forwarding. The available options are dependent on the other modes configured for the service.
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+ Specifies if the Real Server is enabled or disabled. Pass in a value of TRUE ($true) for enabled, and FALSE ($false) for disabled.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Non_Local
+
+ By default only Real Servers on local networks can be assigned to a Virtual Service. Enabling this option will allow a non-local Real Server to be assigned to the Virtual Service.
+ Note: This option will only be available if nonlocalrs has been enabled and the Transparent option has been disabled on the relevant Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Limit
+
+ The maximum number of open connections that a Real Server will accept before it is taken out of the rotation. This is only available for Layer 7 traffic.
+
+ Int64
+
+ Int64
+
+
+
+
+
+ Critical
+
+ True or false to indicate whether this Real Server is required for the Virtual Service to be available.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Follow
+
+ Specify what Real Server the health check is based on by setting this parameter to the RsIndex of the Real Server to be followed. This can either be set to the RsIndex of the same Real Server in order to health check based on that particular Real Server status, or another Real Server can be specified. For example – if Real Server 1 is down, any Real Servers which have their health check based on Real Server 1 will also be marked as down, regardless of their actual Real Server status.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port that the Virtual Service is listening on.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ Specify if the service is using TCP or UDP protocols.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcRealServer -Port 443 -Protocol tcp -RealServer 10.154.11.85 -RealServerPort 443 -VirtualService 10.154.11.181
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{RsSettings=}
+Param........: @{Status=Down; VSIndex=1; RsIndex=7; Addr=10.154.11.85; Port=443; DnsName=; Forward=nat; Weight=1000; Limit=0; Follow=0; Enable=Y; Critic
+al=N}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcRealServerRule
+
+ Allows you to add a preconfigured rule to a Real Server.
+
+
+
+
+ New
+ AdcRealServerRule
+
+
+
+ Allows you to add a preconfigured rule to a Real Server or a SubVS.
+
+
+
+ New-AdcRealServerRule
+
+ VirtualService
+
+ The IP Address of the Virtual Service this rule should be applied to.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The Real Server to which this Virtual Service connects to.
+
+ String
+
+
+ RSPort
+
+ The port on which the Real Server accepts connections for this Virtual Service.
+
+ Int32
+
+
+ RSIndex
+
+ The index number of the Real Server or SubVS to add the rule to. To retrieve the Real Server index, run the Get-VirtualService command.
+
+ Int32
+
+
+ RuleName
+
+ The name of the rule that should be applied to the Virtual Service.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcRealServerRule
+
+ VirtualService
+
+ The IP Address of the Virtual Service this rule should be applied to.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The Real Server to which this Virtual Service connects to.
+
+ String
+
+
+ RSPort
+
+ The port on which the Real Server accepts connections for this Virtual Service.
+
+ Int32
+
+
+ RSIndex
+
+ The index number of the Real Server or SubVS to add the rule to. To retrieve the Real Server index, run the Get-VirtualService command.
+
+ Int32
+
+
+ RuleName
+
+ The name of the rule that should be applied to the Virtual Service.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The IP Address of the Virtual Service this rule should be applied to.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+ The Real Server to which this Virtual Service connects to.
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+ The port on which the Real Server accepts connections for this Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+ The index number of the Real Server or SubVS to add the rule to. To retrieve the Real Server index, run the Get-VirtualService command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleName
+
+ The name of the rule that should be applied to the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port on which this Virtual Service accepts connections.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ The protocol for communication. Accepts either TCP or UDP. This is not case sensitive.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcRealServerRule -Port 80 -Protocol tcp -RealServer 10.11.0.24 -RSPort 80 -RuleName TestRule2 -VirtualService 10.11.0.200
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcSubVirtualService
+
+ Add a new SubVS.
+
+
+
+
+ New
+ AdcSubVirtualService
+
+
+
+ This command adds a SubVS to the specified Virtual Service.
+
+
+
+ New-AdcSubVirtualService
+
+ VirtualService
+
+ The address of the Virtual Service to add the SubVS to.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to add the SubVS to.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to add the SubVS to.
+
+ String
+
+
+ VSIndex
+
+ The ID number of the Virtual Service to add the SubVS to.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcSubVirtualService
+
+ VirtualService
+
+ The address of the Virtual Service to add the SubVS to.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to add the SubVS to.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to add the SubVS to.
+
+ String
+
+
+ VSIndex
+
+ The ID number of the Virtual Service to add the SubVS to.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The address of the Virtual Service to add the SubVS to.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the Virtual Service to add the SubVS to.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to add the SubVS to.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The ID number of the Virtual Service to add the SubVS to.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcSubVirtualService -VirtualService 10.154.11.90 -VSPort 80 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Status : Down
+Index : 1
+VSAddress : 10.154.11.90
+VSPort : 80
+Layer : 7
+Enable : Y
+SSLReverse : N
+SSLReencrypt : N
+Intercept : N
+InterceptOpts : @{Opt=System.Object[]}
+AlertThreshold : 0
+Transactionlimit : 0
+Transparent : Y
+SubnetOriginating : N
+ServerInit : 0
+StartTLSMode : 0
+Idletime : 660
+Cache : N
+Compress : N
+Verify : 0
+UseforSnat : N
+ForceL4 : N
+ForceL7 : Y
+MultiConnect : N
+ClientCert : 0
+ErrorCode : 0
+CheckUse1.1 : N
+MatchLen : 0
+CheckUseGet : 0
+SSLRewrite : 0
+VStype : http
+FollowVSID : 0
+Protocol : tcp
+Schedule : rr
+CheckType : http
+Persist : header
+PersistTimeout : 360
+CheckPort : 0
+NRules : 0
+NRequestRules : 0
+NResponseRules : 0
+NPreProcessRules : 0
+EspEnabled : N
+InputAuthMode : 0
+OutputAuthMode : 0
+MasterVS : 1
+MasterVSID : 0
+IsTransparent : 0
+AddVia : 0
+QoS : 0
+TlsType : 0
+NeedHostName : N
+OCSPVerify : N
+AllowHTTP2 : N
+RsMinimum : 0
+NumberOfRSs : 1
+SubVS : @{Status=Down; VSIndex=2; RsIndex=1; Name=-; Forward=nat; Weight=1000; Limit=0; Follow=0; Enable=Y; Critical=N}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcVirtualService
+
+ Create and configure a new Virtual Service.
+
+
+
+
+ New
+ AdcVirtualService
+
+
+
+ Creates a new Virtual Service that can accept requests and send them to available Real Servers.
+
+
+
+ New-AdcVirtualService
+
+ VirtualService
+
+ The IP address for the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the new Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the new Virtual Service.
+
+ String
+
+
+ AddVia
+
+ Specifies which headers are added to the HTTP stream. Choose the number of the option to use.
+ 0 - Legacy Operation(XXX)
+1 - None
+2 - X-Forwarded-For
+3 - X-Forwarded-For (No Via)
+4 - X-ClientSide
+5 - X-ClientSide (No Via)
+6 - Via Only
+
+ Int16
+
+
+ Template
+
+ Specifies a template name.
+
+ String
+
+
+ Cache
+
+ Enables or disables caching on this Virtual Service.
+
+ Boolean
+
+
+ CertFile
+
+ Specifies the name of the certificate file to use that is already installed on the load balancer. Note: This will NOT upload a certificate file to the load balancer.
+
+ String
+
+
+ CheckType
+
+ Specifies the protocol to use to check if the service is up. Valid options are "tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", or "none".
+
+ String
+
+
+ CheckHost
+
+ The address to use to check if the service is up.
+
+ String
+
+
+ CheckPattern
+
+ A regular expression string that can be validate on a 200 reply to determine if the service is up.
+
+ String
+
+
+ CheckUrl
+
+ The URL to check if the service is up. The maximum character length for the CheckUrl parameter value is 126 characters.
+
+ String
+
+
+ CheckHeaders
+
+ Specify up to four additional headers/fields which will be sent with each health check request. Separate the pairs with a pipe, for example; Host:xyc|UserAgent:prq.
+
+ String
+
+
+ LdapEndpoint
+
+ Specify the name of an LDAP endpoint to use for the health checks. If LDAP is selected as the CheckType, the server IP address (or addresses) and ports from the LDAP endpoint configuration are used instead of the Real Server IP address and port.
+
+ String
+
+
+ MatchLen
+
+ This parameter is only relevant when the CheckType is set to "bdata". Specify the number of bytes to find the CheckPattern within.
+
+ String
+
+
+ CheckUse1_1
+
+ Specifies that the health checker use HTTP/1.1 instead of HTTP/1.0.
+0 - HTTP/1.0
+1 - HTTP/1.1
+
+ Int32
+
+
+ CheckPort
+
+ The port to use to check if the service is up.
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+ Enables or disables Enhanced Health Check Options for the Virtual Service.
+
+ Boolean
+
+
+ RsMinimum
+
+ Specifies the minimum number of Real Servers that are required to be active for the Virtual Service to be considered up.
+
+ Int32
+
+
+ ClientCert
+
+ Specify how client certificates should be used. Valid values are 0, 1, or 2. Zero indicates that client certificates are not use. One indicates that client certificates are required. Two indicates that client certificates are required and additional HEAD information is being sent.
+
+ Int16
+
+
+ Compress
+
+ Enable or disable file compression for the Virtual Service.
+
+ Boolean
+
+
+ Cookie
+
+ Specifies a cookie name. This parameter is only relevant when the persistence mode is set to "cookie", "active-cookie", "cookie-src" or "active-cook-src".
+
+ String
+
+
+ CachePercent
+
+ Specifies the maximum cache usage for this Virtual Service. Note: Setting two Virtual Services using 50% of cache will use 100% of all cache storage. This parameter accepts values from 0 to 100.
+
+ Int16
+
+
+ DefaultGW
+
+ Specifies a Virtual Service-specific default gateway to be used to send responses back to clients. If not set, the global default gateway will be used.
+
+ String
+
+
+ Enable
+
+ Enables or disables the Virtual Service.
+
+ Boolean
+
+
+ ErrorCode
+
+ If no Real Servers are available, the LoadMaster can terminate the connection with an HTTP error code. Specify the error code number in this parameter.
+
+ String
+
+
+ ErrorUrl
+
+ When no Real Servers are available and an error response is sent back to the client, a redirect URL can also be specified.
+
+ String
+
+
+ PortFollow
+
+ This parameter was depreciated as of 7.1-24. For LoadMasters with version 7.1-24 or higher, use the FollowVSID parameter to set port following.
+
+ Int32
+
+
+ ForceL7
+
+ Enabling ForceL7 means the Virtual Service runs at Layer 7 and not Layer 4. This may be needed for various reasons, including that only Layer 7 services can be non-transparent.
+
+ Boolean
+
+
+ Idletime
+
+ Specifies the length of time (in seconds) that a connection may remain idle before it is closed. The range for this parameter is 0 to 86400. There are some special values that can be set for this parameter:
+- 0: Ensures the default L7 connection timeout is used. The default timeout value can be modified by setting the conntimeout parameter.
+- 1: Discards the connection after the packet is first forwarded – a response is not expected or handled.
+- 2: Uses a DNS-type of operation. The connection is dropped after the reply message.
+Setting it to 1 or 2 enables better performance and memory usage for UDP connections and they correspond better to how UDP is used.
+
+ Int32
+
+
+ LocalBindAddresses
+
+ Specifies a space separated list of IP addresses. This corresponds to the Alternate Source Address in the Advanced Properties section of the WUI. Allow connections scaling over 64K Connections needs to be enabled in L7 Configuration for this feature to work.
+
+ String[]
+
+
+ VSType
+
+ Specifies the type of service being load balanced:
+ gen - Generic
+http - HTTP/HTTPS
+ts - Remote Terminal
+tls – STARTTLS protocols
+log – Log Insight
+
+ String
+
+
+ Nickname
+
+ Specifies the "friendly" name of the service. In addition to the usual alphanumeric characters, the following "special" characters can be used as part of the Service Name:
+ . @ - _
+ However, there must be at least one alphanumeric character before the special characters.
+
+ String
+
+
+ Persist
+
+ Specifies the type of persistence (stickiness) to be used for this Virtual Service.
+ The following persistence values are supported: ssl, cookie, active-cookie, cookie-src, active-cook-src, cookie-hash, cookie-hash-src, url, query-hash, host, header, super, super-src, src, rdp, rdp-src, rdp-sb, rdp-sb-src and udpsip.
+ Note: If setting the persistence mode to an option that requires a cookie (or query-hash), the cookie parameter must also be set.
+
+ String
+
+
+ PersistTimeout
+
+ The length of time (in seconds) after the last connection that the LoadMaster will remember the persistence information. Timeout values are rounded down to an even number of minutes. Setting a value that is not a number of whole minutes results in the excess being ignored. Setting a value to less than 60 seconds results in a value of 0 being set, which disables persistency.
+
+ Int32
+
+
+ QueryTag
+
+ This is the query tag to be matched if the Persist type is set to query-hash.
+
+ String
+
+
+ CipherSet
+
+ Specifies a cipher set name.
+
+ String
+
+
+ SSLReencrypt
+
+ This parameter is only relevant if SSL Acceleration is enabled. When this option is enabled, the SSL data stream is re-encrypted before sending to the Real Server.
+
+ Boolean
+
+
+ SSLReverse
+
+ Enabling this parameter means that the data from the LoadMaster to the Real Server is re-encrypted.
+
+ Boolean
+
+
+ SSLRewrite
+
+ When the Real Server rejects a request with an HTTP redirect, the requesting Location URL may need to be converted to specify HTTPS instead of HTTP (and vice versa).
+
+ String
+
+
+ ReverseSNIHostname
+
+ If this option is enabled, the host name is required to be sent in the TLS client hello message. If it is not sent the connection will be dropped.
+
+ String
+
+
+ Schedule
+
+ Specifies the type of scheduling of new connections to Real Servers that is to be performed. The following values are supported:
+ rr = round robin
+wrr = weighted round robin
+lc = least connection
+wlc = weighted least connection
+fixed = fixed weighting
+adaptive = resource based (adaptive)
+sh = source IP hash
+dl = weighted response time
+sdn-adaptive = resource based (SDN adaptive)
+
+ String
+
+
+ ServerInit
+
+ Specifies one of the following values:
+ 0 = Normal Protocols
+1 = SMTP
+2 = SSH
+3 = Other Server Initiating
+4 = IMAP4
+5 = MySQL
+6 = POP3
+
+ Int16
+
+
+ SSLAcceleration
+
+ Specifies whether to enable SSL handling on the Virtual Service.
+
+ Boolean
+
+
+ StandByAddr
+
+ Specifies the IP address of the "Sorry" server that is to be used when no other Real Servers are available. This server will not be health checked and is assumed to be always available.
+
+ String
+
+
+ StandByPort
+
+ Specifies the port of the "Sorry" server.
+
+ String
+
+
+ TransactionLimit
+
+ This is a legacy parameter that should no longer be used. It was used previously when the SSL proxy was limited to 6K total connections. The transaction limit was used to limit one Virtual Service to only handle so many connections out of this 6K. On newer systems, where the limit is greater than 64K - this feature is no longer required.
+
+ Int32
+
+
+ Transparent
+
+ When using Layer 7, when this is enabled - the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent, which means that the connections at the Real Server appear to come from the LoadMaster.
+0 - Disabled
+1 - Enabled
+If a Virtual Service (with or without a SubVS) has SSL re-encrypt enabled, the transparency flag of the Virtual Service has no meaning (re-encryption forces transparency to be off). The transparency setting can still be modified by the API, and is honored when re-encrypt is disabled on the Virtual Service.
+
+ Boolean
+
+
+ SubnetOriginating
+
+ When transparency is not enabled, the source IP address of connections to the Real Servers is that of the Virtual Service. When transparency is enabled, the source IP address will be the IP address that is initiating connection to the Virtual Service. If the Real Server is on a subnet, and the Subnet Originating Requests option is enabled, then the subnet address of the LoadMaster will be used as the source IP address.
+
+ Boolean
+
+
+ UseforSnat
+
+ By default, when the LoadMaster is being used to NAT Real Servers, the source IP address used on the Internet is that of the LoadMaster. Enabling this option allows the Real Servers configured to use the Virtual Service as the source IP address instead. If the Real Servers are configured on more than one Virtual Service which has this option set, only connections to destination port 80 will use this Virtual Service as the source IP address.
+
+ Boolean
+
+
+ QoS
+
+ Specifies the Quality of Service. The following values are supported:
+ 0 - Normal-Service
+1 - Minimize-Cost
+2 - Maximize-Reliability
+4 - Maximize-Throughput
+8 - Minimize-Delay
+
+ String
+
+
+ CheckUseGet
+
+ When accessing the health check URL - the system can use the HEAD, the GET or the POST method:
+0 - HEAD
+1 - GET
+2 - POST
+
+ Int32
+
+
+ Verify
+
+ Specifies a verification bitmask. The valid values of the Verify parameter are as follows:
+ Bit 0: set this to 1 to enable detection intrusion.
+ Note: Bit 0 needs to be set to 1 in order to use the other two bits.
+ Bit 1: Determines whether to reject or drop a connection. Setting it to 1 will drop the connection.
+ Bit 2: Determines whether to give just warnings on bad requests or also on malicious (but not invalid) requests.
+ The following table lists the valid integers and the values they set the fields to when used:
+Integer Detect Malicious Requests Intrusion Handling Warnings Checkbox
+0 Disabled N/A N/A
+1 Enabled Drop Connection Unchecked
+2 Enabled Send Reject Unchecked
+3 Enabled Send Reject Unchecked
+4 Enabled Drop Connection Checked
+5 Enabled Drop Connection Checked
+6 Enabled Send Reject Checked
+7 Enabled Send Reject Checked
+
+ Int16
+
+
+ ExtraHdrKey
+
+ Specifies the key for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ ExtraHdrValue
+
+ Specifies the value for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ AllowedHosts
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual hosts that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedDirectories
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual directories that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedGroups
+
+ Specifies the groups that are allowed to access this Virtual Service.
+
+ String
+
+
+ GroupSIDs
+
+ Specify the group security identifier (SIDs) that are allowed to access this Virtual Service. Each group must be separated by a semicolon.
+
+ String
+
+
+ SteeringGroups
+
+ Enter the Active Directory group names that will be used for steering traffic. Use a semi-colon to separate multiple group names. The steering group index number corresponds to the location of the group in this list.
+
+ String
+
+
+ IncludeNestedGroups
+
+ Specify if nested groups should be included in the authentication attempt.
+
+ Boolean
+
+
+ DisplayPubPriv
+
+ Display the public/private option on the login page. Based on the option the user selects on the login form, the session timeout value will be set to the value specified for either the public or private timeout.
+
+ Boolean
+
+
+ DisablePasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ Boolean
+
+
+ Domain
+
+ Specifies the Single Sign On (SSO) domain in which this Virtual Service will operate.
+
+ String
+
+
+ AltDomains
+
+ Specifies alternative domains to be assigned to a Virtual Service when configuring multi-domain authentication. To specify multiple alternative domains use a space-separated list.
+
+ String
+
+
+ Logoff
+
+ This parameter is only relevant when ESP is enabled and when the Client Authentication Mode is set to Form Based. Specify the string that the LoadMaster should use to detect a logout event. Multiple logoff strings can be specified by using a space-separated list.
+ If the URL to be matched contains sub-directories before the specified string, the Logoff String will not be matched. Therefore the LoadMaster will not log the user off.
+
+ String
+
+
+ ESPLogs
+
+ Enable ESP logging. Valid values are below:
+ 0 - Logging off
+1 - User Access
+2 - Security
+3 - User Access and Security
+4 - Connection
+5 - User Access and Connection
+6 - Security and connection
+7 - User Access, Security and Connection
+ Note: The only valid values for SMTP services are 0 and 4. For SMTP services, security issues are always logged. Nothing is logged for user access because there are no logins.
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+ Specifies all the permitted domains that are allowed to be received by this Virtual Service.
+
+ String
+
+
+ ESPEnabled
+
+ Specifies whether to enable or disable the Edge Security Pack (ESP) features.
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+ This is relevant when using form-based or LDAP authentication. Specify the URL that users can use to change their password. If a user’s password has expired, or if they must reset their password, this URL and the UserPwdChangeMsg is displayed on the login form.
+This URL must be put into the exception list for authentication, if required.
+
+ String
+
+
+ UserPwdChangeMsg
+
+ This parameter is only relevant if the UserPwdChangeURL parameter is set. Specify the text to be displayed on the login form when the user must reset their password.
+
+ String
+
+
+ SecurityHeaderOptions
+
+ Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+0 - Don't add the Strict Transport Security Header (default value)
+1 - Add the Strict Transport Security Header - no subdomains
+2 - Add the Strict Transport Security Header - include subdomains Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+
+ Int16
+
+
+ InputAuthMode
+
+ Specifies the client authentication method to be used:
+ 0 - Delegate to Server
+1 - Basic Authentication
+2 - Form Based
+4 - Client Certificate
+5 - NTLM
+6 - SAML
+
+ Int16
+
+
+ OutConf
+
+
+
+ String
+
+
+ OutputAuthMode
+
+ Specifies the server authentication mode to be used:
+ 0 - None
+1 - Basic Authentication
+2 - Form Based
+2 - KCD
+
+ Int16
+
+
+ StartTLSMode
+
+ 0 - HTTP/HTTPS (the Service Type needs to be set to HTTP/HTTPS for this to work)
+ The Virtual Service Type must be set to STARTTLS for the remaining values to be set:
+ 1 - SMTP (STARTTLS if requested)
+2 - SMTP (STARTTLS always)
+3 - FTP
+4 - IMAP
+6 - POP3
+
+ Int16
+
+
+ ExtraPorts
+
+ Specifies extra ports that the Virtual Service will listen to.
+
+ String
+
+
+ AltAddress
+
+ Specifies the alternate address for this Virtual Service.
+
+ String
+
+
+ MultiConnect
+
+ Enabling this option permits the LoadMaster to manage connection handling between the LoadMaster and the Real Servers. Requests from multiple clients will be sent over the same TCP connection.
+ Multiplexing only works for simple HTTP GET operations. This parameter cannot be enabled in certain situations, for example if WAF, ESP or SSL Acceleration is enabled.
+
+ Boolean
+
+
+ SingleSignOnDir
+
+ This parameter relates to the SSO Image Set drop-down in the ESP Options section of the modify Virtual Service screen. Specify the name of the image set to be used for the login screen. If no image set is specified, the default Exchange image set will be used.
+
+ String
+
+
+ OCSPVerify
+
+ Specifies whether to verify (via Online Certificate Status Protocol (OCSP)) that the client certificate is valid.
+
+ String
+
+
+ FollowVSID
+
+ Specifies the ID of the Virtual Service to follow.
+
+ Int32
+
+
+ TlsType
+
+ Specify which of the following protocols to support; SSLv3, TLS1.0, TLS1.1 or TLS1.2. By default, TLS1.1 and TLS1.2 are enabled. The protocols can be enabled and disabled using a bitmask value. Refer to the table below to find out what number corresponds to which settings.
+ Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+
+ Int32
+
+
+ CheckPostData
+
+ This parameter is only relevant if the HTTP Method is set to POST. When using the POST method, up to 2047 characters of POST data can be sent to the server.
+
+ String
+
+
+ CheckCodes
+
+ A space-separated list of HTTP status codes that should be treated as successful when received from the Real Server.
+Range: 300-599
+
+ String
+
+
+ PreProcPrecedence
+
+ This parameter should be used in conjunction with PreProcPrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change. This parameter relates to Content Matching Rules only.
+
+ String
+
+
+ PreProcPrecedencePos
+
+ This parameter, in conjunction with the PreProcPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second. This parameter relates to the Content Matching Rules only.
+
+ Int16
+
+
+ RequestPrecedence
+
+ This parameter should be used in conjunction with RequestPrecedencePos. This parameter is used to specify the name of the existing request rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+Modify URL
+
+ String
+
+
+ RequestPrecedencePos
+
+ This parameter, in conjunction with the RequestPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ ResponsePrecedence
+
+ This parameter should be used in conjunction with ResponsePrecedencePos. This parameter is used to specify the name of the existing response rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+
+ String
+
+
+ ResponsePrecedencePos
+
+ This parameter, in conjunction with the ResponsePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ RsRulePrecedence
+
+ This parameter should be used in conjunction with RSRulePrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change.
+
+ String
+
+
+ RsRulePrecedencePos
+
+ This parameter, in conjunction with the RSRulePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ NeedHostName
+
+ When this parameter is enabled, the hostname is always required to be sent in the TLS client hello message. If it is not sent, the connection is dropped.
+Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ CopyHdrFrom
+
+ This is the name of the source header field to copy into the new header field before the request is sent to the Real Servers.
+
+ String
+
+
+ CopyHdrTo
+
+ This parameter is used in conjunction with the CopyHdrFrom parameter.
+The name of the header field into which the source header is to be copied.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcVirtualService
+
+ VirtualService
+
+ The IP address for the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the new Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the new Virtual Service.
+
+ String
+
+
+ AddVia
+
+ Specifies which headers are added to the HTTP stream. Choose the number of the option to use.
+ 0 - Legacy Operation(XXX)
+1 - None
+2 - X-Forwarded-For
+3 - X-Forwarded-For (No Via)
+4 - X-ClientSide
+5 - X-ClientSide (No Via)
+6 - Via Only
+
+ Int16
+
+
+ Template
+
+ Specifies a template name.
+
+ String
+
+
+ Cache
+
+ Enables or disables caching on this Virtual Service.
+
+ Boolean
+
+
+ CertFile
+
+ Specifies the name of the certificate file to use that is already installed on the load balancer. Note: This will NOT upload a certificate file to the load balancer.
+
+ String
+
+
+ CheckType
+
+ Specifies the protocol to use to check if the service is up. Valid options are "tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", or "none".
+
+ String
+
+
+ CheckHost
+
+ The address to use to check if the service is up.
+
+ String
+
+
+ CheckPattern
+
+ A regular expression string that can be validate on a 200 reply to determine if the service is up.
+
+ String
+
+
+ CheckUrl
+
+ The URL to check if the service is up. The maximum character length for the CheckUrl parameter value is 126 characters.
+
+ String
+
+
+ CheckHeaders
+
+ Specify up to four additional headers/fields which will be sent with each health check request. Separate the pairs with a pipe, for example; Host:xyc|UserAgent:prq.
+
+ String
+
+
+ LdapEndpoint
+
+ Specify the name of an LDAP endpoint to use for the health checks. If LDAP is selected as the CheckType, the server IP address (or addresses) and ports from the LDAP endpoint configuration are used instead of the Real Server IP address and port.
+
+ String
+
+
+ MatchLen
+
+ This parameter is only relevant when the CheckType is set to "bdata". Specify the number of bytes to find the CheckPattern within.
+
+ String
+
+
+ CheckUse1_1
+
+ Specifies that the health checker use HTTP/1.1 instead of HTTP/1.0.
+0 - HTTP/1.0
+1 - HTTP/1.1
+
+ Int32
+
+
+ CheckPort
+
+ The port to use to check if the service is up.
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+ Enables or disables Enhanced Health Check Options for the Virtual Service.
+
+ Boolean
+
+
+ RsMinimum
+
+ Specifies the minimum number of Real Servers that are required to be active for the Virtual Service to be considered up.
+
+ Int32
+
+
+ ClientCert
+
+ Specify how client certificates should be used. Valid values are 0, 1, or 2. Zero indicates that client certificates are not use. One indicates that client certificates are required. Two indicates that client certificates are required and additional HEAD information is being sent.
+
+ Int16
+
+
+ Compress
+
+ Enable or disable file compression for the Virtual Service.
+
+ Boolean
+
+
+ Cookie
+
+ Specifies a cookie name. This parameter is only relevant when the persistence mode is set to "cookie", "active-cookie", "cookie-src" or "active-cook-src".
+
+ String
+
+
+ CachePercent
+
+ Specifies the maximum cache usage for this Virtual Service. Note: Setting two Virtual Services using 50% of cache will use 100% of all cache storage. This parameter accepts values from 0 to 100.
+
+ Int16
+
+
+ DefaultGW
+
+ Specifies a Virtual Service-specific default gateway to be used to send responses back to clients. If not set, the global default gateway will be used.
+
+ String
+
+
+ Enable
+
+ Enables or disables the Virtual Service.
+
+ Boolean
+
+
+ ErrorCode
+
+ If no Real Servers are available, the LoadMaster can terminate the connection with an HTTP error code. Specify the error code number in this parameter.
+
+ String
+
+
+ ErrorUrl
+
+ When no Real Servers are available and an error response is sent back to the client, a redirect URL can also be specified.
+
+ String
+
+
+ PortFollow
+
+ This parameter was depreciated as of 7.1-24. For LoadMasters with version 7.1-24 or higher, use the FollowVSID parameter to set port following.
+
+ Int32
+
+
+ ForceL7
+
+ Enabling ForceL7 means the Virtual Service runs at Layer 7 and not Layer 4. This may be needed for various reasons, including that only Layer 7 services can be non-transparent.
+
+ Boolean
+
+
+ Idletime
+
+ Specifies the length of time (in seconds) that a connection may remain idle before it is closed. The range for this parameter is 0 to 86400. There are some special values that can be set for this parameter:
+- 0: Ensures the default L7 connection timeout is used. The default timeout value can be modified by setting the conntimeout parameter.
+- 1: Discards the connection after the packet is first forwarded – a response is not expected or handled.
+- 2: Uses a DNS-type of operation. The connection is dropped after the reply message.
+Setting it to 1 or 2 enables better performance and memory usage for UDP connections and they correspond better to how UDP is used.
+
+ Int32
+
+
+ LocalBindAddresses
+
+ Specifies a space separated list of IP addresses. This corresponds to the Alternate Source Address in the Advanced Properties section of the WUI. Allow connections scaling over 64K Connections needs to be enabled in L7 Configuration for this feature to work.
+
+ String[]
+
+
+ VSType
+
+ Specifies the type of service being load balanced:
+ gen - Generic
+http - HTTP/HTTPS
+ts - Remote Terminal
+tls – STARTTLS protocols
+log – Log Insight
+
+ String
+
+
+ Nickname
+
+ Specifies the "friendly" name of the service. In addition to the usual alphanumeric characters, the following "special" characters can be used as part of the Service Name:
+ . @ - _
+ However, there must be at least one alphanumeric character before the special characters.
+
+ String
+
+
+ Persist
+
+ Specifies the type of persistence (stickiness) to be used for this Virtual Service.
+ The following persistence values are supported: ssl, cookie, active-cookie, cookie-src, active-cook-src, cookie-hash, cookie-hash-src, url, query-hash, host, header, super, super-src, src, rdp, rdp-src, rdp-sb, rdp-sb-src and udpsip.
+ Note: If setting the persistence mode to an option that requires a cookie (or query-hash), the cookie parameter must also be set.
+
+ String
+
+
+ PersistTimeout
+
+ The length of time (in seconds) after the last connection that the LoadMaster will remember the persistence information. Timeout values are rounded down to an even number of minutes. Setting a value that is not a number of whole minutes results in the excess being ignored. Setting a value to less than 60 seconds results in a value of 0 being set, which disables persistency.
+
+ Int32
+
+
+ QueryTag
+
+ This is the query tag to be matched if the Persist type is set to query-hash.
+
+ String
+
+
+ CipherSet
+
+ Specifies a cipher set name.
+
+ String
+
+
+ SSLReencrypt
+
+ This parameter is only relevant if SSL Acceleration is enabled. When this option is enabled, the SSL data stream is re-encrypted before sending to the Real Server.
+
+ Boolean
+
+
+ SSLReverse
+
+ Enabling this parameter means that the data from the LoadMaster to the Real Server is re-encrypted.
+
+ Boolean
+
+
+ SSLRewrite
+
+ When the Real Server rejects a request with an HTTP redirect, the requesting Location URL may need to be converted to specify HTTPS instead of HTTP (and vice versa).
+
+ String
+
+
+ ReverseSNIHostname
+
+ If this option is enabled, the host name is required to be sent in the TLS client hello message. If it is not sent the connection will be dropped.
+
+ String
+
+
+ Schedule
+
+ Specifies the type of scheduling of new connections to Real Servers that is to be performed. The following values are supported:
+ rr = round robin
+wrr = weighted round robin
+lc = least connection
+wlc = weighted least connection
+fixed = fixed weighting
+adaptive = resource based (adaptive)
+sh = source IP hash
+dl = weighted response time
+sdn-adaptive = resource based (SDN adaptive)
+
+ String
+
+
+ ServerInit
+
+ Specifies one of the following values:
+ 0 = Normal Protocols
+1 = SMTP
+2 = SSH
+3 = Other Server Initiating
+4 = IMAP4
+5 = MySQL
+6 = POP3
+
+ Int16
+
+
+ SSLAcceleration
+
+ Specifies whether to enable SSL handling on the Virtual Service.
+
+ Boolean
+
+
+ StandByAddr
+
+ Specifies the IP address of the "Sorry" server that is to be used when no other Real Servers are available. This server will not be health checked and is assumed to be always available.
+
+ String
+
+
+ StandByPort
+
+ Specifies the port of the "Sorry" server.
+
+ String
+
+
+ TransactionLimit
+
+ This is a legacy parameter that should no longer be used. It was used previously when the SSL proxy was limited to 6K total connections. The transaction limit was used to limit one Virtual Service to only handle so many connections out of this 6K. On newer systems, where the limit is greater than 64K - this feature is no longer required.
+
+ Int32
+
+
+ Transparent
+
+ When using Layer 7, when this is enabled - the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent, which means that the connections at the Real Server appear to come from the LoadMaster.
+0 - Disabled
+1 - Enabled
+If a Virtual Service (with or without a SubVS) has SSL re-encrypt enabled, the transparency flag of the Virtual Service has no meaning (re-encryption forces transparency to be off). The transparency setting can still be modified by the API, and is honored when re-encrypt is disabled on the Virtual Service.
+
+ Boolean
+
+
+ SubnetOriginating
+
+ When transparency is not enabled, the source IP address of connections to the Real Servers is that of the Virtual Service. When transparency is enabled, the source IP address will be the IP address that is initiating connection to the Virtual Service. If the Real Server is on a subnet, and the Subnet Originating Requests option is enabled, then the subnet address of the LoadMaster will be used as the source IP address.
+
+ Boolean
+
+
+ UseforSnat
+
+ By default, when the LoadMaster is being used to NAT Real Servers, the source IP address used on the Internet is that of the LoadMaster. Enabling this option allows the Real Servers configured to use the Virtual Service as the source IP address instead. If the Real Servers are configured on more than one Virtual Service which has this option set, only connections to destination port 80 will use this Virtual Service as the source IP address.
+
+ Boolean
+
+
+ QoS
+
+ Specifies the Quality of Service. The following values are supported:
+ 0 - Normal-Service
+1 - Minimize-Cost
+2 - Maximize-Reliability
+4 - Maximize-Throughput
+8 - Minimize-Delay
+
+ String
+
+
+ CheckUseGet
+
+ When accessing the health check URL - the system can use the HEAD, the GET or the POST method:
+0 - HEAD
+1 - GET
+2 - POST
+
+ Int32
+
+
+ Verify
+
+ Specifies a verification bitmask. The valid values of the Verify parameter are as follows:
+ Bit 0: set this to 1 to enable detection intrusion.
+ Note: Bit 0 needs to be set to 1 in order to use the other two bits.
+ Bit 1: Determines whether to reject or drop a connection. Setting it to 1 will drop the connection.
+ Bit 2: Determines whether to give just warnings on bad requests or also on malicious (but not invalid) requests.
+ The following table lists the valid integers and the values they set the fields to when used:
+Integer Detect Malicious Requests Intrusion Handling Warnings Checkbox
+0 Disabled N/A N/A
+1 Enabled Drop Connection Unchecked
+2 Enabled Send Reject Unchecked
+3 Enabled Send Reject Unchecked
+4 Enabled Drop Connection Checked
+5 Enabled Drop Connection Checked
+6 Enabled Send Reject Checked
+7 Enabled Send Reject Checked
+
+ Int16
+
+
+ ExtraHdrKey
+
+ Specifies the key for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ ExtraHdrValue
+
+ Specifies the value for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ AllowedHosts
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual hosts that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedDirectories
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual directories that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedGroups
+
+ Specifies the groups that are allowed to access this Virtual Service.
+
+ String
+
+
+ GroupSIDs
+
+ Specify the group security identifier (SIDs) that are allowed to access this Virtual Service. Each group must be separated by a semicolon.
+
+ String
+
+
+ SteeringGroups
+
+ Enter the Active Directory group names that will be used for steering traffic. Use a semi-colon to separate multiple group names. The steering group index number corresponds to the location of the group in this list.
+
+ String
+
+
+ IncludeNestedGroups
+
+ Specify if nested groups should be included in the authentication attempt.
+
+ Boolean
+
+
+ DisplayPubPriv
+
+ Display the public/private option on the login page. Based on the option the user selects on the login form, the session timeout value will be set to the value specified for either the public or private timeout.
+
+ Boolean
+
+
+ DisablePasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ Boolean
+
+
+ Domain
+
+ Specifies the Single Sign On (SSO) domain in which this Virtual Service will operate.
+
+ String
+
+
+ AltDomains
+
+ Specifies alternative domains to be assigned to a Virtual Service when configuring multi-domain authentication. To specify multiple alternative domains use a space-separated list.
+
+ String
+
+
+ Logoff
+
+ This parameter is only relevant when ESP is enabled and when the Client Authentication Mode is set to Form Based. Specify the string that the LoadMaster should use to detect a logout event. Multiple logoff strings can be specified by using a space-separated list.
+ If the URL to be matched contains sub-directories before the specified string, the Logoff String will not be matched. Therefore the LoadMaster will not log the user off.
+
+ String
+
+
+ ESPLogs
+
+ Enable ESP logging. Valid values are below:
+ 0 - Logging off
+1 - User Access
+2 - Security
+3 - User Access and Security
+4 - Connection
+5 - User Access and Connection
+6 - Security and connection
+7 - User Access, Security and Connection
+ Note: The only valid values for SMTP services are 0 and 4. For SMTP services, security issues are always logged. Nothing is logged for user access because there are no logins.
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+ Specifies all the permitted domains that are allowed to be received by this Virtual Service.
+
+ String
+
+
+ ESPEnabled
+
+ Specifies whether to enable or disable the Edge Security Pack (ESP) features.
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+ This is relevant when using form-based or LDAP authentication. Specify the URL that users can use to change their password. If a user’s password has expired, or if they must reset their password, this URL and the UserPwdChangeMsg is displayed on the login form.
+This URL must be put into the exception list for authentication, if required.
+
+ String
+
+
+ UserPwdChangeMsg
+
+ This parameter is only relevant if the UserPwdChangeURL parameter is set. Specify the text to be displayed on the login form when the user must reset their password.
+
+ String
+
+
+ SecurityHeaderOptions
+
+ Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+0 - Don't add the Strict Transport Security Header (default value)
+1 - Add the Strict Transport Security Header - no subdomains
+2 - Add the Strict Transport Security Header - include subdomains Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+
+ Int16
+
+
+ InputAuthMode
+
+ Specifies the client authentication method to be used:
+ 0 - Delegate to Server
+1 - Basic Authentication
+2 - Form Based
+4 - Client Certificate
+5 - NTLM
+6 - SAML
+
+ Int16
+
+
+ OutConf
+
+
+
+ String
+
+
+ OutputAuthMode
+
+ Specifies the server authentication mode to be used:
+ 0 - None
+1 - Basic Authentication
+2 - Form Based
+2 - KCD
+
+ Int16
+
+
+ StartTLSMode
+
+ 0 - HTTP/HTTPS (the Service Type needs to be set to HTTP/HTTPS for this to work)
+ The Virtual Service Type must be set to STARTTLS for the remaining values to be set:
+ 1 - SMTP (STARTTLS if requested)
+2 - SMTP (STARTTLS always)
+3 - FTP
+4 - IMAP
+6 - POP3
+
+ Int16
+
+
+ ExtraPorts
+
+ Specifies extra ports that the Virtual Service will listen to.
+
+ String
+
+
+ AltAddress
+
+ Specifies the alternate address for this Virtual Service.
+
+ String
+
+
+ MultiConnect
+
+ Enabling this option permits the LoadMaster to manage connection handling between the LoadMaster and the Real Servers. Requests from multiple clients will be sent over the same TCP connection.
+ Multiplexing only works for simple HTTP GET operations. This parameter cannot be enabled in certain situations, for example if WAF, ESP or SSL Acceleration is enabled.
+
+ Boolean
+
+
+ SingleSignOnDir
+
+ This parameter relates to the SSO Image Set drop-down in the ESP Options section of the modify Virtual Service screen. Specify the name of the image set to be used for the login screen. If no image set is specified, the default Exchange image set will be used.
+
+ String
+
+
+ OCSPVerify
+
+ Specifies whether to verify (via Online Certificate Status Protocol (OCSP)) that the client certificate is valid.
+
+ String
+
+
+ FollowVSID
+
+ Specifies the ID of the Virtual Service to follow.
+
+ Int32
+
+
+ TlsType
+
+ Specify which of the following protocols to support; SSLv3, TLS1.0, TLS1.1 or TLS1.2. By default, TLS1.1 and TLS1.2 are enabled. The protocols can be enabled and disabled using a bitmask value. Refer to the table below to find out what number corresponds to which settings.
+ Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+
+ Int32
+
+
+ CheckPostData
+
+ This parameter is only relevant if the HTTP Method is set to POST. When using the POST method, up to 2047 characters of POST data can be sent to the server.
+
+ String
+
+
+ CheckCodes
+
+ A space-separated list of HTTP status codes that should be treated as successful when received from the Real Server.
+Range: 300-599
+
+ String
+
+
+ PreProcPrecedence
+
+ This parameter should be used in conjunction with PreProcPrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change. This parameter relates to Content Matching Rules only.
+
+ String
+
+
+ PreProcPrecedencePos
+
+ This parameter, in conjunction with the PreProcPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second. This parameter relates to the Content Matching Rules only.
+
+ Int16
+
+
+ RequestPrecedence
+
+ This parameter should be used in conjunction with RequestPrecedencePos. This parameter is used to specify the name of the existing request rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+Modify URL
+
+ String
+
+
+ RequestPrecedencePos
+
+ This parameter, in conjunction with the RequestPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ ResponsePrecedence
+
+ This parameter should be used in conjunction with ResponsePrecedencePos. This parameter is used to specify the name of the existing response rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+
+ String
+
+
+ ResponsePrecedencePos
+
+ This parameter, in conjunction with the ResponsePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ RsRulePrecedence
+
+ This parameter should be used in conjunction with RSRulePrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change.
+
+ String
+
+
+ RsRulePrecedencePos
+
+ This parameter, in conjunction with the RSRulePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ NeedHostName
+
+ When this parameter is enabled, the hostname is always required to be sent in the TLS client hello message. If it is not sent, the connection is dropped.
+Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ CopyHdrFrom
+
+ This is the name of the source header field to copy into the new header field before the request is sent to the Real Servers.
+
+ String
+
+
+ CopyHdrTo
+
+ This parameter is used in conjunction with the CopyHdrFrom parameter.
+The name of the header field into which the source header is to be copied.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The IP address for the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the new Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the new Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ AddVia
+
+ Specifies which headers are added to the HTTP stream. Choose the number of the option to use.
+ 0 - Legacy Operation(XXX)
+1 - None
+2 - X-Forwarded-For
+3 - X-Forwarded-For (No Via)
+4 - X-ClientSide
+5 - X-ClientSide (No Via)
+6 - Via Only
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Template
+
+ Specifies a template name.
+
+ String
+
+ String
+
+
+
+
+
+ Cache
+
+ Enables or disables caching on this Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CertFile
+
+ Specifies the name of the certificate file to use that is already installed on the load balancer. Note: This will NOT upload a certificate file to the load balancer.
+
+ String
+
+ String
+
+
+
+
+
+ CheckType
+
+ Specifies the protocol to use to check if the service is up. Valid options are "tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", or "none".
+
+ String
+
+ String
+
+
+
+
+
+ CheckHost
+
+ The address to use to check if the service is up.
+
+ String
+
+ String
+
+
+
+
+
+ CheckPattern
+
+ A regular expression string that can be validate on a 200 reply to determine if the service is up.
+
+ String
+
+ String
+
+
+
+
+
+ CheckUrl
+
+ The URL to check if the service is up. The maximum character length for the CheckUrl parameter value is 126 characters.
+
+ String
+
+ String
+
+
+
+
+
+ CheckHeaders
+
+ Specify up to four additional headers/fields which will be sent with each health check request. Separate the pairs with a pipe, for example; Host:xyc|UserAgent:prq.
+
+ String
+
+ String
+
+
+
+
+
+ LdapEndpoint
+
+ Specify the name of an LDAP endpoint to use for the health checks. If LDAP is selected as the CheckType, the server IP address (or addresses) and ports from the LDAP endpoint configuration are used instead of the Real Server IP address and port.
+
+ String
+
+ String
+
+
+
+
+
+ MatchLen
+
+ This parameter is only relevant when the CheckType is set to "bdata". Specify the number of bytes to find the CheckPattern within.
+
+ String
+
+ String
+
+
+
+
+
+ CheckUse1_1
+
+ Specifies that the health checker use HTTP/1.1 instead of HTTP/1.0.
+0 - HTTP/1.0
+1 - HTTP/1.1
+
+ Int32
+
+ Int32
+
+
+
+
+
+ CheckPort
+
+ The port to use to check if the service is up.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ EnhancedHealthChecks
+
+ Enables or disables Enhanced Health Check Options for the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RsMinimum
+
+ Specifies the minimum number of Real Servers that are required to be active for the Virtual Service to be considered up.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ClientCert
+
+ Specify how client certificates should be used. Valid values are 0, 1, or 2. Zero indicates that client certificates are not use. One indicates that client certificates are required. Two indicates that client certificates are required and additional HEAD information is being sent.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Compress
+
+ Enable or disable file compression for the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Cookie
+
+ Specifies a cookie name. This parameter is only relevant when the persistence mode is set to "cookie", "active-cookie", "cookie-src" or "active-cook-src".
+
+ String
+
+ String
+
+
+
+
+
+ CachePercent
+
+ Specifies the maximum cache usage for this Virtual Service. Note: Setting two Virtual Services using 50% of cache will use 100% of all cache storage. This parameter accepts values from 0 to 100.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ DefaultGW
+
+ Specifies a Virtual Service-specific default gateway to be used to send responses back to clients. If not set, the global default gateway will be used.
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+ Enables or disables the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ErrorCode
+
+ If no Real Servers are available, the LoadMaster can terminate the connection with an HTTP error code. Specify the error code number in this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ ErrorUrl
+
+ When no Real Servers are available and an error response is sent back to the client, a redirect URL can also be specified.
+
+ String
+
+ String
+
+
+
+
+
+ PortFollow
+
+ This parameter was depreciated as of 7.1-24. For LoadMasters with version 7.1-24 or higher, use the FollowVSID parameter to set port following.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ForceL7
+
+ Enabling ForceL7 means the Virtual Service runs at Layer 7 and not Layer 4. This may be needed for various reasons, including that only Layer 7 services can be non-transparent.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Idletime
+
+ Specifies the length of time (in seconds) that a connection may remain idle before it is closed. The range for this parameter is 0 to 86400. There are some special values that can be set for this parameter:
+- 0: Ensures the default L7 connection timeout is used. The default timeout value can be modified by setting the conntimeout parameter.
+- 1: Discards the connection after the packet is first forwarded – a response is not expected or handled.
+- 2: Uses a DNS-type of operation. The connection is dropped after the reply message.
+Setting it to 1 or 2 enables better performance and memory usage for UDP connections and they correspond better to how UDP is used.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LocalBindAddresses
+
+ Specifies a space separated list of IP addresses. This corresponds to the Alternate Source Address in the Advanced Properties section of the WUI. Allow connections scaling over 64K Connections needs to be enabled in L7 Configuration for this feature to work.
+
+ String[]
+
+ String[]
+
+
+
+
+
+ VSType
+
+ Specifies the type of service being load balanced:
+ gen - Generic
+http - HTTP/HTTPS
+ts - Remote Terminal
+tls – STARTTLS protocols
+log – Log Insight
+
+ String
+
+ String
+
+
+
+
+
+ Nickname
+
+ Specifies the "friendly" name of the service. In addition to the usual alphanumeric characters, the following "special" characters can be used as part of the Service Name:
+ . @ - _
+ However, there must be at least one alphanumeric character before the special characters.
+
+ String
+
+ String
+
+
+
+
+
+ Persist
+
+ Specifies the type of persistence (stickiness) to be used for this Virtual Service.
+ The following persistence values are supported: ssl, cookie, active-cookie, cookie-src, active-cook-src, cookie-hash, cookie-hash-src, url, query-hash, host, header, super, super-src, src, rdp, rdp-src, rdp-sb, rdp-sb-src and udpsip.
+ Note: If setting the persistence mode to an option that requires a cookie (or query-hash), the cookie parameter must also be set.
+
+ String
+
+ String
+
+
+
+
+
+ PersistTimeout
+
+ The length of time (in seconds) after the last connection that the LoadMaster will remember the persistence information. Timeout values are rounded down to an even number of minutes. Setting a value that is not a number of whole minutes results in the excess being ignored. Setting a value to less than 60 seconds results in a value of 0 being set, which disables persistency.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ QueryTag
+
+ This is the query tag to be matched if the Persist type is set to query-hash.
+
+ String
+
+ String
+
+
+
+
+
+ CipherSet
+
+ Specifies a cipher set name.
+
+ String
+
+ String
+
+
+
+
+
+ SSLReencrypt
+
+ This parameter is only relevant if SSL Acceleration is enabled. When this option is enabled, the SSL data stream is re-encrypted before sending to the Real Server.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SSLReverse
+
+ Enabling this parameter means that the data from the LoadMaster to the Real Server is re-encrypted.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SSLRewrite
+
+ When the Real Server rejects a request with an HTTP redirect, the requesting Location URL may need to be converted to specify HTTPS instead of HTTP (and vice versa).
+
+ String
+
+ String
+
+
+
+
+
+ ReverseSNIHostname
+
+ If this option is enabled, the host name is required to be sent in the TLS client hello message. If it is not sent the connection will be dropped.
+
+ String
+
+ String
+
+
+
+
+
+ Schedule
+
+ Specifies the type of scheduling of new connections to Real Servers that is to be performed. The following values are supported:
+ rr = round robin
+wrr = weighted round robin
+lc = least connection
+wlc = weighted least connection
+fixed = fixed weighting
+adaptive = resource based (adaptive)
+sh = source IP hash
+dl = weighted response time
+sdn-adaptive = resource based (SDN adaptive)
+
+ String
+
+ String
+
+
+
+
+
+ ServerInit
+
+ Specifies one of the following values:
+ 0 = Normal Protocols
+1 = SMTP
+2 = SSH
+3 = Other Server Initiating
+4 = IMAP4
+5 = MySQL
+6 = POP3
+
+ Int16
+
+ Int16
+
+
+
+
+
+ SSLAcceleration
+
+ Specifies whether to enable SSL handling on the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ StandByAddr
+
+ Specifies the IP address of the "Sorry" server that is to be used when no other Real Servers are available. This server will not be health checked and is assumed to be always available.
+
+ String
+
+ String
+
+
+
+
+
+ StandByPort
+
+ Specifies the port of the "Sorry" server.
+
+ String
+
+ String
+
+
+
+
+
+ TransactionLimit
+
+ This is a legacy parameter that should no longer be used. It was used previously when the SSL proxy was limited to 6K total connections. The transaction limit was used to limit one Virtual Service to only handle so many connections out of this 6K. On newer systems, where the limit is greater than 64K - this feature is no longer required.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Transparent
+
+ When using Layer 7, when this is enabled - the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent, which means that the connections at the Real Server appear to come from the LoadMaster.
+0 - Disabled
+1 - Enabled
+If a Virtual Service (with or without a SubVS) has SSL re-encrypt enabled, the transparency flag of the Virtual Service has no meaning (re-encryption forces transparency to be off). The transparency setting can still be modified by the API, and is honored when re-encrypt is disabled on the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SubnetOriginating
+
+ When transparency is not enabled, the source IP address of connections to the Real Servers is that of the Virtual Service. When transparency is enabled, the source IP address will be the IP address that is initiating connection to the Virtual Service. If the Real Server is on a subnet, and the Subnet Originating Requests option is enabled, then the subnet address of the LoadMaster will be used as the source IP address.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ UseforSnat
+
+ By default, when the LoadMaster is being used to NAT Real Servers, the source IP address used on the Internet is that of the LoadMaster. Enabling this option allows the Real Servers configured to use the Virtual Service as the source IP address instead. If the Real Servers are configured on more than one Virtual Service which has this option set, only connections to destination port 80 will use this Virtual Service as the source IP address.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ QoS
+
+ Specifies the Quality of Service. The following values are supported:
+ 0 - Normal-Service
+1 - Minimize-Cost
+2 - Maximize-Reliability
+4 - Maximize-Throughput
+8 - Minimize-Delay
+
+ String
+
+ String
+
+
+
+
+
+ CheckUseGet
+
+ When accessing the health check URL - the system can use the HEAD, the GET or the POST method:
+0 - HEAD
+1 - GET
+2 - POST
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Verify
+
+ Specifies a verification bitmask. The valid values of the Verify parameter are as follows:
+ Bit 0: set this to 1 to enable detection intrusion.
+ Note: Bit 0 needs to be set to 1 in order to use the other two bits.
+ Bit 1: Determines whether to reject or drop a connection. Setting it to 1 will drop the connection.
+ Bit 2: Determines whether to give just warnings on bad requests or also on malicious (but not invalid) requests.
+ The following table lists the valid integers and the values they set the fields to when used:
+Integer Detect Malicious Requests Intrusion Handling Warnings Checkbox
+0 Disabled N/A N/A
+1 Enabled Drop Connection Unchecked
+2 Enabled Send Reject Unchecked
+3 Enabled Send Reject Unchecked
+4 Enabled Drop Connection Checked
+5 Enabled Drop Connection Checked
+6 Enabled Send Reject Checked
+7 Enabled Send Reject Checked
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ExtraHdrKey
+
+ Specifies the key for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+ String
+
+
+
+
+
+ ExtraHdrValue
+
+ Specifies the value for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+ String
+
+
+
+
+
+ AllowedHosts
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual hosts that can be accessed via this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ AllowedDirectories
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual directories that can be accessed via this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ AllowedGroups
+
+ Specifies the groups that are allowed to access this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ GroupSIDs
+
+ Specify the group security identifier (SIDs) that are allowed to access this Virtual Service. Each group must be separated by a semicolon.
+
+ String
+
+ String
+
+
+
+
+
+ SteeringGroups
+
+ Enter the Active Directory group names that will be used for steering traffic. Use a semi-colon to separate multiple group names. The steering group index number corresponds to the location of the group in this list.
+
+ String
+
+ String
+
+
+
+
+
+ IncludeNestedGroups
+
+ Specify if nested groups should be included in the authentication attempt.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisplayPubPriv
+
+ Display the public/private option on the login page. Based on the option the user selects on the login form, the session timeout value will be set to the value specified for either the public or private timeout.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisablePasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Domain
+
+ Specifies the Single Sign On (SSO) domain in which this Virtual Service will operate.
+
+ String
+
+ String
+
+
+
+
+
+ AltDomains
+
+ Specifies alternative domains to be assigned to a Virtual Service when configuring multi-domain authentication. To specify multiple alternative domains use a space-separated list.
+
+ String
+
+ String
+
+
+
+
+
+ Logoff
+
+ This parameter is only relevant when ESP is enabled and when the Client Authentication Mode is set to Form Based. Specify the string that the LoadMaster should use to detect a logout event. Multiple logoff strings can be specified by using a space-separated list.
+ If the URL to be matched contains sub-directories before the specified string, the Logoff String will not be matched. Therefore the LoadMaster will not log the user off.
+
+ String
+
+ String
+
+
+
+
+
+ ESPLogs
+
+ Enable ESP logging. Valid values are below:
+ 0 - Logging off
+1 - User Access
+2 - Security
+3 - User Access and Security
+4 - Connection
+5 - User Access and Connection
+6 - Security and connection
+7 - User Access, Security and Connection
+ Note: The only valid values for SMTP services are 0 and 4. For SMTP services, security issues are always logged. Nothing is logged for user access because there are no logins.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ SMTPAllowedDomains
+
+ Specifies all the permitted domains that are allowed to be received by this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ ESPEnabled
+
+ Specifies whether to enable or disable the Edge Security Pack (ESP) features.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ UserPwdChangeUrl
+
+ This is relevant when using form-based or LDAP authentication. Specify the URL that users can use to change their password. If a user’s password has expired, or if they must reset their password, this URL and the UserPwdChangeMsg is displayed on the login form.
+This URL must be put into the exception list for authentication, if required.
+
+ String
+
+ String
+
+
+
+
+
+ UserPwdChangeMsg
+
+ This parameter is only relevant if the UserPwdChangeURL parameter is set. Specify the text to be displayed on the login form when the user must reset their password.
+
+ String
+
+ String
+
+
+
+
+
+ SecurityHeaderOptions
+
+ Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+0 - Don't add the Strict Transport Security Header (default value)
+1 - Add the Strict Transport Security Header - no subdomains
+2 - Add the Strict Transport Security Header - include subdomains Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+
+ Int16
+
+ Int16
+
+
+
+
+
+ InputAuthMode
+
+ Specifies the client authentication method to be used:
+ 0 - Delegate to Server
+1 - Basic Authentication
+2 - Form Based
+4 - Client Certificate
+5 - NTLM
+6 - SAML
+
+ Int16
+
+ Int16
+
+
+
+
+
+ OutConf
+
+
+
+ String
+
+ String
+
+
+
+
+
+ OutputAuthMode
+
+ Specifies the server authentication mode to be used:
+ 0 - None
+1 - Basic Authentication
+2 - Form Based
+2 - KCD
+
+ Int16
+
+ Int16
+
+
+
+
+
+ StartTLSMode
+
+ 0 - HTTP/HTTPS (the Service Type needs to be set to HTTP/HTTPS for this to work)
+ The Virtual Service Type must be set to STARTTLS for the remaining values to be set:
+ 1 - SMTP (STARTTLS if requested)
+2 - SMTP (STARTTLS always)
+3 - FTP
+4 - IMAP
+6 - POP3
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ExtraPorts
+
+ Specifies extra ports that the Virtual Service will listen to.
+
+ String
+
+ String
+
+
+
+
+
+ AltAddress
+
+ Specifies the alternate address for this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ MultiConnect
+
+ Enabling this option permits the LoadMaster to manage connection handling between the LoadMaster and the Real Servers. Requests from multiple clients will be sent over the same TCP connection.
+ Multiplexing only works for simple HTTP GET operations. This parameter cannot be enabled in certain situations, for example if WAF, ESP or SSL Acceleration is enabled.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SingleSignOnDir
+
+ This parameter relates to the SSO Image Set drop-down in the ESP Options section of the modify Virtual Service screen. Specify the name of the image set to be used for the login screen. If no image set is specified, the default Exchange image set will be used.
+
+ String
+
+ String
+
+
+
+
+
+ OCSPVerify
+
+ Specifies whether to verify (via Online Certificate Status Protocol (OCSP)) that the client certificate is valid.
+
+ String
+
+ String
+
+
+
+
+
+ FollowVSID
+
+ Specifies the ID of the Virtual Service to follow.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ TlsType
+
+ Specify which of the following protocols to support; SSLv3, TLS1.0, TLS1.1 or TLS1.2. By default, TLS1.1 and TLS1.2 are enabled. The protocols can be enabled and disabled using a bitmask value. Refer to the table below to find out what number corresponds to which settings.
+ Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+
+ Int32
+
+ Int32
+
+
+
+
+
+ CheckPostData
+
+ This parameter is only relevant if the HTTP Method is set to POST. When using the POST method, up to 2047 characters of POST data can be sent to the server.
+
+ String
+
+ String
+
+
+
+
+
+ CheckCodes
+
+ A space-separated list of HTTP status codes that should be treated as successful when received from the Real Server.
+Range: 300-599
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedence
+
+ This parameter should be used in conjunction with PreProcPrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change. This parameter relates to Content Matching Rules only.
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedencePos
+
+ This parameter, in conjunction with the PreProcPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second. This parameter relates to the Content Matching Rules only.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RequestPrecedence
+
+ This parameter should be used in conjunction with RequestPrecedencePos. This parameter is used to specify the name of the existing request rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+Modify URL
+
+ String
+
+ String
+
+
+
+
+
+ RequestPrecedencePos
+
+ This parameter, in conjunction with the RequestPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ResponsePrecedence
+
+ This parameter should be used in conjunction with ResponsePrecedencePos. This parameter is used to specify the name of the existing response rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+
+ String
+
+ String
+
+
+
+
+
+ ResponsePrecedencePos
+
+ This parameter, in conjunction with the ResponsePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RsRulePrecedence
+
+ This parameter should be used in conjunction with RSRulePrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change.
+
+ String
+
+ String
+
+
+
+
+
+ RsRulePrecedencePos
+
+ This parameter, in conjunction with the RSRulePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ NeedHostName
+
+ When this parameter is enabled, the hostname is always required to be sent in the TLS client hello message. If it is not sent, the connection is dropped.
+Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CopyHdrFrom
+
+ This is the name of the source header field to copy into the new header field before the request is sent to the Real Servers.
+
+ String
+
+ String
+
+
+
+
+
+ CopyHdrTo
+
+ This parameter is used in conjunction with the CopyHdrFrom parameter.
+The name of the header field into which the source header is to be copied.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port that the Virtual Service is listening on.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ Specify if the service is using TCP or UDP protocols.
+
+ string
+
+ string
+
+
+
+
+
+ DisplayPasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ boolean
+
+ boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcVirtualService -Port 80 -Protocol tcp -VirtualService 10.154.11.234
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcVirtualServiceResponseBodyRule
+
+
+
+
+
+
+ New
+ AdcVirtualServiceResponseBodyRule
+
+
+
+
+
+
+
+ New-AdcVirtualServiceResponseBodyRule
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcVirtualServiceResponseBodyRule
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcVirtualServiceRule
+
+ Add a content rule to a Virtual Service.
+
+
+
+
+ New
+ AdcVirtualServiceRule
+
+
+
+ Add the specified content rule to a Virtual Service.
+
+
+
+ New-AdcVirtualServiceRule
+
+ VirtualService
+
+ The IP address of the Virtual Service to add the content rule to.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to add the content rule to.
+
+ Int32
+
+
+ VSProtocol
+
+ The port of the Virtual Service to add the content rule to.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service to add the content rule to.
+
+ Int32
+
+
+ RuleType
+
+ The type of content rule to add to the Virtual Service.
+
+ String
+
+
+ RuleName
+
+ The name of the content rule to add to the Virtual Service.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcVirtualServiceRule
+
+ VirtualService
+
+ The IP address of the Virtual Service to add the content rule to.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to add the content rule to.
+
+ Int32
+
+
+ VSProtocol
+
+ The port of the Virtual Service to add the content rule to.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service to add the content rule to.
+
+ Int32
+
+
+ RuleType
+
+ The type of content rule to add to the Virtual Service.
+
+ String
+
+
+ RuleName
+
+ The name of the content rule to add to the Virtual Service.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The IP address of the Virtual Service to add the content rule to.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the Virtual Service to add the content rule to.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The port of the Virtual Service to add the content rule to.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the Virtual Service to add the content rule to.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleType
+
+ The type of content rule to add to the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ RuleName
+
+ The name of the content rule to add to the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcVirtualServiceRule -RuleName ActiveSync_1041 -RuleType request -VirtualService 10.154.11.181 -VSPort 443 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcVsWafRule
+
+ Assigns Web Application Firewall (WAF) rules to the specified Virtual Service.
+
+
+
+
+ New
+ AdcVsWafRule
+
+
+
+ Add the specified WAF rule to the specified Virtual Service.
+
+
+
+ New-AdcVsWafRule
+
+ VS
+
+ The IP address of the relevant Virtual Service.
+
+ String
+
+
+ VSPort
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ String
+
+
+ VSProtocol
+
+ Specifies the communication protocol of the Virtual Service. Valid options are TCP or UDP (not case sensitive).
+
+ String
+
+
+ Rule
+
+ Specify the name of the rule to be assigned.
+The rule name must be preceded with a letter/word and a forward slash. The letter used depends on the type of rule being added:
+ - C or Custom
+ - Z or ApplicationGeneric
+ - A or ApplicationSpecific
+ - G or Generic
+
+ String
+
+
+ Enablerules
+
+ Specific rules can be enabled per ruleset by specifying the rule IDs to be enabled. Multiple rules can be enabled by using a comma-separated list. To retrieve the rule IDs, run the Get-WAFVSRules command.
+To only update rules (and not rulesets), run the New-AdcWafRule command with a blank Rule parameter.
+To enable all rules, run the New-AdcWafRule command with blank rule and disablerules parameters.
+
+ String
+
+
+ Disablerules
+
+ Specific rules can be disabled per ruleset by specifying the rule IDs to be disabled. Multiple rules can be disabled by using a comma-separated list. To retrieve the rule IDs, run the Get-WAFVSRules command.
+To only update rules (and not rulesets), run the Add-AdcWafRule command with a blank Rule parameter.
+To remove all disabled rules (i.e. enable all rules), run the Add-AdcWafRule command with blank rule and disablerules parameters.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-AdcVsWafRule
+
+ VS
+
+ The IP address of the relevant Virtual Service.
+
+ String
+
+
+ VSPort
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ String
+
+
+ VSProtocol
+
+ Specifies the communication protocol of the Virtual Service. Valid options are TCP or UDP (not case sensitive).
+
+ String
+
+
+ Rule
+
+ Specify the name of the rule to be assigned.
+The rule name must be preceded with a letter/word and a forward slash. The letter used depends on the type of rule being added:
+ - C or Custom
+ - Z or ApplicationGeneric
+ - A or ApplicationSpecific
+ - G or Generic
+
+ String
+
+
+ Enablerules
+
+ Specific rules can be enabled per ruleset by specifying the rule IDs to be enabled. Multiple rules can be enabled by using a comma-separated list. To retrieve the rule IDs, run the Get-WAFVSRules command.
+To only update rules (and not rulesets), run the New-AdcWafRule command with a blank Rule parameter.
+To enable all rules, run the New-AdcWafRule command with blank rule and disablerules parameters.
+
+ String
+
+
+ Disablerules
+
+ Specific rules can be disabled per ruleset by specifying the rule IDs to be disabled. Multiple rules can be disabled by using a comma-separated list. To retrieve the rule IDs, run the Get-WAFVSRules command.
+To only update rules (and not rulesets), run the Add-AdcWafRule command with a blank Rule parameter.
+To remove all disabled rules (i.e. enable all rules), run the Add-AdcWafRule command with blank rule and disablerules parameters.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VS
+
+ The IP address of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ String
+
+ String
+
+
+
+
+
+ VSProtocol
+
+ Specifies the communication protocol of the Virtual Service. Valid options are TCP or UDP (not case sensitive).
+
+ String
+
+ String
+
+
+
+
+
+ Rule
+
+ Specify the name of the rule to be assigned.
+The rule name must be preceded with a letter/word and a forward slash. The letter used depends on the type of rule being added:
+ - C or Custom
+ - Z or ApplicationGeneric
+ - A or ApplicationSpecific
+ - G or Generic
+
+ String
+
+ String
+
+
+
+
+
+ Enablerules
+
+ Specific rules can be enabled per ruleset by specifying the rule IDs to be enabled. Multiple rules can be enabled by using a comma-separated list. To retrieve the rule IDs, run the Get-WAFVSRules command.
+To only update rules (and not rulesets), run the New-AdcWafRule command with a blank Rule parameter.
+To enable all rules, run the New-AdcWafRule command with blank rule and disablerules parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Disablerules
+
+ Specific rules can be disabled per ruleset by specifying the rule IDs to be disabled. Multiple rules can be disabled by using a comma-separated list. To retrieve the rule IDs, run the Get-WAFVSRules command.
+To only update rules (and not rulesets), run the Add-AdcWafRule command with a blank Rule parameter.
+To remove all disabled rules (i.e. enable all rules), run the Add-AdcWafRule command with blank rule and disablerules parameters.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcVsWafRule -Rule G/ip_reputation -VS 10.35.47.86 -VSPort 80 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-Certificate
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-TlsCertificate
+
+
+
+
+ New
+ Certificate
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-TlsCertificate
+
+
+
+ New-Certificate
+
+ Name
+
+
+
+ String
+
+
+ Password
+
+
+
+ String
+
+
+ Replace
+
+
+
+ SwitchParameter
+
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-Certificate
+
+ Name
+
+
+
+ String
+
+
+ Password
+
+
+
+ String
+
+
+ Replace
+
+
+
+ SwitchParameter
+
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Replace
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-Cluster
+
+ Converts the LoadMaster to cluster mode.
+
+
+
+
+ New
+ Cluster
+
+
+
+ Converts the LoadMaster to cluster mode.
+
+
+
+ New-Cluster
+
+ SharedAddress
+
+ The initial shared IP address of the cluster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-Cluster
+
+ SharedAddress
+
+ The initial shared IP address of the cluster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SharedAddress
+
+ The initial shared IP address of the cluster.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-Cluster -SharedAddress 10.11.0.31
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-ClusterNode
+
+ Adds a LoadMaster to a cluster.
+
+
+
+
+ New
+ ClusterNode
+
+
+
+ Adds a single node LoadMaster (which is available to be added) to the cluster.
+ Before running this command, run the Join-Cluster command on the LoadMaster node to be added to the cluster in a different console window. This makes the node LoadMaster available to be added. To finish adding the node, then run the New-ClusterNode command on the shared IP address immediately after running the Join-Cluster command in a different console window.
+
+
+
+ New-ClusterNode
+
+ Address
+
+ The IP address of the node LoadMaster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-ClusterNode
+
+ Address
+
+ The IP address of the node LoadMaster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Address
+
+ The IP address of the node LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-ClusterNode -Address 10.35.47.15 -LoadBalancer -10.35.47.100 -Credential bal
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-GeoCluster
+
+ Add a new GEO cluster.
+
+
+
+
+ New
+ GeoCluster
+
+
+
+ Run this command to add a new GEO cluster to the LoadMaster.
+
+
+
+ New-GeoCluster
+
+ ClusterIp
+
+ The IP address of the GEO cluster.
+
+ String
+
+
+ ClusterName
+
+ The name of the GEO cluster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-GeoCluster
+
+ ClusterIp
+
+ The IP address of the GEO cluster.
+
+ String
+
+
+ ClusterName
+
+ The name of the GEO cluster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+ The IP address of the GEO cluster.
+
+ String
+
+ String
+
+
+
+
+
+ ClusterName
+
+ The name of the GEO cluster.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-GeoCluster -ClusterIp 10.34.52.56 -ClusterName ExampleCluster2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-GeoCustomLocation
+
+ Add a new custom location.
+
+
+
+
+ New
+ GeoCustomLocation
+
+
+
+ Creates a custom GEO location which can be selected when using the Location Based selection criteria.
+
+
+
+ New-GeoCustomLocation
+
+ Location
+
+ The name of the custom location.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-GeoCustomLocation
+
+ Location
+
+ The name of the custom location.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Location
+
+ The name of the custom location.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-GeoCustomLocation -Location "New York"
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-GeoDNSSECKeySigningKey
+
+ Generate the Key Signing Key (KSK).
+
+
+
+
+ New
+ GeoDNSSECKeySigningKey
+
+
+
+ Generate the KSK.
+
+
+
+ New-GeoDNSSECKeySigningKey
+
+ SigningAlgorithm
+
+ Specify the cryptographic algorithm to use. If this parameter is omitted, the default value is used.
+Valid values are:
+RSASHA256
+NSEC3RSASHA1
+NSEC3RSASHA1
+ The default value is RSASHA256.
+
+ String
+
+
+ SigningKeySize
+
+ Specify the key size (in bits). If this parameter is omitted, the default value is used.
+Valid values are:
+1024
+2048
+4096
+ The default value is 2048.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-GeoDNSSECKeySigningKey
+
+ SigningAlgorithm
+
+ Specify the cryptographic algorithm to use. If this parameter is omitted, the default value is used.
+Valid values are:
+RSASHA256
+NSEC3RSASHA1
+NSEC3RSASHA1
+ The default value is RSASHA256.
+
+ String
+
+
+ SigningKeySize
+
+ Specify the key size (in bits). If this parameter is omitted, the default value is used.
+Valid values are:
+1024
+2048
+4096
+ The default value is 2048.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SigningAlgorithm
+
+ Specify the cryptographic algorithm to use. If this parameter is omitted, the default value is used.
+Valid values are:
+RSASHA256
+NSEC3RSASHA1
+NSEC3RSASHA1
+ The default value is RSASHA256.
+
+ String
+
+ String
+
+
+
+
+
+ SigningKeySize
+
+ Specify the key size (in bits). If this parameter is omitted, the default value is used.
+Valid values are:
+1024
+2048
+4096
+ The default value is 2048.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-GeoDNSSECKeySigningKey -SigningAlgorithm RSASHA512 -SigningKeySize 2048
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-GeoFQDN
+
+ Add an FQDN.
+
+
+
+
+ New
+ GeoFQDN
+
+
+
+ Add a new GEO FQDN.
+
+
+
+ New-GeoFQDN
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-GeoFQDN
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-GeoFQDN -FQDN ExampleFQDN.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Added FQDN ExampleFQDN.com; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Added FQDN ExampleFQDN.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-GeoFQDNSiteAddress
+
+ Add an IP address to an FQDN.
+
+
+
+
+ New
+ GeoFQDNSiteAddress
+
+
+
+ Run this command to add the specified IP address to the relevant GEO FQDN.
+
+
+
+ New-GeoFQDNSiteAddress
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ The address to be added to the FQDN.
+
+ String
+
+
+ Cluster
+
+ If needed, enter the cluster name where the IP address is located.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-GeoFQDNSiteAddress
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ The address to be added to the FQDN.
+
+ String
+
+
+ Cluster
+
+ If needed, enter the cluster name where the IP address is located.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+ The address to be added to the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ Cluster
+
+ If needed, enter the cluster name where the IP address is located.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-GeoFQDNSiteAddress -FQDN Example.com -SiteAddress 10.134.33.2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Added site 10.134.33.3 to FQDN Example.com; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Added site 10.134.33.3 to FQDN Example.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-GeoIpRange
+
+ Add an IP address to the IP range selection criteria list.
+
+
+
+
+ New
+ GeoIpRange
+
+
+
+ Add an IP address to the IP range selection criteria list.
+
+
+
+ New-GeoIpRange
+
+ IP
+
+ String IP address of the IP range.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-GeoIpRange
+
+ IP
+
+ String IP address of the IP range.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+ String IP address of the IP range.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-GeoIpRange -IP 10.145.32.4
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. IP range added; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. IP range added
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-GeoIPWhitelist
+
+ Add an IP address or network to the whitelist.
+
+
+
+
+ New
+ GeoIPWhitelist
+
+
+
+ Run this command to add an IP address or network to the user-defined whitelist. The whitelist entries override the blacklist.
+
+
+
+ New-GeoIPWhitelist
+
+ Addr
+
+ The address or network to be added to the GEO Access Control whitelist.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-GeoIPWhitelist
+
+ Addr
+
+ The address or network to be added to the GEO Access Control whitelist.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Addr
+
+ The address or network to be added to the GEO Access Control whitelist.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-GeoIPWhitelist -Addr 10.145.33.22
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. 10.145.33.22 was successfully added to GEO ACL white list.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. 10.145.33.22 was successfully added to GEO ACL white list.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-GlobalPacketFilterACL
+
+ Adds an address to the global black or white list.
+
+
+
+
+ New
+ GlobalPacketFilterACL
+
+
+
+ Adds a host or network IP address to the global black or white Access Control List (ACL). Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+ New-GlobalPacketFilterACL
+
+ Type
+
+ Specifies the access control list type: black or white.
+
+ String
+
+
+ Address
+
+ Specifies a host or network IP address to add to the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+
+ Comment
+
+ Optionally add a comment about the entry. This parameter accepts a maximum of 127 characters.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-GlobalPacketFilterACL
+
+ Type
+
+ Specifies the access control list type: black or white.
+
+ String
+
+
+ Address
+
+ Specifies a host or network IP address to add to the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+
+ Comment
+
+ Optionally add a comment about the entry. This parameter accepts a maximum of 127 characters.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Type
+
+ Specifies the access control list type: black or white.
+
+ String
+
+ String
+
+
+
+
+
+ Address
+
+ Specifies a host or network IP address to add to the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+ String
+
+
+
+
+
+ Comment
+
+ Optionally add a comment about the entry. This parameter accepts a maximum of 127 characters.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-GlobalPacketFilterACL -Type black -Address 10.35.47.16
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-HostsEntry
+
+ Adds a host IP address and host FQDN.
+
+
+
+
+ New
+ HostsEntry
+
+
+
+ Add a new address for local resolution.
+
+
+
+ New-HostsEntry
+
+ HostIP
+
+ Specify the IP address for the entry.
+
+ String
+
+
+ HostFQDN
+
+ Specify the host FQDN for the entry.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-HostsEntry
+
+ HostIP
+
+ Specify the IP address for the entry.
+
+ String
+
+
+ HostFQDN
+
+ Specify the host FQDN for the entry.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ HostIP
+
+ Specify the IP address for the entry.
+
+ String
+
+ String
+
+
+
+
+
+ HostFQDN
+
+ Specify the host FQDN for the entry.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-HostsEntry -HostFQDN example2.com -HostIP 10.154.11.38
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-IntermediateCertificate
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-TlsIntermediateCertificate
+
+
+
+
+ New
+ IntermediateCertificate
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-TlsIntermediateCertificate
+
+
+
+ New-IntermediateCertificate
+
+ Name
+
+
+
+ String
+
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-IntermediateCertificate
+
+ Name
+
+
+
+ String
+
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-LdapEndpoint
+
+ Add a new LDAP endpoint.
+
+
+
+
+ New
+ LdapEndpoint
+
+
+
+ These LDAP endpoints may be used in three different areas:
+• Health checks
+• SSO domains
+• WUI authentication
+
+
+
+ New-LdapEndpoint
+
+ Name
+
+ The desired name for the new LDAP endpoint. This name cannot contain any spaces.
+
+ String
+
+
+ Server
+
+ Specify the address, or addresses, of the LDAP server to be used. You can also specify a port number, if desired. Separate multiple addresses with a space.
+
+ String
+
+
+ LdapProtocol
+
+ Specify the transport protocol to use when communicating with the LDAP server. Valid values are:
+Unencrypted (default)
+StartTLS
+LDAPS
+
+ String
+
+
+ VInterval
+
+ Specify how often to revalidate the user the with the LDAP server.
+Range: 10 – 86400 seconds
+Default: 60
+
+ Int16
+
+
+ ReferralCount
+
+ To disable referral chasing, set this to 0. To enable referral chasing, set this to a value between 1 and 10. Referral chasing limits the number of hops.
+Note: Multiple hops may increase authentication latency.
+
+ Int16
+
+
+ AdminUser
+
+ Specify the username of an administrator user. The username that will be used to check the LDAP server.
+
+ String
+
+
+ AdminPass
+
+ Specify the password for the specified administrator user. The password that will be used to check the LDAP server.
+
+ String
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-LdapEndpoint
+
+ Name
+
+ The desired name for the new LDAP endpoint. This name cannot contain any spaces.
+
+ String
+
+
+ Server
+
+ Specify the address, or addresses, of the LDAP server to be used. You can also specify a port number, if desired. Separate multiple addresses with a space.
+
+ String
+
+
+ LdapProtocol
+
+ Specify the transport protocol to use when communicating with the LDAP server. Valid values are:
+Unencrypted (default)
+StartTLS
+LDAPS
+
+ String
+
+
+ VInterval
+
+ Specify how often to revalidate the user the with the LDAP server.
+Range: 10 – 86400 seconds
+Default: 60
+
+ Int16
+
+
+ ReferralCount
+
+ To disable referral chasing, set this to 0. To enable referral chasing, set this to a value between 1 and 10. Referral chasing limits the number of hops.
+Note: Multiple hops may increase authentication latency.
+
+ Int16
+
+
+ AdminUser
+
+ Specify the username of an administrator user. The username that will be used to check the LDAP server.
+
+ String
+
+
+ AdminPass
+
+ Specify the password for the specified administrator user. The password that will be used to check the LDAP server.
+
+ String
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The desired name for the new LDAP endpoint. This name cannot contain any spaces.
+
+ String
+
+ String
+
+
+
+
+
+ Server
+
+ Specify the address, or addresses, of the LDAP server to be used. You can also specify a port number, if desired. Separate multiple addresses with a space.
+
+ String
+
+ String
+
+
+
+
+
+ LdapProtocol
+
+ Specify the transport protocol to use when communicating with the LDAP server. Valid values are:
+Unencrypted (default)
+StartTLS
+LDAPS
+
+ String
+
+ String
+
+
+
+
+
+ VInterval
+
+ Specify how often to revalidate the user the with the LDAP server.
+Range: 10 – 86400 seconds
+Default: 60
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ReferralCount
+
+ To disable referral chasing, set this to 0. To enable referral chasing, set this to a value between 1 and 10. Referral chasing limits the number of hops.
+Note: Multiple hops may increase authentication latency.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ AdminUser
+
+ Specify the username of an administrator user. The username that will be used to check the LDAP server.
+
+ String
+
+ String
+
+
+
+
+
+ AdminPass
+
+ Specify the password for the specified administrator user. The password that will be used to check the LDAP server.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-LdapEndpoint -Name Example3 -AdminPass examplePassword -AdminUser ExampleUser -LdapProtocol StartTLS -Server 10.154.22.11
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-LmIPConnectionLimit
+
+ Add an IP address to be limited.
+
+
+
+
+ New
+ LmIPConnectionLimit
+
+
+
+ Specify an IP address to be limited.
+
+
+
+ New-LmIPConnectionLimit
+
+ L7addr
+
+ Add the IP address or network to be limited.
+
+ String
+
+
+ L7limit
+
+ Limit the number of connection attempts (per second) from a specific host/network.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-LmIPConnectionLimit
+
+ L7addr
+
+ Add the IP address or network to be limited.
+
+ String
+
+
+ L7limit
+
+ Limit the number of connection attempts (per second) from a specific host/network.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ L7addr
+
+ Add the IP address or network to be limited.
+
+ String
+
+ String
+
+
+
+
+
+ L7limit
+
+ Limit the number of connection attempts (per second) from a specific host/network.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-LmIpConnectionLimit -L7addr 10.134.55.23 -L7limit 100
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-LmVpnConnection
+
+ Creates a new Virtual Private Network (VPN) connection.
+
+
+
+
+ New
+ LmVpnConnection
+
+
+
+ Run this command to create a new VPN connection.
+
+
+
+ New-LmVpnConnection
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-LmVpnConnection
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-LmVpnConnection -Name ExampleVPNConnection
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-NetworkBondedInterface
+
+ Add a standalone interface to a bonded interface.
+
+
+
+
+ New
+ NetworkBondedInterface
+
+
+
+ The Register-NetworkBondedInterface command must be run before running this command.
+
+
+
+ New-NetworkBondedInterface
+
+ InterfaceID
+
+ The Interface ID of the Bonded Interface. To view the interface ID for each of the interfaces, run the Get-LmNetworkInterface command.
+
+ Int16
+
+
+ BondID
+
+ The Interface ID of the interface to link to the bonded interface.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-NetworkBondedInterface
+
+ InterfaceID
+
+ The Interface ID of the Bonded Interface. To view the interface ID for each of the interfaces, run the Get-LmNetworkInterface command.
+
+ Int16
+
+
+ BondID
+
+ The Interface ID of the interface to link to the bonded interface.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The Interface ID of the Bonded Interface. To view the interface ID for each of the interfaces, run the Get-LmNetworkInterface command.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BondID
+
+ The Interface ID of the interface to link to the bonded interface.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-NetworkBondedInterface -InterfaceID 1 -BondID 2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Interface=}
+
+Id : 1
+IPAddress :
+NBondMembers : 2
+BondMembers : @{RealInterface=System.Object[]}
+Mode : 802.3ad
+InterfaceType : Bonded
+GeoTrafficEnable : no
+DefaultInterface : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-NetworkInterfaceAdditionalAddress
+
+ Add an additional address to an interface.
+
+
+
+
+ New
+ NetworkInterfaceAdditionalAddress
+
+
+
+ Specify an additional address to be used on the interface.
+
+
+
+ New-NetworkInterfaceAdditionalAddress
+
+ InterfaceID
+
+ The ID number of the interface to add the additional address to.
+
+ Int16
+
+
+ Address
+
+ The additional address to be added.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-NetworkInterfaceAdditionalAddress
+
+ InterfaceID
+
+ The ID number of the interface to add the additional address to.
+
+ Int16
+
+
+ Address
+
+ The additional address to be added.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The ID number of the interface to add the additional address to.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Address
+
+ The additional address to be added.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-NetworkInterfaceAdditionalAddress -Address 10.154.11.22
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Id : 0
+IPAddress : 10.154.11.180/16
+Mtu : 1400
+AdditionalAddresses : @{IPaddress=10.154.11.22/16}
+InterfaceType : Port
+GeoTrafficEnable : yes
+DefaultInterface : yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-NetworkRoute
+
+ Add a new IP route to the load balancer.
+
+
+
+
+ New
+ NetworkRoute
+
+
+
+ Adds an IP route to the routing table on the load balancer.
+
+
+
+ New-NetworkRoute
+
+ Destination
+
+ The destination network that needs to be reached.
+
+ String
+
+
+ CIDR
+
+ The subnet mask of the destination address/network.
+
+ Int16
+
+
+ Gateway
+
+ The interface to be used to direct traffic to the desired network.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-NetworkRoute
+
+ Destination
+
+ The destination network that needs to be reached.
+
+ String
+
+
+ CIDR
+
+ The subnet mask of the destination address/network.
+
+ Int16
+
+
+ Gateway
+
+ The interface to be used to direct traffic to the desired network.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Destination
+
+ The destination network that needs to be reached.
+
+ String
+
+ String
+
+
+
+
+
+ CIDR
+
+ The subnet mask of the destination address/network.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Gateway
+
+ The interface to be used to direct traffic to the desired network.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-NetworkRoute -CIDR 16 -Destination 10.154.11.33 -Gateway 10.154.11.23
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Route=System.Object[]}
+Destination : 10.154.11.24/16
+Gateway : 10.154.11.44
+
+Destination : 10.154.11.33/16
+Gateway : 10.154.11.23
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-NetworkVLAN
+
+ Allows you to add a Virtual LAN.
+
+
+
+
+ New
+ NetworkVLAN
+
+
+
+ Add a VLAN.
+
+
+
+ New-NetworkVLAN
+
+ InterfaceID
+
+ The ID of the interface to be added to the VLAN.
+
+ Int16
+
+
+ VLanId
+
+ The ID of the VLAN.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-NetworkVLAN
+
+ InterfaceID
+
+ The ID of the interface to be added to the VLAN.
+
+ Int16
+
+
+ VLanId
+
+ The ID of the VLAN.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface to be added to the VLAN.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ VLanId
+
+ The ID of the VLAN.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-NetworkVLAN -InterfaceID 1 -VLAN 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Interface=}
+Id : 2
+IPAddress :
+VlanId : 1
+RealInterface : 1
+InterfaceType : Vlan
+GeoTrafficEnable : no
+DefaultInterface : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-NetworkVxLAN
+
+ Creates a new VXLAN interface.
+
+
+
+
+ New
+ NetworkVxLAN
+
+
+
+ Run this command to create a new VXLAN interface.
+
+
+
+ New-NetworkVxLAN
+
+ InterfaceID
+
+ The ID of the interface to add the VXLAN to.
+
+ Int16
+
+
+ VNI
+
+ The VxLAN Network Identifier.
+
+ Int32
+
+
+ Addr
+
+ The multicast group or remote address.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-NetworkVxLAN
+
+ InterfaceID
+
+ The ID of the interface to add the VXLAN to.
+
+ Int16
+
+
+ VNI
+
+ The VxLAN Network Identifier.
+
+ Int32
+
+
+ Addr
+
+ The multicast group or remote address.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface to add the VXLAN to.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ VNI
+
+ The VxLAN Network Identifier.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Addr
+
+ The multicast group or remote address.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-NetworkVxLAN -Addr 10.154.11.34 -InterfaceID 1 -VNI 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Interface=}
+Id : 2
+IPAddress :
+VNI : 1
+RemoteAddress : 10.154.11.34
+RealInterface : 1
+InterfaceType : VXlan
+GeoTrafficEnable : no
+DefaultInterface : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-RealServer
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcRealServer
+
+
+
+
+ New
+ RealServer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcRealServer
+
+
+
+ New-RealServer
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RealServerPort
+
+
+
+ Int32
+
+
+ Weight
+
+
+
+ Int32
+
+
+ Forward
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ Non_Local
+
+
+
+ Boolean
+
+
+ Limit
+
+
+
+ Int64
+
+
+ Critical
+
+
+
+ Boolean
+
+
+ Follow
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-RealServer
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RealServerPort
+
+
+
+ Int32
+
+
+ Weight
+
+
+
+ Int32
+
+
+ Forward
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ Non_Local
+
+
+
+ Boolean
+
+
+ Limit
+
+
+
+ Int64
+
+
+ Critical
+
+
+
+ Boolean
+
+
+ Follow
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RealServerPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Weight
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Forward
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Non_Local
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Limit
+
+
+
+ Int64
+
+ Int64
+
+
+
+
+
+ Critical
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Follow
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-RealServerRule
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcRealServerRule
+
+
+
+
+ New
+ RealServerRule
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcRealServerRule
+
+
+
+ New-RealServerRule
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-RealServerRule
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-Route
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkRoute
+
+
+
+
+ New
+ Route
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-NetworkRoute
+
+
+
+ New-Route
+
+ Destination
+
+
+
+ String
+
+
+ CIDR
+
+
+
+ Int16
+
+
+ Gateway
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-Route
+
+ Destination
+
+
+
+ String
+
+
+ CIDR
+
+
+
+ Int16
+
+
+ Gateway
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Destination
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CIDR
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Gateway
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-Rule
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcContentRule
+
+
+
+
+ New
+ Rule
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcContentRule
+
+
+
+ New-Rule
+
+ RuleName
+
+
+
+ String
+
+
+ MatchType
+
+
+
+ String
+
+
+ IncHost
+
+
+
+ Boolean
+
+
+ NoCase
+
+
+
+ Boolean
+
+
+ Negate
+
+
+
+ Boolean
+
+
+ IncQuery
+
+
+
+ Boolean
+
+
+ Header
+
+
+
+ String
+
+
+ Pattern
+
+
+
+ String
+
+
+ Replacement
+
+
+
+ String
+
+
+ Type
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-Rule
+
+ RuleName
+
+
+
+ String
+
+
+ MatchType
+
+
+
+ String
+
+
+ IncHost
+
+
+
+ Boolean
+
+
+ NoCase
+
+
+
+ Boolean
+
+
+ Negate
+
+
+
+ Boolean
+
+
+ IncQuery
+
+
+
+ Boolean
+
+
+ Header
+
+
+
+ String
+
+
+ Pattern
+
+
+
+ String
+
+
+ Replacement
+
+
+
+ String
+
+
+ Type
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RuleName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ MatchType
+
+
+
+ String
+
+ String
+
+
+
+
+
+ IncHost
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ NoCase
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Negate
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ IncQuery
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Header
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Pattern
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Replacement
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-SdnController
+
+ Add an SDN controller to the LoadMaster.
+
+
+
+
+ New
+ SdnController
+
+
+
+ Add the specified controller.
+
+
+
+ New-SdnController
+
+ IPV4
+
+ The IPv4 address of the SDN controller.
+
+ String
+
+
+ Port
+
+ The port of the SDN controller.
+
+ Int32
+
+
+ Clid
+
+ The cluster ID for the new SDN controller. If a number is specified, the SDN controller will be added to the cluster with the relevant ID number. The cluster with the ID number specified must already exist.
+If a number is not specified, the SDN controller will be added to a new cluster.
+
+ Int32
+
+
+ Https
+
+ The HTTP method to use.
+0 - HTTP
+1 - HTTPS
+
+ Boolean
+
+
+ User
+
+ The username to be used to access the SDN controller RESTful API.
+
+ String
+
+
+ Password
+
+ The password to be used to access the SDN controller RESTful API.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-SdnController
+
+ IPV4
+
+ The IPv4 address of the SDN controller.
+
+ String
+
+
+ Port
+
+ The port of the SDN controller.
+
+ Int32
+
+
+ Clid
+
+ The cluster ID for the new SDN controller. If a number is specified, the SDN controller will be added to the cluster with the relevant ID number. The cluster with the ID number specified must already exist.
+If a number is not specified, the SDN controller will be added to a new cluster.
+
+ Int32
+
+
+ Https
+
+ The HTTP method to use.
+0 - HTTP
+1 - HTTPS
+
+ Boolean
+
+
+ User
+
+ The username to be used to access the SDN controller RESTful API.
+
+ String
+
+
+ Password
+
+ The password to be used to access the SDN controller RESTful API.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IPV4
+
+ The IPv4 address of the SDN controller.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port of the SDN controller.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Clid
+
+ The cluster ID for the new SDN controller. If a number is specified, the SDN controller will be added to the cluster with the relevant ID number. The cluster with the ID number specified must already exist.
+If a number is not specified, the SDN controller will be added to a new cluster.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Https
+
+ The HTTP method to use.
+0 - HTTP
+1 - HTTPS
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ User
+
+ The username to be used to access the SDN controller RESTful API.
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+ The password to be used to access the SDN controller RESTful API.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-SdnController -IPV4 10.123.2.2 -Port 80
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=Data}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-SecUser
+
+ Allows you to add a new local user.
+
+
+
+
+ New
+ SecUser
+
+
+
+ Allows you to add a new local user.
+
+
+
+ New-SecUser
+
+ User
+
+ Username for the new user.
+
+ String
+
+
+ Password
+
+ Password for the new user.
+
+ String
+
+
+ Radius
+
+ The radius parameter determines whether the user will use RADIUS server authentication or not when logging in to the LoadMaster. The RADIUS server details must be set up before this option can be used.
+0 - Do not use RADIUS authentication
+1 - Use RADIUS authentication
+
+ Boolean
+
+
+ NoPassword
+
+ This option is only valid if session management is enabled. Set this option to yes to create a user with no password. This can be used to allow certificate-based access.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-SecUser
+
+ User
+
+ Username for the new user.
+
+ String
+
+
+ Password
+
+ Password for the new user.
+
+ String
+
+
+ Radius
+
+ The radius parameter determines whether the user will use RADIUS server authentication or not when logging in to the LoadMaster. The RADIUS server details must be set up before this option can be used.
+0 - Do not use RADIUS authentication
+1 - Use RADIUS authentication
+
+ Boolean
+
+
+ NoPassword
+
+ This option is only valid if session management is enabled. Set this option to yes to create a user with no password. This can be used to allow certificate-based access.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ User
+
+ Username for the new user.
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+ Password for the new user.
+
+ String
+
+ String
+
+
+
+
+
+ Radius
+
+ The radius parameter determines whether the user will use RADIUS server authentication or not when logging in to the LoadMaster. The RADIUS server details must be set up before this option can be used.
+0 - Do not use RADIUS authentication
+1 - Use RADIUS authentication
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ NoPassword
+
+ This option is only valid if session management is enabled. Set this option to yes to create a user with no password. This can be used to allow certificate-based access.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-SecUser -Password password1234 -Radius 0 -User ExampleUsername
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-SecUserCertificate
+
+ Generate a new certificate for a user.
+
+
+
+
+ New
+ SecUserCertificate
+
+
+
+ Generate a new certificate for a user.
+
+
+
+ New-SecUserCertificate
+
+ User
+
+ The username of the user to generate the certificate for.
+
+ String
+
+
+ Passphrase
+
+ The passphrase is optional. If entered, it will be used to encrypt the private key.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-SecUserCertificate
+
+ User
+
+ The username of the user to generate the certificate for.
+
+ String
+
+
+ Passphrase
+
+ The passphrase is optional. If entered, it will be used to encrypt the private key.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ User
+
+ The username of the user to generate the certificate for.
+
+ String
+
+ String
+
+
+
+
+
+ Passphrase
+
+ The passphrase is optional. If entered, it will be used to encrypt the private key.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-SecUserCertificate -User Example
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-SSODomain
+
+ Allows you to create a new Single Sign-On (SSO) Domain.
+
+
+
+
+ New
+ SSODomain
+
+
+
+ Allows you to create a new Single Sign-On (SSO) Domain.
+
+
+
+ New-SSODomain
+
+ Domain
+
+ Specifies the name of the SSO domain LoadMaster entry to be modified.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ Specifies the name of the SSO domain LoadMaster entry to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You can only use one login method - either certificate or credential. You cannot use both.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-SSODomain -Domain example3.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed (Domain "example3.com" created); Data=}
+Return Code..: 200
+Response.....: Command successfully executed (Domain "example3.com" created)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-TlsCertificate
+
+ Allows you to add a certificate to the LoadMaster.
+
+
+
+
+ New
+ TlsCertificate
+
+
+
+ Allows you to add a certificate to the LoadMaster.
+
+
+
+ New-TlsCertificate
+
+ Name
+
+ The identifier that the certificate is known as on the LoadMaster.
+
+ String
+
+
+ Password
+
+ The password for the certificate file to be uploaded.
+
+ String
+
+
+ Replace
+
+ Specifies if this certificate replaces an existing certificate already installed.
+
+ SwitchParameter
+
+
+ Path
+
+ The local path to the certificate file. The certificate file can be either .PEM or .PFX (IIS) format
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-TlsCertificate
+
+ Name
+
+ The identifier that the certificate is known as on the LoadMaster.
+
+ String
+
+
+ Password
+
+ The password for the certificate file to be uploaded.
+
+ String
+
+
+ Replace
+
+ Specifies if this certificate replaces an existing certificate already installed.
+
+ SwitchParameter
+
+
+ Path
+
+ The local path to the certificate file. The certificate file can be either .PEM or .PFX (IIS) format
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The identifier that the certificate is known as on the LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+ The password for the certificate file to be uploaded.
+
+ String
+
+ String
+
+
+
+
+
+ Replace
+
+ Specifies if this certificate replaces an existing certificate already installed.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Path
+
+ The local path to the certificate file. The certificate file can be either .PEM or .PFX (IIS) format
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-TlsCertificate -Name mycert -Password password -Path "C:\certs\mycert.pem"
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-TlsHSMClientCert
+
+ Generates the local client certificate that is to be uploaded to the HSM.
+
+
+
+
+ New
+ TlsHSMClientCert
+
+
+
+ Generates the local client certificate that is to be uploaded to the HSM.
+
+
+
+ New-TlsHSMClientCert
+
+ Path
+
+ The path to where you want the generated certificate file to be downloaded to.
+
+ String
+
+
+ Clcertname
+
+ Provide a name for the generated file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-TlsHSMClientCert
+
+ Path
+
+ The path to where you want the generated certificate file to be downloaded to.
+
+ String
+
+
+ Clcertname
+
+ Provide a name for the generated file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to where you want the generated certificate file to be downloaded to.
+
+ String
+
+ String
+
+
+
+
+
+ Clcertname
+
+ Provide a name for the generated file.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-TlsHSMClientCert –Clcertname <CertificateName> -Path “<PathToDownloadTheGeneratedFileTo>”
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-TlsIntermediateCertificate
+
+ Allows you to add a certificate to the LoadMaster.
+
+
+
+
+ New
+ TlsIntermediateCertificate
+
+
+
+ Allows you to add a certificate to the LoadMaster.
+
+
+
+ New-TlsIntermediateCertificate
+
+ Name
+
+ The name of the intermediate certificate to be added to the LoadMaster.
+
+ String
+
+
+ Path
+
+ The local path to the intermediate certificate file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-TlsIntermediateCertificate
+
+ Name
+
+ The name of the intermediate certificate to be added to the LoadMaster.
+
+ String
+
+
+ Path
+
+ The local path to the intermediate certificate file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the intermediate certificate to be added to the LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+ The local path to the intermediate certificate file.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-TlsIntermediateCertificate -Name certificate.pem -Password password -Path "C:\certs\certificates"
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-VirtualService
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcVirtualService
+
+
+
+
+ New
+ VirtualService
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcVirtualService
+
+
+
+ New-VirtualService
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ AddVia
+
+
+
+ Int16
+
+
+ Template
+
+
+
+ String
+
+
+ Cache
+
+
+
+ Boolean
+
+
+ CertFile
+
+
+
+ String
+
+
+ CheckType
+
+
+
+ String
+
+
+ CheckHost
+
+
+
+ String
+
+
+ CheckPattern
+
+
+
+ String
+
+
+ CheckUrl
+
+
+
+ String
+
+
+ CheckHeaders
+
+
+
+ String
+
+
+ LdapEndpoint
+
+
+
+ String
+
+
+ MatchLen
+
+
+
+ String
+
+
+ CheckUse1_1
+
+
+
+ Int32
+
+
+ CheckPort
+
+
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+
+
+ Boolean
+
+
+ RsMinimum
+
+
+
+ Int32
+
+
+ ClientCert
+
+
+
+ Int16
+
+
+ Compress
+
+
+
+ Boolean
+
+
+ Cookie
+
+
+
+ String
+
+
+ CachePercent
+
+
+
+ Int16
+
+
+ DefaultGW
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ ErrorCode
+
+
+
+ String
+
+
+ ErrorUrl
+
+
+
+ String
+
+
+ PortFollow
+
+
+
+ Int32
+
+
+ ForceL7
+
+
+
+ Boolean
+
+
+ Idletime
+
+
+
+ Int32
+
+
+ LocalBindAddresses
+
+
+
+ String[]
+
+
+ VSType
+
+
+
+ String
+
+
+ Nickname
+
+
+
+ String
+
+
+ Persist
+
+
+
+ String
+
+
+ PersistTimeout
+
+
+
+ Int32
+
+
+ QueryTag
+
+
+
+ String
+
+
+ CipherSet
+
+
+
+ String
+
+
+ SSLReencrypt
+
+
+
+ Boolean
+
+
+ SSLReverse
+
+
+
+ Boolean
+
+
+ SSLRewrite
+
+
+
+ String
+
+
+ ReverseSNIHostname
+
+
+
+ String
+
+
+ Schedule
+
+
+
+ String
+
+
+ ServerInit
+
+
+
+ Int16
+
+
+ SSLAcceleration
+
+
+
+ Boolean
+
+
+ StandByAddr
+
+
+
+ String
+
+
+ StandByPort
+
+
+
+ String
+
+
+ TransactionLimit
+
+
+
+ Int32
+
+
+ Transparent
+
+
+
+ Boolean
+
+
+ SubnetOriginating
+
+
+
+ Boolean
+
+
+ UseforSnat
+
+
+
+ Boolean
+
+
+ QoS
+
+
+
+ String
+
+
+ CheckUseGet
+
+
+
+ Int32
+
+
+ Verify
+
+
+
+ Int16
+
+
+ ExtraHdrKey
+
+
+
+ String
+
+
+ ExtraHdrValue
+
+
+
+ String
+
+
+ AllowedHosts
+
+
+
+ String
+
+
+ AllowedDirectories
+
+
+
+ String
+
+
+ AllowedGroups
+
+
+
+ String
+
+
+ GroupSIDs
+
+
+
+ String
+
+
+ IncludeNestedGroups
+
+
+
+ Boolean
+
+
+ DisplayPubPriv
+
+
+
+ Boolean
+
+
+ DisablePasswordForm
+
+
+
+ Boolean
+
+
+ Domain
+
+
+
+ String
+
+
+ AltDomains
+
+
+
+ String
+
+
+ Logoff
+
+
+
+ String
+
+
+ ESPLogs
+
+
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+
+
+ String
+
+
+ ESPEnabled
+
+
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+
+
+ String
+
+
+ UserPwdChangeMsg
+
+
+
+ String
+
+
+ InputAuthMode
+
+
+
+ Int16
+
+
+ OutputAuthMode
+
+
+
+ Int16
+
+
+ StartTLSMode
+
+
+
+ Int16
+
+
+ ExtraPorts
+
+
+
+ String
+
+
+ AltAddress
+
+
+
+ String
+
+
+ MultiConnect
+
+
+
+ Boolean
+
+
+ SingleSignOnDir
+
+
+
+ String
+
+
+ OCSPVerify
+
+
+
+ String
+
+
+ FollowVSID
+
+
+
+ Int32
+
+
+ TlsType
+
+
+
+ Boolean
+
+
+ CheckPostData
+
+
+
+ String
+
+
+ CheckCodes
+
+
+
+ String
+
+
+ PreProcPrecedence
+
+
+
+ String
+
+
+ PreProcPrecedencePos
+
+
+
+ Int16
+
+
+ RequestPrecedence
+
+
+
+ String
+
+
+ RequestPrecedencePos
+
+
+
+ Int16
+
+
+ ResponsePrecedence
+
+
+
+ String
+
+
+ ResponsePrecedencePos
+
+
+
+ Int16
+
+
+ RsRulePrecedence
+
+
+
+ String
+
+
+ RsRulePrecedencePos
+
+
+
+ Int16
+
+
+ NeedHostName
+
+
+
+ Boolean
+
+
+ CopyHdrFrom
+
+
+
+ String
+
+
+ CopyHdrTo
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-VirtualService
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ AddVia
+
+
+
+ Int16
+
+
+ Template
+
+
+
+ String
+
+
+ Cache
+
+
+
+ Boolean
+
+
+ CertFile
+
+
+
+ String
+
+
+ CheckType
+
+
+
+ String
+
+
+ CheckHost
+
+
+
+ String
+
+
+ CheckPattern
+
+
+
+ String
+
+
+ CheckUrl
+
+
+
+ String
+
+
+ CheckHeaders
+
+
+
+ String
+
+
+ LdapEndpoint
+
+
+
+ String
+
+
+ MatchLen
+
+
+
+ String
+
+
+ CheckUse1_1
+
+
+
+ Int32
+
+
+ CheckPort
+
+
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+
+
+ Boolean
+
+
+ RsMinimum
+
+
+
+ Int32
+
+
+ ClientCert
+
+
+
+ Int16
+
+
+ Compress
+
+
+
+ Boolean
+
+
+ Cookie
+
+
+
+ String
+
+
+ CachePercent
+
+
+
+ Int16
+
+
+ DefaultGW
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ ErrorCode
+
+
+
+ String
+
+
+ ErrorUrl
+
+
+
+ String
+
+
+ PortFollow
+
+
+
+ Int32
+
+
+ ForceL7
+
+
+
+ Boolean
+
+
+ Idletime
+
+
+
+ Int32
+
+
+ LocalBindAddresses
+
+
+
+ String[]
+
+
+ VSType
+
+
+
+ String
+
+
+ Nickname
+
+
+
+ String
+
+
+ Persist
+
+
+
+ String
+
+
+ PersistTimeout
+
+
+
+ Int32
+
+
+ QueryTag
+
+
+
+ String
+
+
+ CipherSet
+
+
+
+ String
+
+
+ SSLReencrypt
+
+
+
+ Boolean
+
+
+ SSLReverse
+
+
+
+ Boolean
+
+
+ SSLRewrite
+
+
+
+ String
+
+
+ ReverseSNIHostname
+
+
+
+ String
+
+
+ Schedule
+
+
+
+ String
+
+
+ ServerInit
+
+
+
+ Int16
+
+
+ SSLAcceleration
+
+
+
+ Boolean
+
+
+ StandByAddr
+
+
+
+ String
+
+
+ StandByPort
+
+
+
+ String
+
+
+ TransactionLimit
+
+
+
+ Int32
+
+
+ Transparent
+
+
+
+ Boolean
+
+
+ SubnetOriginating
+
+
+
+ Boolean
+
+
+ UseforSnat
+
+
+
+ Boolean
+
+
+ QoS
+
+
+
+ String
+
+
+ CheckUseGet
+
+
+
+ Int32
+
+
+ Verify
+
+
+
+ Int16
+
+
+ ExtraHdrKey
+
+
+
+ String
+
+
+ ExtraHdrValue
+
+
+
+ String
+
+
+ AllowedHosts
+
+
+
+ String
+
+
+ AllowedDirectories
+
+
+
+ String
+
+
+ AllowedGroups
+
+
+
+ String
+
+
+ GroupSIDs
+
+
+
+ String
+
+
+ IncludeNestedGroups
+
+
+
+ Boolean
+
+
+ DisplayPubPriv
+
+
+
+ Boolean
+
+
+ DisablePasswordForm
+
+
+
+ Boolean
+
+
+ Domain
+
+
+
+ String
+
+
+ AltDomains
+
+
+
+ String
+
+
+ Logoff
+
+
+
+ String
+
+
+ ESPLogs
+
+
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+
+
+ String
+
+
+ ESPEnabled
+
+
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+
+
+ String
+
+
+ UserPwdChangeMsg
+
+
+
+ String
+
+
+ InputAuthMode
+
+
+
+ Int16
+
+
+ OutputAuthMode
+
+
+
+ Int16
+
+
+ StartTLSMode
+
+
+
+ Int16
+
+
+ ExtraPorts
+
+
+
+ String
+
+
+ AltAddress
+
+
+
+ String
+
+
+ MultiConnect
+
+
+
+ Boolean
+
+
+ SingleSignOnDir
+
+
+
+ String
+
+
+ OCSPVerify
+
+
+
+ String
+
+
+ FollowVSID
+
+
+
+ Int32
+
+
+ TlsType
+
+
+
+ Boolean
+
+
+ CheckPostData
+
+
+
+ String
+
+
+ CheckCodes
+
+
+
+ String
+
+
+ PreProcPrecedence
+
+
+
+ String
+
+
+ PreProcPrecedencePos
+
+
+
+ Int16
+
+
+ RequestPrecedence
+
+
+
+ String
+
+
+ RequestPrecedencePos
+
+
+
+ Int16
+
+
+ ResponsePrecedence
+
+
+
+ String
+
+
+ ResponsePrecedencePos
+
+
+
+ Int16
+
+
+ RsRulePrecedence
+
+
+
+ String
+
+
+ RsRulePrecedencePos
+
+
+
+ Int16
+
+
+ NeedHostName
+
+
+
+ Boolean
+
+
+ CopyHdrFrom
+
+
+
+ String
+
+
+ CopyHdrTo
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AddVia
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Template
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Cache
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CertFile
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckType
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckHost
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckPattern
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckUrl
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckHeaders
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LdapEndpoint
+
+
+
+ String
+
+ String
+
+
+
+
+
+ MatchLen
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckUse1_1
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ CheckPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ EnhancedHealthChecks
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RsMinimum
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ClientCert
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Compress
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Cookie
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CachePercent
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ DefaultGW
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ErrorCode
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ErrorUrl
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PortFollow
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ForceL7
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Idletime
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LocalBindAddresses
+
+
+
+ String[]
+
+ String[]
+
+
+
+
+
+ VSType
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Nickname
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Persist
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PersistTimeout
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ QueryTag
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CipherSet
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SSLReencrypt
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SSLReverse
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SSLRewrite
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ReverseSNIHostname
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Schedule
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ServerInit
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ SSLAcceleration
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ StandByAddr
+
+
+
+ String
+
+ String
+
+
+
+
+
+ StandByPort
+
+
+
+ String
+
+ String
+
+
+
+
+
+ TransactionLimit
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Transparent
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SubnetOriginating
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ UseforSnat
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ QoS
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckUseGet
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Verify
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ExtraHdrKey
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ExtraHdrValue
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AllowedHosts
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AllowedDirectories
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AllowedGroups
+
+
+
+ String
+
+ String
+
+
+
+
+
+ GroupSIDs
+
+
+
+ String
+
+ String
+
+
+
+
+
+ IncludeNestedGroups
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisplayPubPriv
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisablePasswordForm
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Domain
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AltDomains
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Logoff
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ESPLogs
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ SMTPAllowedDomains
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ESPEnabled
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ UserPwdChangeUrl
+
+
+
+ String
+
+ String
+
+
+
+
+
+ UserPwdChangeMsg
+
+
+
+ String
+
+ String
+
+
+
+
+
+ InputAuthMode
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ OutputAuthMode
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ StartTLSMode
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ExtraPorts
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AltAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ MultiConnect
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SingleSignOnDir
+
+
+
+ String
+
+ String
+
+
+
+
+
+ OCSPVerify
+
+
+
+ String
+
+ String
+
+
+
+
+
+ FollowVSID
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ TlsType
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CheckPostData
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckCodes
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedence
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedencePos
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RequestPrecedence
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RequestPrecedencePos
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ResponsePrecedence
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ResponsePrecedencePos
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RsRulePrecedence
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RsRulePrecedencePos
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ NeedHostName
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CopyHdrFrom
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CopyHdrTo
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-VSPacketFilterACL
+
+ Adds an address to the black or white list for a Virtual Service.
+
+
+
+
+ New
+ VSPacketFilterACL
+
+
+
+ Adds a host or network IP address to the black or white access control list for a specific Virtual Service. Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+ New-VSPacketFilterACL
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ String
+
+
+ VSPort
+
+ Specifies the Virtual Service port number.
+
+ Int32
+
+
+ VSProtocol
+
+ Specifies the Virtual Service protocol.
+
+ String
+
+
+ Type
+
+ Specify the type of list:
+- black: blocked addresses
+- white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ String
+
+
+ AclAddress
+
+ Specifies a host or network IP address to add to the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+
+ AclComment
+
+ Optionally specify a comment in relation to the list entry.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-VSPacketFilterACL
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ String
+
+
+ VSPort
+
+ Specifies the Virtual Service port number.
+
+ Int32
+
+
+ VSProtocol
+
+ Specifies the Virtual Service protocol.
+
+ String
+
+
+ Type
+
+ Specify the type of list:
+- black: blocked addresses
+- white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ String
+
+
+ AclAddress
+
+ Specifies a host or network IP address to add to the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+
+ AclComment
+
+ Optionally specify a comment in relation to the list entry.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ Specifies the Virtual Service port number.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ Specifies the Virtual Service protocol.
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+ Specify the type of list:
+- black: blocked addresses
+- white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ String
+
+ String
+
+
+
+
+
+ AclAddress
+
+ Specifies a host or network IP address to add to the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+ String
+
+
+
+
+
+ AclComment
+
+ Optionally specify a comment in relation to the list entry.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-VSPacketFilterACL -AclAddress 10.134.33.2 -Type black -VirtualService 10.35.47.16 -VSPort 80 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-WafCustomRuleData
+
+ Upload a custom rule data file.
+
+
+
+
+ New
+ WafCustomRuleData
+
+
+
+ This command allows you to upload a custom rule data file to the LoadMaster.
+
+
+
+ New-WafCustomRuleData
+
+ Path
+
+ The path where the custom rule data file is stored followed by a back slash and the filename/extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-WafCustomRuleData
+
+ Path
+
+ The path where the custom rule data file is stored followed by a back slash and the filename/extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path where the custom rule data file is stored followed by a back slash and the filename/extension.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Filename
+
+ The filename of the custom rule data file followed by the file extension (.data).
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-WafCustomRuleData -Filename modsecurity_35_bad_robots.data -Path C:\t\modsecurity_35_bad_robots.data
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-WafCustomRuleSet
+
+ Upload custom Web Application Firewall (WAF) rule files or a rule set.
+
+
+
+
+ New
+ WafCustomRuleSet
+
+
+
+ Upload custom WAF rule files or a rule set to the LoadMaster.
+
+
+
+ New-WafCustomRuleSet
+
+ Path
+
+ The path to the custom rule file(s) or rule set file followed by a forward slash and then the filename.extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ New-WafCustomRuleSet
+
+ Path
+
+ The path to the custom rule file(s) or rule set file followed by a forward slash and then the filename.extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the custom rule file(s) or rule set file followed by a forward slash and then the filename.extension.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Filename
+
+ The desired rule name to be displayed on the WUI. This is only relevant for individual rule files.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-WafCustomRuleSet -Filename modsecurity_crs_40_generic_attacks.conf -Path C:\WAF\modsecurity-crs_2.2.5\modsecurity-crs_2.2.5\base_rules\modsecurity_crs_40_generic_attacks.conf
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NMAddNode
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-ClusterNode
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-ClusterNode
+
+
+
+ NMAddNode
+
+ Address
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ NMAddNode
+
+ Address
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Address
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NMClusterCreate
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-Cluster
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-Cluster
+
+
+
+ NMClusterCreate
+
+ SharedAddress
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ NMClusterCreate
+
+ SharedAddress
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SharedAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NMClusterStatus
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-ClusterStatus
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-ClusterStatus
+
+
+
+ NMClusterStatus
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ NMClusterStatus
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NMDeleteNode
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-ClusterNode
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-ClusterNode
+
+
+
+ NMDeleteNode
+
+ NodeId
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ NMDeleteNode
+
+ NodeId
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ NodeId
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NMDisableNode
+
+ WARNING: This function is deprecated. Use the following command instead:
+Disable-ClusterNode
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Disable-ClusterNode
+
+
+
+ NMDisableNode
+
+ NodeId
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ NMDisableNode
+
+ NodeId
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ NodeId
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NMEnableNode
+
+ WARNING: This function is deprecated. Use the following command instead:
+Enable-ClusterNode
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Enable-ClusterNode
+
+
+
+ NMEnableNode
+
+ NodeId
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ NMEnableNode
+
+ NodeId
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ NodeId
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NMJoinCluster
+
+ WARNING: This function is deprecated. Use the following command instead:
+Join-Cluster
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Join-Cluster
+
+
+
+ NMJoinCluster
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ NMJoinCluster
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ping-Host
+
+ Ping the specified host.
+
+
+
+
+ Ping
+ Host
+
+
+
+ The ping command displays whether the destination responded and how long it took to receive a reply. The destination can be an IP address or a Fully Qualified Domain Name (FQDN).
+
+
+
+ Ping-Host
+
+ Address
+
+ The destination address to ping. The destination can be an IP address or a FQDN.
+
+ String
+
+
+ PingClass
+
+ Specify ping for IPv4 addresses or ping6 for IPv6 addresses.
+
+ String
+
+
+ Interface
+
+ Specify the ID of the interface from which the ping should be sent from. If the interface is not specified here, the correct interface to ping an address on a particular network will be automatically selected.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Ping-Host
+
+ Address
+
+ The destination address to ping. The destination can be an IP address or a FQDN.
+
+ String
+
+
+ PingClass
+
+ Specify ping for IPv4 addresses or ping6 for IPv6 addresses.
+
+ String
+
+
+ Interface
+
+ Specify the ID of the interface from which the ping should be sent from. If the interface is not specified here, the correct interface to ping an address on a particular network will be automatically selected.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Address
+
+ The destination address to ping. The destination can be an IP address or a FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ PingClass
+
+ Specify ping for IPv4 addresses or ping6 for IPv6 addresses.
+
+ String
+
+ String
+
+
+
+
+
+ Interface
+
+ Specify the ID of the interface from which the ping should be sent from. If the interface is not specified here, the correct interface to ping an address on a particular network will be automatically selected.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Ping-Host -Address 10.154.190.207 -PingClass ping
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=422; Response=Command Failed; Data=}
+Return Code..: 422
+Response.....: Command Failed
+Data field...: @{PingResult=Command Failed: PING 10.35.47.8 (10.35.47.8) 56(84) bytes of data. From 10.35.47.15 icmp_seq=1 Destination Host Unreachable
+From 10.35.47.15 icmp_seq=2 Destination Host Unreachable From 10.35.47.15 icmp_seq=3 Destination Host Unreachable; PacketsTransmitted=3 packets transmit
+ted; PacketsReceived=0 received; Errors=+3 errors; PacketsLoss=100% packet loss; Time=}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Read-LicenseEULA
+
+ Displays the EULA and a magic cookie.
+
+
+
+
+ Read
+ LicenseEULA
+
+
+
+ The End User License Agreement (EULA) and magic cookie will be displayed.
+
+
+
+ Read-LicenseEULA
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ $read = Read-LicenseEULA
+
+
+
+
+ Example Output:
+Full response: @{MagicString=013b50b2-e3bb-468e-b64a-de78d46cdfb8; Eula=...
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...:
+Eula
+----
+@{MagicString=013b50b2-e3bb-468e-b64a-de78d46cdfb8; Eula=...
+Param........:
+<p style="text-align:center"><h2>LoadMaster End User License Agreement</h2></p>
+
+<p style="text-align:center">KEMP Technologies END-USER PRODUCT LICENSE AGREEMENT</p>
+
+<p>
+1. READ THE FOLLOWING TERMS AND CONDITIONS CAREFULLY BEFORE INSTALLING THIS PRODUCT ON YOUR NETWORK OR PERSONAL COMPUTER. THIS PRODUCT LICENSE AGREEMENT IS A LEGAL AGREEMENT BETWEEN YOU (EITHE
+R ON BEHALF OF YOURSELF AS AN INDIVIDUAL OR ON BEHALF OF AN ENTITY AS ITS AUTHORIZED REPRESENTATIVE) ON THE ONE HAND, AND KEMP Technologies, INC. AND ITS SUBSIDIARIES AND AFFILIATES (COLLECTIV
+ELY REFERRED TO AS 'KEMP') ON THE OTHER HAND, FOR THE HARDWARE AND/OR SOFTWARE PRODUCT ENTITLED 'LoadMaster,' WHICH INCLUDES PHYSICAL HARDWARE AND/OR COMPUTER SOFTWARE AND ANY ASSOCIATED MEDIA
+, PRINTED MATERIALS, AND/OR 'ONLINE' OR ELECTRONIC DOCUMENTATION (TOGETHER CALLED THE 'PRODUCT'). PLEASE READ THIS AGREEMENT CAREFULLY AND PRINT OUT A COPY FOR YOUR RECORDS. THIS AGREEMENT SUP
+ERSEDES PREVIOUS VERSIONS.</p>
+
+<br />
+
+<p>BY INSTALLING, COPYING, OR OTHERWISE USING THE PRODUCT, YOU ACKNOWLEDGE THAT YOU HAVE READ THIS PRODUCT LICENSE AGREEMENT AND AGREE TO BE BOUND BY ITS TERMS. THE PRODUCT IS LICENSED, NOT SO
+LD, TO YOU FOR USE ONLY UNDER THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS PRODUCT LICENSE AGREEMENT, DO NOT INSTALL OR USE THE PRODUCT AND DELETE ALL COPIES IN YOUR P
+OSSESSION. </p>
+
+<br />
+
+<p>2. KEMP grants you a non-exclusive, non-transferable license to use one copy of the Product in the country in which you acquired the Product for your own personal or commercial use, but ret
+ains all property rights in the Product and all copies thereof. All other rights are expressly reserved by KEMP. You may: (i) use the Product on any supported computer configuration, provided
+the Product is used on only one (1) such computer; and (ii) permanently transfer the Product and its documentation to another user provided you retain no copies and the recipient agrees to the
+ terms of this Agreement. You may not transfer, distribute, rent, sub-license, or lease the Product or documentation, except as provided herein; or alter, modify, or adapt the Product or docum
+entation, or any portions thereof.</p>
+
+<br />
+
+<p>3. You acknowledge that the Product in source code form remains a confidential trade secret of KEMP. You agree not to modify or attempt to reverse engineer, decompile, or disassemble the Pr
+oduct, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.</p>
+
+<br />
+
+<p>4. OWNERSHIP: All right, title and interest and intellectual property rights in and to the Product (including but not limited to any titles, computer code, concepts, screen images, text and
+ 'applets,' incorporated into the Product), the accompanying printed materials, and any copies of the Software, are owned by KEMP or its licensors. This Agreement grants you no rights to use s
+uch content other than as part of the Product.</p>
+
+<br />
+
+<p>5. This Agreement is effective upon your installation of the Product and shall continue until revoked by KEMP or until you breach any term hereof; upon termination you agree to destroy and/
+or delete all copies of the Product in your possession. </p>
+
+<br />
+
+<p>6. LICENSE RESTRICTIONS: You acknowledge that the foregoing license extends only to your use of the features and functionality of the Product as described in the documentation accompanying
+the version of the Software downloaded or Product obtained by you (the "Documentation"), and you agree not to reconfigure or modify the Product in order to enable features or functionality dif
+ferent than those described in such Documentation or available in other KEMP products without notifying KEMP and paying the applicable Product upgrade fee. You may not: (i) reverse engineer, d
+ecompile, or disassemble the Product; (ii) modify, or create derivative works based upon, the Product in whole or in part; (iii) distribute copies of the Product; (iv) remove any proprietary n
+otices or labels on the Product; or (v) resell, lease, rent, transfer, sublicense, or otherwise transfer rights to the Product. Any use in violation of this Section shall immediately terminate
+ your license to the Product.</p>
+
+<br />
+
+<p>7. TITLE: You agree that no title to the intellectual property in the Product, Subscription Services (as defined), or license keys is transferred to you. Title, ownership, rights, and intel
+lectual property rights in and to the Product, Subscription Services, and license keys shall remain in KEMP and/or KEMP's licensors. The Product, Subscription Services and license keys are pro
+tected by intellectual property laws of the United States and other countries and by international treaties.</p>
+
+<br />
+
+<p>8. GENERAL: The Product is provided to you at minimal charge. KEMP does not guarantee that use of the Product will be uninterrupted or error-free. You acknowledge that performance of the Pr
+oduct may be affected by any number of factors, including without limitation, technical failure of the Product, the acts or omissions of third parties and other causes reasonably beyond the co
+ntrol of KEMP. Certain features of the Product may not be forward-compatible with future versions of the Product and use of such features with future versions of the Product may require purcha
+se of the applicable future version of the Product.</p>
+
+<br />
+
+<p>9. AS IS SALE: YOU AGREE THAT KEMP AND ITS LICENSORS HAVE MADE NO EXPRESS WARRANTIES, ORAL OR WRITTEN, TO YOU REGARDING THE PRODUCT AND THAT THE PRODUCT IS BEING PROVIDED TO YOU "AS IS" WIT
+HOUT WARRANTY OF ANY KIND. YOU ACKNOWLEDGE THAT THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PRODUCT IS WITH YOU. SHOULD THE PRODUCT PROVE DEFECTIVE, YOU (AND NOT KEMP, THE RETAILE
+R, OR ANY DISTRIBUTOR) ASSUME THE ENTIRE COST OF ALL NECESSARY REPAIRS.</p>
+
+<br />
+
+<p>10. DISCLAIMER: KEMP DISCLAIMS ANY AND ALL OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF NONINFRINGEMENT OF THIRD PA
+RTY RIGHTS, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. THIS WARRANTY DISCLAIMER AFFECTS YOUR LEGAL RIGHTS, AND YOU MAY ALSO HAVE OTHER RIGHTS WHICH VARY FROM JURISDICTION TO JURISDIC
+TION. SOME JURISDICTIONS DO NOT ALLOW EXCLUSIONS OF IMPLIED WARRANTIES OR LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU.</p>
+
+<br />
+
+<p>11. Limitation on Liability. EXCEPT FOR BODILY INJURY OF A PERSON, IN NO EVENT WILL KEMP BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DAMAGES ARISING OUT OF THE SUBJECT MATTER OF THIS AGREEM
+ENT, THE PRODUCT OR ANY SERVICES UNDER ANY CONTRACT, NEGLIGENCE, STRICT LIABILITY OR OTHER THEORY, FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS), OR
+FOR LOSS OF OR CORRUPTION OF DATA, OR FOR COST OF PROCUREMENT OF SUBSTITUTE GOODS OR TECHNOLOGY, IRRESPECTIVE OF WHETHER KEMP HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. KEMP'S MAXIMU
+M LIABILITY FOR DAMAGES SHALL BE LIMITED TO THE LICENSE FEES RECEIVED BY KEMP UNDER THIS LICENSE FOR THE PARTICULAR PRODUCT(S) WHICH CAUSED THE DAMAGES. Some jurisdictions do not allow the exc
+lusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to You.</p>
+
+<br />
+
+<p>12. TERMINATION: This Agreement shall terminate automatically if you fail to comply with the terms of this Agreement. No notice shall be required from KEMP to effect such termination. You m
+ay also terminate this Agreement at any time by notifying KEMP in writing of termination. Upon any termination of this Agreement, you must uninstall and destroy all copies of the Product.</p>
+
+<br />
+
+<p>13. MISCELLANEOUS:</p>
+
+<p>13.1 COMPLIANCE WITH EXPORT CONTROL LAWS: End User agrees to comply fully with all relevant export laws and regulations, including but not limited to the U.S. Export Administration Regulati
+ons and regulations promulgated by the U.S. Department of the Treasury's Office of Foreign Assets Control ("OFAC"), as amended from time to time (collectively, the "Export Control Laws"). End
+User agrees not to export or reexport the Product to any parties located in any E:1countries which are specifically prohibited under U.S. embargoes or sanctions programs maintained by the OFAC
+ or otherwise prohibited under the Export Control Laws. The current list of E:1 Countries is available at the following link http://www.bis.doc.gov/index.php/forms-documents/doc_view/452-sup
+plement-no-1-to-part-740-country-groups</p>
+
+<br />
+
+<p>13.2 U.S. GOVERNMENT RIGHTS: The Product under this Agreement is commercial computer product as that term is described in 48 C.F.R. 252.227-7014(a)(1). If acquired by or on behalf of a civi
+lian agency, the U.S. Government acquires this commercial computer product and/or commercial computer product documentation subject to the terms of this Agreement as specified in 48 C.F.R. 12.
+212 (Computer Product) and 12.211 (Technical Data) of the Federal Acquisition Regulations ("FAR") and its successors. If acquired by or on behalf of any agency within the Department of Defense
+ ("DOD"), the U.S. Government acquires this commercial computer product and/or commercial computer product documentation subject to the terms of this Agreement as specified in 48 C.F.R. 227.72
+02-3 of the DOD FAR Supplement ("DFAR") and its successors.</p>
+
+<br />
+
+<p>13.3 GOVERNING LAW: This Agreement will be governed by the laws of the State of New York as they are applied to agreements between New York residents entered into and to be performed entire
+ly within New York. The United Nations Convention on Contracts for the International Sale of Goods is specifically disclaimed.</p>
+
+<br />
+
+<p>13.4 ENTIRE AGREEMENT: You agree that this is the entire agreement between you and KEMP, and that it supersedes any prior agreement, whether written or oral, and all other communications be
+tween KEMP and you relating to the subject matter of this Agreement. This Agreement may be amended, modified or supplemented only by a writing that is signed by the authorized representatives
+of both parties.</p>
+
+<br />
+
+<p>13.5 RESERVATION OF RIGHTS: All rights not expressly granted in this Agreement are reserved by KEMP.</p>
+
+<br />
+
+<p>14. INJUNCTION. Because KEMP would be irreparably damaged if the terms of this License Agreement were not specifically enforced, you agree that KEMP shall be entitled, without bond, other s
+ecurity or proof of damages, to appropriate equitable remedies with respect to breaches of this Agreement, in addition to such other remedies as KEMP may otherwise have under applicable laws.<
+/p>
+
+<br />
+
+<p>15. INDEMNITY. At KEMP's request, you agree to defend, indemnify and hold harmless KEMP, its subsidiaries, affiliates, contractors, officers, directors, employees, agents, licensors, licens
+ees, distributors, developers, content providers, and other users of the Product, from all damages, losses, liabilities, claims and expenses, including attorneys' fees, arising directly or ind
+irectly from your acts and omissions to act in using the Product pursuant to the terms of this License Agreement or any breach of this License Agreement by you. KEMP reserves the right, at its
+ own expense, to assume the exclusive defense and control of any matter otherwise subject to indemnification by you hereunder, and in such event, you shall have no further obligation to provid
+e indemnification for such matter. </p>
+
+<br />
+
+<p>16. TERMINATION. Without prejudice to any other rights of KEMP, this License Agreement and your right to use the Product may automatically terminate without notice from KEMP if you fail to
+comply with any provision of this Agreement or any terms and conditions associated with the Product. In such event, you must destroy all copies of this Product and all of its component parts.<
+/p>
+
+<br />
+
+<p>17. GENERAL PROVISIONS. You may not use, copy, modify, sublicense, rent, sell, assign or transfer the rights or obligations granted to you in this Agreement, except as expressly provided in
+ this Agreement. Any assignment in violation of this Agreement is void, except that you may transfer your Product to another person provided that person accepts the terms of this License Agree
+ment. If any provision of this Agreement is held to be unenforceable for any reason, such provision shall be reformed only to the extent necessary to make it enforceable, and such decision sha
+ll not affect the enforceability of: (i) such provision under other circumstances, or (ii) the remaining provisions hereof under all circumstances. KEMP's failure to enforce at any time any of
+ the provisions of this Agreement shall in no way be construed to be a present or future waiver of such provisions, nor in any way affect the right of any party to enforce each and every such
+provision thereafter. The express waiver by KEMP of any provision, condition or requirement of this Agreement shall not constitute a waiver of any future obligation to comply with such provisi
+on, condition or requirement. Notwithstanding anything else in this Agreement, no default, delay or failure to perform on the part of KEMP shall be considered a breach of this Agreement if suc
+h default, delay or failure to perform is shown to be due to causes beyond the reasonable control of KEMP. This Agreement represents the complete agreement concerning this License Agreement be
+tween you and KEMP. </p>
+
+<br />
+<p>Copyright (c) 2002-2017 KEMP Technologies, Inc.</p>
+
+
+<p style="text-align:center">
+If you do not agree with terms put forth above contact your KEMP Representative for further information and help.
+</p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Register-BondedInterface
+
+ WARNING: This function is deprecated. Use the following command instead:
+Register-NetworkBondedInterface
+
+
+
+
+ Register
+ BondedInterface
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Register-NetworkBondedInterface
+
+
+
+ Register-BondedInterface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Register-BondedInterface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Register-NetworkBondedInterface
+
+ Enables you to register the address of a bonded interface.
+
+
+
+
+ Register
+ NetworkBondedInterface
+
+
+
+ This command waits two minutes to reconnect to the LoadMaster. If the wait time is longer than two minutes, an error message appears.
+
+
+
+ Register-NetworkBondedInterface
+
+ InterfaceID
+
+ The interface ID that you are registering to the bonded interface. To view the interface ID for each of the interfaces, run the Get-Statistics command. The interface ID is the first number displayed in each interface row.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Register-NetworkBondedInterface
+
+ InterfaceID
+
+ The interface ID that you are registering to the bonded interface. To view the interface ID for each of the interfaces, run the Get-Statistics command. The interface ID is the first number displayed in each interface row.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The interface ID that you are registering to the bonded interface. To view the interface ID for each of the interfaces, run the Get-Statistics command. The interface ID is the first number displayed in each interface row.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Register-NetworkBondedInterface -InterfaceID 0
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Interface=}
+Id : 0
+IPAddress : 10.154.11.180/16
+Mtu : 1400
+AdditionalAddresses : @{IPaddress=10.154.11.22/16}
+NBondMembers : 1
+BondMembers : @{RealInterface=0}
+Mode : 802.3ad
+InterfaceType : Bonded
+GeoTrafficEnable : yes
+DefaultInterface : yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcContentRule
+
+ Allows you to remove a specified rule from the LoadMaster.
+
+
+
+
+ Remove
+ AdcContentRule
+
+
+
+ Allows you to remove a specified rule from the LoadMaster.
+
+
+
+ Remove-AdcContentRule
+
+ RuleName
+
+ The name of the content rule to remove.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-AdcContentRule
+
+ RuleName
+
+ The name of the content rule to remove.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ RuleName
+
+ The name of the content rule to remove.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the rule. This parameter is required.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcContentRule -Name TestRule2 -Confirm
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcHttpCacheException
+
+ Allows you to remove an extension from the 'Do Not Cache' extension list.
+
+
+
+
+ Remove
+ AdcHttpCacheException
+
+
+
+ Allows you to remove an extension from the 'Do Not Cache' extension list.
+
+
+
+ Remove-AdcHttpCacheException
+
+ Extension
+
+ The file extension that should be removed from the "no cache" list. The extension must start with "." For example: ".jpg" This parameter is required.
+
+ String[]
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-AdcHttpCacheException
+
+ Extension
+
+ The file extension that should be removed from the "no cache" list. The extension must start with "." For example: ".jpg" This parameter is required.
+
+ String[]
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Extension
+
+ The file extension that should be removed from the "no cache" list. The extension must start with "." For example: ".jpg" This parameter is required.
+
+ String[]
+
+ String[]
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcHttpCacheException -Extension .mp4
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcHttpCompressionException
+
+ Allows you to remove an extension from the 'Do Not Compress' extension list.
+
+
+
+
+ Remove
+ AdcHttpCompressionException
+
+
+
+ Allows you to remove an extension from the 'Do Not Compress' extension list.
+
+
+
+ Remove-AdcHttpCompressionException
+
+ Extension
+
+ The file extension that should be removed from the "no compress" list. The extension must start with "." For example: ".jpg" This parameter is required.
+
+ String[]
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-AdcHttpCompressionException
+
+ Extension
+
+ The file extension that should be removed from the "no compress" list. The extension must start with "." For example: ".jpg" This parameter is required.
+
+ String[]
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Extension
+
+ The file extension that should be removed from the "no compress" list. The extension must start with "." For example: ".jpg" This parameter is required.
+
+ String[]
+
+ String[]
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcHttpCompressionException -Extension .mp4
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcRealServer
+
+ Allows you to remove a Real Server from a Virtual Service.
+
+
+
+
+ Remove
+ AdcRealServer
+
+
+
+ Allows you to remove a Real Server from a Virtual Service.
+
+
+
+ Remove-AdcRealServer
+
+ VirtualService
+
+ The IP Address of the Virtual Service that connects to this Real Server.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to remove.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove.
+
+ String
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The Real Server IP Address that is a backend server for the Virtual Service.
+
+ String
+
+
+ RealServerPort
+
+ The port on which the Real Server accepts connections for this service.
+
+ Int32
+
+
+ RSIndex
+
+ The index number of the Real Server to be removed. To retrieve the Real Server index, run the Get-VirtualService command.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-AdcRealServer
+
+ VirtualService
+
+ The IP Address of the Virtual Service that connects to this Real Server.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to remove.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove.
+
+ String
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The Real Server IP Address that is a backend server for the Virtual Service.
+
+ String
+
+
+ RealServerPort
+
+ The port on which the Real Server accepts connections for this service.
+
+ Int32
+
+
+ RSIndex
+
+ The index number of the Real Server to be removed. To retrieve the Real Server index, run the Get-VirtualService command.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ VirtualService
+
+ The IP Address of the Virtual Service that connects to this Real Server.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the Virtual Service to remove.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+ The Real Server IP Address that is a backend server for the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ RealServerPort
+
+ The port on which the Real Server accepts connections for this service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+ The index number of the Real Server to be removed. To retrieve the Real Server index, run the Get-VirtualService command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port on which the Virtual Service accepts connections.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ The protocol for communication. Accepts either TCP or UDP.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcRealServer -Force -Port 80 -Protocol tcp -RealServer 10.11.0.24 -RealServerPort 80 -VirtualService 10.11.0.199
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcRealServerRule
+
+ Allows you to remove a rule from the Real Server.
+
+
+
+
+ Remove
+ AdcRealServerRule
+
+
+
+ Allows you to remove a rule from the Real Server.
+
+
+
+ Remove-AdcRealServerRule
+
+ VirtualService
+
+ The IP Address of the Virtual Service this rule should be applied to.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The IP address of the relevant Real Server.
+
+ String
+
+
+ RSPort
+
+ The port number of the relevant Real Server.
+
+ Int32
+
+
+ RSIndex
+
+ The index number of the Real Server or SubVS to remove the rule from. To retrieve the Real Server index, run the Get-VirtualService command.
+
+ Int32
+
+
+ RuleName
+
+ The name of the rule that should be applied to the Virtual Service.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-AdcRealServerRule
+
+ VirtualService
+
+ The IP Address of the Virtual Service this rule should be applied to.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The IP address of the relevant Real Server.
+
+ String
+
+
+ RSPort
+
+ The port number of the relevant Real Server.
+
+ Int32
+
+
+ RSIndex
+
+ The index number of the Real Server or SubVS to remove the rule from. To retrieve the Real Server index, run the Get-VirtualService command.
+
+ Int32
+
+
+ RuleName
+
+ The name of the rule that should be applied to the Virtual Service.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ VirtualService
+
+ The IP Address of the Virtual Service this rule should be applied to.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+ The IP address of the relevant Real Server.
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+ The port number of the relevant Real Server.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+ The index number of the Real Server or SubVS to remove the rule from. To retrieve the Real Server index, run the Get-VirtualService command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleName
+
+ The name of the rule that should be applied to the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port on which this Virtual Service accepts connections.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ The protocol for communication. Accepts either TCP or UDP.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcRealServerRule -Port 80 -Protocol tcp -RealServer 10.11.0.24 -RSPort 80 -RuleName TestRule1 -VirtualService 10.11.0.200
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcSubVirtualService
+
+ Remove a SubVS.
+
+
+
+
+ Remove
+ AdcSubVirtualService
+
+
+
+ This command removes the specified SubVS.
+
+
+
+ Remove-AdcSubVirtualService
+
+ SubVSIndex
+
+ The index number of the SubVS to delete.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-AdcSubVirtualService
+
+ SubVSIndex
+
+ The index number of the SubVS to delete.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ SubVSIndex
+
+ The index number of the SubVS to delete.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcSubVirtualService -SubVSIndex 2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcVirtualServerRule
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcVirtualServiceRule
+
+
+
+
+ Remove
+ AdcVirtualServerRule
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcVirtualServiceRule
+
+
+
+ Remove-AdcVirtualServerRule
+
+ VirtualService
+
+ Specifies the IP Address of the Virtual Service that this rule should be applied to.
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the Virtual Service index, run the Get-VirtualService command.
+
+ Int32
+
+
+ RuleType
+
+ Specifies if the rule is a pre-processing rule, a response rule, or a request rule. Valid options are "pre", "response", and "request".
+
+ String
+
+
+ RuleName
+
+ The name of the rule that should be set on this Virtual Service.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-AdcVirtualServerRule
+
+ VirtualService
+
+ Specifies the IP Address of the Virtual Service that this rule should be applied to.
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the Virtual Service index, run the Get-VirtualService command.
+
+ Int32
+
+
+ RuleType
+
+ Specifies if the rule is a pre-processing rule, a response rule, or a request rule. Valid options are "pre", "response", and "request".
+
+ String
+
+
+ RuleName
+
+ The name of the rule that should be set on this Virtual Service.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ VirtualService
+
+ Specifies the IP Address of the Virtual Service that this rule should be applied to.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the relevant Virtual Service or SubVS. To retrieve the Virtual Service index, run the Get-VirtualService command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleType
+
+ Specifies if the rule is a pre-processing rule, a response rule, or a request rule. Valid options are "pre", "response", and "request".
+
+ String
+
+ String
+
+
+
+
+
+ RuleName
+
+ The name of the rule that should be set on this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ Specifies the port on which the Virtual Service accepts connections.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ Specifies the communication protocol. Valid options are TCP or UDP.
+
+ string
+
+ string
+
+
+
+
+
+ RealServer
+
+ Specifies the Real Server that serves this Virtual Service.
+
+ string
+
+ string
+
+
+
+
+
+ RSPort
+
+ Specifies the port on which the Real Server accepts connections for this Virtual Service.
+
+ int32
+
+ int32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcVirtualServerRule -RuleName ExampleRule -RuleType pre -VSIndex 2
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcVirtualService
+
+ Deletes the specified Virtual Service.
+
+
+
+
+ Remove
+ AdcVirtualService
+
+
+
+ Deletes the specified Virtual Service.
+
+
+
+ Remove-AdcVirtualService
+
+ VirtualService
+
+ The IP Address for this Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to remove.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove.
+
+ String
+
+
+ VSIndex
+
+ The index (ID) number for this Virtual Service. This can be retrieved by running the Get-AdcVirtualService command, or by checking the Id number on the Virtual Service modify screen.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-AdcVirtualService
+
+ VirtualService
+
+ The IP Address for this Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to remove.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove.
+
+ String
+
+
+ VSIndex
+
+ The index (ID) number for this Virtual Service. This can be retrieved by running the Get-AdcVirtualService command, or by checking the Id number on the Virtual Service modify screen.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-AdcVirtualService
+
+ VirtualService
+
+ The IP Address for this Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service to remove.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-AdcVirtualService
+
+ VSIndex
+
+ The index (ID) number for this Virtual Service. This can be retrieved by running the Get-AdcVirtualService command, or by checking the Id number on the Virtual Service modify screen.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ VirtualService
+
+ The IP Address for this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the Virtual Service to remove.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index (ID) number for this Virtual Service. This can be retrieved by running the Get-AdcVirtualService command, or by checking the Id number on the Virtual Service modify screen.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ Specifies the communication protocol. Valid options are TCP or UDP.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcVirtualService -Port 80 -Protocol tcp -VirtualService 10.11.0.234
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcVirtualServiceResponseBodyRule
+
+
+
+
+
+
+ Remove
+ AdcVirtualServiceResponseBodyRule
+
+
+
+
+
+
+
+ Remove-AdcVirtualServiceResponseBodyRule
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-AdcVirtualServiceResponseBodyRule
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcVirtualServiceRule
+
+ Remove a content rule that is assigned to a Virtual Service.
+
+
+
+
+ Remove
+ AdcVirtualServiceRule
+
+
+
+ This command removes the specified rule from the specified Virtual Service.
+
+
+
+ Remove-AdcVirtualServiceRule
+
+ VirtualService
+
+ The address of the Virtual Service to remove the rule from.
+
+ String
+
+
+ VSPort
+
+ The port number of the Virtual Service to remove the rule from.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove the rule from.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service to remove the rule from.
+
+ Int32
+
+
+ RuleType
+
+ The type of rule to be removed:
+pre
+response
+request
+
+ String
+
+
+ RuleName
+
+ The name of the rule to be removed.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-AdcVirtualServiceRule
+
+ VirtualService
+
+ The address of the Virtual Service to remove the rule from.
+
+ String
+
+
+ VSPort
+
+ The port number of the Virtual Service to remove the rule from.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove the rule from.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service to remove the rule from.
+
+ Int32
+
+
+ RuleType
+
+ The type of rule to be removed:
+pre
+response
+request
+
+ String
+
+
+ RuleName
+
+ The name of the rule to be removed.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ VirtualService
+
+ The address of the Virtual Service to remove the rule from.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port number of the Virtual Service to remove the rule from.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to remove the rule from.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the Virtual Service to remove the rule from.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleType
+
+ The type of rule to be removed:
+pre
+response
+request
+
+ String
+
+ String
+
+
+
+
+
+ RuleName
+
+ The name of the rule to be removed.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcVirtualServiceRule -RuleName ExampleRule -RuleType pre -VirtualService 10.154.11.181 -VSPort 443 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcVsWafRule
+
+ Remove a Web Application Firewall (WAF) rule from a Virtual Service.
+
+
+
+
+ Remove
+ AdcVsWafRule
+
+
+
+ This command removes the specified WAF rule from the Virtual Service.
+
+
+
+ Remove-AdcVsWafRule
+
+ VS
+
+ The address of the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service.
+
+ String
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service.
+
+ String
+
+
+ Rule
+
+ The <RuleName> must be preceded with the relevant letter or word and a forward slash. The letter/word used depends on the type of rule being removed:
+C or Custom
+Z or ApplicationGeneric
+A or ApplicationSpecific
+G or Generic
+ This is case sensitive. The letter/word needs to be in in the correct case for the command to work.
+ Multiple rules can be removed in the same command by separating them with a space (or %20).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-AdcVsWafRule
+
+ VS
+
+ The address of the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the Virtual Service.
+
+ String
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service.
+
+ String
+
+
+ Rule
+
+ The <RuleName> must be preceded with the relevant letter or word and a forward slash. The letter/word used depends on the type of rule being removed:
+C or Custom
+Z or ApplicationGeneric
+A or ApplicationSpecific
+G or Generic
+ This is case sensitive. The letter/word needs to be in in the correct case for the command to work.
+ Multiple rules can be removed in the same command by separating them with a space (or %20).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VS
+
+ The address of the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ Rule
+
+ The <RuleName> must be preceded with the relevant letter or word and a forward slash. The letter/word used depends on the type of rule being removed:
+C or Custom
+Z or ApplicationGeneric
+A or ApplicationSpecific
+G or Generic
+ This is case sensitive. The letter/word needs to be in in the correct case for the command to work.
+ Multiple rules can be removed in the same command by separating them with a space (or %20).
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcVsWafRule -Rule G/ip_reputation -VS 10.35.47.16 -VSPort 80 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-BondedInterface
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkBondedInterface
+
+
+
+
+ Remove
+ BondedInterface
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkBondedInterface
+
+
+
+ Remove-BondedInterface
+
+ InterfaceID
+
+ The ID of the interface that has the bond.
+
+ Int16
+
+
+ BondID
+
+ The ID of the bonded interface to be removed.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-BondedInterface
+
+ InterfaceID
+
+ The ID of the interface that has the bond.
+
+ Int16
+
+
+ BondID
+
+ The ID of the bonded interface to be removed.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface that has the bond.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BondID
+
+ The ID of the bonded interface to be removed.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-BondedInterface –BondID <BondID> –InterfaceID <InterfaceID>
+
+
+
+
+ Example Output:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-Certificate
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-TlsCertificate
+
+
+
+
+ Remove
+ Certificate
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-TlsCertificate
+
+
+
+ Remove-Certificate
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-Certificate
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-ClusterNode
+
+ Deletes a node from a cluster.
+
+
+
+
+ Remove
+ ClusterNode
+
+
+
+ Deletes a node from a cluster.
+
+
+
+ Remove-ClusterNode
+
+ NodeId
+
+ The ID number of the node to be deleted. The ID of the node can be found in the ID column in the Cluster Control screen in the LoadMaster WUI.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-ClusterNode
+
+ NodeId
+
+ The ID number of the node to be deleted. The ID of the node can be found in the ID column in the Cluster Control screen in the LoadMaster WUI.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ NodeId
+
+ The ID number of the node to be deleted. The ID of the node can be found in the ID column in the Cluster Control screen in the LoadMaster WUI.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-ClusterNode -NodeId 2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RemoveCountry
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoFQDNSiteCountry
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoFQDNSiteCountry
+
+
+
+ RemoveCountry
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ CountryCode
+
+
+
+ String
+
+
+ IsContinent
+
+
+
+ String
+
+
+ CustomLocation
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ RemoveCountry
+
+ FQDN
+
+
+
+ String
+
+
+ SiteAddress
+
+
+
+ String
+
+
+ CountryCode
+
+
+
+ String
+
+
+ IsContinent
+
+
+
+ String
+
+
+ CustomLocation
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CountryCode
+
+
+
+ String
+
+ String
+
+
+
+
+
+ IsContinent
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CustomLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoCluster
+
+ Allows you to delete an existing GEO cluster.
+
+
+
+
+ Remove
+ GeoCluster
+
+
+
+ Allows you to delete an existing GEO cluster.
+
+
+
+ Remove-GeoCluster
+
+ ClusterIp
+
+ The IP address of the cluster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoCluster
+
+ ClusterIp
+
+ The IP address of the cluster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+ The IP address of the cluster.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoCluster –IP 10.34.52.56
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoCustomLocation
+
+ Removes an existing custom location.
+
+
+
+
+ Remove
+ GeoCustomLocation
+
+
+
+ Removes an existing custom location.
+
+
+
+ Remove-GeoCustomLocation
+
+ Location
+
+ The name of the location to remove.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoCustomLocation
+
+ Location
+
+ The name of the location to remove.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Location
+
+ The name of the location to remove.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ clName
+
+ Specify the name of the custom location to be removed.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoCustomLocation -Location Example
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoDNSSECKeySigningKey
+
+ Delete the Key Signing Key (KSK) files.
+
+
+
+
+ Remove
+ GeoDNSSECKeySigningKey
+
+
+
+ Remove the KSK files.
+
+
+
+ Remove-GeoDNSSECKeySigningKey
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoDNSSECKeySigningKey
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoDNSSECKeySigningKey
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoFQDN
+
+ Allows you to delete an existing GEO FQDN.
+
+
+
+
+ Remove
+ GeoFQDN
+
+
+
+ Allows you to delete an existing GEO FQDN.
+
+
+
+ Remove-GeoFQDN
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoFQDN
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoFQDN –FQDN ExampleFQDN.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoFQDNSiteAddress
+
+ Allows you to delete an IP address from an FQDN.
+
+
+
+
+ Remove
+ GeoFQDNSiteAddress
+
+
+
+ Allows you to delete an IP address from an FQDN.
+
+
+
+ Remove-GeoFQDNSiteAddress
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ IP address to be deleted from the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoFQDNSiteAddress
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ IP address to be deleted from the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+ IP address to be deleted from the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoFQDNSiteAddress –FQDN Example.com -IP 10.134.33.3
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Deleted site 10.134.33.3 from FQDN Example.com; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Deleted site 10.134.33.3 from FQDN Example.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoFQDNSiteCountry
+
+ Remove a country assignment.
+
+
+
+
+ Remove
+ GeoFQDNSiteCountry
+
+
+
+ Allows you to remove a country assignment from a mapped IP address.
+
+
+
+ Remove-GeoFQDNSiteCountry
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ The address of the map to be modified.
+
+ String
+
+
+ CountryCode
+
+ Two-letter country code for the country to be unassigned.
+To specify everywhere as the country, type ALL as the country code and set the IsContinent parameter to yes.
+
+ String
+
+
+ IsContinent
+
+ Some country codes and continent codes are the same, for example AF could mean Africa or Afghanistan. You must specify in this parameter if the code is for a country or continent.
+yes – code is for a continent
+no – code is for a country
+
+ String
+
+
+ CustomLocation
+
+ The name of an existing custom location.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoFQDNSiteCountry
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ The address of the map to be modified.
+
+ String
+
+
+ CountryCode
+
+ Two-letter country code for the country to be unassigned.
+To specify everywhere as the country, type ALL as the country code and set the IsContinent parameter to yes.
+
+ String
+
+
+ IsContinent
+
+ Some country codes and continent codes are the same, for example AF could mean Africa or Afghanistan. You must specify in this parameter if the code is for a country or continent.
+yes – code is for a continent
+no – code is for a country
+
+ String
+
+
+ CustomLocation
+
+ The name of an existing custom location.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+ The address of the map to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ CountryCode
+
+ Two-letter country code for the country to be unassigned.
+To specify everywhere as the country, type ALL as the country code and set the IsContinent parameter to yes.
+
+ String
+
+ String
+
+
+
+
+
+ IsContinent
+
+ Some country codes and continent codes are the same, for example AF could mean Africa or Afghanistan. You must specify in this parameter if the code is for a country or continent.
+yes – code is for a continent
+no – code is for a country
+
+ String
+
+ String
+
+
+
+
+
+ CustomLocation
+
+ The name of an existing custom location.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoFQDNSiteCountry -FQDN Example.com -SiteAddress 10.134.33.2 -CountryCode IE -IsContinent no
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Country/Continent updated.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Country/Continent updated.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoIpRange
+
+ Allows you to delete an entry from the IP range selection criteria list.
+
+
+
+
+ Remove
+ GeoIpRange
+
+
+
+ Allows you to delete an entry from the IP range selection criteria list.
+
+
+
+ Remove-GeoIpRange
+
+ IP
+
+ The IP address of the entry to be deleted.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoIpRange
+
+ IP
+
+ The IP address of the entry to be deleted.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+ The IP address of the entry to be deleted.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoIPRange –IP 10.134.33.2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. IP range deleted; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. IP range deleted
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoIPRangeCoordinates
+
+ Allows you to delete the location assigned to an IP address.
+
+
+
+
+ Remove
+ GeoIPRangeCoordinates
+
+
+
+ Allows you to delete the location assigned to an IP address.
+
+
+
+ Remove-GeoIPRangeCoordinates
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoIPRangeCoordinates
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoIPRangeCoordinates –IP 10.154.11.55
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. IP range location updated; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. IP range location updated
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoIPRangeCountry
+
+ Allows you to unassign a country from an IP address.
+
+
+
+
+ Remove
+ GeoIPRangeCountry
+
+
+
+ Allows you to unassign a country from an IP address.
+
+
+
+ Remove-GeoIPRangeCountry
+
+ IP
+
+ IP address to remove the country from.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoIPRangeCountry
+
+ IP
+
+ IP address to remove the country from.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+ IP address to remove the country from.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoIPRangeCountry -IP 10.154.11.55
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. IP range country updated; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. IP range country updated
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoIPRangeCustomLocation
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIPRangeCountry
+
+
+
+
+ Remove
+ GeoIPRangeCustomLocation
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIPRangeCountry
+
+
+
+ Remove-GeoIPRangeCustomLocation
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoIPRangeCustomLocation
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoIPWhitelist
+
+ Remove an IP address or network from the whitelist.
+
+
+
+
+ Remove
+ GeoIPWhitelist
+
+
+
+ Run this command to remove the specified address from the whitelist. The whitelist entries override the blacklist.
+
+
+
+ Remove-GeoIPWhitelist
+
+ Addr
+
+ Specify the address to be removed from the user-defined whitelist.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GeoIPWhitelist
+
+ Addr
+
+ Specify the address to be removed from the user-defined whitelist.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Addr
+
+ Specify the address to be removed from the user-defined whitelist.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoIPWhitelist -Addr 10.145.33.22
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. 10.145.33.22 was successfully removed from GEO ACL white list.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. 10.145.33.22 was successfully removed from GEO ACL white list.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GlobalPacketFilterACL
+
+ Removes an address from the global black or white list.
+
+
+
+
+ Remove
+ GlobalPacketFilterACL
+
+
+
+ Removes a host or network IP address from the global black or white access control list. Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+ Remove-GlobalPacketFilterACL
+
+ Type
+
+ Specifies the access control list type: "black" or "white".
+
+ String
+
+
+ Address
+
+ Specifies a host or network IP address to remove from the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-GlobalPacketFilterACL
+
+ Type
+
+ Specifies the access control list type: "black" or "white".
+
+ String
+
+
+ Address
+
+ Specifies a host or network IP address to remove from the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Type
+
+ Specifies the access control list type: "black" or "white".
+
+ String
+
+ String
+
+
+
+
+
+ Address
+
+ Specifies a host or network IP address to remove from the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GlobalPacketFilterACL -Address 10.154.11.197 -Type black
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-HostsEntry
+
+ Deletes a host IP address and host FQDN.
+
+
+
+
+ Remove
+ HostsEntry
+
+
+
+ Deletes a host IP address and host FQDN.
+
+
+
+ Remove-HostsEntry
+
+ HostIP
+
+ Specify the IP address for the entry.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-HostsEntry
+
+ HostIP
+
+ Specify the IP address for the entry.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ HostIP
+
+ Specify the IP address for the entry.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-HostsEntry -HostIP 10.154.11.180
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-InterfaceAddress
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkInterfaceAdditionalAddress
+
+
+
+
+ Remove
+ InterfaceAddress
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkInterfaceAdditionalAddress
+
+
+
+ Remove-InterfaceAddress
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ Address
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-InterfaceAddress
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ Address
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Address
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-IntermediateCertificate
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-TlsIntermediateCertificate
+
+
+
+
+ Remove
+ IntermediateCertificate
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-TlsIntermediateCertificate
+
+
+
+ Remove-IntermediateCertificate
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-IntermediateCertificate
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RemoveIPCountry
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIPRangeCountry
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIPRangeCountry
+
+
+
+ RemoveIPCountry
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ RemoveIPCountry
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RemoveIPCountryCustom
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIPRangeCountry
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-GeoIPRangeCountry
+
+
+
+ RemoveIPCountryCustom
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ RemoveIPCountryCustom
+
+ IP
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-LdapEndpoint
+
+ Delete an existing LDAP endpoint.
+
+
+
+
+ Remove
+ LdapEndpoint
+
+
+
+ These LDAP endpoints may be used in three different areas:
+• Health checks
+• SSO domains
+• WUI authentication
+
+
+
+ Remove-LdapEndpoint
+
+ Name
+
+ The name of the LDAP endpoint to be deleted.
+
+ String
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-LdapEndpoint
+
+ Name
+
+ The name of the LDAP endpoint to be deleted.
+
+ String
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the LDAP endpoint to be deleted.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ It is not possible to delete an LDAP endpoint that is currently in use.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-LdapEndpoint -Name ExampleLDAPEndpoint
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-LmAddon
+
+ Deletes an Add-on pack
+
+
+
+
+ Remove
+ LmAddon
+
+
+
+ Add-on packs can be deleted by running the Remove-LmAddon command.
+
+
+
+ Remove-LmAddon
+
+ Name
+
+ The name of the add-on pack. The names of existing add-on packs can be seen by running the ListAddons command.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-LmAddon
+
+ Name
+
+ The name of the add-on pack. The names of existing add-on packs can be seen by running the ListAddons command.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the add-on pack. The names of existing add-on packs can be seen by running the ListAddons command.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-LmAddon -Name Akamai
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-LmIPConnectionLimit
+
+ Allows you to delete an IP address limiter.
+
+
+
+
+ Remove
+ LmIPConnectionLimit
+
+
+
+ Allows you to delete an IP address limiter.
+
+
+
+ Remove-LmIPConnectionLimit
+
+ L7addr
+
+ The IP address to be deleted.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-LmIPConnectionLimit
+
+ L7addr
+
+ The IP address to be deleted.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ L7addr
+
+ The IP address to be deleted.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-LmIPConnectionLimit -L7addr 10.10.10.10
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-LmVpnConnection
+
+ Deletes an existing Virtual Private Network (VPN) connection.
+
+
+
+
+ Remove
+ LmVpnConnection
+
+
+
+ Removes the specified VPN connection.
+
+
+
+ Remove-LmVpnConnection
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-LmVpnConnection
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-LmVpnConnection -Name ExampleVPNConnection
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-NetworkBondedInterface
+
+ Remove a bonded interface.
+
+
+
+
+ Remove
+ NetworkBondedInterface
+
+
+
+ Unlink the specified interface from the bonded interface.
+
+
+
+ Remove-NetworkBondedInterface
+
+ InterfaceID
+
+ The ID of the interface that has the bond.
+
+ Int16
+
+
+ BondID
+
+ The ID of the interface to be unlinked.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-NetworkBondedInterface
+
+ InterfaceID
+
+ The ID of the interface that has the bond.
+
+ Int16
+
+
+ BondID
+
+ The ID of the interface to be unlinked.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface that has the bond.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BondID
+
+ The ID of the interface to be unlinked.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-NetworkBondedInterface –InterfaceID 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Interface=}
+Id : 1
+IPAddress :
+NBondMembers : 1
+BondMembers : @{RealInterface=1}
+Mode : 802.3ad
+InterfaceType : Bonded
+GeoTrafficEnable : no
+DefaultInterface : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-NetworkInterfaceAdditionalAddress
+
+ Remove an additional address from an interface.
+
+
+
+
+ Remove
+ NetworkInterfaceAdditionalAddress
+
+
+
+ Run this command to remove an existing additional address from an interface.
+
+
+
+ Remove-NetworkInterfaceAdditionalAddress
+
+ InterfaceID
+
+ The ID of the interface to remove the additional address from.
+
+ Int16
+
+
+ Address
+
+ The address to be removed, in the format <IPAddress>/<CIDR>.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-NetworkInterfaceAdditionalAddress
+
+ InterfaceID
+
+ The ID of the interface to remove the additional address from.
+
+ Int16
+
+
+ Address
+
+ The address to be removed, in the format <IPAddress>/<CIDR>.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface to remove the additional address from.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Address
+
+ The address to be removed, in the format <IPAddress>/<CIDR>.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-NetworkInterfaceAdditionalAddress -Address 10.154.11.22/16
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-NetworkRoute
+
+ Removes a route.
+
+
+
+
+ Remove
+ NetworkRoute
+
+
+
+ Removes a route.
+
+
+
+ Remove-NetworkRoute
+
+ Destination
+
+ The destination network that should be removed from the routing table.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-NetworkRoute
+
+ Destination
+
+ The destination network that should be removed from the routing table.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Destination
+
+ The destination network that should be removed from the routing table.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-NetworkRoute -Destination 10.154.11.33
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Route=}
+Destination : 10.154.11.24/16
+Gateway : 10.154.11.44
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-NetworkVLAN
+
+ Allows you to remove a Virtual LAN.
+
+
+
+
+ Remove
+ NetworkVLAN
+
+
+
+ Allows you to remove a Virtual LAN.
+
+
+
+ Remove-NetworkVLAN
+
+ InterfaceID
+
+ The ID of the interface that should be removed from the VLAN.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-NetworkVLAN
+
+ InterfaceID
+
+ The ID of the interface that should be removed from the VLAN.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface that should be removed from the VLAN.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-NetworkVLAN -InterfaceID 2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-NetworkVxLAN
+
+ Deletes the specified VXLAN.
+
+
+
+
+ Remove
+ NetworkVxLAN
+
+
+
+ Deletes the specified VXLAN.
+
+
+
+ Remove-NetworkVxLAN
+
+ InterfaceID
+
+ The ID of the interface.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-NetworkVxLAN
+
+ InterfaceID
+
+ The ID of the interface.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-NetworkVxLAN -InterfaceID 2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-NoCacheExtension
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcHttpCacheException
+
+
+
+
+ Remove
+ NoCacheExtension
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcHttpCacheException
+
+
+
+ Remove-NoCacheExtension
+
+ Extension
+
+
+
+ String[]
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-NoCacheExtension
+
+ Extension
+
+
+
+ String[]
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Extension
+
+
+
+ String[]
+
+ String[]
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-NoCompressExtension
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcHttpCompressionException
+
+
+
+
+ Remove
+ NoCompressExtension
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcHttpCompressionException
+
+
+
+ Remove-NoCompressExtension
+
+ Extension
+
+
+
+ String[]
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-NoCompressExtension
+
+ Extension
+
+
+
+ String[]
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Extension
+
+
+
+ String[]
+
+ String[]
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-RealServer
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcRealServer
+
+
+
+
+ Remove
+ RealServer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcRealServer
+
+
+
+ Remove-RealServer
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RealServerPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-RealServer
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RealServerPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RealServerPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-RealServerRule
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcRealServerRule
+
+
+
+
+ Remove
+ RealServerRule
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcRealServerRule
+
+
+
+ Remove-RealServerRule
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-RealServerRule
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RSPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-Route
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkRoute
+
+
+
+
+ Remove
+ Route
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkRoute
+
+
+
+ Remove-Route
+
+ Destination
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-Route
+
+ Destination
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Destination
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-Rule
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcContentRule
+
+
+
+
+ Remove
+ Rule
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcContentRule
+
+
+
+ Remove-Rule
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-Rule
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ RuleName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-SdnController
+
+ Deletes an SDN controller from the LoadMaster.
+
+
+
+
+ Remove
+ SdnController
+
+
+
+ Deletes an SDN controller from the LoadMaster.
+
+
+
+ Remove-SdnController
+
+ Clid
+
+ The unique ID of the cluster that the SDN controller is a member of.
+
+ Int32
+
+
+ Cid
+
+ The ID number of the SDN controller.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-SdnController
+
+ Clid
+
+ The unique ID of the cluster that the SDN controller is a member of.
+
+ Int32
+
+
+ Cid
+
+ The ID number of the SDN controller.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Clid
+
+ The unique ID of the cluster that the SDN controller is a member of.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Cid
+
+ The ID number of the SDN controller.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Either the Cluster ID (Clid) or the Controller ID (Cid) must be specified when running this command.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-SdnController -Clid 1 -Cid 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-SecUser
+
+ Allows you to delete a local user.
+
+
+
+
+ Remove
+ SecUser
+
+
+
+ Allows you to delete a local user.
+
+
+
+ Remove-SecUser
+
+ User
+
+ Username of the relevant user.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-SecUser
+
+ User
+
+ Username of the relevant user.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ User
+
+ Username of the relevant user.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-SecUser -User ExampleUser
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-SecUserCertificate
+
+ Delete an existing user certificate.
+
+
+
+
+ Remove
+ SecUserCertificate
+
+
+
+ Delete an existing user certificate.
+
+
+
+ Remove-SecUserCertificate
+
+ User
+
+ The username of the user to delete the certificate for.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-SecUserCertificate
+
+ User
+
+ The username of the user to delete the certificate for.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ User
+
+ The username of the user to delete the certificate for.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-SecUserCertificate -User Example
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-SSODomain
+
+ Deletes the specified SSO domain.
+
+
+
+
+ Remove
+ SSODomain
+
+
+
+ Deletes the specified SSO domain.
+
+
+
+ Remove-SSODomain
+
+ Domain
+
+ The domain to be removed from the SSO Domain list. This parameter is required.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-SSODomain
+
+ Domain
+
+ The domain to be removed from the SSO Domain list. This parameter is required.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ Domain
+
+ The domain to be removed from the SSO Domain list. This parameter is required.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Switch to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-SSODomain -Domain example3.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed (Domain "example3.com" deleted); Data=}
+Return Code..: 200
+Response.....: Command successfully executed (Domain "example3.com" deleted)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-Template
+
+ Allows you to remove a template from the LoadMaster.
+
+
+
+
+ Remove
+ Template
+
+
+
+ Allows you to remove a template from the LoadMaster.
+
+
+
+ Remove-Template
+
+ Name
+
+ The name of the template as it appears in the Name column in the LoadMaster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-Template
+
+ Name
+
+ The name of the template as it appears in the Name column in the LoadMaster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the template as it appears in the Name column in the LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-Template -Name "Exchange 2013 IMAP"
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-TlsCertificate
+
+ Allows you to remove a certificate from the LoadMaster.
+
+
+
+
+ Remove
+ TlsCertificate
+
+
+
+ Allows you to remove a certificate from the LoadMaster.
+
+
+
+ Remove-TlsCertificate
+
+ Name
+
+ The name of the certificate to be removed from the LoadMaster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-TlsCertificate
+
+ Name
+
+ The name of the certificate to be removed from the LoadMaster.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ Name
+
+ The name of the certificate to be removed from the LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Provides a method to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ It is not possible to delete a certificate which is assigned to a Virtual Service. Un-assign the certificate from any Virtual Services before deleting.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-TlsCertificate -Name testcert
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-TlsCipherSet
+
+ Delete a custom cipher set.
+
+
+
+
+ Remove
+ TlsCipherSet
+
+
+
+ Deletes an existing custom cipher set. A custom cipher set cannot be deleted if it is assigned to any Virtual Services.
+
+
+
+ Remove-TlsCipherSet
+
+ Name
+
+ The name of the cipher set.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-TlsCipherSet
+
+ Name
+
+ The name of the cipher set.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the cipher set.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-TlsCipherSet -Name ExampleCipherSet
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-TlsIntermediateCertificate
+
+ Allows you to remove a certificate from the LoadMaster.
+
+
+
+
+ Remove
+ TlsIntermediateCertificate
+
+
+
+ Allows you to remove a certificate from the LoadMaster.
+
+
+
+ Remove-TlsIntermediateCertificate
+
+ Name
+
+ The name of the intermediate certificate to remove.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ A switch which confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Remove-TlsIntermediateCertificate
+
+ Name
+
+ The name of the intermediate certificate to remove.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ A switch which confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ Name
+
+ The name of the intermediate certificate to remove.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ A switch which confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-TlsIntermediateCertificate -Name testcert
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-VirtualServerRule
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcVirtualServiceRule
+
+
+
+
+ Remove
+ VirtualServerRule
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcVirtualServiceRule
+
+
+
+ Remove-VirtualServerRule
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RuleType
+
+
+
+ String
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-VirtualServerRule
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RuleType
+
+
+
+ String
+
+
+ RuleName
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RuleType
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RuleName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-VirtualService
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcVirtualService
+
+
+
+
+ Remove
+ VirtualService
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcVirtualService
+
+
+
+ Remove-VirtualService
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-VirtualService
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-VirtualService
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Remove-VirtualService
+
+ VSIndex
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-VLan
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkVLAN
+
+
+
+
+ Remove
+ VLan
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkVLAN
+
+
+
+ Remove-VLan
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-VLan
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-VSPacketFilterACL
+
+ Removes an address from the black or white list for a Virtual Service.
+
+
+
+
+ Remove
+ VSPacketFilterACL
+
+
+
+ Removes a host or network IP address from the black or white access control list for a specific Virtual Service. Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+ Remove-VSPacketFilterACL
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ String
+
+
+ VSPort
+
+ Specifies the Virtual Service port number.
+
+ Int32
+
+
+ VSProtocol
+
+ Specifies the Virtual Service protocol.
+
+ String
+
+
+ Type
+
+ Specify the type of list:
+ - black: blocked addresses
+ - white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ String
+
+
+ AclAddress
+
+ Specifies a host or network IP address to remove from the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-VSPacketFilterACL
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ String
+
+
+ VSPort
+
+ Specifies the Virtual Service port number.
+
+ Int32
+
+
+ VSProtocol
+
+ Specifies the Virtual Service protocol.
+
+ String
+
+
+ Type
+
+ Specify the type of list:
+ - black: blocked addresses
+ - white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ String
+
+
+ AclAddress
+
+ Specifies a host or network IP address to remove from the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ Specifies the Virtual Service port number.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ Specifies the Virtual Service protocol.
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+ Specify the type of list:
+ - black: blocked addresses
+ - white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ String
+
+ String
+
+
+
+
+
+ AclAddress
+
+ Specifies a host or network IP address to remove from the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-VSPacketFilterACL -AclAddress 10.134.33.2 -Type black -VirtualService 10.35.47.16 -VSPort 80 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-VxLan
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkVxLAN
+
+
+
+
+ Remove
+ VxLan
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-NetworkVxLAN
+
+
+
+ Remove-VxLan
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Remove-VxLan
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Request-LicenseOffline
+
+ Initially license the LoadMaster using the offline licensing method.
+
+
+
+
+ Request
+ LicenseOffline
+
+
+
+ A BLOB is needed to license the LoadMaster using the offline method.
+
+
+
+ Request-LicenseOffline
+
+ Path
+
+ The BLOB is emailed to you when requested. Each time a license is updated a new BLOB is needed. The BLOB is the body of text in the email from the word begin to the word end. The BLOB must be copied and pasted into a text file. If the BLOB file is in the current directory, you only need to specify the filename. If it is in a different directory, please specify the path in addition to the filename.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The BLOB is emailed to you when requested. Each time a license is updated a new BLOB is needed. The BLOB is the body of text in the email from the word begin to the word end. The BLOB must be copied and pasted into a text file. If the BLOB file is in the current directory, you only need to specify the filename. If it is in a different directory, please specify the path in addition to the filename.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Certificate-based authentication cannot be used to run this command because this command is used before the LoadMaster is licensed.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Request-LicenseOffline -Path c:\t\test.txt
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Request-LicenseOnline
+
+ License the LoadMaster using the online method.
+
+
+
+
+ Request
+ LicenseOnline
+
+
+
+ Cause the LoadMaster to query the KEMP licensing system for a license.
+
+
+
+ Request-LicenseOnline
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ KempId
+
+ The KEMP ID is the email address which was used when registering for a KEMP ID.
+
+ String
+
+
+ Password
+
+ The password of the KEMP ID account.
+
+ String
+
+
+ OrderId
+
+ The Orderid parameter is only needed for Virtual LoadMasters. The Order ID is provided by KEMP after a license is purchased.
+
+ String
+
+
+ LicenseTypeId
+
+ The ID of the license type to be applied. To retrieve a list of available IDs, run the Get-LicenseType command.
+
+ String
+
+
+ http_proxy
+
+ Specify the HTTP(S) proxy server and port the LoadMaster will use to access the internet.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ KempId
+
+ The KEMP ID is the email address which was used when registering for a KEMP ID.
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+ The password of the KEMP ID account.
+
+ String
+
+ String
+
+
+
+
+
+ OrderId
+
+ The Orderid parameter is only needed for Virtual LoadMasters. The Order ID is provided by KEMP after a license is purchased.
+
+ String
+
+ String
+
+
+
+
+
+ LicenseTypeId
+
+ The ID of the license type to be applied. To retrieve a list of available IDs, run the Get-LicenseType command.
+
+ String
+
+ String
+
+
+
+
+
+ http_proxy
+
+ Specify the HTTP(S) proxy server and port the LoadMaster will use to access the internet.
+
+ String
+
+ String
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Certificate-based authentication cannot be used to run this command because this command is used before the LoadMaster is licensed.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Request-LicenseOnline -KempId jbloggs@kemptechnologies.com -Password examplepassword -LoadBalancer 10.154.11.60
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Request-LicenseOnPremise
+
+ Use Local Activation to license the LoadMaster via KEMP 360 Central.
+
+
+
+
+ Request
+ LicenseOnPremise
+
+
+
+ Specify the KEMP 360 Central details in the parameters in order to license the LoadMaster using Local Activation.
+
+
+
+ Request-LicenseOnPremise
+
+ aslipaddr
+
+ The IP address of the KEMP360 Central machine to be used for activation.
+
+ String
+
+
+ aslname
+
+ The hostname of the KEMP360 Central machine to be used for activation.
+
+ String
+
+
+ aslport
+
+ The port to contact KEMP360 Central on.
+
+ Int32
+
+
+ LicenseTypeId
+
+ Specify the LicenseTypeId of the license to activate. To retrieve a list of license types and IDs, run the Get-AslLicenseType command.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Request-LicenseOnPremise
+
+ aslipaddr
+
+ The IP address of the KEMP360 Central machine to be used for activation.
+
+ String
+
+
+ aslname
+
+ The hostname of the KEMP360 Central machine to be used for activation.
+
+ String
+
+
+ aslport
+
+ The port to contact KEMP360 Central on.
+
+ Int32
+
+
+ LicenseTypeId
+
+ Specify the LicenseTypeId of the license to activate. To retrieve a list of license types and IDs, run the Get-AslLicenseType command.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ aslipaddr
+
+ The IP address of the KEMP360 Central machine to be used for activation.
+
+ String
+
+ String
+
+
+
+
+
+ aslname
+
+ The hostname of the KEMP360 Central machine to be used for activation.
+
+ String
+
+ String
+
+
+
+
+
+ aslport
+
+ The port to contact KEMP360 Central on.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LicenseTypeId
+
+ Specify the LicenseTypeId of the license to activate. To retrieve a list of license types and IDs, run the Get-AslLicenseType command.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ aslipaddress
+
+ The IP address of the KEMP360 Central machine to be used for activation.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Either the aslipaddr or aslname parameter must be provided for this command to run successfully.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Request-LicenseOnPremise -aslipaddr 172.16.128.69 -aslname lm-act-server-default -aslport 443
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data.........: @{AslServerIpAddress=172.16.128.69; AslServerPort=443; AslServerFqdn=lm-act-server-default}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset-LogStatistics
+
+ Reset the LoadMaster statistics.
+
+
+
+
+ Reset
+ LogStatistics
+
+
+
+ Reset the LoadMaster statistics (total connections, Bytes per Second, and so on) that can be retreived with the Get-LogStatistics command.
+
+
+
+ Reset-LogStatistics
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Reset-LogStatistics
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Reset-LogStatistics
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restart-Lm
+
+ Allows you to restart the LoadMaster.
+
+
+
+
+ Restart
+ Lm
+
+
+
+ Allows you to restart the LoadMaster.
+
+
+
+ Restart-Lm
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Shutdown
+
+ Specifies to shut down the LoadMaster. Issuing this command will require physical access to power the LoadMaster back on.
+
+ SwitchParameter
+
+
+ Force
+
+ Enable this command to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ SleepTime
+
+ This parameter is not mandatory. The SleepTime parameter defines the amount of wait time. The default value is 12 seconds.
+The Cycles parameter value defines the amount of cycles of sleep time to wait for. The default value is 8 seconds. Therefore, by default the API waits for 96 seconds when the Restart-Lm command is run.
+
+ Int32
+
+
+ Cycles
+
+ This parameter is not mandatory. The Cycles parameter value defines the amount of cycles of sleep time that is waited for. The default is 8 seconds. The SleepTime parameter defines the amount of wait time. The default value is 12 seconds.
+Therefore, by default the API waits for 96 seconds when the Restart-Lm command is run.
+
+ Int32
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this command to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Restart-Lm
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Shutdown
+
+ Specifies to shut down the LoadMaster. Issuing this command will require physical access to power the LoadMaster back on.
+
+ SwitchParameter
+
+
+ Force
+
+ Enable this command to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ SleepTime
+
+ This parameter is not mandatory. The SleepTime parameter defines the amount of wait time. The default value is 12 seconds.
+The Cycles parameter value defines the amount of cycles of sleep time to wait for. The default value is 8 seconds. Therefore, by default the API waits for 96 seconds when the Restart-Lm command is run.
+
+ Int32
+
+
+ Cycles
+
+ This parameter is not mandatory. The Cycles parameter value defines the amount of cycles of sleep time that is waited for. The default is 8 seconds. The SleepTime parameter defines the amount of wait time. The default value is 12 seconds.
+Therefore, by default the API waits for 96 seconds when the Restart-Lm command is run.
+
+ Int32
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this command to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Shutdown
+
+ Specifies to shut down the LoadMaster. Issuing this command will require physical access to power the LoadMaster back on.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Force
+
+ Enable this command to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ SleepTime
+
+ This parameter is not mandatory. The SleepTime parameter defines the amount of wait time. The default value is 12 seconds.
+The Cycles parameter value defines the amount of cycles of sleep time to wait for. The default value is 8 seconds. Therefore, by default the API waits for 96 seconds when the Restart-Lm command is run.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Cycles
+
+ This parameter is not mandatory. The Cycles parameter value defines the amount of cycles of sleep time that is waited for. The default is 8 seconds. The SleepTime parameter defines the amount of wait time. The default value is 12 seconds.
+Therefore, by default the API waits for 96 seconds when the Restart-Lm command is run.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Enable this command to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Restart-Lm -Confirm -Force
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restart-LoadBalancer
+
+ WARNING: This function is deprecated. Use the following command instead:
+Restart-Lm
+
+
+
+
+ Restart
+ LoadBalancer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Restart-Lm
+
+
+
+ Restart-LoadBalancer
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ Shutdown
+
+
+
+ SwitchParameter
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ SleepTime
+
+
+
+ Int32
+
+
+ Cycles
+
+
+
+ Int32
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+ Restart-LoadBalancer
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ Shutdown
+
+
+
+ SwitchParameter
+
+
+ Force
+
+
+
+ SwitchParameter
+
+
+ SleepTime
+
+
+
+ Int32
+
+
+ Cycles
+
+
+
+ Int32
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ Shutdown
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Force
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ SleepTime
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Cycles
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restore-Certificate
+
+ WARNING: This function is deprecated. Use the following command instead:
+Restore-TlsCertificate
+
+
+
+
+ Restore
+ Certificate
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Restore-TlsCertificate
+
+
+
+ Restore-Certificate
+
+ Password
+
+
+
+ String
+
+
+ Path
+
+
+
+ String
+
+
+ Type
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Restore-Certificate
+
+ Password
+
+
+
+ String
+
+
+ Path
+
+
+
+ String
+
+
+ Type
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Password
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restore-LmConfiguration
+
+ Allows you to restore the LoadMaster using a backup file previously saved.
+
+
+
+
+ Restore
+ LmConfiguration
+
+
+
+ Allows you to restore the LoadMaster using a backup file previously saved.
+
+
+
+ Restore-LmConfiguration
+
+ Path
+
+ The local path to the backup file.
+
+ String
+
+
+ Type
+
+ The type of information to restore. Valid values are:
+Base
+Base + VS
+Base + Geo
+VS
+VS + Geo
+Geo
+SSO/LDAP
+All
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Restore-LmConfiguration
+
+ Path
+
+ The local path to the backup file.
+
+ String
+
+
+ Type
+
+ The type of information to restore. Valid values are:
+Base
+Base + VS
+Base + Geo
+VS
+VS + Geo
+Geo
+SSO/LDAP
+All
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The local path to the backup file.
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+ The type of information to restore. Valid values are:
+Base
+Base + VS
+Base + Geo
+VS
+VS + Geo
+Geo
+SSO/LDAP
+All
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Restore-LmConfiguration -Path C:\backups\LMBackups_2013_11_04.17_43 -Type Base
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restore-LoadBalancer
+
+ WARNING: This function is deprecated. Use the following command instead:
+Restore-LmConfiguration
+
+
+
+
+ Restore
+ LoadBalancer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Restore-LmConfiguration
+
+
+
+ Restore-LoadBalancer
+
+ Path
+
+
+
+ String
+
+
+ Type
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Restore-LoadBalancer
+
+ Path
+
+
+
+ String
+
+
+ Type
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restore-Patch
+
+ WARNING: This function is deprecated. Use the following command instead:
+Uninstall-LmPatch
+
+
+
+
+ Restore
+ Patch
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Uninstall-LmPatch
+
+
+
+ Restore-Patch
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Restore-Patch
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restore-TlsCertificate
+
+ Allows you to restore an existing certificate to the LoadMaster.
+
+
+
+
+ Restore
+ TlsCertificate
+
+
+
+ Allows you to restore an existing certificate to the LoadMaster.
+
+
+
+ Restore-TlsCertificate
+
+ Password
+
+ The password that was used to backup the certificate, if needed.
+
+ String
+
+
+ Path
+
+ The local path to the certificate backup file.
+
+ String
+
+
+ Type
+
+ The type of certificate to restore from the backup file. This parameter is required.
+This parameter has three possible values:
+ - Full - All Virtual Service and intermediate certificates
+ - Third - Intermediate certificates only
+ - Vs - Virtual Service certificates only
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Restore-TlsCertificate
+
+ Password
+
+ The password that was used to backup the certificate, if needed.
+
+ String
+
+
+ Path
+
+ The local path to the certificate backup file.
+
+ String
+
+
+ Type
+
+ The type of certificate to restore from the backup file. This parameter is required.
+This parameter has three possible values:
+ - Full - All Virtual Service and intermediate certificates
+ - Third - Intermediate certificates only
+ - Vs - Virtual Service certificates only
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Password
+
+ The password that was used to backup the certificate, if needed.
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+ The local path to the certificate backup file.
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+ The type of certificate to restore from the backup file. This parameter is required.
+This parameter has three possible values:
+ - Full - All Virtual Service and intermediate certificates
+ - Third - Intermediate certificates only
+ - Vs - Virtual Service certificates only
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Restore-TlsCertificate -Password password -Type Full -Path C:\Certificates\CertBackup
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdaptiveCheck
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcAdaptiveHealthCheck
+
+
+
+
+ Set
+ AdaptiveCheck
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcAdaptiveHealthCheck
+
+
+
+ Set-AdaptiveCheck
+
+ AdaptiveURL
+
+
+
+ String
+
+
+ AdaptivePort
+
+
+
+ Int32
+
+
+ AdaptiveInterval
+
+
+
+ Int32
+
+
+ MinPercent
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdaptiveCheck
+
+ AdaptiveURL
+
+
+
+ String
+
+
+ AdaptivePort
+
+
+
+ Int32
+
+
+ AdaptiveInterval
+
+
+
+ Int32
+
+
+ MinPercent
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ AdaptiveURL
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AdaptivePort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ AdaptiveInterval
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ MinPercent
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdcAdaptiveHealthCheck
+
+ Allows you to set the values of the Adaptive Health Checking options.
+
+
+
+
+ Set
+ AdcAdaptiveHealthCheck
+
+
+
+ Allows you to set the values of the Adaptive Health Checking options.
+
+
+
+ Set-AdcAdaptiveHealthCheck
+
+ AdaptiveURL
+
+ The URL on the Real Servers which will return the current load of the Real Server.
+
+ String
+
+
+ AdaptivePort
+
+ The port on the Real Servers used to access the URL containing the current load of the Real Server.
+
+ Int32
+
+
+ AdaptiveInterval
+
+ When using adaptive scheduling, the Real Servers are polled to retrieve their loading values. How often this occurs can be specified here.
+
+ Int32
+
+
+ MinPercent
+
+ The minimum load of the Real Server, below which the Real Server is said to be idle.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdcAdaptiveHealthCheck
+
+ AdaptiveURL
+
+ The URL on the Real Servers which will return the current load of the Real Server.
+
+ String
+
+
+ AdaptivePort
+
+ The port on the Real Servers used to access the URL containing the current load of the Real Server.
+
+ Int32
+
+
+ AdaptiveInterval
+
+ When using adaptive scheduling, the Real Servers are polled to retrieve their loading values. How often this occurs can be specified here.
+
+ Int32
+
+
+ MinPercent
+
+ The minimum load of the Real Server, below which the Real Server is said to be idle.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ AdaptiveURL
+
+ The URL on the Real Servers which will return the current load of the Real Server.
+
+ String
+
+ String
+
+
+
+
+
+ AdaptivePort
+
+ The port on the Real Servers used to access the URL containing the current load of the Real Server.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ AdaptiveInterval
+
+ When using adaptive scheduling, the Real Servers are polled to retrieve their loading values. How often this occurs can be specified here.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ MinPercent
+
+ The minimum load of the Real Server, below which the Real Server is said to be idle.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-AdcAdaptiveHealthCheck -AdaptiveURL www.example.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+AdaptiveURL : www.example.com
+AdaptivePort : 80
+AdaptiveInterval : 7
+MinPercent : 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdcContentRule
+
+ Allows you to set a rule in the LoadMaster.
+
+
+
+
+ Set
+ AdcContentRule
+
+
+
+ Allows you to set a rule in the LoadMaster. Including the Confirm parameter opens a confirmation dialog.
+
+
+
+ Set-AdcContentRule
+
+ RuleName
+
+ The name of the rule.
+
+ String
+
+
+ MatchType
+
+ Specifies whether the rule matches on a regular expression (regex), prefix, or postfix. This parameter defaults to regex, but will also accept prefix or postfix.
+
+ String
+
+
+ IncHost
+
+ Specifies whether to include the host in the URL.
+
+ Boolean
+
+
+ NoCase
+
+ Specifies whether to ignore case/capitalization.
+
+ Boolean
+
+
+ Negate
+
+ Specifies whether to invert the case of the match.
+
+ Boolean
+
+
+ IncQuery
+
+ Append the query string to the URI before performing a match.
+
+ Boolean
+
+
+ Header
+
+ Specifies the header that a match should be performed on. Set this to body to match on the body of a request.
+
+ String
+
+
+ Pattern
+
+ Specifies the pattern to search for.
+
+ String
+
+
+ Replacement
+
+ Specifies the replacement string for the pattern.
+
+ String
+
+
+ Type
+
+ The type of content rule:
+0 - Content Matching
+1 - Add Header
+2 - Delete Header
+3 - Replace Header
+4 - Modify URL
+5 - Replace String in Response Body
+The other parameters available for the Set-AdcContentRule command depend on the "type" of content rule being added.
+
+ Int32
+
+
+ MustFail
+
+ If this rule is matched, then always fail to connect.
+0 - Disabled (do not fail to connect)
+1 - Enabled (fail to connect)
+
+ Int32
+
+
+ OnlyOnFlag
+
+ Only try to execute this rule if the specified flag is set by another rule (the OnlyOnFlag parameter is used in conjunction with the SetFlagOnMatch parameter).
+Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched ('chaining' rules). For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/
+Valid values: 0-9
+
+ Int32
+
+
+ SetFlagOnMatch
+
+ SetFlagOnMatch:
+If the rule is successfully matched, set the specified flag. Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched. For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/.
+Valid values: 0-9
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdcContentRule
+
+ RuleName
+
+ The name of the rule.
+
+ String
+
+
+ MatchType
+
+ Specifies whether the rule matches on a regular expression (regex), prefix, or postfix. This parameter defaults to regex, but will also accept prefix or postfix.
+
+ String
+
+
+ IncHost
+
+ Specifies whether to include the host in the URL.
+
+ Boolean
+
+
+ NoCase
+
+ Specifies whether to ignore case/capitalization.
+
+ Boolean
+
+
+ Negate
+
+ Specifies whether to invert the case of the match.
+
+ Boolean
+
+
+ IncQuery
+
+ Append the query string to the URI before performing a match.
+
+ Boolean
+
+
+ Header
+
+ Specifies the header that a match should be performed on. Set this to body to match on the body of a request.
+
+ String
+
+
+ Pattern
+
+ Specifies the pattern to search for.
+
+ String
+
+
+ Replacement
+
+ Specifies the replacement string for the pattern.
+
+ String
+
+
+ Type
+
+ The type of content rule:
+0 - Content Matching
+1 - Add Header
+2 - Delete Header
+3 - Replace Header
+4 - Modify URL
+5 - Replace String in Response Body
+The other parameters available for the Set-AdcContentRule command depend on the "type" of content rule being added.
+
+ Int32
+
+
+ MustFail
+
+ If this rule is matched, then always fail to connect.
+0 - Disabled (do not fail to connect)
+1 - Enabled (fail to connect)
+
+ Int32
+
+
+ OnlyOnFlag
+
+ Only try to execute this rule if the specified flag is set by another rule (the OnlyOnFlag parameter is used in conjunction with the SetFlagOnMatch parameter).
+Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched ('chaining' rules). For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/
+Valid values: 0-9
+
+ Int32
+
+
+ SetFlagOnMatch
+
+ SetFlagOnMatch:
+If the rule is successfully matched, set the specified flag. Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched. For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/.
+Valid values: 0-9
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RuleName
+
+ The name of the rule.
+
+ String
+
+ String
+
+
+
+
+
+ MatchType
+
+ Specifies whether the rule matches on a regular expression (regex), prefix, or postfix. This parameter defaults to regex, but will also accept prefix or postfix.
+
+ String
+
+ String
+
+
+
+
+
+ IncHost
+
+ Specifies whether to include the host in the URL.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ NoCase
+
+ Specifies whether to ignore case/capitalization.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Negate
+
+ Specifies whether to invert the case of the match.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ IncQuery
+
+ Append the query string to the URI before performing a match.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Header
+
+ Specifies the header that a match should be performed on. Set this to body to match on the body of a request.
+
+ String
+
+ String
+
+
+
+
+
+ Pattern
+
+ Specifies the pattern to search for.
+
+ String
+
+ String
+
+
+
+
+
+ Replacement
+
+ Specifies the replacement string for the pattern.
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+ The type of content rule:
+0 - Content Matching
+1 - Add Header
+2 - Delete Header
+3 - Replace Header
+4 - Modify URL
+5 - Replace String in Response Body
+The other parameters available for the Set-AdcContentRule command depend on the "type" of content rule being added.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ MustFail
+
+ If this rule is matched, then always fail to connect.
+0 - Disabled (do not fail to connect)
+1 - Enabled (fail to connect)
+
+ Int32
+
+ Int32
+
+
+
+
+
+ OnlyOnFlag
+
+ Only try to execute this rule if the specified flag is set by another rule (the OnlyOnFlag parameter is used in conjunction with the SetFlagOnMatch parameter).
+Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched ('chaining' rules). For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/
+Valid values: 0-9
+
+ Int32
+
+ Int32
+
+
+
+
+
+ SetFlagOnMatch
+
+ SetFlagOnMatch:
+If the rule is successfully matched, set the specified flag. Using the OnlyOnFlag and SetFlagOnMatch parameters, it is possible to make rules dependent on each other, that is, only execute a particular rule if another rule has been successfully matched. For more detailed instructions on ‘chaining’ rules, please refer to the Content Rules, Feature Description document on the KEMP Documentation Page: https://kemptechnologies.com/loadmaster-documentation/.
+Valid values: 0-9
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ IncQueryfalse
+
+ Append the query string to the URI before performing a match.
+
+ boolean
+
+ boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-AdcContentRule -Name TestRule1 -Negate $True -NoCase $False -Pattern /^example$/
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdcL7Configuration
+
+ Allows you to set the values of Layer 7 Configuration options.
+
+
+
+
+ Set
+ AdcL7Configuration
+
+
+
+ Allows you to set the values of Layer 7 Configuration options.
+
+
+
+ Set-AdcL7Configuration
+
+ ScalingOver64KConnections
+
+ Under very high load situations, Port Exhaustion can occur. Enabling this option will allow the setting of Alternate Source Addresses which can be used to expand the number of local ports available.
+ If more than 64K concurrent connections are required, enable the Allow Connection Scaling over 64K Connections option and set the Virtual Service IP as the alternate address in the Alternate Source Addresses input field. This allows each Virtual Service to have its own pool of source ports.
+ Transparent Virtual Services are capped at 64K concurrent connections. This limit is on a per Virtual Service basis.
+ If, after selecting this option, you set some Alternate Source Addresses, you will not be able to disable the Allow connection scaling over 64K Connections option.
+
+ Boolean
+
+
+ AlwaysCheckPersist
+
+ By default, the L7 module only checks persist on the first request of a HTTP/1.1 connection. Enabling this option will check the persist on every request. When Accept Changes is selected, all persistence changes are saved, even in the middle of a connection.
+Valid values are:
+No
+Yes
+Yes - Accept Changes
+
+ String
+
+
+ AddPortToActiveCookie
+
+ When using the LoadMaster behind a NATing gateway, all client addresses are the same. To create individual cookies the remote port can also be added to the cookie. Enabling this option when not needed wastes resources. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ RFCConform
+
+ By default, the LoadMaster conforms to the RFC when parsing HTTP headers. Disabling this will allow interworking with some broken browsers. Valid values:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ CloseOnError
+
+ When enabled, the LoadMaster will always close the client connection when it sends back an error response. For Example, this changes the behaviour of the LoadMaster when sending back a 304 File not changed message after receiving an If-Modified-Since HTTP header.
+
+ Boolean
+
+
+ AddViaHeaderInCacheResponses
+
+ When enabled, a VIA header field will be added to all cache responses. The Virtual Service address will be the address used. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ RSAreLocal
+
+ When checking to see if a client is on the local subnet, also check to see if the client is actually a Real Server.
+
+ Boolean
+
+
+ DropOnRSFail
+
+ By default, existing connections are not closed if a Real Server fails. Enabling this feature causes all connections to be immediately dropped on Real Server failure. Valid values:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ DropAtDrainEnd
+
+ If enabled, all open connections to disabled Real Servers will be dropped at the end of the Real Servers Drain Stop Time or immediately if there are no Persist entries associated with the Real Server.
+
+ Boolean
+
+
+ Transparent
+
+ Globally enable or disable the transparent handling of connections using the L7 subsystem. L4 connections are ALWAYS handled transparently.
+
+ Boolean
+
+
+ L7AuthTimeoutSecs
+
+ The duration (in seconds) that a connection remains open for while authentication is ongoing. This value can be between 30 and 300.
+
+ Int16
+
+
+ L7ClientTokenTimeoutSecs
+
+ The duration (in seconds) to wait for the client token while the process of authentication is ongoing (used for RSA SecurID and RADIUS authentication). The default value for this parameter is 120. The range for this parameter is 60-300.
+
+ Int16
+
+
+ L7ConnectionDrainTimeoutSecs
+
+ If enabled, all open connections to disabled Real Servers will be dropped at the end of the Real Servers Drain Stop Time OR immediately if there are no Persist entries associated with the Real Server. Valid values are:
+0 - Disable
+1 - Enable
+
+ Int32
+
+
+ AdditionalL7Header
+
+ This enables Layer 7 header injection for HTTP/HTTPS Virtual Services. Header injection can be set to X-ClientSide (KEMP LoadMaster specific), X-Forwarded-For, or None.
+
+ String
+
+
+ OneHundredContinueHandling
+
+ Determines how 100-Continue Handling messages are handled. The available options are:
+RFC-2616 Compliant: conforms with the behavior as outlined in RFC-2616
+Require 100-Continue: forces the LoadMaster to wait for the 100-Continue message
+RFC-7231 Compliant: ensures the LoadMaster does not wait for 100-Continue messages
+ Modifying how 100 Continue messages are handled by the system requires an understanding of the relevant technologies as described in the RFCs listed above. It is recommended that you speak with a KEMP Technical Support engineer before making changes to these settings.
+
+ String
+
+
+ AllowEmptyPosts
+
+ By default the LoadMaster blocks POSTs that do not contain a Content-Length or Transfer-Encoding header to indicate the length of the requests payload. When this parameter is set to true, such requests are assumed to have no payload data and are therefore not rejected.
+
+ Boolean
+
+
+ AllowEmptyHttpHeaders
+
+ By default, if the LoadMaster is processing HTTP headers it ignores HTTP headers that have empty content. This can break some SOAP services, even though it is against the HTTP RFCs. Setting this option allows these empty headers through. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ ForceCompleteRSMatch
+
+ By default, when the LoadMaster is trying to locate a Real Server for use with content switching, it tries to use the same Real Server as currently selected, even if the port is not the same. Enabling this parameter forces the port to also be compared. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ SlowStart
+
+ When using the Least Connection (or Weighted Least Connection) scheduling method, specify the time (in seconds) over which the load to a Real Server which has just come online will be throttled.
+
+ Int16
+
+
+ ShareSubVSPersistance
+
+ By default, each SubVS has an independent persistence table. Enabling this parameter will allow the SubVS to share this information. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdcL7Configuration
+
+ ScalingOver64KConnections
+
+ Under very high load situations, Port Exhaustion can occur. Enabling this option will allow the setting of Alternate Source Addresses which can be used to expand the number of local ports available.
+ If more than 64K concurrent connections are required, enable the Allow Connection Scaling over 64K Connections option and set the Virtual Service IP as the alternate address in the Alternate Source Addresses input field. This allows each Virtual Service to have its own pool of source ports.
+ Transparent Virtual Services are capped at 64K concurrent connections. This limit is on a per Virtual Service basis.
+ If, after selecting this option, you set some Alternate Source Addresses, you will not be able to disable the Allow connection scaling over 64K Connections option.
+
+ Boolean
+
+
+ AlwaysCheckPersist
+
+ By default, the L7 module only checks persist on the first request of a HTTP/1.1 connection. Enabling this option will check the persist on every request. When Accept Changes is selected, all persistence changes are saved, even in the middle of a connection.
+Valid values are:
+No
+Yes
+Yes - Accept Changes
+
+ String
+
+
+ AddPortToActiveCookie
+
+ When using the LoadMaster behind a NATing gateway, all client addresses are the same. To create individual cookies the remote port can also be added to the cookie. Enabling this option when not needed wastes resources. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ RFCConform
+
+ By default, the LoadMaster conforms to the RFC when parsing HTTP headers. Disabling this will allow interworking with some broken browsers. Valid values:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ CloseOnError
+
+ When enabled, the LoadMaster will always close the client connection when it sends back an error response. For Example, this changes the behaviour of the LoadMaster when sending back a 304 File not changed message after receiving an If-Modified-Since HTTP header.
+
+ Boolean
+
+
+ AddViaHeaderInCacheResponses
+
+ When enabled, a VIA header field will be added to all cache responses. The Virtual Service address will be the address used. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ RSAreLocal
+
+ When checking to see if a client is on the local subnet, also check to see if the client is actually a Real Server.
+
+ Boolean
+
+
+ DropOnRSFail
+
+ By default, existing connections are not closed if a Real Server fails. Enabling this feature causes all connections to be immediately dropped on Real Server failure. Valid values:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ DropAtDrainEnd
+
+ If enabled, all open connections to disabled Real Servers will be dropped at the end of the Real Servers Drain Stop Time or immediately if there are no Persist entries associated with the Real Server.
+
+ Boolean
+
+
+ Transparent
+
+ Globally enable or disable the transparent handling of connections using the L7 subsystem. L4 connections are ALWAYS handled transparently.
+
+ Boolean
+
+
+ L7AuthTimeoutSecs
+
+ The duration (in seconds) that a connection remains open for while authentication is ongoing. This value can be between 30 and 300.
+
+ Int16
+
+
+ L7ClientTokenTimeoutSecs
+
+ The duration (in seconds) to wait for the client token while the process of authentication is ongoing (used for RSA SecurID and RADIUS authentication). The default value for this parameter is 120. The range for this parameter is 60-300.
+
+ Int16
+
+
+ L7ConnectionDrainTimeoutSecs
+
+ If enabled, all open connections to disabled Real Servers will be dropped at the end of the Real Servers Drain Stop Time OR immediately if there are no Persist entries associated with the Real Server. Valid values are:
+0 - Disable
+1 - Enable
+
+ Int32
+
+
+ AdditionalL7Header
+
+ This enables Layer 7 header injection for HTTP/HTTPS Virtual Services. Header injection can be set to X-ClientSide (KEMP LoadMaster specific), X-Forwarded-For, or None.
+
+ String
+
+
+ OneHundredContinueHandling
+
+ Determines how 100-Continue Handling messages are handled. The available options are:
+RFC-2616 Compliant: conforms with the behavior as outlined in RFC-2616
+Require 100-Continue: forces the LoadMaster to wait for the 100-Continue message
+RFC-7231 Compliant: ensures the LoadMaster does not wait for 100-Continue messages
+ Modifying how 100 Continue messages are handled by the system requires an understanding of the relevant technologies as described in the RFCs listed above. It is recommended that you speak with a KEMP Technical Support engineer before making changes to these settings.
+
+ String
+
+
+ AllowEmptyPosts
+
+ By default the LoadMaster blocks POSTs that do not contain a Content-Length or Transfer-Encoding header to indicate the length of the requests payload. When this parameter is set to true, such requests are assumed to have no payload data and are therefore not rejected.
+
+ Boolean
+
+
+ AllowEmptyHttpHeaders
+
+ By default, if the LoadMaster is processing HTTP headers it ignores HTTP headers that have empty content. This can break some SOAP services, even though it is against the HTTP RFCs. Setting this option allows these empty headers through. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ ForceCompleteRSMatch
+
+ By default, when the LoadMaster is trying to locate a Real Server for use with content switching, it tries to use the same Real Server as currently selected, even if the port is not the same. Enabling this parameter forces the port to also be compared. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ SlowStart
+
+ When using the Least Connection (or Weighted Least Connection) scheduling method, specify the time (in seconds) over which the load to a Real Server which has just come online will be throttled.
+
+ Int16
+
+
+ ShareSubVSPersistance
+
+ By default, each SubVS has an independent persistence table. Enabling this parameter will allow the SubVS to share this information. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ScalingOver64KConnections
+
+ Under very high load situations, Port Exhaustion can occur. Enabling this option will allow the setting of Alternate Source Addresses which can be used to expand the number of local ports available.
+ If more than 64K concurrent connections are required, enable the Allow Connection Scaling over 64K Connections option and set the Virtual Service IP as the alternate address in the Alternate Source Addresses input field. This allows each Virtual Service to have its own pool of source ports.
+ Transparent Virtual Services are capped at 64K concurrent connections. This limit is on a per Virtual Service basis.
+ If, after selecting this option, you set some Alternate Source Addresses, you will not be able to disable the Allow connection scaling over 64K Connections option.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AlwaysCheckPersist
+
+ By default, the L7 module only checks persist on the first request of a HTTP/1.1 connection. Enabling this option will check the persist on every request. When Accept Changes is selected, all persistence changes are saved, even in the middle of a connection.
+Valid values are:
+No
+Yes
+Yes - Accept Changes
+
+ String
+
+ String
+
+
+
+
+
+ AddPortToActiveCookie
+
+ When using the LoadMaster behind a NATing gateway, all client addresses are the same. To create individual cookies the remote port can also be added to the cookie. Enabling this option when not needed wastes resources. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RFCConform
+
+ By default, the LoadMaster conforms to the RFC when parsing HTTP headers. Disabling this will allow interworking with some broken browsers. Valid values:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CloseOnError
+
+ When enabled, the LoadMaster will always close the client connection when it sends back an error response. For Example, this changes the behaviour of the LoadMaster when sending back a 304 File not changed message after receiving an If-Modified-Since HTTP header.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AddViaHeaderInCacheResponses
+
+ When enabled, a VIA header field will be added to all cache responses. The Virtual Service address will be the address used. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RSAreLocal
+
+ When checking to see if a client is on the local subnet, also check to see if the client is actually a Real Server.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DropOnRSFail
+
+ By default, existing connections are not closed if a Real Server fails. Enabling this feature causes all connections to be immediately dropped on Real Server failure. Valid values:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DropAtDrainEnd
+
+ If enabled, all open connections to disabled Real Servers will be dropped at the end of the Real Servers Drain Stop Time or immediately if there are no Persist entries associated with the Real Server.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Transparent
+
+ Globally enable or disable the transparent handling of connections using the L7 subsystem. L4 connections are ALWAYS handled transparently.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ L7AuthTimeoutSecs
+
+ The duration (in seconds) that a connection remains open for while authentication is ongoing. This value can be between 30 and 300.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ L7ClientTokenTimeoutSecs
+
+ The duration (in seconds) to wait for the client token while the process of authentication is ongoing (used for RSA SecurID and RADIUS authentication). The default value for this parameter is 120. The range for this parameter is 60-300.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ L7ConnectionDrainTimeoutSecs
+
+ If enabled, all open connections to disabled Real Servers will be dropped at the end of the Real Servers Drain Stop Time OR immediately if there are no Persist entries associated with the Real Server. Valid values are:
+0 - Disable
+1 - Enable
+
+ Int32
+
+ Int32
+
+
+
+
+
+ AdditionalL7Header
+
+ This enables Layer 7 header injection for HTTP/HTTPS Virtual Services. Header injection can be set to X-ClientSide (KEMP LoadMaster specific), X-Forwarded-For, or None.
+
+ String
+
+ String
+
+
+
+
+
+ OneHundredContinueHandling
+
+ Determines how 100-Continue Handling messages are handled. The available options are:
+RFC-2616 Compliant: conforms with the behavior as outlined in RFC-2616
+Require 100-Continue: forces the LoadMaster to wait for the 100-Continue message
+RFC-7231 Compliant: ensures the LoadMaster does not wait for 100-Continue messages
+ Modifying how 100 Continue messages are handled by the system requires an understanding of the relevant technologies as described in the RFCs listed above. It is recommended that you speak with a KEMP Technical Support engineer before making changes to these settings.
+
+ String
+
+ String
+
+
+
+
+
+ AllowEmptyPosts
+
+ By default the LoadMaster blocks POSTs that do not contain a Content-Length or Transfer-Encoding header to indicate the length of the requests payload. When this parameter is set to true, such requests are assumed to have no payload data and are therefore not rejected.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AllowEmptyHttpHeaders
+
+ By default, if the LoadMaster is processing HTTP headers it ignores HTTP headers that have empty content. This can break some SOAP services, even though it is against the HTTP RFCs. Setting this option allows these empty headers through. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ForceCompleteRSMatch
+
+ By default, when the LoadMaster is trying to locate a Real Server for use with content switching, it tries to use the same Real Server as currently selected, even if the port is not the same. Enabling this parameter forces the port to also be compared. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SlowStart
+
+ When using the Least Connection (or Weighted Least Connection) scheduling method, specify the time (in seconds) over which the load to a Real Server which has just come online will be throttled.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ShareSubVSPersistance
+
+ By default, each SubVS has an independent persistence table. Enabling this parameter will allow the SubVS to share this information. Valid values are:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ AddCookiePort
+
+ When using the LoadMaster behind a NATing gateway, all client addresses are the same. To create individual cookies the remote port can also be added to the cookie. Enabling this option when not needed wastes resources.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ AddVia
+
+ Specify which headers to be added to HTTP requests. X-ClientSide and X-Forwarded-For are only added to non-transparent connections.
+ 0 - Legacy Operation(X-Forwarded-For)
+ 1 - X-Forwarded-For (+ Via)
+ 2 - None
+ 3 - X-ClientSide (+ Via)
+ 4 - X-ClientSide (No Via)
+ 5 - X-Forwarded-For (No Via)
+ 6 - Via Only
+
+ boolean
+
+ boolean
+
+
+
+
+
+ AlwaysPersist
+
+ This parameter also accepts no and yes as valid values. No and Yes correspond to 0 and 1 respectively.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ AuthTimeout
+
+ The duration (in seconds) that a connection remains open for while authentication is ongoing. This value can be between 30 and 300.
+
+ int16
+
+ int16
+
+
+
+
+
+ ClientTokenTimeout
+
+ The duration (in seconds) to wait for the client token while the process of authentication is ongoing (used for RSA SecurID and RADIUS authentication). The default value for this parameter is 120.
+
+ int16
+
+ int16
+
+
+
+
+
+ DropOnFail
+
+ By default, existing connections are not closed if a Real Server fails. Enabling this feature causes all connections to be immediately dropped on Real Server failure.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ Expect100
+
+ By default, the L7 module only waits for 100-Continue replies if it sees an Expect-100 header, use RFC-2616 Compliant. If the system will always wait for 100 Continue messages, use Require 100-Continue. If the client will always send the POST data even if a 100 Continue message is not sent, use RFC-7231 Compliant instead.
+
+ int16
+
+ int16
+
+
+
+
+
+ RFConform
+
+ By default, the LoadMaster conforms to the RFC when parsing HTTP headers. Disabling this will allow interworking with some broken browsers.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ LocalBind
+
+ In very high load situations, local port exhaustion can occur. Enabling this option allows the setting of alternate source addresses. This can be used to expand the number of available local ports.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ AddForwardHeader
+
+ This option, only available when L7 Transparency is disabled, allows the addition of either X-ClientSide or X-Forwarded For to the HTTP header.
+
+ int16
+
+ int16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-AdcL7Configuration -OneHundredContinueHandling "RFC-2616 Compliant"
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{AdcL7Configuration=}
+Param........: @{ScalingOver64KConnections=no; AlwaysCheckPersist=Yes - Accept Changes; AddPortToActiveCookie=no; RFCConform=yes; CloseOnError=no; AddVi
+aHeaderInCacheResponses=no; RSAreLocal=no; DropOnRSFail=no; DropAtDrainEnd=no; L7AuthTimeoutSecs=30; L7ClientTokenTimeoutSecs=120; L7ConnectionDrainTime
+outSecs=300; AdditionalL7Header=X-ClientSide; OneHundredContinueHandling=RFC-2616 Compliant; AllowEmptyPosts=no; AllowEmptyHttpHeaders=no; ForceComplete
+RSMatch=no; SlowStart=0; ShareSubVSPersistance=no}
+ScalingOver64KConnections : no
+AlwaysCheckPersist : Yes - Accept Changes
+AddPortToActiveCookie : no
+RFCConform : yes
+CloseOnError : no
+AddViaHeaderInCacheResponses : no
+RSAreLocal : no
+DropOnRSFail : no
+DropAtDrainEnd : no
+L7AuthTimeoutSecs : 30
+L7ClientTokenTimeoutSecs : 120
+L7ConnectionDrainTimeoutSecs : 300
+AdditionalL7Header : X-ClientSide
+OneHundredContinueHandling : RFC-2616 Compliant
+AllowEmptyPosts : no
+AllowEmptyHttpHeaders : no
+ForceCompleteRSMatch : no
+SlowStart : 0
+ShareSubVSPersistance : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdcL7LogInsightSplitConfiguration
+
+ Allows you to set the value of the log split interval.
+
+
+
+
+ Set
+ AdcL7LogInsightSplitConfiguration
+
+
+
+ Allows you to set the value of the log split interval.
+
+
+
+ Set-AdcL7LogInsightSplitConfiguration
+
+ logsplitinterval
+
+ When using Log Insight Scheduling this is the number of messages that are received on a connection before the stream is rescheduled. The default value is 10. The range is 1-100.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdcL7LogInsightSplitConfiguration
+
+ logsplitinterval
+
+ When using Log Insight Scheduling this is the number of messages that are received on a connection before the stream is rescheduled. The default value is 10. The range is 1-100.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ logsplitinterval
+
+ When using Log Insight Scheduling this is the number of messages that are received on a connection before the stream is rescheduled. The default value is 10. The range is 1-100.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ logsplit
+
+ This value controls how many syslog messages should be sent to each server in the pool before moving to the next server.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This command is only relevant for LoadMasters with the Log Insight Add-On Pack installed.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-AdcL7LogInsightSplitConfiguration -logsplit 20
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{logsplitinterval=20}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdcRealServer
+
+ Configure options on a configured Real Server.
+
+
+
+
+ Set
+ AdcRealServer
+
+
+
+ Modifies the settings for a Real Server that is already configured.
+
+
+
+ Set-AdcRealServer
+
+ VirtualService
+
+ The IP address of the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The IP address that the Real Server being defined listens on.
+
+ String
+
+
+ RealServerPort
+
+ The port that the Real Server will be listening on.
+
+ Int32
+
+
+ RSIndex
+
+ The index number of the Real Server to be modified. To retrieve the Real Server index, run the Get-VirtualService command.
+If modifying the Real Server-specific parameters of a SubVS, such as critical, weight and limit, specify the RS index of the SubVS along with the Virtual Service parameters of the parent Virtual Service.
+
+ Int32
+
+
+ NewPort
+
+ Used to change the Real Server port to a new value.
+
+ Int32
+
+
+ Weight
+
+ The Real Server's weight. This is weight of the Real Server, as used by the Weighted Round Robin, Weighted Least Connection and Adaptive scheduling methods. The default initial value for the weight is 1000, the maximum is 65535 and the minimum is 1.
+
+ Int32
+
+
+ Forward
+
+ Either NAT (Network Address Translation) or Route (Direct) forwarding. The available options are dependent on the other modes configured for the service.
+
+ String
+
+
+ Enable
+
+ Specifies if the Real Server is enabled or disabled. Pass in a value of TRUE ($true) for enabled, and FALSE ($false) for disabled.
+
+ Boolean
+
+
+ Limit
+
+ The maximum number of open connections that a Real Server will accept before it is taken out of the rotation. This is only available for Layer 7 traffic.
+
+ Int64
+
+
+ Critical
+
+ True or false to indicate whether this Real Server is required for the Virtual Service to be available.
+
+ Boolean
+
+
+ Follow
+
+ Specify what Real Server the health check is based on by setting this parameter to the RsIndex of the Real Server to be followed. This can either be set to the RsIndex of the same Real Server in order to health check based on that particular Real Server status, or another Real Server can be specified. For example – if Real Server 1 is down, any Real Servers which have their health check based on Real Server 1 will also be marked as down, regardless of their actual Real Server status.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdcRealServer
+
+ VirtualService
+
+ The IP address of the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+
+ RealServer
+
+ The IP address that the Real Server being defined listens on.
+
+ String
+
+
+ RealServerPort
+
+ The port that the Real Server will be listening on.
+
+ Int32
+
+
+ RSIndex
+
+ The index number of the Real Server to be modified. To retrieve the Real Server index, run the Get-VirtualService command.
+If modifying the Real Server-specific parameters of a SubVS, such as critical, weight and limit, specify the RS index of the SubVS along with the Virtual Service parameters of the parent Virtual Service.
+
+ Int32
+
+
+ NewPort
+
+ Used to change the Real Server port to a new value.
+
+ Int32
+
+
+ Weight
+
+ The Real Server's weight. This is weight of the Real Server, as used by the Weighted Round Robin, Weighted Least Connection and Adaptive scheduling methods. The default initial value for the weight is 1000, the maximum is 65535 and the minimum is 1.
+
+ Int32
+
+
+ Forward
+
+ Either NAT (Network Address Translation) or Route (Direct) forwarding. The available options are dependent on the other modes configured for the service.
+
+ String
+
+
+ Enable
+
+ Specifies if the Real Server is enabled or disabled. Pass in a value of TRUE ($true) for enabled, and FALSE ($false) for disabled.
+
+ Boolean
+
+
+ Limit
+
+ The maximum number of open connections that a Real Server will accept before it is taken out of the rotation. This is only available for Layer 7 traffic.
+
+ Int64
+
+
+ Critical
+
+ True or false to indicate whether this Real Server is required for the Virtual Service to be available.
+
+ Boolean
+
+
+ Follow
+
+ Specify what Real Server the health check is based on by setting this parameter to the RsIndex of the Real Server to be followed. This can either be set to the RsIndex of the same Real Server in order to health check based on that particular Real Server status, or another Real Server can be specified. For example – if Real Server 1 is down, any Real Servers which have their health check based on Real Server 1 will also be marked as down, regardless of their actual Real Server status.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The IP address of the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port of the relevant Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+ The IP address that the Real Server being defined listens on.
+
+ String
+
+ String
+
+
+
+
+
+ RealServerPort
+
+ The port that the Real Server will be listening on.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+ The index number of the Real Server to be modified. To retrieve the Real Server index, run the Get-VirtualService command.
+If modifying the Real Server-specific parameters of a SubVS, such as critical, weight and limit, specify the RS index of the SubVS along with the Virtual Service parameters of the parent Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ NewPort
+
+ Used to change the Real Server port to a new value.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Weight
+
+ The Real Server's weight. This is weight of the Real Server, as used by the Weighted Round Robin, Weighted Least Connection and Adaptive scheduling methods. The default initial value for the weight is 1000, the maximum is 65535 and the minimum is 1.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Forward
+
+ Either NAT (Network Address Translation) or Route (Direct) forwarding. The available options are dependent on the other modes configured for the service.
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+ Specifies if the Real Server is enabled or disabled. Pass in a value of TRUE ($true) for enabled, and FALSE ($false) for disabled.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Limit
+
+ The maximum number of open connections that a Real Server will accept before it is taken out of the rotation. This is only available for Layer 7 traffic.
+
+ Int64
+
+ Int64
+
+
+
+
+
+ Critical
+
+ True or false to indicate whether this Real Server is required for the Virtual Service to be available.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Follow
+
+ Specify what Real Server the health check is based on by setting this parameter to the RsIndex of the Real Server to be followed. This can either be set to the RsIndex of the same Real Server in order to health check based on that particular Real Server status, or another Real Server can be specified. For example – if Real Server 1 is down, any Real Servers which have their health check based on Real Server 1 will also be marked as down, regardless of their actual Real Server status.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port that the Virtual Service is listening on.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ Specify if the service is using TCP or UDP protocols.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-AdcRealServer -Port 80 -Protocol tcp -RealServer 10.11.0.29 -RealServerPort 80 -VirtualService 10.11.0.199 -Enable $True -Forward route -Limit 100 -Weight 2000
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdcServiceHealth
+
+ Allows you to set the values of the Service Check options.
+
+
+
+
+ Set
+ AdcServiceHealth
+
+
+
+ Allows you to set the values of the Service Check options.
+
+
+
+ Set-AdcServiceHealth
+
+ CheckInterval
+
+ Defined in seconds, this is the delay between health checks. This includes clusters and FQDNs.
+Recommended and default value: 9 seconds
+Valid values range from the <mininterval> (9) to the <maxinterval> (901).
+The <mininterval> is RetryCount * ConnectTimeout + 1, that is, a value of 9 by default.
+The <maxinterval> is 901 [because that is what 60 (maximum Timeout) * 15 (maximum RetryCount) + 1 is].
+You can manually set the CheckInterval to up to 120 seconds. The CheckInterval value may go above 120 if the ConnectTimeout and RetryCount parameters are configured with high enough values.
+If the CheckInterval is above 120 seconds, you must adjust the ConnectTimeout and RetryCount values to modify the CheckInterval.
+
+ Int16
+
+
+ ConnectTimeout
+
+ Defined in seconds, this is the allowed maximum wait time for a reply to a health check.
+Range: 4-60
+
+ Int16
+
+
+ RetryCount
+
+ This is the consecutive number of times in which a health check must fail before it is marked down and removed from the load balancing pool.
+Range: 2-15
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdcServiceHealth
+
+ CheckInterval
+
+ Defined in seconds, this is the delay between health checks. This includes clusters and FQDNs.
+Recommended and default value: 9 seconds
+Valid values range from the <mininterval> (9) to the <maxinterval> (901).
+The <mininterval> is RetryCount * ConnectTimeout + 1, that is, a value of 9 by default.
+The <maxinterval> is 901 [because that is what 60 (maximum Timeout) * 15 (maximum RetryCount) + 1 is].
+You can manually set the CheckInterval to up to 120 seconds. The CheckInterval value may go above 120 if the ConnectTimeout and RetryCount parameters are configured with high enough values.
+If the CheckInterval is above 120 seconds, you must adjust the ConnectTimeout and RetryCount values to modify the CheckInterval.
+
+ Int16
+
+
+ ConnectTimeout
+
+ Defined in seconds, this is the allowed maximum wait time for a reply to a health check.
+Range: 4-60
+
+ Int16
+
+
+ RetryCount
+
+ This is the consecutive number of times in which a health check must fail before it is marked down and removed from the load balancing pool.
+Range: 2-15
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ CheckInterval
+
+ Defined in seconds, this is the delay between health checks. This includes clusters and FQDNs.
+Recommended and default value: 9 seconds
+Valid values range from the <mininterval> (9) to the <maxinterval> (901).
+The <mininterval> is RetryCount * ConnectTimeout + 1, that is, a value of 9 by default.
+The <maxinterval> is 901 [because that is what 60 (maximum Timeout) * 15 (maximum RetryCount) + 1 is].
+You can manually set the CheckInterval to up to 120 seconds. The CheckInterval value may go above 120 if the ConnectTimeout and RetryCount parameters are configured with high enough values.
+If the CheckInterval is above 120 seconds, you must adjust the ConnectTimeout and RetryCount values to modify the CheckInterval.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ConnectTimeout
+
+ Defined in seconds, this is the allowed maximum wait time for a reply to a health check.
+Range: 4-60
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RetryCount
+
+ This is the consecutive number of times in which a health check must fail before it is marked down and removed from the load balancing pool.
+Range: 2-15
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-AdcServiceHealth -RetryCount 3 -RetryInterval 10
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{AdcServiceHealth=}
+CheckInterval : 121
+ConnectionTimeout : 60
+RetryCount : 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdcSubVirtualService
+
+ Configure a SubVS.
+
+
+
+
+ Set
+ AdcSubVirtualService
+
+
+
+ This command enables you to set specific settings on a SubVS.
+
+
+
+ Set-AdcSubVirtualService
+
+ SubVSIndex
+
+ The ID number of the SubVS to configure.
+
+ Int32
+
+
+ AddVia
+
+ Specifies which headers should be added to the HTTP stream. The parameter takes the following arguments:
+ 0 = Legacy Operation
+ 1 = X-Forwarded-For
+ 2 = None
+ 3 = X-Client-Side
+ 4 = X-Client-Side No Via
+ 5 = X-Forwarded-For No Via
+ 6 = Via Only
+
+ Int16
+
+
+ CheckType
+
+ Specifies the protocol to use to check if the service is up. Valid options are "tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3",
+"imap", "rdp", "ldap" or "none".
+
+ String
+
+
+ CheckHost
+
+ The address to use to check if the service is up.
+
+ String
+
+
+ CheckPattern
+
+ A regular expression string that can be validate on a 200 reply to determine if the service is up.
+Specify an empty value to unset CheckPattern.
+
+ String
+
+
+ CheckUrl
+
+ The URL to check if the service is up. The maximum character length for the CheckUrl parameter value is 126 characters.
+
+ String
+
+
+ CheckHeaders
+
+ Specify up to four additional headers/fields which will be sent with each health check request. Separate the pairs with a pipe, for example;
+Host:xyc|UserAgent:prq.
+
+ String
+
+
+ LdapEndpoint
+
+ Specify the LDAP endpoint to use for health checks (if LDAP is selected as the CheckType). If LDAP is selected as the health check protocol, the server IP
+address (or addresses) and ports from the LDAP endpoint configuration will be used instead of the Real Server IP address and port.
+
+ String
+
+
+ MatchLen
+
+ This parameter is only relevant when the CheckType is set to "bdata". Specify the number of bytes to find the CheckPattern within.
+
+ String
+
+
+ CheckUse1_1
+
+ Specifies that the health checker use HTTP/1.1 instead of HTTP/1.0.
+
+ Int32
+
+
+ CheckPort
+
+ The port to use to check if the service is up.
+Specify 0 to unset CheckPort.
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+ Enables or disables Enhanced Health Check Options for the Virtual Service.
+
+ Boolean
+
+
+ RsMinimum
+
+ Specifies the minimum number of Real Servers that are required to be active for the Virtual Service to be considered up.
+
+ Int32
+
+
+ Cookie
+
+ Specifies a cookie name. This parameter is only relevant when the persistence mode is set to "cookie", "active-cookie", "cookie-src" or "active-cook-src".
+
+ String
+
+
+ Enable
+
+ Enables or disables the Virtual Service.
+
+ Boolean
+
+
+ ErrorCode
+
+ If no Real Servers are available, the LoadMaster can terminate the connection with an HTTP error code. Specify the error code number in this parameter.
+
+ String
+
+
+ ErrorUrl
+
+ When no Real Servers are available and an error response is sent back to the client, a redirect URL can also be specified.
+
+ String
+
+
+ PortFollow
+
+ This parameter was depreciated as of 7.1-24. For LoadMasters with version 7.1-24 or higher, use the FollowVSID parameter to set port following.
+
+ Int32
+
+
+ ForceL7
+
+ Enabling ForceL7 means the Virtual Service runs at Layer 7 and not Layer 4. This may be needed for various reasons, including that only Layer 7 services can be non-transparent.
+
+ Boolean
+
+
+ Idletime
+
+ Specifies the length of time (in seconds) that a connection may remain idle before it is closed. The range for this parameter is 0 to 86400. 0 means indefinitely.
+
+ Int32
+
+
+ LocalBindAddresses
+
+ Specifies a space-separated list of IP addresses. This corresponds to the Alternate Source Address in the Advanced Properties section of the WUI. Allow connections scaling over 64K Connections needs to be enabled in L7 Configuration for this feature to work.
+
+ String[]
+
+
+ VSType
+
+ Specifies the type of service being load balanced:
+gen - Generic
+http - HTTP/HTTPS
+ts - Remote Terminal
+tls – STARTTLS protocols
+log – Log Insight
+
+ String
+
+
+ Nickname
+
+ Specifies the "friendly" name of the service. In addition to the usual alphanumeric characters, the following "special" characters can be used as part of the Service Name:
+. @ - _
+ However, there must be at least one alphanumeric character before the special characters.
+
+ String
+
+
+ Persist
+
+ Specifies the type of persistence (stickiness) to be used for this Virtual Service.
+
+The following persistence values are supported: ssl, cookie, active-cookie, cookie-src, active-cook-src, cookie-hash, cookie-hash-src, url, query-hash, host, header, super, super-src, src, rdp, rdp-src, rdp-sb, rdp-sb-src and none.
+
+Note: If setting the persistence mode to an option that requires a cookie (or query-hash), the cookie parameter must also be set.
+
+ String
+
+
+ PersistTimeout
+
+ The length of time (in seconds) after the last connection that the LoadMaster will remember the persistence information. Timeout values are rounded down to an even number of minutes. Setting a value that is not a number of whole minutes results in the excess being ignored. Setting a value to less than 60 seconds results in a value of 0 being set, which disables persistency.
+
+ Int32
+
+
+ QueryTag
+
+ This is the query tag to be matched if the Persist type is set to query-hash.
+
+ String
+
+
+ Schedule
+
+ Specifies the type of scheduling of new connections to Real Servers that is to be performed. The following values are supported:
+rr = round robin
+wrr = weighted round robin
+lc = least connection
+wlc = weighted least connection
+fixed = fixed weighting
+adaptive = resource based (adaptive)
+sh = source IP hash
+dl = weighted response time
+sdn-adaptive = resource based (SDN adaptive)
+
+ String
+
+
+ ServerInit
+
+ Specifies one of the following values:
+0 - Normal Protocols
+1 - SMTP
+2 - SSH
+3 - Other Server Initiating
+4 - IMAP4
+5 - MySQL
+6 - POP3
+
+ Int16
+
+
+ StandByAddr
+
+ Specifies the IP address of the "Sorry" server that is to be used when no other Real Servers are available. This server will not be health checked and is assumed to be always available.
+
+ String
+
+
+ StandByPort
+
+ Specifies the port of the "Sorry" server.
+
+ String
+
+
+ TransactionLimit
+
+ This is a legacy parameter that should no longer be used. It was used previously when the SSL proxy was limited to 6K total connections. The transaction limit was used to limit one Virtual Service to only handle so many connections out of this 6K. On newer systems, where the limit is greater than 64K - this feature is no longer required.
+
+ Int32
+
+
+ Transparent
+
+ When using Layer 7, when this is enabled - the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent which means that the connections at the Real Server appear to come from the LoadMaster.
+
+ Boolean
+
+
+ SubnetOriginating
+
+ When transparency is not enabled, the source IP address of connections to the Real Servers is that of the Virtual Service. When transparency is enabled, the source IP address will be the IP address that is initiating connection to the Virtual Service. If the Real Server is on a subnet, and the Subnet Originating Requests option is enabled, then the subnet address of the LoadMaster will be used as the source IP address.
+
+ Boolean
+
+
+ QoS
+
+ Specifies the Quality of Service. The following values are supported:
+0 - Normal-Service
+1 - Minimize-Cost
+2 - Maximize-Reliability
+4 - Maximize-Throughput
+8 - Minimize-Delay
+
+ String
+
+
+ CheckUseGet
+
+ When accessing the health check URL - the system can use the HEAD, the GET or the POST method:
+0 - HEAD
+1 - GET
+2 - POST
+
+ Int32
+
+
+ Verify
+
+ Specifies a verification bitmask. The valid values of the Verify parameter are as follows:
+Bit 0: set this to 1 to enable detection intrusion.
+Note: Bit 0 needs to be set to 1 in order to use the other two bits.
+Bit 1: Determines whether to reject or drop a connection. Setting it to 1 will drop the connection.
+Bit 2: Determines whether to give just warnings on bad requests or also on malicious (but not invalid) requests.
+The following table lists the valid integers and the values they set the fields to when used:
+Integer Detect Malicious Requests Intrusion Handling Warnings Checkbox
+0 Disabled N/A N/A
+1 Enabled Drop Connection Unchecked
+2 Enabled Send Reject Unchecked
+3 Enabled Send Reject Unchecked
+4 Enabled Drop Connection Checked
+5 Enabled Drop Connection Checked
+6 Enabled Send Reject Checked
+7 Enabled Send Reject Checked
+
+ Int16
+
+
+ ExtraHdrKey
+
+ Specifies the key for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ ExtraHdrValue
+
+ Specifies the value for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ AllowedHosts
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual hosts that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedDirectories
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual directories that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedGroups
+
+ Specifies the groups that are allowed to access this Virtual Service.
+
+ String
+
+
+ GroupSIDs
+
+ Specify the group SID(s) that are allowed to access this Virtual Service. Multiple SIDs can be separating them with a semicolon.
+
+ String
+
+
+ SteeringGroups
+
+ Enter the Active Directory group names that will be used for steering traffic. Use a semi-colon to separate multiple group names. The steering group index number corresponds to the location of the group in this list.
+
+ String
+
+
+ IncludeNestedGroups
+
+ Specify if nested groups should be included in the authentication attempt.
+
+ Boolean
+
+
+ DisplayPubPriv
+
+ Display the public/private option on the login page. Based on the option the user selects on the login form, the session timeout value will be set to the
+value specified for either the public or private timeout.
+
+ Boolean
+
+
+ DisablePasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ Boolean
+
+
+ Domain
+
+ Specifies the Single Sign On (SSO) domain in which this Virtual Service will operate.
+
+ String
+
+
+ AltDomains
+
+ Specifies alternative domains to be assigned to a Virtual Service when configuring multi-domain authentication. To specify multiple alternative domains use a space-separated list.
+
+ String
+
+
+ Logoff
+
+ This parameter is only relevant when ESP is enabled and when the Client Authentication Mode is set to Form Based. Specify the string that the LoadMaster should use to detect a logout event. Multiple logoff strings can be specified by using a space-separated list.
+
+If the URL to be matched contains sub-directories before the specified string, the Logoff String will not be matched. Therefore the LoadMaster will not log the user off.
+
+ String
+
+
+ ESPLogs
+
+ Enable ESP logging. Valid values are below:
+0 - Logging off
+1 - User Access
+2 - Security
+3 - User Access and Security
+4 - Connection
+5 - User Access and Connection
+6 - Security and connection
+7 - User Access, Security and Connection
+
+Note: The only valid values for SMTP services are 0 and 4. For SMTP services, security issues are always logged. Nothing is logged for user access because
+there are no logins.
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+ Specifies all the permitted domains that are allowed to be received by this Virtual Service.
+
+ String
+
+
+ ESPEnabled
+
+ Specifies whether to enable or disable the Edge Security Pack (ESP) features.
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+ This is relevant when using form-based or LDAP authentication. Specify the URL that users can use to change their password. If a user’s password has expired, or if they must reset their password, this URL and the UserPwdChangeMsg is displayed on the login form.
+This URL must be put into the exception list for authentication, if required.
+
+ String
+
+
+ UserPwdChangeMsg
+
+ This parameter is only relevant if the UserPwdChangeURL parameter is set. Specify the text to be displayed on the login form when the user must reset their password.
+
+ String
+
+
+ SecurityHeaderOptions
+
+
+
+ Int16
+
+
+ InputAuthMode
+
+ Specifies the client authentication method to be used:
+0 - Delegate to Server
+1 - Basic Authentication
+2 - Form Based
+3 - KCD
+4 - Client Certificate
+5 - NTLM
+
+ Int16
+
+
+ OutConf
+
+
+
+ String
+
+
+ OutputAuthMode
+
+ Specifies the server authentication mode to be used:
+0 - None
+1 - Basic Authentication
+2 - KCD
+
+ Int16
+
+
+ StartTLSMode
+
+ 0 - HTTP/HTTPS (the Service Type needs to be set to HTTP/HTTPS for this to work)
+ The Virtual Service Type must be set to STARTTLS for the remaining values to be set:
+1 - SMTP (STARTTLS if requested)
+2 - SMTP (STARTTLS always)
+3 - FTP
+4 - IMAP
+6 - POP3
+
+ Int16
+
+
+ MultiConnect
+
+ Enabling this option permits the LoadMaster to manage connection handling between the LoadMaster and the Real Servers. Requests from multiple clients will be
+sent over the same TCP connection.
+Multiplexing only works for simple HTTP GET operations. This parameter cannot be enabled in certain situations, for example if WAF, ESP or SSL Acceleration is
+enabled.
+
+ Boolean
+
+
+ SingleSignOnDir
+
+ This parameter relates to the SSO Image Set drop-down in the ESP Options section of the modify Virtual Service screen. Specify the name of the image set to be used for the login screen. If no image set is specified, the default Exchange image set will be used.
+
+ String
+
+
+ OCSPVerify
+
+ Specifies whether to verify (via Online Certificate Status Protocol (OCSP)) that the client certificate is valid.
+
+ String
+
+
+ FollowVSID
+
+ Specifies the ID of the Virtual Service to follow.
+
+ Int32
+
+
+ TlsType
+
+ Specify which of the following protocols to support; SSLv3, TLS1.0, TLS1.1 or TLS1.2. By default, TLS1.1 and TLS1.2 are enabled. The protocols can be enabled
+and disabled using a bitmask value. Refer to the table below to find out what number corresponds to which settings.
+
+Number.... SSLv3.... TLS1.0.... TLS1.1.... TLS1.2
+0......... Enabled.. Enabled... Enabled... Enabled
+1......... Disabled. Enabled... Enabled... Enabled
+2......... Enabled.. Disabled.. Enabled... Enabled
+3......... Disabled. Disabled.. Enabled... Enabled
+4......... Enabled.. Enabled... Disabled.. Enabled
+5......... Disabled. Enabled... Disabled.. Enabled
+6......... Enabled.. Disabled.. Disabled.. Enabled
+7......... Disabled. Disabled.. Disabled.. Enabled
+8......... Enabled.. Enabled... Enabled... Disabled
+9......... Disabled. Enabled... Enabled... Disabled
+10........ Enabled.. Disabled.. Enabled... Disabled
+11........ Disabled. Disabled.. Enabled... Disabled
+12........ Enabled.. Enabled... Disabled.. Disabled
+13........ Disabled. Enabled... Disabled.. Disabled
+14........ Enabled.. Disabled.. Disabled.. Disabled
+
+ Int32
+
+
+ CheckPostData
+
+ This parameter is only relevant if the HTTP Method is set to POST. When using the POST method, up to 2047 characters of POST data can be sent to the server.
+
+ String
+
+
+ CheckCodes
+
+ A space-separated list of HTTP status codes that should be treated as successful when received from the Real Server.
+Range: 300-599
+
+ String
+
+
+ PreProcPrecedence
+
+ This parameter should be used in conjunction with PreProcPrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change. This parameter relates to Content Matching Rules only.
+
+ String
+
+
+ PreProcPrecedencePos
+
+ This parameter, in conjunction with the PreProcPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second. This parameter relates to the Content Matching Rules only.
+
+ Int16
+
+
+ RequestPrecedence
+
+ This parameter should be used in conjunction with RequestPrecedencePos. This parameter is used to specify the name of the existing request rule whose position you wish to change.
+ This parameter relates to the following rule types:
+Content Matching
+Add Header
+Delete Header
+Replace Header
+Modify URL
+
+ String
+
+
+ RequestPrecedencePos
+
+ This parameter, in conjunction with the RequestPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ ResponsePrecedence
+
+ This parameter should be used in conjunction with ResponsePrecedencePos. This parameter is used to specify the name of the existing response rule whose position you wish to change.
+
+This parameter relates to the following rule types:
+Content Matching
+Add Header
+Delete Header
+Replace Header
+
+ String
+
+
+ ResponsePrecedencePos
+
+ This parameter, in conjunction with the ResponsePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ RsRulePrecedence
+
+ This parameter should be used in conjunction with RSRulePrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change.
+
+ String
+
+
+ RsRulePrecedencePos
+
+ This parameter, in conjunction with the RSRulePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ NeedHostName
+
+ When this parameter is enabled, the hostname is always required to be sent in the TLS client hello message. If it is not sent, the connection is dropped.
+Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ CopyHdrFrom
+
+ This is the name of the source header field to copy into the new header field before the request is sent to the Real Servers.
+
+ String
+
+
+ CopyHdrTo
+
+ This parameter is used in conjunction with the CopyHdrFrom parameter.
+The name of the header field into which the source header is to be copied.
+
+ String
+
+
+ ServerFbaPath
+
+ Only relevant when using form-based authentication as the Server Authentication Mode (OutputAuthMode). Set the authentication path for server-side Form Based Authentication (FBA). When used in Exchange environments, this does not need to be set.
+
+ String
+
+
+ ServerFbaPost
+
+ Only relevant when using form-based authentication as the Server Athentication Mode (OutputAuthMode). Set the format string used to generate POST body for server side FBA. The value must be base64-encoded.
+When used in Exchange environments, this does not need to be set.
+
+ String
+
+
+ Intercept
+
+ Enable or disable the Web Application Firewall (WAF) for this Virtual Service.
+
+ Boolean
+
+
+ InterceptOpts
+
+ Specifies Web Application Firewall (WAF) options for this Virtual Service.
+The AFP InterceptOpts parameter is a special parameter – it can be used to set the value for multiple fields, rather than just one field as with most other parameters. The InterceptOpts parameter allows the specification of most of the fields in the WAF Options section of the Virtual Service modify screen in the LoadMaster WUI.
+To enable WAF, set the Intercept parameter to 1.
+The names of the specific WUI fields that the InterceptOpts parameter is related to, are listed in the table below.
+One or more field values can be set in one command. Multiple values can be set in the one command by separating the values with a semi-colon.
+The values that are related to the same WUI option are mutually exclusive. For example, you cannot set Basic Operation to both opnormal and opblock.
+Value Related WUI Option Default Meaning
+opnormal Default Operation Audit Only Set the Basic Operation to Audit Only
+opblock Default Operation Audit Only Set the Basic Operation to Block Mode
+auditnone Audit mode No Audit Set the Audit mode to No Audit. No data is logged.
+auditrelevant Audit mode No Audit Set the Audit mode to Audit Relevant. Logs data which is of a warning level and higher.
+auditall Audit mode No Audit Set the Audit mode to Audit All. Logs all data through the Virtual Service.
+The Audit All option is not recommended for use in normal operation. Audit All should only be used when troubleshooting a specific problem.
+reqdataenable Inspect HTML POST Request Content Disabled Enable the Inspect HTML POST Request Content option
+reqdatadisable Inspect HTML POST Request Content Disabled Disable the Inspect HTML POST Request Content option
+resdataenable Process Response Data Disabled Enable the Process Response Data option
+resdatadisable Process Response Data Disabled Disable the Process Response Data option
+jsondisable Disable JSON Parser Disabled Disable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+jsonenable Disable JSON Parser Disabled Enable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmldisable Disable XML Parser Disabled Disable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmlenable Disable XML Parser Disabled Enable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+
+ String
+
+
+ InterceptRules
+
+ Specifies Web Application Firewall (WAF) rules for this Virtual Service.
+
+ String
+
+
+ AlertThreshold
+
+ Specifies Web Application Firewall (WAF) alert threshold for this Virtual Service
+
+ Int32
+
+
+ Weight
+
+ Specify the weight of this SubVS.
+
+ Int32
+
+
+ Limit
+
+ The maximum number of connections that can be sent to this SubVS before it is taken out of rotation from the main Virtual Service (the maximum limit is 100000).
+
+ Int64
+
+
+ Critical
+
+ Indicate that this SubVS is required for the Virtual Service to be available.
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdcSubVirtualService
+
+ SubVSIndex
+
+ The ID number of the SubVS to configure.
+
+ Int32
+
+
+ AddVia
+
+ Specifies which headers should be added to the HTTP stream. The parameter takes the following arguments:
+ 0 = Legacy Operation
+ 1 = X-Forwarded-For
+ 2 = None
+ 3 = X-Client-Side
+ 4 = X-Client-Side No Via
+ 5 = X-Forwarded-For No Via
+ 6 = Via Only
+
+ Int16
+
+
+ CheckType
+
+ Specifies the protocol to use to check if the service is up. Valid options are "tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3",
+"imap", "rdp", "ldap" or "none".
+
+ String
+
+
+ CheckHost
+
+ The address to use to check if the service is up.
+
+ String
+
+
+ CheckPattern
+
+ A regular expression string that can be validate on a 200 reply to determine if the service is up.
+Specify an empty value to unset CheckPattern.
+
+ String
+
+
+ CheckUrl
+
+ The URL to check if the service is up. The maximum character length for the CheckUrl parameter value is 126 characters.
+
+ String
+
+
+ CheckHeaders
+
+ Specify up to four additional headers/fields which will be sent with each health check request. Separate the pairs with a pipe, for example;
+Host:xyc|UserAgent:prq.
+
+ String
+
+
+ LdapEndpoint
+
+ Specify the LDAP endpoint to use for health checks (if LDAP is selected as the CheckType). If LDAP is selected as the health check protocol, the server IP
+address (or addresses) and ports from the LDAP endpoint configuration will be used instead of the Real Server IP address and port.
+
+ String
+
+
+ MatchLen
+
+ This parameter is only relevant when the CheckType is set to "bdata". Specify the number of bytes to find the CheckPattern within.
+
+ String
+
+
+ CheckUse1_1
+
+ Specifies that the health checker use HTTP/1.1 instead of HTTP/1.0.
+
+ Int32
+
+
+ CheckPort
+
+ The port to use to check if the service is up.
+Specify 0 to unset CheckPort.
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+ Enables or disables Enhanced Health Check Options for the Virtual Service.
+
+ Boolean
+
+
+ RsMinimum
+
+ Specifies the minimum number of Real Servers that are required to be active for the Virtual Service to be considered up.
+
+ Int32
+
+
+ Cookie
+
+ Specifies a cookie name. This parameter is only relevant when the persistence mode is set to "cookie", "active-cookie", "cookie-src" or "active-cook-src".
+
+ String
+
+
+ Enable
+
+ Enables or disables the Virtual Service.
+
+ Boolean
+
+
+ ErrorCode
+
+ If no Real Servers are available, the LoadMaster can terminate the connection with an HTTP error code. Specify the error code number in this parameter.
+
+ String
+
+
+ ErrorUrl
+
+ When no Real Servers are available and an error response is sent back to the client, a redirect URL can also be specified.
+
+ String
+
+
+ PortFollow
+
+ This parameter was depreciated as of 7.1-24. For LoadMasters with version 7.1-24 or higher, use the FollowVSID parameter to set port following.
+
+ Int32
+
+
+ ForceL7
+
+ Enabling ForceL7 means the Virtual Service runs at Layer 7 and not Layer 4. This may be needed for various reasons, including that only Layer 7 services can be non-transparent.
+
+ Boolean
+
+
+ Idletime
+
+ Specifies the length of time (in seconds) that a connection may remain idle before it is closed. The range for this parameter is 0 to 86400. 0 means indefinitely.
+
+ Int32
+
+
+ LocalBindAddresses
+
+ Specifies a space-separated list of IP addresses. This corresponds to the Alternate Source Address in the Advanced Properties section of the WUI. Allow connections scaling over 64K Connections needs to be enabled in L7 Configuration for this feature to work.
+
+ String[]
+
+
+ VSType
+
+ Specifies the type of service being load balanced:
+gen - Generic
+http - HTTP/HTTPS
+ts - Remote Terminal
+tls – STARTTLS protocols
+log – Log Insight
+
+ String
+
+
+ Nickname
+
+ Specifies the "friendly" name of the service. In addition to the usual alphanumeric characters, the following "special" characters can be used as part of the Service Name:
+. @ - _
+ However, there must be at least one alphanumeric character before the special characters.
+
+ String
+
+
+ Persist
+
+ Specifies the type of persistence (stickiness) to be used for this Virtual Service.
+
+The following persistence values are supported: ssl, cookie, active-cookie, cookie-src, active-cook-src, cookie-hash, cookie-hash-src, url, query-hash, host, header, super, super-src, src, rdp, rdp-src, rdp-sb, rdp-sb-src and none.
+
+Note: If setting the persistence mode to an option that requires a cookie (or query-hash), the cookie parameter must also be set.
+
+ String
+
+
+ PersistTimeout
+
+ The length of time (in seconds) after the last connection that the LoadMaster will remember the persistence information. Timeout values are rounded down to an even number of minutes. Setting a value that is not a number of whole minutes results in the excess being ignored. Setting a value to less than 60 seconds results in a value of 0 being set, which disables persistency.
+
+ Int32
+
+
+ QueryTag
+
+ This is the query tag to be matched if the Persist type is set to query-hash.
+
+ String
+
+
+ Schedule
+
+ Specifies the type of scheduling of new connections to Real Servers that is to be performed. The following values are supported:
+rr = round robin
+wrr = weighted round robin
+lc = least connection
+wlc = weighted least connection
+fixed = fixed weighting
+adaptive = resource based (adaptive)
+sh = source IP hash
+dl = weighted response time
+sdn-adaptive = resource based (SDN adaptive)
+
+ String
+
+
+ ServerInit
+
+ Specifies one of the following values:
+0 - Normal Protocols
+1 - SMTP
+2 - SSH
+3 - Other Server Initiating
+4 - IMAP4
+5 - MySQL
+6 - POP3
+
+ Int16
+
+
+ StandByAddr
+
+ Specifies the IP address of the "Sorry" server that is to be used when no other Real Servers are available. This server will not be health checked and is assumed to be always available.
+
+ String
+
+
+ StandByPort
+
+ Specifies the port of the "Sorry" server.
+
+ String
+
+
+ TransactionLimit
+
+ This is a legacy parameter that should no longer be used. It was used previously when the SSL proxy was limited to 6K total connections. The transaction limit was used to limit one Virtual Service to only handle so many connections out of this 6K. On newer systems, where the limit is greater than 64K - this feature is no longer required.
+
+ Int32
+
+
+ Transparent
+
+ When using Layer 7, when this is enabled - the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent which means that the connections at the Real Server appear to come from the LoadMaster.
+
+ Boolean
+
+
+ SubnetOriginating
+
+ When transparency is not enabled, the source IP address of connections to the Real Servers is that of the Virtual Service. When transparency is enabled, the source IP address will be the IP address that is initiating connection to the Virtual Service. If the Real Server is on a subnet, and the Subnet Originating Requests option is enabled, then the subnet address of the LoadMaster will be used as the source IP address.
+
+ Boolean
+
+
+ QoS
+
+ Specifies the Quality of Service. The following values are supported:
+0 - Normal-Service
+1 - Minimize-Cost
+2 - Maximize-Reliability
+4 - Maximize-Throughput
+8 - Minimize-Delay
+
+ String
+
+
+ CheckUseGet
+
+ When accessing the health check URL - the system can use the HEAD, the GET or the POST method:
+0 - HEAD
+1 - GET
+2 - POST
+
+ Int32
+
+
+ Verify
+
+ Specifies a verification bitmask. The valid values of the Verify parameter are as follows:
+Bit 0: set this to 1 to enable detection intrusion.
+Note: Bit 0 needs to be set to 1 in order to use the other two bits.
+Bit 1: Determines whether to reject or drop a connection. Setting it to 1 will drop the connection.
+Bit 2: Determines whether to give just warnings on bad requests or also on malicious (but not invalid) requests.
+The following table lists the valid integers and the values they set the fields to when used:
+Integer Detect Malicious Requests Intrusion Handling Warnings Checkbox
+0 Disabled N/A N/A
+1 Enabled Drop Connection Unchecked
+2 Enabled Send Reject Unchecked
+3 Enabled Send Reject Unchecked
+4 Enabled Drop Connection Checked
+5 Enabled Drop Connection Checked
+6 Enabled Send Reject Checked
+7 Enabled Send Reject Checked
+
+ Int16
+
+
+ ExtraHdrKey
+
+ Specifies the key for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ ExtraHdrValue
+
+ Specifies the value for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ AllowedHosts
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual hosts that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedDirectories
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual directories that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedGroups
+
+ Specifies the groups that are allowed to access this Virtual Service.
+
+ String
+
+
+ GroupSIDs
+
+ Specify the group SID(s) that are allowed to access this Virtual Service. Multiple SIDs can be separating them with a semicolon.
+
+ String
+
+
+ SteeringGroups
+
+ Enter the Active Directory group names that will be used for steering traffic. Use a semi-colon to separate multiple group names. The steering group index number corresponds to the location of the group in this list.
+
+ String
+
+
+ IncludeNestedGroups
+
+ Specify if nested groups should be included in the authentication attempt.
+
+ Boolean
+
+
+ DisplayPubPriv
+
+ Display the public/private option on the login page. Based on the option the user selects on the login form, the session timeout value will be set to the
+value specified for either the public or private timeout.
+
+ Boolean
+
+
+ DisablePasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ Boolean
+
+
+ Domain
+
+ Specifies the Single Sign On (SSO) domain in which this Virtual Service will operate.
+
+ String
+
+
+ AltDomains
+
+ Specifies alternative domains to be assigned to a Virtual Service when configuring multi-domain authentication. To specify multiple alternative domains use a space-separated list.
+
+ String
+
+
+ Logoff
+
+ This parameter is only relevant when ESP is enabled and when the Client Authentication Mode is set to Form Based. Specify the string that the LoadMaster should use to detect a logout event. Multiple logoff strings can be specified by using a space-separated list.
+
+If the URL to be matched contains sub-directories before the specified string, the Logoff String will not be matched. Therefore the LoadMaster will not log the user off.
+
+ String
+
+
+ ESPLogs
+
+ Enable ESP logging. Valid values are below:
+0 - Logging off
+1 - User Access
+2 - Security
+3 - User Access and Security
+4 - Connection
+5 - User Access and Connection
+6 - Security and connection
+7 - User Access, Security and Connection
+
+Note: The only valid values for SMTP services are 0 and 4. For SMTP services, security issues are always logged. Nothing is logged for user access because
+there are no logins.
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+ Specifies all the permitted domains that are allowed to be received by this Virtual Service.
+
+ String
+
+
+ ESPEnabled
+
+ Specifies whether to enable or disable the Edge Security Pack (ESP) features.
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+ This is relevant when using form-based or LDAP authentication. Specify the URL that users can use to change their password. If a user’s password has expired, or if they must reset their password, this URL and the UserPwdChangeMsg is displayed on the login form.
+This URL must be put into the exception list for authentication, if required.
+
+ String
+
+
+ UserPwdChangeMsg
+
+ This parameter is only relevant if the UserPwdChangeURL parameter is set. Specify the text to be displayed on the login form when the user must reset their password.
+
+ String
+
+
+ SecurityHeaderOptions
+
+
+
+ Int16
+
+
+ InputAuthMode
+
+ Specifies the client authentication method to be used:
+0 - Delegate to Server
+1 - Basic Authentication
+2 - Form Based
+3 - KCD
+4 - Client Certificate
+5 - NTLM
+
+ Int16
+
+
+ OutConf
+
+
+
+ String
+
+
+ OutputAuthMode
+
+ Specifies the server authentication mode to be used:
+0 - None
+1 - Basic Authentication
+2 - KCD
+
+ Int16
+
+
+ StartTLSMode
+
+ 0 - HTTP/HTTPS (the Service Type needs to be set to HTTP/HTTPS for this to work)
+ The Virtual Service Type must be set to STARTTLS for the remaining values to be set:
+1 - SMTP (STARTTLS if requested)
+2 - SMTP (STARTTLS always)
+3 - FTP
+4 - IMAP
+6 - POP3
+
+ Int16
+
+
+ MultiConnect
+
+ Enabling this option permits the LoadMaster to manage connection handling between the LoadMaster and the Real Servers. Requests from multiple clients will be
+sent over the same TCP connection.
+Multiplexing only works for simple HTTP GET operations. This parameter cannot be enabled in certain situations, for example if WAF, ESP or SSL Acceleration is
+enabled.
+
+ Boolean
+
+
+ SingleSignOnDir
+
+ This parameter relates to the SSO Image Set drop-down in the ESP Options section of the modify Virtual Service screen. Specify the name of the image set to be used for the login screen. If no image set is specified, the default Exchange image set will be used.
+
+ String
+
+
+ OCSPVerify
+
+ Specifies whether to verify (via Online Certificate Status Protocol (OCSP)) that the client certificate is valid.
+
+ String
+
+
+ FollowVSID
+
+ Specifies the ID of the Virtual Service to follow.
+
+ Int32
+
+
+ TlsType
+
+ Specify which of the following protocols to support; SSLv3, TLS1.0, TLS1.1 or TLS1.2. By default, TLS1.1 and TLS1.2 are enabled. The protocols can be enabled
+and disabled using a bitmask value. Refer to the table below to find out what number corresponds to which settings.
+
+Number.... SSLv3.... TLS1.0.... TLS1.1.... TLS1.2
+0......... Enabled.. Enabled... Enabled... Enabled
+1......... Disabled. Enabled... Enabled... Enabled
+2......... Enabled.. Disabled.. Enabled... Enabled
+3......... Disabled. Disabled.. Enabled... Enabled
+4......... Enabled.. Enabled... Disabled.. Enabled
+5......... Disabled. Enabled... Disabled.. Enabled
+6......... Enabled.. Disabled.. Disabled.. Enabled
+7......... Disabled. Disabled.. Disabled.. Enabled
+8......... Enabled.. Enabled... Enabled... Disabled
+9......... Disabled. Enabled... Enabled... Disabled
+10........ Enabled.. Disabled.. Enabled... Disabled
+11........ Disabled. Disabled.. Enabled... Disabled
+12........ Enabled.. Enabled... Disabled.. Disabled
+13........ Disabled. Enabled... Disabled.. Disabled
+14........ Enabled.. Disabled.. Disabled.. Disabled
+
+ Int32
+
+
+ CheckPostData
+
+ This parameter is only relevant if the HTTP Method is set to POST. When using the POST method, up to 2047 characters of POST data can be sent to the server.
+
+ String
+
+
+ CheckCodes
+
+ A space-separated list of HTTP status codes that should be treated as successful when received from the Real Server.
+Range: 300-599
+
+ String
+
+
+ PreProcPrecedence
+
+ This parameter should be used in conjunction with PreProcPrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change. This parameter relates to Content Matching Rules only.
+
+ String
+
+
+ PreProcPrecedencePos
+
+ This parameter, in conjunction with the PreProcPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second. This parameter relates to the Content Matching Rules only.
+
+ Int16
+
+
+ RequestPrecedence
+
+ This parameter should be used in conjunction with RequestPrecedencePos. This parameter is used to specify the name of the existing request rule whose position you wish to change.
+ This parameter relates to the following rule types:
+Content Matching
+Add Header
+Delete Header
+Replace Header
+Modify URL
+
+ String
+
+
+ RequestPrecedencePos
+
+ This parameter, in conjunction with the RequestPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ ResponsePrecedence
+
+ This parameter should be used in conjunction with ResponsePrecedencePos. This parameter is used to specify the name of the existing response rule whose position you wish to change.
+
+This parameter relates to the following rule types:
+Content Matching
+Add Header
+Delete Header
+Replace Header
+
+ String
+
+
+ ResponsePrecedencePos
+
+ This parameter, in conjunction with the ResponsePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ RsRulePrecedence
+
+ This parameter should be used in conjunction with RSRulePrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change.
+
+ String
+
+
+ RsRulePrecedencePos
+
+ This parameter, in conjunction with the RSRulePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ NeedHostName
+
+ When this parameter is enabled, the hostname is always required to be sent in the TLS client hello message. If it is not sent, the connection is dropped.
+Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ CopyHdrFrom
+
+ This is the name of the source header field to copy into the new header field before the request is sent to the Real Servers.
+
+ String
+
+
+ CopyHdrTo
+
+ This parameter is used in conjunction with the CopyHdrFrom parameter.
+The name of the header field into which the source header is to be copied.
+
+ String
+
+
+ ServerFbaPath
+
+ Only relevant when using form-based authentication as the Server Authentication Mode (OutputAuthMode). Set the authentication path for server-side Form Based Authentication (FBA). When used in Exchange environments, this does not need to be set.
+
+ String
+
+
+ ServerFbaPost
+
+ Only relevant when using form-based authentication as the Server Athentication Mode (OutputAuthMode). Set the format string used to generate POST body for server side FBA. The value must be base64-encoded.
+When used in Exchange environments, this does not need to be set.
+
+ String
+
+
+ Intercept
+
+ Enable or disable the Web Application Firewall (WAF) for this Virtual Service.
+
+ Boolean
+
+
+ InterceptOpts
+
+ Specifies Web Application Firewall (WAF) options for this Virtual Service.
+The AFP InterceptOpts parameter is a special parameter – it can be used to set the value for multiple fields, rather than just one field as with most other parameters. The InterceptOpts parameter allows the specification of most of the fields in the WAF Options section of the Virtual Service modify screen in the LoadMaster WUI.
+To enable WAF, set the Intercept parameter to 1.
+The names of the specific WUI fields that the InterceptOpts parameter is related to, are listed in the table below.
+One or more field values can be set in one command. Multiple values can be set in the one command by separating the values with a semi-colon.
+The values that are related to the same WUI option are mutually exclusive. For example, you cannot set Basic Operation to both opnormal and opblock.
+Value Related WUI Option Default Meaning
+opnormal Default Operation Audit Only Set the Basic Operation to Audit Only
+opblock Default Operation Audit Only Set the Basic Operation to Block Mode
+auditnone Audit mode No Audit Set the Audit mode to No Audit. No data is logged.
+auditrelevant Audit mode No Audit Set the Audit mode to Audit Relevant. Logs data which is of a warning level and higher.
+auditall Audit mode No Audit Set the Audit mode to Audit All. Logs all data through the Virtual Service.
+The Audit All option is not recommended for use in normal operation. Audit All should only be used when troubleshooting a specific problem.
+reqdataenable Inspect HTML POST Request Content Disabled Enable the Inspect HTML POST Request Content option
+reqdatadisable Inspect HTML POST Request Content Disabled Disable the Inspect HTML POST Request Content option
+resdataenable Process Response Data Disabled Enable the Process Response Data option
+resdatadisable Process Response Data Disabled Disable the Process Response Data option
+jsondisable Disable JSON Parser Disabled Disable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+jsonenable Disable JSON Parser Disabled Enable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmldisable Disable XML Parser Disabled Disable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmlenable Disable XML Parser Disabled Enable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+
+ String
+
+
+ InterceptRules
+
+ Specifies Web Application Firewall (WAF) rules for this Virtual Service.
+
+ String
+
+
+ AlertThreshold
+
+ Specifies Web Application Firewall (WAF) alert threshold for this Virtual Service
+
+ Int32
+
+
+ Weight
+
+ Specify the weight of this SubVS.
+
+ Int32
+
+
+ Limit
+
+ The maximum number of connections that can be sent to this SubVS before it is taken out of rotation from the main Virtual Service (the maximum limit is 100000).
+
+ Int64
+
+
+ Critical
+
+ Indicate that this SubVS is required for the Virtual Service to be available.
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SubVSIndex
+
+ The ID number of the SubVS to configure.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ AddVia
+
+ Specifies which headers should be added to the HTTP stream. The parameter takes the following arguments:
+ 0 = Legacy Operation
+ 1 = X-Forwarded-For
+ 2 = None
+ 3 = X-Client-Side
+ 4 = X-Client-Side No Via
+ 5 = X-Forwarded-For No Via
+ 6 = Via Only
+
+ Int16
+
+ Int16
+
+
+
+
+
+ CheckType
+
+ Specifies the protocol to use to check if the service is up. Valid options are "tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3",
+"imap", "rdp", "ldap" or "none".
+
+ String
+
+ String
+
+
+
+
+
+ CheckHost
+
+ The address to use to check if the service is up.
+
+ String
+
+ String
+
+
+
+
+
+ CheckPattern
+
+ A regular expression string that can be validate on a 200 reply to determine if the service is up.
+Specify an empty value to unset CheckPattern.
+
+ String
+
+ String
+
+
+
+
+
+ CheckUrl
+
+ The URL to check if the service is up. The maximum character length for the CheckUrl parameter value is 126 characters.
+
+ String
+
+ String
+
+
+
+
+
+ CheckHeaders
+
+ Specify up to four additional headers/fields which will be sent with each health check request. Separate the pairs with a pipe, for example;
+Host:xyc|UserAgent:prq.
+
+ String
+
+ String
+
+
+
+
+
+ LdapEndpoint
+
+ Specify the LDAP endpoint to use for health checks (if LDAP is selected as the CheckType). If LDAP is selected as the health check protocol, the server IP
+address (or addresses) and ports from the LDAP endpoint configuration will be used instead of the Real Server IP address and port.
+
+ String
+
+ String
+
+
+
+
+
+ MatchLen
+
+ This parameter is only relevant when the CheckType is set to "bdata". Specify the number of bytes to find the CheckPattern within.
+
+ String
+
+ String
+
+
+
+
+
+ CheckUse1_1
+
+ Specifies that the health checker use HTTP/1.1 instead of HTTP/1.0.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ CheckPort
+
+ The port to use to check if the service is up.
+Specify 0 to unset CheckPort.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ EnhancedHealthChecks
+
+ Enables or disables Enhanced Health Check Options for the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RsMinimum
+
+ Specifies the minimum number of Real Servers that are required to be active for the Virtual Service to be considered up.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Cookie
+
+ Specifies a cookie name. This parameter is only relevant when the persistence mode is set to "cookie", "active-cookie", "cookie-src" or "active-cook-src".
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+ Enables or disables the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ErrorCode
+
+ If no Real Servers are available, the LoadMaster can terminate the connection with an HTTP error code. Specify the error code number in this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ ErrorUrl
+
+ When no Real Servers are available and an error response is sent back to the client, a redirect URL can also be specified.
+
+ String
+
+ String
+
+
+
+
+
+ PortFollow
+
+ This parameter was depreciated as of 7.1-24. For LoadMasters with version 7.1-24 or higher, use the FollowVSID parameter to set port following.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ForceL7
+
+ Enabling ForceL7 means the Virtual Service runs at Layer 7 and not Layer 4. This may be needed for various reasons, including that only Layer 7 services can be non-transparent.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Idletime
+
+ Specifies the length of time (in seconds) that a connection may remain idle before it is closed. The range for this parameter is 0 to 86400. 0 means indefinitely.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LocalBindAddresses
+
+ Specifies a space-separated list of IP addresses. This corresponds to the Alternate Source Address in the Advanced Properties section of the WUI. Allow connections scaling over 64K Connections needs to be enabled in L7 Configuration for this feature to work.
+
+ String[]
+
+ String[]
+
+
+
+
+
+ VSType
+
+ Specifies the type of service being load balanced:
+gen - Generic
+http - HTTP/HTTPS
+ts - Remote Terminal
+tls – STARTTLS protocols
+log – Log Insight
+
+ String
+
+ String
+
+
+
+
+
+ Nickname
+
+ Specifies the "friendly" name of the service. In addition to the usual alphanumeric characters, the following "special" characters can be used as part of the Service Name:
+. @ - _
+ However, there must be at least one alphanumeric character before the special characters.
+
+ String
+
+ String
+
+
+
+
+
+ Persist
+
+ Specifies the type of persistence (stickiness) to be used for this Virtual Service.
+
+The following persistence values are supported: ssl, cookie, active-cookie, cookie-src, active-cook-src, cookie-hash, cookie-hash-src, url, query-hash, host, header, super, super-src, src, rdp, rdp-src, rdp-sb, rdp-sb-src and none.
+
+Note: If setting the persistence mode to an option that requires a cookie (or query-hash), the cookie parameter must also be set.
+
+ String
+
+ String
+
+
+
+
+
+ PersistTimeout
+
+ The length of time (in seconds) after the last connection that the LoadMaster will remember the persistence information. Timeout values are rounded down to an even number of minutes. Setting a value that is not a number of whole minutes results in the excess being ignored. Setting a value to less than 60 seconds results in a value of 0 being set, which disables persistency.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ QueryTag
+
+ This is the query tag to be matched if the Persist type is set to query-hash.
+
+ String
+
+ String
+
+
+
+
+
+ Schedule
+
+ Specifies the type of scheduling of new connections to Real Servers that is to be performed. The following values are supported:
+rr = round robin
+wrr = weighted round robin
+lc = least connection
+wlc = weighted least connection
+fixed = fixed weighting
+adaptive = resource based (adaptive)
+sh = source IP hash
+dl = weighted response time
+sdn-adaptive = resource based (SDN adaptive)
+
+ String
+
+ String
+
+
+
+
+
+ ServerInit
+
+ Specifies one of the following values:
+0 - Normal Protocols
+1 - SMTP
+2 - SSH
+3 - Other Server Initiating
+4 - IMAP4
+5 - MySQL
+6 - POP3
+
+ Int16
+
+ Int16
+
+
+
+
+
+ StandByAddr
+
+ Specifies the IP address of the "Sorry" server that is to be used when no other Real Servers are available. This server will not be health checked and is assumed to be always available.
+
+ String
+
+ String
+
+
+
+
+
+ StandByPort
+
+ Specifies the port of the "Sorry" server.
+
+ String
+
+ String
+
+
+
+
+
+ TransactionLimit
+
+ This is a legacy parameter that should no longer be used. It was used previously when the SSL proxy was limited to 6K total connections. The transaction limit was used to limit one Virtual Service to only handle so many connections out of this 6K. On newer systems, where the limit is greater than 64K - this feature is no longer required.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Transparent
+
+ When using Layer 7, when this is enabled - the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent which means that the connections at the Real Server appear to come from the LoadMaster.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SubnetOriginating
+
+ When transparency is not enabled, the source IP address of connections to the Real Servers is that of the Virtual Service. When transparency is enabled, the source IP address will be the IP address that is initiating connection to the Virtual Service. If the Real Server is on a subnet, and the Subnet Originating Requests option is enabled, then the subnet address of the LoadMaster will be used as the source IP address.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ QoS
+
+ Specifies the Quality of Service. The following values are supported:
+0 - Normal-Service
+1 - Minimize-Cost
+2 - Maximize-Reliability
+4 - Maximize-Throughput
+8 - Minimize-Delay
+
+ String
+
+ String
+
+
+
+
+
+ CheckUseGet
+
+ When accessing the health check URL - the system can use the HEAD, the GET or the POST method:
+0 - HEAD
+1 - GET
+2 - POST
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Verify
+
+ Specifies a verification bitmask. The valid values of the Verify parameter are as follows:
+Bit 0: set this to 1 to enable detection intrusion.
+Note: Bit 0 needs to be set to 1 in order to use the other two bits.
+Bit 1: Determines whether to reject or drop a connection. Setting it to 1 will drop the connection.
+Bit 2: Determines whether to give just warnings on bad requests or also on malicious (but not invalid) requests.
+The following table lists the valid integers and the values they set the fields to when used:
+Integer Detect Malicious Requests Intrusion Handling Warnings Checkbox
+0 Disabled N/A N/A
+1 Enabled Drop Connection Unchecked
+2 Enabled Send Reject Unchecked
+3 Enabled Send Reject Unchecked
+4 Enabled Drop Connection Checked
+5 Enabled Drop Connection Checked
+6 Enabled Send Reject Checked
+7 Enabled Send Reject Checked
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ExtraHdrKey
+
+ Specifies the key for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+ String
+
+
+
+
+
+ ExtraHdrValue
+
+ Specifies the value for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+ String
+
+
+
+
+
+ AllowedHosts
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual hosts that can be accessed via this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ AllowedDirectories
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual directories that can be accessed via this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ AllowedGroups
+
+ Specifies the groups that are allowed to access this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ GroupSIDs
+
+ Specify the group SID(s) that are allowed to access this Virtual Service. Multiple SIDs can be separating them with a semicolon.
+
+ String
+
+ String
+
+
+
+
+
+ SteeringGroups
+
+ Enter the Active Directory group names that will be used for steering traffic. Use a semi-colon to separate multiple group names. The steering group index number corresponds to the location of the group in this list.
+
+ String
+
+ String
+
+
+
+
+
+ IncludeNestedGroups
+
+ Specify if nested groups should be included in the authentication attempt.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisplayPubPriv
+
+ Display the public/private option on the login page. Based on the option the user selects on the login form, the session timeout value will be set to the
+value specified for either the public or private timeout.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisablePasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Domain
+
+ Specifies the Single Sign On (SSO) domain in which this Virtual Service will operate.
+
+ String
+
+ String
+
+
+
+
+
+ AltDomains
+
+ Specifies alternative domains to be assigned to a Virtual Service when configuring multi-domain authentication. To specify multiple alternative domains use a space-separated list.
+
+ String
+
+ String
+
+
+
+
+
+ Logoff
+
+ This parameter is only relevant when ESP is enabled and when the Client Authentication Mode is set to Form Based. Specify the string that the LoadMaster should use to detect a logout event. Multiple logoff strings can be specified by using a space-separated list.
+
+If the URL to be matched contains sub-directories before the specified string, the Logoff String will not be matched. Therefore the LoadMaster will not log the user off.
+
+ String
+
+ String
+
+
+
+
+
+ ESPLogs
+
+ Enable ESP logging. Valid values are below:
+0 - Logging off
+1 - User Access
+2 - Security
+3 - User Access and Security
+4 - Connection
+5 - User Access and Connection
+6 - Security and connection
+7 - User Access, Security and Connection
+
+Note: The only valid values for SMTP services are 0 and 4. For SMTP services, security issues are always logged. Nothing is logged for user access because
+there are no logins.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ SMTPAllowedDomains
+
+ Specifies all the permitted domains that are allowed to be received by this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ ESPEnabled
+
+ Specifies whether to enable or disable the Edge Security Pack (ESP) features.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ UserPwdChangeUrl
+
+ This is relevant when using form-based or LDAP authentication. Specify the URL that users can use to change their password. If a user’s password has expired, or if they must reset their password, this URL and the UserPwdChangeMsg is displayed on the login form.
+This URL must be put into the exception list for authentication, if required.
+
+ String
+
+ String
+
+
+
+
+
+ UserPwdChangeMsg
+
+ This parameter is only relevant if the UserPwdChangeURL parameter is set. Specify the text to be displayed on the login form when the user must reset their password.
+
+ String
+
+ String
+
+
+
+
+
+ SecurityHeaderOptions
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ InputAuthMode
+
+ Specifies the client authentication method to be used:
+0 - Delegate to Server
+1 - Basic Authentication
+2 - Form Based
+3 - KCD
+4 - Client Certificate
+5 - NTLM
+
+ Int16
+
+ Int16
+
+
+
+
+
+ OutConf
+
+
+
+ String
+
+ String
+
+
+
+
+
+ OutputAuthMode
+
+ Specifies the server authentication mode to be used:
+0 - None
+1 - Basic Authentication
+2 - KCD
+
+ Int16
+
+ Int16
+
+
+
+
+
+ StartTLSMode
+
+ 0 - HTTP/HTTPS (the Service Type needs to be set to HTTP/HTTPS for this to work)
+ The Virtual Service Type must be set to STARTTLS for the remaining values to be set:
+1 - SMTP (STARTTLS if requested)
+2 - SMTP (STARTTLS always)
+3 - FTP
+4 - IMAP
+6 - POP3
+
+ Int16
+
+ Int16
+
+
+
+
+
+ MultiConnect
+
+ Enabling this option permits the LoadMaster to manage connection handling between the LoadMaster and the Real Servers. Requests from multiple clients will be
+sent over the same TCP connection.
+Multiplexing only works for simple HTTP GET operations. This parameter cannot be enabled in certain situations, for example if WAF, ESP or SSL Acceleration is
+enabled.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SingleSignOnDir
+
+ This parameter relates to the SSO Image Set drop-down in the ESP Options section of the modify Virtual Service screen. Specify the name of the image set to be used for the login screen. If no image set is specified, the default Exchange image set will be used.
+
+ String
+
+ String
+
+
+
+
+
+ OCSPVerify
+
+ Specifies whether to verify (via Online Certificate Status Protocol (OCSP)) that the client certificate is valid.
+
+ String
+
+ String
+
+
+
+
+
+ FollowVSID
+
+ Specifies the ID of the Virtual Service to follow.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ TlsType
+
+ Specify which of the following protocols to support; SSLv3, TLS1.0, TLS1.1 or TLS1.2. By default, TLS1.1 and TLS1.2 are enabled. The protocols can be enabled
+and disabled using a bitmask value. Refer to the table below to find out what number corresponds to which settings.
+
+Number.... SSLv3.... TLS1.0.... TLS1.1.... TLS1.2
+0......... Enabled.. Enabled... Enabled... Enabled
+1......... Disabled. Enabled... Enabled... Enabled
+2......... Enabled.. Disabled.. Enabled... Enabled
+3......... Disabled. Disabled.. Enabled... Enabled
+4......... Enabled.. Enabled... Disabled.. Enabled
+5......... Disabled. Enabled... Disabled.. Enabled
+6......... Enabled.. Disabled.. Disabled.. Enabled
+7......... Disabled. Disabled.. Disabled.. Enabled
+8......... Enabled.. Enabled... Enabled... Disabled
+9......... Disabled. Enabled... Enabled... Disabled
+10........ Enabled.. Disabled.. Enabled... Disabled
+11........ Disabled. Disabled.. Enabled... Disabled
+12........ Enabled.. Enabled... Disabled.. Disabled
+13........ Disabled. Enabled... Disabled.. Disabled
+14........ Enabled.. Disabled.. Disabled.. Disabled
+
+ Int32
+
+ Int32
+
+
+
+
+
+ CheckPostData
+
+ This parameter is only relevant if the HTTP Method is set to POST. When using the POST method, up to 2047 characters of POST data can be sent to the server.
+
+ String
+
+ String
+
+
+
+
+
+ CheckCodes
+
+ A space-separated list of HTTP status codes that should be treated as successful when received from the Real Server.
+Range: 300-599
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedence
+
+ This parameter should be used in conjunction with PreProcPrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change. This parameter relates to Content Matching Rules only.
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedencePos
+
+ This parameter, in conjunction with the PreProcPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second. This parameter relates to the Content Matching Rules only.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RequestPrecedence
+
+ This parameter should be used in conjunction with RequestPrecedencePos. This parameter is used to specify the name of the existing request rule whose position you wish to change.
+ This parameter relates to the following rule types:
+Content Matching
+Add Header
+Delete Header
+Replace Header
+Modify URL
+
+ String
+
+ String
+
+
+
+
+
+ RequestPrecedencePos
+
+ This parameter, in conjunction with the RequestPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ResponsePrecedence
+
+ This parameter should be used in conjunction with ResponsePrecedencePos. This parameter is used to specify the name of the existing response rule whose position you wish to change.
+
+This parameter relates to the following rule types:
+Content Matching
+Add Header
+Delete Header
+Replace Header
+
+ String
+
+ String
+
+
+
+
+
+ ResponsePrecedencePos
+
+ This parameter, in conjunction with the ResponsePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RsRulePrecedence
+
+ This parameter should be used in conjunction with RSRulePrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change.
+
+ String
+
+ String
+
+
+
+
+
+ RsRulePrecedencePos
+
+ This parameter, in conjunction with the RSRulePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ NeedHostName
+
+ When this parameter is enabled, the hostname is always required to be sent in the TLS client hello message. If it is not sent, the connection is dropped.
+Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CopyHdrFrom
+
+ This is the name of the source header field to copy into the new header field before the request is sent to the Real Servers.
+
+ String
+
+ String
+
+
+
+
+
+ CopyHdrTo
+
+ This parameter is used in conjunction with the CopyHdrFrom parameter.
+The name of the header field into which the source header is to be copied.
+
+ String
+
+ String
+
+
+
+
+
+ ServerFbaPath
+
+ Only relevant when using form-based authentication as the Server Authentication Mode (OutputAuthMode). Set the authentication path for server-side Form Based Authentication (FBA). When used in Exchange environments, this does not need to be set.
+
+ String
+
+ String
+
+
+
+
+
+ ServerFbaPost
+
+ Only relevant when using form-based authentication as the Server Athentication Mode (OutputAuthMode). Set the format string used to generate POST body for server side FBA. The value must be base64-encoded.
+When used in Exchange environments, this does not need to be set.
+
+ String
+
+ String
+
+
+
+
+
+ Intercept
+
+ Enable or disable the Web Application Firewall (WAF) for this Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ InterceptOpts
+
+ Specifies Web Application Firewall (WAF) options for this Virtual Service.
+The AFP InterceptOpts parameter is a special parameter – it can be used to set the value for multiple fields, rather than just one field as with most other parameters. The InterceptOpts parameter allows the specification of most of the fields in the WAF Options section of the Virtual Service modify screen in the LoadMaster WUI.
+To enable WAF, set the Intercept parameter to 1.
+The names of the specific WUI fields that the InterceptOpts parameter is related to, are listed in the table below.
+One or more field values can be set in one command. Multiple values can be set in the one command by separating the values with a semi-colon.
+The values that are related to the same WUI option are mutually exclusive. For example, you cannot set Basic Operation to both opnormal and opblock.
+Value Related WUI Option Default Meaning
+opnormal Default Operation Audit Only Set the Basic Operation to Audit Only
+opblock Default Operation Audit Only Set the Basic Operation to Block Mode
+auditnone Audit mode No Audit Set the Audit mode to No Audit. No data is logged.
+auditrelevant Audit mode No Audit Set the Audit mode to Audit Relevant. Logs data which is of a warning level and higher.
+auditall Audit mode No Audit Set the Audit mode to Audit All. Logs all data through the Virtual Service.
+The Audit All option is not recommended for use in normal operation. Audit All should only be used when troubleshooting a specific problem.
+reqdataenable Inspect HTML POST Request Content Disabled Enable the Inspect HTML POST Request Content option
+reqdatadisable Inspect HTML POST Request Content Disabled Disable the Inspect HTML POST Request Content option
+resdataenable Process Response Data Disabled Enable the Process Response Data option
+resdatadisable Process Response Data Disabled Disable the Process Response Data option
+jsondisable Disable JSON Parser Disabled Disable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+jsonenable Disable JSON Parser Disabled Enable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmldisable Disable XML Parser Disabled Disable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmlenable Disable XML Parser Disabled Enable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+
+ String
+
+ String
+
+
+
+
+
+ InterceptRules
+
+ Specifies Web Application Firewall (WAF) rules for this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ AlertThreshold
+
+ Specifies Web Application Firewall (WAF) alert threshold for this Virtual Service
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Weight
+
+ Specify the weight of this SubVS.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Limit
+
+ The maximum number of connections that can be sent to this SubVS before it is taken out of rotation from the main Virtual Service (the maximum limit is 100000).
+
+ Int64
+
+ Int64
+
+
+
+
+
+ Critical
+
+ Indicate that this SubVS is required for the Virtual Service to be available.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ AllowHTTP2
+
+ Enable HTTP2 for this Virtual Service. SSL Acceleration must be enabled before HTTP2 can be enabled. The Best Practices cipher set should be used when HTTP2 is enabled.
+
+ boolean
+
+ boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-AdcSubVirtualService -SubVSIndex 3 -CheckType http
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{VS=}
+Param........: @{Status=Down; Index=3; VSPort=0; Layer=7; Enable=Y; SSLReverse=N; SSLReencrypt=N; Intercept=N; InterceptOpts=; AlertThreshold=0; Transac
+tionlimit=0; Transparent=N; SubnetOriginating=Y; ServerInit=0; StartTLSMode=0; Idletime=660; Cache=N; Compress=N; Verify=0; UseforSnat=N; ForceL4=N; For
+ceL7=Y; MultiConnect=N; ClientCert=0; ErrorCode=0; CheckUse1.1=N; MatchLen=0; CheckUseGet=0; SSLRewrite=0; VStype=http; FollowVSID=0; Protocol=tcp; Sche
+dule=rr; CheckType=http; PersistTimeout=0; CheckPort=0; NRules=0; NRequestRules=0; NResponseRules=0; NPreProcessRules=0; EspEnabled=N; InputAuthMode=0;
+OutputAuthMode=0; MasterVS=0; MasterVSID=1; IsTransparent=2; AddVia=0; QoS=0; TlsType=0; NeedHostName=N; OCSPVerify=N; AllowHTTP2=N; EnhancedHealthCheck
+s=N; RsMinimum=0; NumberOfRSs=0}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdcVirtualService
+
+ Set options on a configured Virtual Service.
+
+
+
+
+ Set
+ AdcVirtualService
+
+
+
+ Modifies the settings for a configured Virtual Service.
+
+
+
+ Set-AdcVirtualService
+
+ VirtualService
+
+ The IP address for the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port for the Virtual Service.
+The port parameter is used to assign a port when initially creating a Virtual Service. If modifying the port of an existing Virtual Service, specify the existing port as the Port parameter and use the VSPort parameter to assign the new port.
+The reason why these must be separate parameters is because you need to specify what the port of the existing Virtual Service is (because there may be another Virtual Service with the same IP address but a different port) and if you want to change the port, a second port parameter (VSPort) is needed to specify the new port value.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service.
+
+ Int32
+
+
+ AddVia
+
+ Specifies which headers are added to the HTTP stream. Choose the number of the option to use.
+ 0 - Legacy Operation(XXX)
+1 - None
+2 - X-Forwarded-For
+3 - X-Forwarded-For (No Via)
+4 - X-ClientSide
+5 - X-ClientSide (No Via)
+6 - Via Only
+
+ Int16
+
+
+ Cache
+
+ Enables or disables caching on this Virtual Service.
+
+ Boolean
+
+
+ CertFile
+
+ Specifies the name of the certificate file to use that is already installed on the load balancer. Note: This will NOT upload a certificate file to the load balancer.
+
+ String
+
+
+ CheckType
+
+ Specifies the protocol to use to check if the service is up. Valid options are "tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", "ldap" or "none".
+
+ String
+
+
+ CheckHost
+
+ The address to use to check if the service is up.
+
+ String
+
+
+ CheckPattern
+
+ A regular expression string that can be validate on a 200 reply to determine if the service is up.
+Specify an empty value to unset CheckPattern.
+
+ String
+
+
+ CheckUrl
+
+ The URL to check if the service is up. The maximum character length for the CheckUrl parameter value is 126 characters.
+
+ String
+
+
+ CheckHeaders
+
+ Specify up to four additional headers/fields which will be sent with each health check request. Separate the pairs with a pipe, for example; Host:xyc|UserAgent:prq.
+
+ String
+
+
+ LdapEndpoint
+
+ Specify the LDAP endpoint to use for health checks (if LDAP is selected as the CheckType). If LDAP is selected as the health check protocol, the server IP address (or addresses) and ports from the LDAP endpoint configuration will be used instead of the Real Server IP address and port.
+
+ String
+
+
+ MatchLen
+
+ This parameter is only relevant when the CheckType is set to "bdata". Specify the number of bytes to find the CheckPattern within.
+
+ String
+
+
+ CheckUse1_1
+
+ Specifies that the health checker use HTTP/1.1 instead of HTTP/1.0.
+0 - HTTP/1.0
+1 - HTTP/1.1
+
+ Int32
+
+
+ CheckPort
+
+ The port to use to check if the service is up.
+Specify 0 to unset CheckPort.
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+ Enables or disables Enhanced Health Check Options for the Virtual Service.
+
+ Boolean
+
+
+ RsMinimum
+
+ Specifies the minimum number of Real Servers that are required to be active for the Virtual Service to be considered up.
+
+ Int32
+
+
+ ClientCert
+
+ Specify how client certificates should be used. Valid values are 0, 1, or 2. Zero indicates that client certificates are not use. One indicates that client certificates are required. Two indicates that client certificates are required and additional HEAD information is being sent.
+
+ Int16
+
+
+ Compress
+
+ Enable or disable file compression for the Virtual Service.
+
+ Boolean
+
+
+ Cookie
+
+ Specifies a cookie name. This parameter is only relevant when the persistence mode is set to "cookie", "active-cookie", "cookie-src" or "active-cook-src".
+
+ String
+
+
+ CachePercent
+
+ Specifies the maximum cache usage for this virtual service.
+ Note: Setting two Virtual Services using 50% of cache will use 100% of all cache storage. This parameter accepts values from 0 to 100.
+
+ Int16
+
+
+ DefaultGW
+
+ Specifies a Virtual Service-specific default gateway to be used to send responses back to clients. If not set, the global default gateway will be used.
+
+ String
+
+
+ Enable
+
+ Enables or disables the Virtual Service.
+
+ Boolean
+
+
+ ErrorCode
+
+ If no Real Servers are available, the LoadMaster can terminate the connection with an HTTP error code. Specify the error code number in this parameter.
+
+ String
+
+
+ ErrorUrl
+
+ When no Real Servers are available and an error response is sent back to the client, a redirect URL can also be specified.
+
+ String
+
+
+ PortFollow
+
+ This parameter was depreciated as of 7.1-24. For LoadMasters with version 7.1-24 or higher, use the FollowVSID parameter to set port following.
+
+ Int32
+
+
+ ForceL7
+
+ Enabling ForceL7 means the Virtual Service runs at Layer 7 and not Layer 4. This may be needed for various reasons, including that only Layer 7 services can be non-transparent.
+
+ Boolean
+
+
+ Idletime
+
+ Specifies the length of time (in seconds) that a connection may remain idle before it is closed. The range for this parameter is 0 to 86400. There are some special values that can be set for this parameter:
+- 0: Ensures the default L7 connection timeout is used. The default timeout value can be modified by setting the conntimeout parameter.
+- 1: Discards the connection after the packet is first forwarded – a response is not expected or handled.
+- 2: Uses a DNS-type of operation. The connection is dropped after the reply message.
+Setting it to 1 or 2 enables better performance and memory usage for UDP connections and they correspond better to how UDP is used.
+
+ Int32
+
+
+ LocalBindAddresses
+
+ Specifies a space-separated list of IP addresses. This corresponds to the Alternate Source Address in the Advanced Properties section of the WUI. Allow connections scaling over 64K Connections needs to be enabled in L7 Configuration for this feature to work.
+
+ String[]
+
+
+ VSType
+
+ Specifies the type of service being load balanced:
+ gen - Generic
+http - HTTP/HTTPS
+ts - Remote Terminal
+tls – STARTTLS protocols
+log – Log Insight
+
+ String
+
+
+ Nickname
+
+ Specifies the "friendly" name of the service. In addition to the usual alphanumeric characters, the following "special" characters can be used as part of the Service Name:
+ . @ - _
+ However, there must be at least one alphanumeric character before the special characters.
+
+ String
+
+
+ Persist
+
+ Specifies the type of persistence (stickiness) to be used for this Virtual Service.
+ The following persistence values are supported: ssl, cookie, active-cookie, cookie-src, active-cook-src, cookie-hash, cookie-hash-src, url, query-hash, host, header, super, super-src, src, rdp, rdp-src, rdp-sb, rdp-sb-src, udpsip and none.
+ Note: If setting the persistence mode to an option that requires a cookie (or query-hash), the cookie parameter must also be set.
+
+ String
+
+
+ PersistTimeout
+
+ The length of time (in seconds) after the last connection that the LoadMaster will remember the persistence information. Timeout values are rounded down to an even number of minutes. Setting a value that is not a number of whole minutes results in the excess being ignored. Setting a value to less than 60 seconds results in a value of 0 being set, which disables persistency.
+
+ Int32
+
+
+ QueryTag
+
+ This is the query tag to be matched if the Persist type is set to query-hash.
+
+ String
+
+
+ CipherSet
+
+ Specifies a cipher set name.
+
+ String
+
+
+ SSLReencrypt
+
+ This parameter is only relevant if SSL Acceleration is enabled. When this option is enabled, the SSL data stream is re-encrypted before sending to the Real Server.
+
+ Boolean
+
+
+ SSLReverse
+
+ Enabling this parameter means that the data from the LoadMaster to the Real Server is re-encrypted.
+
+ Boolean
+
+
+ SSLRewrite
+
+ When the Real Server rejects a request with an HTTP redirect, the requesting Location URL may need to be converted to specify HTTPS instead of HTTP (and vice versa).
+
+ String
+
+
+ ReverseSNIHostname
+
+ If this option is enabled, the host name is required to be sent in the TLS client hello message. If it is not sent the connection will be dropped.
+
+ String
+
+
+ Schedule
+
+ Specifies the type of scheduling of new connections to Real Servers that is to be performed. The following values are supported:
+ rr = round robin
+wrr = weighted round robin
+lc = least connection
+wlc = weighted least connection
+fixed = fixed weighting
+adaptive = resource based (adaptive)
+sh = source IP hash
+dl = weighted response time
+sdn-adaptive = resource based (SDN adaptive)
+
+ String
+
+
+ ServerInit
+
+ Specifies one of the following values:
+ 0 - Normal Protocols
+1 - SMTP
+2 - SSH
+3 - Other Server Initiating
+4 - IMAP4
+5 - MySQL
+6 - POP3
+
+ Int16
+
+
+ SSLAcceleration
+
+ Specifies whether to enable SSL handling on the Virtual Service.
+
+ Boolean
+
+
+ StandByAddr
+
+ Specifies the IP address of the "Sorry" server that is to be used when no other Real Servers are available. This server will not be health checked and is assumed to be always available.
+
+ String
+
+
+ StandByPort
+
+ Specifies the port of the "Sorry" server.
+
+ String
+
+
+ TransactionLimit
+
+ This is a legacy parameter that should no longer be used. It was used previously when the SSL proxy was limited to 6K total connections. The transaction limit was used to limit one Virtual Service to only handle so many connections out of this 6K. On newer systems, where the limit is greater than 64K - this feature is no longer required.
+
+ Int32
+
+
+ Transparent
+
+ When using Layer 7, when this is enabled - the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent, which means that the connections at the Real Server appear to come from the LoadMaster.
+0 - Disabled
+1 - Enabled
+If a Virtual Service (with or without a SubVS) has SSL re-encrypt enabled, the transparency flag of the Virtual Service has no meaning (re-encryption forces transparency to be off). The transparency setting can still be modified by the API, and is honored when re-encrypt is disabled on the Virtual Service.
+
+ Boolean
+
+
+ SubnetOriginating
+
+ When transparency is not enabled, the source IP address of connections to the Real Servers is that of the Virtual Service. When transparency is enabled, the source IP address will be the IP address that is initiating connection to the Virtual Service. If the Real Server is on a subnet, and the Subnet Originating Requests option is enabled, then the subnet address of the LoadMaster will be used as the source IP address.
+
+ Boolean
+
+
+ UseforSnat
+
+ By default, when the LoadMaster is being used to NAT Real Servers, the source IP address used on the Internet is that of the LoadMaster. Enabling this option allows the Real Servers configured to use the Virtual Service as the source IP address instead. If the Real Servers are configured on more than one Virtual Service which has this option set, only connections to destination port 80 will use this Virtual Service as the source IP address.
+
+ Boolean
+
+
+ QoS
+
+ Specifies the Quality of Service. The following values are supported:
+ 0 - Normal-Service
+1 - Minimize-Cost
+2 - Maximize-Reliability
+4 - Maximize-Throughput
+8 - Minimize-Delay
+
+ String
+
+
+ CheckUseGet
+
+ When accessing the health check URL - the system can use the HEAD, the GET or the POST method:
+ 0 - HEAD
+1 - GET
+2 - POST
+
+ Int32
+
+
+ Verify
+
+ Specifies a verification bitmask. The valid values of the Verify parameter are as follows:
+ Bit 0: set this to 1 to enable detection intrusion.
+ Note: Bit 0 needs to be set to 1 in order to use the other two bits.
+ Bit 1: Determines whether to reject or drop a connection. Setting it to 1 will drop the connection.
+ Bit 2: Determines whether to give just warnings on bad requests or also on malicious (but not invalid) requests.
+ The following table lists the valid integers and the values they set the fields to when used:
+Integer Detect Malicious Requests Intrusion Handling Warnings Checkbox
+0 Disabled N/A N/A
+1 Enabled Drop Connection Unchecked
+2 Enabled Send Reject Unchecked
+3 Enabled Send Reject Unchecked
+4 Enabled Drop Connection Checked
+5 Enabled Drop Connection Checked
+6 Enabled Send Reject Checked
+7 Enabled Send Reject Checked
+
+ Int16
+
+
+ ExtraHdrKey
+
+ Specifies the key for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ ExtraHdrValue
+
+ Specifies the value for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ AllowedHosts
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual hosts that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedDirectories
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual directories that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedGroups
+
+ Specifies the groups that are allowed to access this Virtual Service.
+
+ String
+
+
+ GroupSIDs
+
+ Specify the group security identifiers (SIDs) that are allowed to access this Virtual Service. Each group must be separated by a semicolon.
+
+ String
+
+
+ SteeringGroups
+
+ Enter the Active Directory group names that will be used for steering traffic. Use a semi-colon to separate multiple group names. The steering group index number corresponds to the location of the group in this list.
+
+ String
+
+
+ IncludeNestedGroups
+
+ Specify if nested groups should be included in the authentication attempt.
+
+ Boolean
+
+
+ DisplayPubPriv
+
+ Display the public/private option on the login page. Based on the option the user selects on the login form, the session timeout value will be set to the value specified for either the public or private timeout.
+
+ Boolean
+
+
+ DisablePasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ Boolean
+
+
+ Domain
+
+ Specifies the Single Sign On (SSO) domain in which this Virtual Service will operate.
+
+ String
+
+
+ AltDomains
+
+ Specifies alternative domains to be assigned to a Virtual Service when configuring multi-domain authentication. To specify multiple alternative domains use a space-separated list.
+
+ String
+
+
+ Logoff
+
+ This parameter is only relevant when ESP is enabled and when the Client Authentication Mode is set to Form Based. Specify the string that the LoadMaster should use to detect a logout event. Multiple logoff strings can be specified by using a space-separated list.
+ If the URL to be matched contains sub-directories before the specified string, the Logoff String will not be matched. Therefore the LoadMaster will not log the user off.
+
+ String
+
+
+ ESPLogs
+
+ Enable ESP logging. Valid values are below:
+ 0 - Logging off
+1 - User Access
+2 - Security
+3 - User Access and Security
+4 - Connection
+5 - User Access and Connection
+6 - Security and connection
+7 - User Access, Security and Connection
+ Note: The only valid values for SMTP services are 0 and 4. For SMTP services, security issues are always logged. Nothing is logged for user access because there are no logins.
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+ Specifies all the permitted domains that are allowed to be received by this Virtual Service.
+
+ String
+
+
+ ESPEnabled
+
+ Specifies whether to enable or disable the Edge Security Pack (ESP) features.
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+ This is relevant when using form-based LDAP authentication. Specify the URL that users can use to change their password. If a user’s password has expired, or if they must reset their password, this URL and the UserPwdChangeMsg is displayed on the login form.
+This URL must be put into the exception list for authentication, if required.
+
+ String
+
+
+ UserPwdChangeMsg
+
+ This parameter is only relevant if the UserPwdChangeURL parameter is set. Specify the text to be displayed on the login form when the user must reset their password.
+
+ String
+
+
+ SecurityHeaderOptions
+
+ Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+0 - Don't add the Strict Transport Security Header (default value)
+1 - Add the Strict Transport Security Header - no subdomains
+2 - Add the Strict Transport Security Header - include subdomains Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+
+ Int16
+
+
+ InputAuthMode
+
+ Specifies the client authentication method to be used:
+ 0 - Delegate to Server
+1 - Basic Authentication
+2 - Form Based
+4 - Client Certificate
+5 - NTLM
+6 - SAML
+
+ Int16
+
+
+ OutConf
+
+
+
+ String
+
+
+ OutputAuthMode
+
+ Specifies the server authentication mode to be used:
+ 0 - None
+1 - Basic Authentication
+2 - Form Based
+3 - KCD
+
+ Int16
+
+
+ StartTLSMode
+
+ 0 - HTTP/HTTPS (the Service Type needs to be set to HTTP/HTTPS for this to work)
+ The Virtual Service Type must be set to STARTTLS for the remaining values to be set:
+ 1 - SMTP (STARTTLS if requested)
+2 - SMTP (STARTTLS always)
+3 - FTP
+4 - IMAP
+6 - POP3
+
+ Int16
+
+
+ ExtraPorts
+
+ Specifies extra ports that the Virtual Service will listen to.
+
+ String
+
+
+ AltAddress
+
+ Specifies the alternate address for this Virtual Service.
+
+ String
+
+
+ MultiConnect
+
+ Enabling this option permits the LoadMaster to manage connection handling between the LoadMaster and the Real Servers. Requests from multiple clients will be sent over the same TCP connection.
+ Multiplexing only works for simple HTTP GET operations. This parameter cannot be enabled in certain situations, for example if WAF, ESP or SSL Acceleration is enabled.
+
+ Boolean
+
+
+ SingleSignOnDir
+
+ This parameter relates to the SSO Image Set drop-down in the ESP Options section of the modify Virtual Service screen. Specify the name of the image set to be used for the login screen. If no image set is specified, the default Exchange image set will be used.
+
+ String
+
+
+ OCSPVerify
+
+ Specifies whether to verify (via Online Certificate Status Protocol (OCSP)) that the client certificate is valid.
+
+ String
+
+
+ FollowVSID
+
+ Specifies the ID of the Virtual Service to follow.
+
+ Int32
+
+
+ TlsType
+
+ Specify which of the following protocols to support; SSLv3, TLS1.0, TLS1.1 or TLS1.2. By default, TLS1.1 and TLS1.2 are enabled. The protocols can be enabled and disabled using a bitmask value. Refer to the table below to find out what number corresponds to which settings.
+ Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+
+ Int32
+
+
+ CheckPostData
+
+ This parameter is only relevant if the HTTP Method is set to POST. When using the POST method, up to 2047 characters of POST data can be sent to the server.
+
+ String
+
+
+ CheckCodes
+
+ A space-separated list of HTTP status codes that should be treated as successful when received from the Real Server.
+Range: 300-599
+
+ String
+
+
+ PreProcPrecedence
+
+ This parameter should be used in conjunction with PreProcPrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change. This parameter relates to Content Matching Rules only.
+
+ String
+
+
+ PreProcPrecedencePos
+
+ This parameter, in conjunction with the PreProcPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second. This parameter relates to the Content Matching Rules only.
+
+ Int16
+
+
+ RequestPrecedence
+
+ This parameter should be used in conjunction with RequestPrecedencePos. This parameter is used to specify the name of the existing request rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+Modify URL
+
+ String
+
+
+ RequestPrecedencePos
+
+ This parameter, in conjunction with the RequestPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ ResponsePrecedence
+
+ This parameter should be used in conjunction with ResponsePrecedencePos. This parameter is used to specify the name of the existing response rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+
+ String
+
+
+ ResponsePrecedencePos
+
+ This parameter, in conjunction with the ResponsePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ RsRulePrecedence
+
+ This parameter should be used in conjunction with RSRulePrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change.
+
+ String
+
+
+ RsRulePrecedencePos
+
+ This parameter, in conjunction with the RSRulePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ NeedHostName
+
+ When this parameter is enabled, the hostname is always required to be sent in the TLS client hello message. If it is not sent, the connection is dropped.
+Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ CopyHdrFrom
+
+ This is the name of the source header field to copy into the new header field before the request is sent to the Real Servers.
+
+ String
+
+
+ CopyHdrTo
+
+ This parameter is used in conjunction with the CopyHdrFrom parameter.
+The name of the header field into which the source header is to be copied.
+
+ String
+
+
+ ServerFbaPath
+
+ Only relevant when using form-based authentication as the Server Authentication Mode (OutputAuthMode). Set the authentication path for server-side Form Based Authentication (FBA). When used in Exchange environments, this does not need to be set.
+
+ String
+
+
+ ServerFbaPost
+
+ Only relevant when using form-based authentication as the Server Athentication Mode (OutputAuthMode). Set the format string used to generate POST body for server side FBA. The value must be base64-encoded.
+When used in Exchange environments, this does not need to be set.
+
+ String
+
+
+ Intercept
+
+ Enable or disable the Web Application Firewall (WAF) for this Virtual Service.
+
+ Boolean
+
+
+ AllowHTTP2
+
+ Enable HTTP2 for this Virtual Service. SSL Acceleration must be enabled before HTTP2 can be enabled. The Best Practices cipher set should be used when HTTP2 is enabled.
+
+ Boolean
+
+
+ InterceptOpts
+
+ Specifies Web Application Firewall (WAF) options for this Virtual Service.
+The AFP InterceptOpts parameter is a special parameter – it can be used to set the value for multiple fields, rather than just one field as with most other parameters. The InterceptOpts parameter allows the specification of most of the fields in the WAF Options section of the Virtual Service modify screen in the LoadMaster WUI.
+To enable WAF, set the Intercept parameter to 1.
+The names of the specific WUI fields that the InterceptOpts parameter is related to, are listed in the table below.
+ One or more field values can be set in one command. Multiple values can be set in the one command by separating the values with a semi-colon.
+The values that are related to the same WUI option are mutually exclusive. For example, you cannot set Basic Operation to both opnormal and opblock.
+ Value Related WUI Option Default Meaning
+opnormal Default Operation Audit Only Set the Basic Operation to Audit Only
+opblock Default Operation Audit Only Set the Basic Operation to Block Mode
+auditnone Audit mode No Audit Set the Audit mode to No Audit. No data is logged.
+auditrelevant Audit mode No Audit Set the Audit mode to Audit Relevant. Logs data which is of a warning level and higher.
+auditall Audit mode No Audit Set the Audit mode to Audit All. Logs all data through the Virtual Service.
+The Audit All option is not recommended for use in normal operation. Audit All should only be used when troubleshooting a specific problem.
+reqdataenable Inspect HTML POST Request Content Disabled Enable the Inspect HTML POST Request Content option
+reqdatadisable Inspect HTML POST Request Content Disabled Disable the Inspect HTML POST Request Content option
+resdataenable Process Response Data Disabled Enable the Process Response Data option
+resdatadisable Process Response Data Disabled Disable the Process Response Data option
+jsondisable Disable JSON Parser Disabled Disable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+jsonenable Disable JSON Parser Disabled Enable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmldisable Disable XML Parser Disabled Disable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmlenable Disable XML Parser Disabled Enable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+
+ String
+
+
+ InterceptRules
+
+ Specifies Web Application Firewall (WAF) rules for this Virtual Service.
+
+ String
+
+
+ AlertThreshold
+
+ Specifies Web Application Firewall (WAF) alert threshold for this Virtual Service.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdcVirtualService
+
+ VirtualService
+
+ The IP address for the Virtual Service.
+
+ String
+
+
+ VSPort
+
+ The port for the Virtual Service.
+The port parameter is used to assign a port when initially creating a Virtual Service. If modifying the port of an existing Virtual Service, specify the existing port as the Port parameter and use the VSPort parameter to assign the new port.
+The reason why these must be separate parameters is because you need to specify what the port of the existing Virtual Service is (because there may be another Virtual Service with the same IP address but a different port) and if you want to change the port, a second port parameter (VSPort) is needed to specify the new port value.
+
+ Int32
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+
+ VSIndex
+
+ The index number of the Virtual Service.
+
+ Int32
+
+
+ AddVia
+
+ Specifies which headers are added to the HTTP stream. Choose the number of the option to use.
+ 0 - Legacy Operation(XXX)
+1 - None
+2 - X-Forwarded-For
+3 - X-Forwarded-For (No Via)
+4 - X-ClientSide
+5 - X-ClientSide (No Via)
+6 - Via Only
+
+ Int16
+
+
+ Cache
+
+ Enables or disables caching on this Virtual Service.
+
+ Boolean
+
+
+ CertFile
+
+ Specifies the name of the certificate file to use that is already installed on the load balancer. Note: This will NOT upload a certificate file to the load balancer.
+
+ String
+
+
+ CheckType
+
+ Specifies the protocol to use to check if the service is up. Valid options are "tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", "ldap" or "none".
+
+ String
+
+
+ CheckHost
+
+ The address to use to check if the service is up.
+
+ String
+
+
+ CheckPattern
+
+ A regular expression string that can be validate on a 200 reply to determine if the service is up.
+Specify an empty value to unset CheckPattern.
+
+ String
+
+
+ CheckUrl
+
+ The URL to check if the service is up. The maximum character length for the CheckUrl parameter value is 126 characters.
+
+ String
+
+
+ CheckHeaders
+
+ Specify up to four additional headers/fields which will be sent with each health check request. Separate the pairs with a pipe, for example; Host:xyc|UserAgent:prq.
+
+ String
+
+
+ LdapEndpoint
+
+ Specify the LDAP endpoint to use for health checks (if LDAP is selected as the CheckType). If LDAP is selected as the health check protocol, the server IP address (or addresses) and ports from the LDAP endpoint configuration will be used instead of the Real Server IP address and port.
+
+ String
+
+
+ MatchLen
+
+ This parameter is only relevant when the CheckType is set to "bdata". Specify the number of bytes to find the CheckPattern within.
+
+ String
+
+
+ CheckUse1_1
+
+ Specifies that the health checker use HTTP/1.1 instead of HTTP/1.0.
+0 - HTTP/1.0
+1 - HTTP/1.1
+
+ Int32
+
+
+ CheckPort
+
+ The port to use to check if the service is up.
+Specify 0 to unset CheckPort.
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+ Enables or disables Enhanced Health Check Options for the Virtual Service.
+
+ Boolean
+
+
+ RsMinimum
+
+ Specifies the minimum number of Real Servers that are required to be active for the Virtual Service to be considered up.
+
+ Int32
+
+
+ ClientCert
+
+ Specify how client certificates should be used. Valid values are 0, 1, or 2. Zero indicates that client certificates are not use. One indicates that client certificates are required. Two indicates that client certificates are required and additional HEAD information is being sent.
+
+ Int16
+
+
+ Compress
+
+ Enable or disable file compression for the Virtual Service.
+
+ Boolean
+
+
+ Cookie
+
+ Specifies a cookie name. This parameter is only relevant when the persistence mode is set to "cookie", "active-cookie", "cookie-src" or "active-cook-src".
+
+ String
+
+
+ CachePercent
+
+ Specifies the maximum cache usage for this virtual service.
+ Note: Setting two Virtual Services using 50% of cache will use 100% of all cache storage. This parameter accepts values from 0 to 100.
+
+ Int16
+
+
+ DefaultGW
+
+ Specifies a Virtual Service-specific default gateway to be used to send responses back to clients. If not set, the global default gateway will be used.
+
+ String
+
+
+ Enable
+
+ Enables or disables the Virtual Service.
+
+ Boolean
+
+
+ ErrorCode
+
+ If no Real Servers are available, the LoadMaster can terminate the connection with an HTTP error code. Specify the error code number in this parameter.
+
+ String
+
+
+ ErrorUrl
+
+ When no Real Servers are available and an error response is sent back to the client, a redirect URL can also be specified.
+
+ String
+
+
+ PortFollow
+
+ This parameter was depreciated as of 7.1-24. For LoadMasters with version 7.1-24 or higher, use the FollowVSID parameter to set port following.
+
+ Int32
+
+
+ ForceL7
+
+ Enabling ForceL7 means the Virtual Service runs at Layer 7 and not Layer 4. This may be needed for various reasons, including that only Layer 7 services can be non-transparent.
+
+ Boolean
+
+
+ Idletime
+
+ Specifies the length of time (in seconds) that a connection may remain idle before it is closed. The range for this parameter is 0 to 86400. There are some special values that can be set for this parameter:
+- 0: Ensures the default L7 connection timeout is used. The default timeout value can be modified by setting the conntimeout parameter.
+- 1: Discards the connection after the packet is first forwarded – a response is not expected or handled.
+- 2: Uses a DNS-type of operation. The connection is dropped after the reply message.
+Setting it to 1 or 2 enables better performance and memory usage for UDP connections and they correspond better to how UDP is used.
+
+ Int32
+
+
+ LocalBindAddresses
+
+ Specifies a space-separated list of IP addresses. This corresponds to the Alternate Source Address in the Advanced Properties section of the WUI. Allow connections scaling over 64K Connections needs to be enabled in L7 Configuration for this feature to work.
+
+ String[]
+
+
+ VSType
+
+ Specifies the type of service being load balanced:
+ gen - Generic
+http - HTTP/HTTPS
+ts - Remote Terminal
+tls – STARTTLS protocols
+log – Log Insight
+
+ String
+
+
+ Nickname
+
+ Specifies the "friendly" name of the service. In addition to the usual alphanumeric characters, the following "special" characters can be used as part of the Service Name:
+ . @ - _
+ However, there must be at least one alphanumeric character before the special characters.
+
+ String
+
+
+ Persist
+
+ Specifies the type of persistence (stickiness) to be used for this Virtual Service.
+ The following persistence values are supported: ssl, cookie, active-cookie, cookie-src, active-cook-src, cookie-hash, cookie-hash-src, url, query-hash, host, header, super, super-src, src, rdp, rdp-src, rdp-sb, rdp-sb-src, udpsip and none.
+ Note: If setting the persistence mode to an option that requires a cookie (or query-hash), the cookie parameter must also be set.
+
+ String
+
+
+ PersistTimeout
+
+ The length of time (in seconds) after the last connection that the LoadMaster will remember the persistence information. Timeout values are rounded down to an even number of minutes. Setting a value that is not a number of whole minutes results in the excess being ignored. Setting a value to less than 60 seconds results in a value of 0 being set, which disables persistency.
+
+ Int32
+
+
+ QueryTag
+
+ This is the query tag to be matched if the Persist type is set to query-hash.
+
+ String
+
+
+ CipherSet
+
+ Specifies a cipher set name.
+
+ String
+
+
+ SSLReencrypt
+
+ This parameter is only relevant if SSL Acceleration is enabled. When this option is enabled, the SSL data stream is re-encrypted before sending to the Real Server.
+
+ Boolean
+
+
+ SSLReverse
+
+ Enabling this parameter means that the data from the LoadMaster to the Real Server is re-encrypted.
+
+ Boolean
+
+
+ SSLRewrite
+
+ When the Real Server rejects a request with an HTTP redirect, the requesting Location URL may need to be converted to specify HTTPS instead of HTTP (and vice versa).
+
+ String
+
+
+ ReverseSNIHostname
+
+ If this option is enabled, the host name is required to be sent in the TLS client hello message. If it is not sent the connection will be dropped.
+
+ String
+
+
+ Schedule
+
+ Specifies the type of scheduling of new connections to Real Servers that is to be performed. The following values are supported:
+ rr = round robin
+wrr = weighted round robin
+lc = least connection
+wlc = weighted least connection
+fixed = fixed weighting
+adaptive = resource based (adaptive)
+sh = source IP hash
+dl = weighted response time
+sdn-adaptive = resource based (SDN adaptive)
+
+ String
+
+
+ ServerInit
+
+ Specifies one of the following values:
+ 0 - Normal Protocols
+1 - SMTP
+2 - SSH
+3 - Other Server Initiating
+4 - IMAP4
+5 - MySQL
+6 - POP3
+
+ Int16
+
+
+ SSLAcceleration
+
+ Specifies whether to enable SSL handling on the Virtual Service.
+
+ Boolean
+
+
+ StandByAddr
+
+ Specifies the IP address of the "Sorry" server that is to be used when no other Real Servers are available. This server will not be health checked and is assumed to be always available.
+
+ String
+
+
+ StandByPort
+
+ Specifies the port of the "Sorry" server.
+
+ String
+
+
+ TransactionLimit
+
+ This is a legacy parameter that should no longer be used. It was used previously when the SSL proxy was limited to 6K total connections. The transaction limit was used to limit one Virtual Service to only handle so many connections out of this 6K. On newer systems, where the limit is greater than 64K - this feature is no longer required.
+
+ Int32
+
+
+ Transparent
+
+ When using Layer 7, when this is enabled - the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent, which means that the connections at the Real Server appear to come from the LoadMaster.
+0 - Disabled
+1 - Enabled
+If a Virtual Service (with or without a SubVS) has SSL re-encrypt enabled, the transparency flag of the Virtual Service has no meaning (re-encryption forces transparency to be off). The transparency setting can still be modified by the API, and is honored when re-encrypt is disabled on the Virtual Service.
+
+ Boolean
+
+
+ SubnetOriginating
+
+ When transparency is not enabled, the source IP address of connections to the Real Servers is that of the Virtual Service. When transparency is enabled, the source IP address will be the IP address that is initiating connection to the Virtual Service. If the Real Server is on a subnet, and the Subnet Originating Requests option is enabled, then the subnet address of the LoadMaster will be used as the source IP address.
+
+ Boolean
+
+
+ UseforSnat
+
+ By default, when the LoadMaster is being used to NAT Real Servers, the source IP address used on the Internet is that of the LoadMaster. Enabling this option allows the Real Servers configured to use the Virtual Service as the source IP address instead. If the Real Servers are configured on more than one Virtual Service which has this option set, only connections to destination port 80 will use this Virtual Service as the source IP address.
+
+ Boolean
+
+
+ QoS
+
+ Specifies the Quality of Service. The following values are supported:
+ 0 - Normal-Service
+1 - Minimize-Cost
+2 - Maximize-Reliability
+4 - Maximize-Throughput
+8 - Minimize-Delay
+
+ String
+
+
+ CheckUseGet
+
+ When accessing the health check URL - the system can use the HEAD, the GET or the POST method:
+ 0 - HEAD
+1 - GET
+2 - POST
+
+ Int32
+
+
+ Verify
+
+ Specifies a verification bitmask. The valid values of the Verify parameter are as follows:
+ Bit 0: set this to 1 to enable detection intrusion.
+ Note: Bit 0 needs to be set to 1 in order to use the other two bits.
+ Bit 1: Determines whether to reject or drop a connection. Setting it to 1 will drop the connection.
+ Bit 2: Determines whether to give just warnings on bad requests or also on malicious (but not invalid) requests.
+ The following table lists the valid integers and the values they set the fields to when used:
+Integer Detect Malicious Requests Intrusion Handling Warnings Checkbox
+0 Disabled N/A N/A
+1 Enabled Drop Connection Unchecked
+2 Enabled Send Reject Unchecked
+3 Enabled Send Reject Unchecked
+4 Enabled Drop Connection Checked
+5 Enabled Drop Connection Checked
+6 Enabled Send Reject Checked
+7 Enabled Send Reject Checked
+
+ Int16
+
+
+ ExtraHdrKey
+
+ Specifies the key for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ ExtraHdrValue
+
+ Specifies the value for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+
+ AllowedHosts
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual hosts that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedDirectories
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual directories that can be accessed via this Virtual Service.
+
+ String
+
+
+ AllowedGroups
+
+ Specifies the groups that are allowed to access this Virtual Service.
+
+ String
+
+
+ GroupSIDs
+
+ Specify the group security identifiers (SIDs) that are allowed to access this Virtual Service. Each group must be separated by a semicolon.
+
+ String
+
+
+ SteeringGroups
+
+ Enter the Active Directory group names that will be used for steering traffic. Use a semi-colon to separate multiple group names. The steering group index number corresponds to the location of the group in this list.
+
+ String
+
+
+ IncludeNestedGroups
+
+ Specify if nested groups should be included in the authentication attempt.
+
+ Boolean
+
+
+ DisplayPubPriv
+
+ Display the public/private option on the login page. Based on the option the user selects on the login form, the session timeout value will be set to the value specified for either the public or private timeout.
+
+ Boolean
+
+
+ DisablePasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ Boolean
+
+
+ Domain
+
+ Specifies the Single Sign On (SSO) domain in which this Virtual Service will operate.
+
+ String
+
+
+ AltDomains
+
+ Specifies alternative domains to be assigned to a Virtual Service when configuring multi-domain authentication. To specify multiple alternative domains use a space-separated list.
+
+ String
+
+
+ Logoff
+
+ This parameter is only relevant when ESP is enabled and when the Client Authentication Mode is set to Form Based. Specify the string that the LoadMaster should use to detect a logout event. Multiple logoff strings can be specified by using a space-separated list.
+ If the URL to be matched contains sub-directories before the specified string, the Logoff String will not be matched. Therefore the LoadMaster will not log the user off.
+
+ String
+
+
+ ESPLogs
+
+ Enable ESP logging. Valid values are below:
+ 0 - Logging off
+1 - User Access
+2 - Security
+3 - User Access and Security
+4 - Connection
+5 - User Access and Connection
+6 - Security and connection
+7 - User Access, Security and Connection
+ Note: The only valid values for SMTP services are 0 and 4. For SMTP services, security issues are always logged. Nothing is logged for user access because there are no logins.
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+ Specifies all the permitted domains that are allowed to be received by this Virtual Service.
+
+ String
+
+
+ ESPEnabled
+
+ Specifies whether to enable or disable the Edge Security Pack (ESP) features.
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+ This is relevant when using form-based LDAP authentication. Specify the URL that users can use to change their password. If a user’s password has expired, or if they must reset their password, this URL and the UserPwdChangeMsg is displayed on the login form.
+This URL must be put into the exception list for authentication, if required.
+
+ String
+
+
+ UserPwdChangeMsg
+
+ This parameter is only relevant if the UserPwdChangeURL parameter is set. Specify the text to be displayed on the login form when the user must reset their password.
+
+ String
+
+
+ SecurityHeaderOptions
+
+ Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+0 - Don't add the Strict Transport Security Header (default value)
+1 - Add the Strict Transport Security Header - no subdomains
+2 - Add the Strict Transport Security Header - include subdomains Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+
+ Int16
+
+
+ InputAuthMode
+
+ Specifies the client authentication method to be used:
+ 0 - Delegate to Server
+1 - Basic Authentication
+2 - Form Based
+4 - Client Certificate
+5 - NTLM
+6 - SAML
+
+ Int16
+
+
+ OutConf
+
+
+
+ String
+
+
+ OutputAuthMode
+
+ Specifies the server authentication mode to be used:
+ 0 - None
+1 - Basic Authentication
+2 - Form Based
+3 - KCD
+
+ Int16
+
+
+ StartTLSMode
+
+ 0 - HTTP/HTTPS (the Service Type needs to be set to HTTP/HTTPS for this to work)
+ The Virtual Service Type must be set to STARTTLS for the remaining values to be set:
+ 1 - SMTP (STARTTLS if requested)
+2 - SMTP (STARTTLS always)
+3 - FTP
+4 - IMAP
+6 - POP3
+
+ Int16
+
+
+ ExtraPorts
+
+ Specifies extra ports that the Virtual Service will listen to.
+
+ String
+
+
+ AltAddress
+
+ Specifies the alternate address for this Virtual Service.
+
+ String
+
+
+ MultiConnect
+
+ Enabling this option permits the LoadMaster to manage connection handling between the LoadMaster and the Real Servers. Requests from multiple clients will be sent over the same TCP connection.
+ Multiplexing only works for simple HTTP GET operations. This parameter cannot be enabled in certain situations, for example if WAF, ESP or SSL Acceleration is enabled.
+
+ Boolean
+
+
+ SingleSignOnDir
+
+ This parameter relates to the SSO Image Set drop-down in the ESP Options section of the modify Virtual Service screen. Specify the name of the image set to be used for the login screen. If no image set is specified, the default Exchange image set will be used.
+
+ String
+
+
+ OCSPVerify
+
+ Specifies whether to verify (via Online Certificate Status Protocol (OCSP)) that the client certificate is valid.
+
+ String
+
+
+ FollowVSID
+
+ Specifies the ID of the Virtual Service to follow.
+
+ Int32
+
+
+ TlsType
+
+ Specify which of the following protocols to support; SSLv3, TLS1.0, TLS1.1 or TLS1.2. By default, TLS1.1 and TLS1.2 are enabled. The protocols can be enabled and disabled using a bitmask value. Refer to the table below to find out what number corresponds to which settings.
+ Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+
+ Int32
+
+
+ CheckPostData
+
+ This parameter is only relevant if the HTTP Method is set to POST. When using the POST method, up to 2047 characters of POST data can be sent to the server.
+
+ String
+
+
+ CheckCodes
+
+ A space-separated list of HTTP status codes that should be treated as successful when received from the Real Server.
+Range: 300-599
+
+ String
+
+
+ PreProcPrecedence
+
+ This parameter should be used in conjunction with PreProcPrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change. This parameter relates to Content Matching Rules only.
+
+ String
+
+
+ PreProcPrecedencePos
+
+ This parameter, in conjunction with the PreProcPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second. This parameter relates to the Content Matching Rules only.
+
+ Int16
+
+
+ RequestPrecedence
+
+ This parameter should be used in conjunction with RequestPrecedencePos. This parameter is used to specify the name of the existing request rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+Modify URL
+
+ String
+
+
+ RequestPrecedencePos
+
+ This parameter, in conjunction with the RequestPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ ResponsePrecedence
+
+ This parameter should be used in conjunction with ResponsePrecedencePos. This parameter is used to specify the name of the existing response rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+
+ String
+
+
+ ResponsePrecedencePos
+
+ This parameter, in conjunction with the ResponsePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ RsRulePrecedence
+
+ This parameter should be used in conjunction with RSRulePrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change.
+
+ String
+
+
+ RsRulePrecedencePos
+
+ This parameter, in conjunction with the RSRulePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+
+ NeedHostName
+
+ When this parameter is enabled, the hostname is always required to be sent in the TLS client hello message. If it is not sent, the connection is dropped.
+Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ CopyHdrFrom
+
+ This is the name of the source header field to copy into the new header field before the request is sent to the Real Servers.
+
+ String
+
+
+ CopyHdrTo
+
+ This parameter is used in conjunction with the CopyHdrFrom parameter.
+The name of the header field into which the source header is to be copied.
+
+ String
+
+
+ ServerFbaPath
+
+ Only relevant when using form-based authentication as the Server Authentication Mode (OutputAuthMode). Set the authentication path for server-side Form Based Authentication (FBA). When used in Exchange environments, this does not need to be set.
+
+ String
+
+
+ ServerFbaPost
+
+ Only relevant when using form-based authentication as the Server Athentication Mode (OutputAuthMode). Set the format string used to generate POST body for server side FBA. The value must be base64-encoded.
+When used in Exchange environments, this does not need to be set.
+
+ String
+
+
+ Intercept
+
+ Enable or disable the Web Application Firewall (WAF) for this Virtual Service.
+
+ Boolean
+
+
+ AllowHTTP2
+
+ Enable HTTP2 for this Virtual Service. SSL Acceleration must be enabled before HTTP2 can be enabled. The Best Practices cipher set should be used when HTTP2 is enabled.
+
+ Boolean
+
+
+ InterceptOpts
+
+ Specifies Web Application Firewall (WAF) options for this Virtual Service.
+The AFP InterceptOpts parameter is a special parameter – it can be used to set the value for multiple fields, rather than just one field as with most other parameters. The InterceptOpts parameter allows the specification of most of the fields in the WAF Options section of the Virtual Service modify screen in the LoadMaster WUI.
+To enable WAF, set the Intercept parameter to 1.
+The names of the specific WUI fields that the InterceptOpts parameter is related to, are listed in the table below.
+ One or more field values can be set in one command. Multiple values can be set in the one command by separating the values with a semi-colon.
+The values that are related to the same WUI option are mutually exclusive. For example, you cannot set Basic Operation to both opnormal and opblock.
+ Value Related WUI Option Default Meaning
+opnormal Default Operation Audit Only Set the Basic Operation to Audit Only
+opblock Default Operation Audit Only Set the Basic Operation to Block Mode
+auditnone Audit mode No Audit Set the Audit mode to No Audit. No data is logged.
+auditrelevant Audit mode No Audit Set the Audit mode to Audit Relevant. Logs data which is of a warning level and higher.
+auditall Audit mode No Audit Set the Audit mode to Audit All. Logs all data through the Virtual Service.
+The Audit All option is not recommended for use in normal operation. Audit All should only be used when troubleshooting a specific problem.
+reqdataenable Inspect HTML POST Request Content Disabled Enable the Inspect HTML POST Request Content option
+reqdatadisable Inspect HTML POST Request Content Disabled Disable the Inspect HTML POST Request Content option
+resdataenable Process Response Data Disabled Enable the Process Response Data option
+resdatadisable Process Response Data Disabled Disable the Process Response Data option
+jsondisable Disable JSON Parser Disabled Disable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+jsonenable Disable JSON Parser Disabled Enable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmldisable Disable XML Parser Disabled Disable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmlenable Disable XML Parser Disabled Enable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+
+ String
+
+
+ InterceptRules
+
+ Specifies Web Application Firewall (WAF) rules for this Virtual Service.
+
+ String
+
+
+ AlertThreshold
+
+ Specifies Web Application Firewall (WAF) alert threshold for this Virtual Service.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+ The IP address for the Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+ The port for the Virtual Service.
+The port parameter is used to assign a port when initially creating a Virtual Service. If modifying the port of an existing Virtual Service, specify the existing port as the Port parameter and use the VSPort parameter to assign the new port.
+The reason why these must be separate parameters is because you need to specify what the port of the existing Virtual Service is (because there may be another Virtual Service with the same IP address but a different port) and if you want to change the port, a second port parameter (VSPort) is needed to specify the new port value.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+ The index number of the Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ AddVia
+
+ Specifies which headers are added to the HTTP stream. Choose the number of the option to use.
+ 0 - Legacy Operation(XXX)
+1 - None
+2 - X-Forwarded-For
+3 - X-Forwarded-For (No Via)
+4 - X-ClientSide
+5 - X-ClientSide (No Via)
+6 - Via Only
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Cache
+
+ Enables or disables caching on this Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CertFile
+
+ Specifies the name of the certificate file to use that is already installed on the load balancer. Note: This will NOT upload a certificate file to the load balancer.
+
+ String
+
+ String
+
+
+
+
+
+ CheckType
+
+ Specifies the protocol to use to check if the service is up. Valid options are "tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", "ldap" or "none".
+
+ String
+
+ String
+
+
+
+
+
+ CheckHost
+
+ The address to use to check if the service is up.
+
+ String
+
+ String
+
+
+
+
+
+ CheckPattern
+
+ A regular expression string that can be validate on a 200 reply to determine if the service is up.
+Specify an empty value to unset CheckPattern.
+
+ String
+
+ String
+
+
+
+
+
+ CheckUrl
+
+ The URL to check if the service is up. The maximum character length for the CheckUrl parameter value is 126 characters.
+
+ String
+
+ String
+
+
+
+
+
+ CheckHeaders
+
+ Specify up to four additional headers/fields which will be sent with each health check request. Separate the pairs with a pipe, for example; Host:xyc|UserAgent:prq.
+
+ String
+
+ String
+
+
+
+
+
+ LdapEndpoint
+
+ Specify the LDAP endpoint to use for health checks (if LDAP is selected as the CheckType). If LDAP is selected as the health check protocol, the server IP address (or addresses) and ports from the LDAP endpoint configuration will be used instead of the Real Server IP address and port.
+
+ String
+
+ String
+
+
+
+
+
+ MatchLen
+
+ This parameter is only relevant when the CheckType is set to "bdata". Specify the number of bytes to find the CheckPattern within.
+
+ String
+
+ String
+
+
+
+
+
+ CheckUse1_1
+
+ Specifies that the health checker use HTTP/1.1 instead of HTTP/1.0.
+0 - HTTP/1.0
+1 - HTTP/1.1
+
+ Int32
+
+ Int32
+
+
+
+
+
+ CheckPort
+
+ The port to use to check if the service is up.
+Specify 0 to unset CheckPort.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ EnhancedHealthChecks
+
+ Enables or disables Enhanced Health Check Options for the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RsMinimum
+
+ Specifies the minimum number of Real Servers that are required to be active for the Virtual Service to be considered up.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ClientCert
+
+ Specify how client certificates should be used. Valid values are 0, 1, or 2. Zero indicates that client certificates are not use. One indicates that client certificates are required. Two indicates that client certificates are required and additional HEAD information is being sent.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Compress
+
+ Enable or disable file compression for the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Cookie
+
+ Specifies a cookie name. This parameter is only relevant when the persistence mode is set to "cookie", "active-cookie", "cookie-src" or "active-cook-src".
+
+ String
+
+ String
+
+
+
+
+
+ CachePercent
+
+ Specifies the maximum cache usage for this virtual service.
+ Note: Setting two Virtual Services using 50% of cache will use 100% of all cache storage. This parameter accepts values from 0 to 100.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ DefaultGW
+
+ Specifies a Virtual Service-specific default gateway to be used to send responses back to clients. If not set, the global default gateway will be used.
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+ Enables or disables the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ErrorCode
+
+ If no Real Servers are available, the LoadMaster can terminate the connection with an HTTP error code. Specify the error code number in this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ ErrorUrl
+
+ When no Real Servers are available and an error response is sent back to the client, a redirect URL can also be specified.
+
+ String
+
+ String
+
+
+
+
+
+ PortFollow
+
+ This parameter was depreciated as of 7.1-24. For LoadMasters with version 7.1-24 or higher, use the FollowVSID parameter to set port following.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ForceL7
+
+ Enabling ForceL7 means the Virtual Service runs at Layer 7 and not Layer 4. This may be needed for various reasons, including that only Layer 7 services can be non-transparent.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Idletime
+
+ Specifies the length of time (in seconds) that a connection may remain idle before it is closed. The range for this parameter is 0 to 86400. There are some special values that can be set for this parameter:
+- 0: Ensures the default L7 connection timeout is used. The default timeout value can be modified by setting the conntimeout parameter.
+- 1: Discards the connection after the packet is first forwarded – a response is not expected or handled.
+- 2: Uses a DNS-type of operation. The connection is dropped after the reply message.
+Setting it to 1 or 2 enables better performance and memory usage for UDP connections and they correspond better to how UDP is used.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LocalBindAddresses
+
+ Specifies a space-separated list of IP addresses. This corresponds to the Alternate Source Address in the Advanced Properties section of the WUI. Allow connections scaling over 64K Connections needs to be enabled in L7 Configuration for this feature to work.
+
+ String[]
+
+ String[]
+
+
+
+
+
+ VSType
+
+ Specifies the type of service being load balanced:
+ gen - Generic
+http - HTTP/HTTPS
+ts - Remote Terminal
+tls – STARTTLS protocols
+log – Log Insight
+
+ String
+
+ String
+
+
+
+
+
+ Nickname
+
+ Specifies the "friendly" name of the service. In addition to the usual alphanumeric characters, the following "special" characters can be used as part of the Service Name:
+ . @ - _
+ However, there must be at least one alphanumeric character before the special characters.
+
+ String
+
+ String
+
+
+
+
+
+ Persist
+
+ Specifies the type of persistence (stickiness) to be used for this Virtual Service.
+ The following persistence values are supported: ssl, cookie, active-cookie, cookie-src, active-cook-src, cookie-hash, cookie-hash-src, url, query-hash, host, header, super, super-src, src, rdp, rdp-src, rdp-sb, rdp-sb-src, udpsip and none.
+ Note: If setting the persistence mode to an option that requires a cookie (or query-hash), the cookie parameter must also be set.
+
+ String
+
+ String
+
+
+
+
+
+ PersistTimeout
+
+ The length of time (in seconds) after the last connection that the LoadMaster will remember the persistence information. Timeout values are rounded down to an even number of minutes. Setting a value that is not a number of whole minutes results in the excess being ignored. Setting a value to less than 60 seconds results in a value of 0 being set, which disables persistency.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ QueryTag
+
+ This is the query tag to be matched if the Persist type is set to query-hash.
+
+ String
+
+ String
+
+
+
+
+
+ CipherSet
+
+ Specifies a cipher set name.
+
+ String
+
+ String
+
+
+
+
+
+ SSLReencrypt
+
+ This parameter is only relevant if SSL Acceleration is enabled. When this option is enabled, the SSL data stream is re-encrypted before sending to the Real Server.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SSLReverse
+
+ Enabling this parameter means that the data from the LoadMaster to the Real Server is re-encrypted.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SSLRewrite
+
+ When the Real Server rejects a request with an HTTP redirect, the requesting Location URL may need to be converted to specify HTTPS instead of HTTP (and vice versa).
+
+ String
+
+ String
+
+
+
+
+
+ ReverseSNIHostname
+
+ If this option is enabled, the host name is required to be sent in the TLS client hello message. If it is not sent the connection will be dropped.
+
+ String
+
+ String
+
+
+
+
+
+ Schedule
+
+ Specifies the type of scheduling of new connections to Real Servers that is to be performed. The following values are supported:
+ rr = round robin
+wrr = weighted round robin
+lc = least connection
+wlc = weighted least connection
+fixed = fixed weighting
+adaptive = resource based (adaptive)
+sh = source IP hash
+dl = weighted response time
+sdn-adaptive = resource based (SDN adaptive)
+
+ String
+
+ String
+
+
+
+
+
+ ServerInit
+
+ Specifies one of the following values:
+ 0 - Normal Protocols
+1 - SMTP
+2 - SSH
+3 - Other Server Initiating
+4 - IMAP4
+5 - MySQL
+6 - POP3
+
+ Int16
+
+ Int16
+
+
+
+
+
+ SSLAcceleration
+
+ Specifies whether to enable SSL handling on the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ StandByAddr
+
+ Specifies the IP address of the "Sorry" server that is to be used when no other Real Servers are available. This server will not be health checked and is assumed to be always available.
+
+ String
+
+ String
+
+
+
+
+
+ StandByPort
+
+ Specifies the port of the "Sorry" server.
+
+ String
+
+ String
+
+
+
+
+
+ TransactionLimit
+
+ This is a legacy parameter that should no longer be used. It was used previously when the SSL proxy was limited to 6K total connections. The transaction limit was used to limit one Virtual Service to only handle so many connections out of this 6K. On newer systems, where the limit is greater than 64K - this feature is no longer required.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Transparent
+
+ When using Layer 7, when this is enabled - the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent, which means that the connections at the Real Server appear to come from the LoadMaster.
+0 - Disabled
+1 - Enabled
+If a Virtual Service (with or without a SubVS) has SSL re-encrypt enabled, the transparency flag of the Virtual Service has no meaning (re-encryption forces transparency to be off). The transparency setting can still be modified by the API, and is honored when re-encrypt is disabled on the Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SubnetOriginating
+
+ When transparency is not enabled, the source IP address of connections to the Real Servers is that of the Virtual Service. When transparency is enabled, the source IP address will be the IP address that is initiating connection to the Virtual Service. If the Real Server is on a subnet, and the Subnet Originating Requests option is enabled, then the subnet address of the LoadMaster will be used as the source IP address.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ UseforSnat
+
+ By default, when the LoadMaster is being used to NAT Real Servers, the source IP address used on the Internet is that of the LoadMaster. Enabling this option allows the Real Servers configured to use the Virtual Service as the source IP address instead. If the Real Servers are configured on more than one Virtual Service which has this option set, only connections to destination port 80 will use this Virtual Service as the source IP address.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ QoS
+
+ Specifies the Quality of Service. The following values are supported:
+ 0 - Normal-Service
+1 - Minimize-Cost
+2 - Maximize-Reliability
+4 - Maximize-Throughput
+8 - Minimize-Delay
+
+ String
+
+ String
+
+
+
+
+
+ CheckUseGet
+
+ When accessing the health check URL - the system can use the HEAD, the GET or the POST method:
+ 0 - HEAD
+1 - GET
+2 - POST
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Verify
+
+ Specifies a verification bitmask. The valid values of the Verify parameter are as follows:
+ Bit 0: set this to 1 to enable detection intrusion.
+ Note: Bit 0 needs to be set to 1 in order to use the other two bits.
+ Bit 1: Determines whether to reject or drop a connection. Setting it to 1 will drop the connection.
+ Bit 2: Determines whether to give just warnings on bad requests or also on malicious (but not invalid) requests.
+ The following table lists the valid integers and the values they set the fields to when used:
+Integer Detect Malicious Requests Intrusion Handling Warnings Checkbox
+0 Disabled N/A N/A
+1 Enabled Drop Connection Unchecked
+2 Enabled Send Reject Unchecked
+3 Enabled Send Reject Unchecked
+4 Enabled Drop Connection Checked
+5 Enabled Drop Connection Checked
+6 Enabled Send Reject Checked
+7 Enabled Send Reject Checked
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ExtraHdrKey
+
+ Specifies the key for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+ String
+
+
+
+
+
+ ExtraHdrValue
+
+ Specifies the value for the extra header to be inserted into every request sent to the Real Servers.
+
+ String
+
+ String
+
+
+
+
+
+ AllowedHosts
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual hosts that can be accessed via this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ AllowedDirectories
+
+ This parameter is only relevant when ESP is enabled. Specifies all the virtual directories that can be accessed via this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ AllowedGroups
+
+ Specifies the groups that are allowed to access this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ GroupSIDs
+
+ Specify the group security identifiers (SIDs) that are allowed to access this Virtual Service. Each group must be separated by a semicolon.
+
+ String
+
+ String
+
+
+
+
+
+ SteeringGroups
+
+ Enter the Active Directory group names that will be used for steering traffic. Use a semi-colon to separate multiple group names. The steering group index number corresponds to the location of the group in this list.
+
+ String
+
+ String
+
+
+
+
+
+ IncludeNestedGroups
+
+ Specify if nested groups should be included in the authentication attempt.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisplayPubPriv
+
+ Display the public/private option on the login page. Based on the option the user selects on the login form, the session timeout value will be set to the value specified for either the public or private timeout.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisablePasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Domain
+
+ Specifies the Single Sign On (SSO) domain in which this Virtual Service will operate.
+
+ String
+
+ String
+
+
+
+
+
+ AltDomains
+
+ Specifies alternative domains to be assigned to a Virtual Service when configuring multi-domain authentication. To specify multiple alternative domains use a space-separated list.
+
+ String
+
+ String
+
+
+
+
+
+ Logoff
+
+ This parameter is only relevant when ESP is enabled and when the Client Authentication Mode is set to Form Based. Specify the string that the LoadMaster should use to detect a logout event. Multiple logoff strings can be specified by using a space-separated list.
+ If the URL to be matched contains sub-directories before the specified string, the Logoff String will not be matched. Therefore the LoadMaster will not log the user off.
+
+ String
+
+ String
+
+
+
+
+
+ ESPLogs
+
+ Enable ESP logging. Valid values are below:
+ 0 - Logging off
+1 - User Access
+2 - Security
+3 - User Access and Security
+4 - Connection
+5 - User Access and Connection
+6 - Security and connection
+7 - User Access, Security and Connection
+ Note: The only valid values for SMTP services are 0 and 4. For SMTP services, security issues are always logged. Nothing is logged for user access because there are no logins.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ SMTPAllowedDomains
+
+ Specifies all the permitted domains that are allowed to be received by this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ ESPEnabled
+
+ Specifies whether to enable or disable the Edge Security Pack (ESP) features.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ UserPwdChangeUrl
+
+ This is relevant when using form-based LDAP authentication. Specify the URL that users can use to change their password. If a user’s password has expired, or if they must reset their password, this URL and the UserPwdChangeMsg is displayed on the login form.
+This URL must be put into the exception list for authentication, if required.
+
+ String
+
+ String
+
+
+
+
+
+ UserPwdChangeMsg
+
+ This parameter is only relevant if the UserPwdChangeURL parameter is set. Specify the text to be displayed on the login form when the user must reset their password.
+
+ String
+
+ String
+
+
+
+
+
+ SecurityHeaderOptions
+
+ Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+0 - Don't add the Strict Transport Security Header (default value)
+1 - Add the Strict Transport Security Header - no subdomains
+2 - Add the Strict Transport Security Header - include subdomains Enable this option to add the Strict-Transport-Security header to all LoadMaster-generated messages (ESP and error messages).
+
+ Int16
+
+ Int16
+
+
+
+
+
+ InputAuthMode
+
+ Specifies the client authentication method to be used:
+ 0 - Delegate to Server
+1 - Basic Authentication
+2 - Form Based
+4 - Client Certificate
+5 - NTLM
+6 - SAML
+
+ Int16
+
+ Int16
+
+
+
+
+
+ OutConf
+
+
+
+ String
+
+ String
+
+
+
+
+
+ OutputAuthMode
+
+ Specifies the server authentication mode to be used:
+ 0 - None
+1 - Basic Authentication
+2 - Form Based
+3 - KCD
+
+ Int16
+
+ Int16
+
+
+
+
+
+ StartTLSMode
+
+ 0 - HTTP/HTTPS (the Service Type needs to be set to HTTP/HTTPS for this to work)
+ The Virtual Service Type must be set to STARTTLS for the remaining values to be set:
+ 1 - SMTP (STARTTLS if requested)
+2 - SMTP (STARTTLS always)
+3 - FTP
+4 - IMAP
+6 - POP3
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ExtraPorts
+
+ Specifies extra ports that the Virtual Service will listen to.
+
+ String
+
+ String
+
+
+
+
+
+ AltAddress
+
+ Specifies the alternate address for this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ MultiConnect
+
+ Enabling this option permits the LoadMaster to manage connection handling between the LoadMaster and the Real Servers. Requests from multiple clients will be sent over the same TCP connection.
+ Multiplexing only works for simple HTTP GET operations. This parameter cannot be enabled in certain situations, for example if WAF, ESP or SSL Acceleration is enabled.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SingleSignOnDir
+
+ This parameter relates to the SSO Image Set drop-down in the ESP Options section of the modify Virtual Service screen. Specify the name of the image set to be used for the login screen. If no image set is specified, the default Exchange image set will be used.
+
+ String
+
+ String
+
+
+
+
+
+ OCSPVerify
+
+ Specifies whether to verify (via Online Certificate Status Protocol (OCSP)) that the client certificate is valid.
+
+ String
+
+ String
+
+
+
+
+
+ FollowVSID
+
+ Specifies the ID of the Virtual Service to follow.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ TlsType
+
+ Specify which of the following protocols to support; SSLv3, TLS1.0, TLS1.1 or TLS1.2. By default, TLS1.1 and TLS1.2 are enabled. The protocols can be enabled and disabled using a bitmask value. Refer to the table below to find out what number corresponds to which settings.
+ Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+
+ Int32
+
+ Int32
+
+
+
+
+
+ CheckPostData
+
+ This parameter is only relevant if the HTTP Method is set to POST. When using the POST method, up to 2047 characters of POST data can be sent to the server.
+
+ String
+
+ String
+
+
+
+
+
+ CheckCodes
+
+ A space-separated list of HTTP status codes that should be treated as successful when received from the Real Server.
+Range: 300-599
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedence
+
+ This parameter should be used in conjunction with PreProcPrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change. This parameter relates to Content Matching Rules only.
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedencePos
+
+ This parameter, in conjunction with the PreProcPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second. This parameter relates to the Content Matching Rules only.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RequestPrecedence
+
+ This parameter should be used in conjunction with RequestPrecedencePos. This parameter is used to specify the name of the existing request rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+Modify URL
+
+ String
+
+ String
+
+
+
+
+
+ RequestPrecedencePos
+
+ This parameter, in conjunction with the RequestPrecedence parameter, is used to change the position of the rule in a sequence of rules. For example a position of 2 means the rule will be checked second.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ResponsePrecedence
+
+ This parameter should be used in conjunction with ResponsePrecedencePos. This parameter is used to specify the name of the existing response rule whose position you wish to change.
+ This parameter relates to the following rule types:
+ Content Matching
+Add Header
+Delete Header
+Replace Header
+
+ String
+
+ String
+
+
+
+
+
+ ResponsePrecedencePos
+
+ This parameter, in conjunction with the ResponsePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RsRulePrecedence
+
+ This parameter should be used in conjunction with RSRulePrecedencePos. This parameter is used to specify the name of the existing rule whose position you wish to change.
+
+ String
+
+ String
+
+
+
+
+
+ RsRulePrecedencePos
+
+ This parameter, in conjunction with the RSRulePrecedence parameter, is used to change the position of the rule in a sequence of rules. For example, a position of 2 means the rule will be checked second.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ NeedHostName
+
+ When this parameter is enabled, the hostname is always required to be sent in the TLS client hello message. If it is not sent, the connection is dropped.
+Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CopyHdrFrom
+
+ This is the name of the source header field to copy into the new header field before the request is sent to the Real Servers.
+
+ String
+
+ String
+
+
+
+
+
+ CopyHdrTo
+
+ This parameter is used in conjunction with the CopyHdrFrom parameter.
+The name of the header field into which the source header is to be copied.
+
+ String
+
+ String
+
+
+
+
+
+ ServerFbaPath
+
+ Only relevant when using form-based authentication as the Server Authentication Mode (OutputAuthMode). Set the authentication path for server-side Form Based Authentication (FBA). When used in Exchange environments, this does not need to be set.
+
+ String
+
+ String
+
+
+
+
+
+ ServerFbaPost
+
+ Only relevant when using form-based authentication as the Server Athentication Mode (OutputAuthMode). Set the format string used to generate POST body for server side FBA. The value must be base64-encoded.
+When used in Exchange environments, this does not need to be set.
+
+ String
+
+ String
+
+
+
+
+
+ Intercept
+
+ Enable or disable the Web Application Firewall (WAF) for this Virtual Service.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AllowHTTP2
+
+ Enable HTTP2 for this Virtual Service. SSL Acceleration must be enabled before HTTP2 can be enabled. The Best Practices cipher set should be used when HTTP2 is enabled.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ InterceptOpts
+
+ Specifies Web Application Firewall (WAF) options for this Virtual Service.
+The AFP InterceptOpts parameter is a special parameter – it can be used to set the value for multiple fields, rather than just one field as with most other parameters. The InterceptOpts parameter allows the specification of most of the fields in the WAF Options section of the Virtual Service modify screen in the LoadMaster WUI.
+To enable WAF, set the Intercept parameter to 1.
+The names of the specific WUI fields that the InterceptOpts parameter is related to, are listed in the table below.
+ One or more field values can be set in one command. Multiple values can be set in the one command by separating the values with a semi-colon.
+The values that are related to the same WUI option are mutually exclusive. For example, you cannot set Basic Operation to both opnormal and opblock.
+ Value Related WUI Option Default Meaning
+opnormal Default Operation Audit Only Set the Basic Operation to Audit Only
+opblock Default Operation Audit Only Set the Basic Operation to Block Mode
+auditnone Audit mode No Audit Set the Audit mode to No Audit. No data is logged.
+auditrelevant Audit mode No Audit Set the Audit mode to Audit Relevant. Logs data which is of a warning level and higher.
+auditall Audit mode No Audit Set the Audit mode to Audit All. Logs all data through the Virtual Service.
+The Audit All option is not recommended for use in normal operation. Audit All should only be used when troubleshooting a specific problem.
+reqdataenable Inspect HTML POST Request Content Disabled Enable the Inspect HTML POST Request Content option
+reqdatadisable Inspect HTML POST Request Content Disabled Disable the Inspect HTML POST Request Content option
+resdataenable Process Response Data Disabled Enable the Process Response Data option
+resdatadisable Process Response Data Disabled Disable the Process Response Data option
+jsondisable Disable JSON Parser Disabled Disable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+jsonenable Disable JSON Parser Disabled Enable the JSON parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmldisable Disable XML Parser Disabled Disable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+xmlenable Disable XML Parser Disabled Enable the XML parser. This option is only relevant if the Inspect HTML POST Request Content option is enabled.
+
+ String
+
+ String
+
+
+
+
+
+ InterceptRules
+
+ Specifies Web Application Firewall (WAF) rules for this Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ AlertThreshold
+
+ Specifies Web Application Firewall (WAF) alert threshold for this Virtual Service.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port for the Virtual Service. A wildcard port can also be specified by using an asterisk (*).
+The Port parameter is used to assign a port when initially creating a Virtual Service. If modifying the port of an existing Virtual Service, specify the existing port as the Port parameter and use the VSPort parameter to assign the new port.
+The reason why these must be separate parameters is because you need to specify what the port of the existing Virtual Service is (because there may be another Virtual Service with the same IP address but a different port) and if you want to change the port, a second port parameter (VSPort) is needed to specify the new port value.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ Specify if the service is using TCP or UDP protocols.
+
+ string
+
+ string
+
+
+
+
+
+ DisplayPasswordForm
+
+ Enabling this option removes the password field from the login page. This may be needed when password validation is not required, for example if using RSA SecurID authentication in a singular fashion.
+
+ boolean
+
+ boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-AdcVirtualService -Port 80 -Protocol tcp -VirtualService 10.154.11.90 -persist header
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{VS=}
+Param........: @{Status=Down; Index=4; VSAddress=10.154.11.90; VSPort=80; Layer=7; Enable=Y; SSLReverse=N; SSLReencrypt=N; Intercept=N; InterceptOpts=;
+AlertThreshold=0; Transactionlimit=0; Transparent=N; SubnetOriginating=Y; ServerInit=0; StartTLSMode=0; Idletime=660; Cache=N; Compress=N; Verify=0; Use
+forSnat=N; ForceL4=N; ForceL7=Y; MultiConnect=N; ClientCert=0; ErrorCode=0; CheckUse1.1=N; MatchLen=0; CheckUseGet=0; SSLRewrite=0; VStype=http; FollowV
+SID=0; Protocol=tcp; Schedule=rr; CheckType=http; Persist=header; PersistTimeout=360; CheckPort=0; NRules=0; NRequestRules=0; NResponseRules=0; NPreProc
+essRules=0; EspEnabled=N; InputAuthMode=0; OutputAuthMode=0; MasterVS=0; MasterVSID=0; IsTransparent=2; AddVia=0; QoS=0; TlsType=0; NeedHostName=N; OCSP
+Verify=N; AllowHTTP2=N; EnhancedHealthChecks=N; RsMinimum=0; NumberOfRSs=0}
+Status : Down
+Index : 4
+VSAddress : 10.154.11.90
+VSPort : 80
+Layer : 7
+Enable : Y
+SSLReverse : N
+SSLReencrypt : N
+Intercept : N
+InterceptOpts : @{Opt=System.Object[]}
+AlertThreshold : 0
+Transactionlimit : 0
+Transparent : N
+SubnetOriginating : Y
+ServerInit : 0
+StartTLSMode : 0
+Idletime : 660
+Cache : N
+Compress : N
+Verify : 0
+UseforSnat : N
+ForceL4 : N
+ForceL7 : Y
+MultiConnect : N
+ClientCert : 0
+ErrorCode : 0
+CheckUse1.1 : N
+MatchLen : 0
+CheckUseGet : 0
+SSLRewrite : 0
+VStype : http
+FollowVSID : 0
+Protocol : tcp
+Schedule : rr
+CheckType : http
+Persist : header
+PersistTimeout : 360
+CheckPort : 0
+NRules : 0
+NRequestRules : 0
+NResponseRules : 0
+NPreProcessRules : 0
+EspEnabled : N
+InputAuthMode : 0
+OutputAuthMode : 0
+MasterVS : 0
+MasterVSID : 0
+IsTransparent : 2
+AddVia : 0
+QoS : 0
+TlsType : 0
+NeedHostName : N
+OCSPVerify : N
+AllowHTTP2 : N
+EnhancedHealthChecks : N
+RsMinimum : 0
+NumberOfRSs : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AdminAccess
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecAdminAccess
+
+
+
+
+ Set
+ AdminAccess
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecAdminAccess
+
+
+
+ Set-AdminAccess
+
+ WuiNetworkInterfaceId
+
+
+
+ Int32
+
+
+ WuiPort
+
+
+
+ Int32
+
+
+ WuiDefaultGateway
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AdminAccess
+
+ WuiNetworkInterfaceId
+
+
+
+ Int32
+
+
+ WuiPort
+
+
+
+ Int32
+
+
+ WuiDefaultGateway
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ WuiNetworkInterfaceId
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ WuiPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ WuiDefaultGateway
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AFEConfiguration
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmAFEConfiguration
+
+
+
+
+ Set
+ AFEConfiguration
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmAFEConfiguration
+
+
+
+ Set-AFEConfiguration
+
+ CacheSize
+
+
+
+ Int32
+
+
+ HostCache
+
+
+
+ Boolean
+
+
+ DetectionLevel
+
+
+
+ String
+
+
+ LimitInput
+
+
+
+ Int64
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AFEConfiguration
+
+ CacheSize
+
+
+
+ Int32
+
+
+ HostCache
+
+
+
+ Boolean
+
+
+ DetectionLevel
+
+
+
+ String
+
+
+ LimitInput
+
+
+
+ Int64
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ CacheSize
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ HostCache
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DetectionLevel
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LimitInput
+
+
+
+ Int64
+
+ Int64
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AwsHAMode
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmAwsHAMode
+
+
+
+
+ Set
+ AwsHAMode
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmAwsHAMode
+
+
+
+ Set-AwsHAMode
+
+ HAMode
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AwsHAMode
+
+ HAMode
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ HAMode
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AwsHAOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAwsHAConfiguration
+
+
+
+
+ Set
+ AwsHAOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmAwsHAConfiguration
+
+
+
+ Set-AwsHAOption
+
+ Partner
+
+
+
+ String
+
+
+ HealthCheckPort
+
+
+
+ String
+
+
+ haprefered
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AwsHAOption
+
+ Partner
+
+
+
+ String
+
+
+ HealthCheckPort
+
+
+
+ String
+
+
+ haprefered
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Partner
+
+
+
+ String
+
+ String
+
+
+
+
+
+ HealthCheckPort
+
+
+
+ String
+
+ String
+
+
+
+
+
+ haprefered
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AzureHAMode
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmAzureHAMode
+
+
+
+
+ Set
+ AzureHAMode
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmAzureHAMode
+
+
+
+ Set-AzureHAMode
+
+ HAMode
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AzureHAMode
+
+ HAMode
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ HAMode
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-AzureHAOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AzureHAOption
+
+
+
+
+ Set
+ AzureHAOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AzureHAOption
+
+
+
+ Set-AzureHAOption
+
+ Partner
+
+
+
+ String
+
+
+ Hcp
+
+
+
+ String
+
+
+ haprefered
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-AzureHAOption
+
+ Partner
+
+
+
+ String
+
+
+ Hcp
+
+
+
+ String
+
+
+ haprefered
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Partner
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Hcp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ haprefered
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-BackupOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmBackupConfiguration
+
+
+
+
+ Set
+ BackupOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmBackupConfiguration
+
+
+
+ Set-BackupOption
+
+ BackupEnable
+
+
+
+ String
+
+
+ BackupHour
+
+
+
+ Int16
+
+
+ BackupMinute
+
+
+
+ Int16
+
+
+ BackupDay
+
+
+
+ Int16
+
+
+ BackupMethod
+
+
+
+ String
+
+
+ BackupUser
+
+
+
+ String
+
+
+ BackupPassword
+
+
+
+ String
+
+
+ BackupHost
+
+
+
+ String
+
+
+ BackupPath
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-BackupOption
+
+ BackupEnable
+
+
+
+ String
+
+
+ BackupHour
+
+
+
+ Int16
+
+
+ BackupMinute
+
+
+
+ Int16
+
+
+ BackupDay
+
+
+
+ Int16
+
+
+ BackupMethod
+
+
+
+ String
+
+
+ BackupUser
+
+
+
+ String
+
+
+ BackupPassword
+
+
+
+ String
+
+
+ BackupHost
+
+
+
+ String
+
+
+ BackupPath
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ BackupEnable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ BackupHour
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BackupMinute
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BackupDay
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BackupMethod
+
+
+
+ String
+
+ String
+
+
+
+
+
+ BackupUser
+
+
+
+ String
+
+ String
+
+
+
+
+
+ BackupPassword
+
+
+
+ String
+
+ String
+
+
+
+
+
+ BackupHost
+
+
+
+ String
+
+ String
+
+
+
+
+
+ BackupPath
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-DateTimeOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmDateTimeConfiguration
+
+
+
+
+ Set
+ DateTimeOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmDateTimeConfiguration
+
+
+
+ Set-DateTimeOption
+
+ NTPHost
+
+
+
+ String
+
+
+ TimeZone
+
+
+
+ String
+
+
+ NTPKeyId
+
+
+
+ Int32
+
+
+ NTPKeySecret
+
+
+
+ String
+
+
+ NTPKeyType
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-DateTimeOption
+
+ NTPHost
+
+
+
+ String
+
+
+ TimeZone
+
+
+
+ String
+
+
+ NTPKeyId
+
+
+
+ Int32
+
+
+ NTPKeySecret
+
+
+
+ String
+
+
+ NTPKeyType
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ NTPHost
+
+
+
+ String
+
+ String
+
+
+
+
+
+ TimeZone
+
+
+
+ String
+
+ String
+
+
+
+
+
+ NTPKeyId
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ NTPKeySecret
+
+
+
+ String
+
+ String
+
+
+
+
+
+ NTPKeyType
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-DebugOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmDebugConfiguration
+
+
+
+
+ Set
+ DebugOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmDebugConfiguration
+
+
+
+ Set-DebugOption
+
+ transparent
+
+
+
+ Boolean
+
+
+ irqbalance
+
+
+
+ Boolean
+
+
+ linearesplogs
+
+
+
+ Boolean
+
+
+ netconsole
+
+
+
+ String
+
+
+ netconsoleinterface
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-DebugOption
+
+ transparent
+
+
+
+ Boolean
+
+
+ irqbalance
+
+
+
+ Boolean
+
+
+ linearesplogs
+
+
+
+ Boolean
+
+
+ netconsole
+
+
+
+ String
+
+
+ netconsoleinterface
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ transparent
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ irqbalance
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ linearesplogs
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ netconsole
+
+
+
+ String
+
+ String
+
+
+
+
+
+ netconsoleinterface
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-DNSConfiguration
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-NetworkDNSConfiguration
+
+
+
+
+ Set
+ DNSConfiguration
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-NetworkDNSConfiguration
+
+
+
+ Set-DNSConfiguration
+
+ Hostname
+
+
+
+ String
+
+
+ HA1Hostname
+
+
+
+ String
+
+
+ HA2Hostname
+
+
+
+ String
+
+
+ NameServer
+
+
+
+ String
+
+
+ Searchlist
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-DNSConfiguration
+
+ Hostname
+
+
+
+ String
+
+
+ HA1Hostname
+
+
+
+ String
+
+
+ HA2Hostname
+
+
+
+ String
+
+
+ NameServer
+
+
+
+ String
+
+
+ Searchlist
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Hostname
+
+
+
+ String
+
+ String
+
+
+
+
+
+ HA1Hostname
+
+
+
+ String
+
+ String
+
+
+
+
+
+ HA2Hostname
+
+
+
+ String
+
+ String
+
+
+
+
+
+ NameServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Searchlist
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-EmailOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LogEmailConfiguration
+
+
+
+
+ Set
+ EmailOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LogEmailConfiguration
+
+
+
+ Set-EmailOption
+
+ EmailEnable
+
+
+
+ Boolean
+
+
+ EmailServer
+
+
+
+ String
+
+
+ EmailPort
+
+
+
+ Int32
+
+
+ EmailUser
+
+
+
+ String
+
+
+ EmailPassword
+
+
+
+ String
+
+
+ EmailDomain
+
+
+
+ String
+
+
+ EmailSSLMode
+
+
+
+ Int16
+
+
+ EmailEmergency
+
+
+
+ String
+
+
+ EmailCritical
+
+
+
+ String
+
+
+ EmailError
+
+
+
+ String
+
+
+ EmailWarn
+
+
+
+ String
+
+
+ EmailNotice
+
+
+
+ String
+
+
+ EmailInfo
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-EmailOption
+
+ EmailEnable
+
+
+
+ Boolean
+
+
+ EmailServer
+
+
+
+ String
+
+
+ EmailPort
+
+
+
+ Int32
+
+
+ EmailUser
+
+
+
+ String
+
+
+ EmailPassword
+
+
+
+ String
+
+
+ EmailDomain
+
+
+
+ String
+
+
+ EmailSSLMode
+
+
+
+ Int16
+
+
+ EmailEmergency
+
+
+
+ String
+
+
+ EmailCritical
+
+
+
+ String
+
+
+ EmailError
+
+
+
+ String
+
+
+ EmailWarn
+
+
+
+ String
+
+
+ EmailNotice
+
+
+
+ String
+
+
+ EmailInfo
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ EmailEnable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ EmailServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ EmailPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ EmailUser
+
+
+
+ String
+
+ String
+
+
+
+
+
+ EmailPassword
+
+
+
+ String
+
+ String
+
+
+
+
+
+ EmailDomain
+
+
+
+ String
+
+ String
+
+
+
+
+
+ EmailSSLMode
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ EmailEmergency
+
+
+
+ String
+
+ String
+
+
+
+
+
+ EmailCritical
+
+
+
+ String
+
+ String
+
+
+
+
+
+ EmailError
+
+
+
+ String
+
+ String
+
+
+
+
+
+ EmailWarn
+
+
+
+ String
+
+ String
+
+
+
+
+
+ EmailNotice
+
+
+
+ String
+
+ String
+
+
+
+
+
+ EmailInfo
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoCluster
+
+ Used to change the settings of a cluster.
+
+
+
+
+ Set
+ GeoCluster
+
+
+
+ Used to change the settings of a cluster.
+
+
+
+ Set-GeoCluster
+
+ ClusterIp
+
+ The IP address of the cluster.
+
+ String
+
+
+ ClusterName
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ String
+
+
+ Type
+
+ Specify the type of cluster.
+Valid values:
+ - default
+ - remoteLM
+ - localLM
+Note: The values are case sensitive.
+
+ String
+
+
+ Checker
+
+ Specify the method used to check the status of the cluster.
+none – No checking is performed
+tcp – TCP Connect
+icmp – ICMP Ping
+
+ String
+
+
+ CheckerPort
+
+ Set the port used for checking the cluster. This parameter is only relevant if the checker is set to tcp.
+
+ Int32
+
+
+ Enable
+
+ Enable/disable the cluster.
+0 - Disable
+1 - Enable
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoCluster
+
+ ClusterIp
+
+ The IP address of the cluster.
+
+ String
+
+
+ ClusterName
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ String
+
+
+ Type
+
+ Specify the type of cluster.
+Valid values:
+ - default
+ - remoteLM
+ - localLM
+Note: The values are case sensitive.
+
+ String
+
+
+ Checker
+
+ Specify the method used to check the status of the cluster.
+none – No checking is performed
+tcp – TCP Connect
+icmp – ICMP Ping
+
+ String
+
+
+ CheckerPort
+
+ Set the port used for checking the cluster. This parameter is only relevant if the checker is set to tcp.
+
+ Int32
+
+
+ Enable
+
+ Enable/disable the cluster.
+0 - Disable
+1 - Enable
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+ The IP address of the cluster.
+
+ String
+
+ String
+
+
+
+
+
+ ClusterName
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+ Specify the type of cluster.
+Valid values:
+ - default
+ - remoteLM
+ - localLM
+Note: The values are case sensitive.
+
+ String
+
+ String
+
+
+
+
+
+ Checker
+
+ Specify the method used to check the status of the cluster.
+none – No checking is performed
+tcp – TCP Connect
+icmp – ICMP Ping
+
+ String
+
+ String
+
+
+
+
+
+ CheckerPort
+
+ Set the port used for checking the cluster. This parameter is only relevant if the checker is set to tcp.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Enable
+
+ Enable/disable the cluster.
+0 - Disable
+1 - Enable
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoCluster –IP 10.34.52.55 -Checker tcp -CheckerPort
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Index : 1
+Status : Up
+Name : ExampleCluster
+ClusterVSAddress :
+IPAddress : 10.34.52.55
+Checker : tcp
+CheckerPort : 80
+Type : default
+Enable : Y
+LocationLatitude :
+LocationLongitude :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoClusterCoordinates
+
+ Allows you to specify the location of a cluster.
+
+
+
+
+ Set
+ GeoClusterCoordinates
+
+
+
+ Allows you to specify the location of a cluster.
+
+
+
+ Set-GeoClusterCoordinates
+
+ ClusterIp
+
+ The IP address of the cluster.
+
+ String
+
+
+ LatSecs
+
+ The latitude of the location.
+The latsecs and longsecs values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ LongSecs
+
+ The longitude of the location.
+The latsecs and longsecs values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoClusterCoordinates
+
+ ClusterIp
+
+ The IP address of the cluster.
+
+ String
+
+
+ LatSecs
+
+ The latitude of the location.
+The latsecs and longsecs values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ LongSecs
+
+ The longitude of the location.
+The latsecs and longsecs values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+ The IP address of the cluster.
+
+ String
+
+ String
+
+
+
+
+
+ LatSecs
+
+ The latitude of the location.
+The latsecs and longsecs values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LongSecs
+
+ The longitude of the location.
+The latsecs and longsecs values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoClusterCoordinates –IP 10.34.52.55 -LatSecs 5454 -LongSecs 5222
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Cluster location updated; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Cluster location updated
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoCustomLocation
+
+ Used to update an existing custom location.
+
+
+
+
+ Set
+ GeoCustomLocation
+
+
+
+ Used to update an existing custom location.
+
+
+
+ Set-GeoCustomLocation
+
+ clOldName
+
+ The existing name of the custom location. If the custom location name contains two or more words, the name must be surrounded by double-quotes such as “New York City”.
+
+ String
+
+
+ clNewName
+
+ The new name of the custom location. If the custom location name contains two or more words, the name must be surrounded by double-quotes such as “New York City”.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoCustomLocation
+
+ clOldName
+
+ The existing name of the custom location. If the custom location name contains two or more words, the name must be surrounded by double-quotes such as “New York City”.
+
+ String
+
+
+ clNewName
+
+ The new name of the custom location. If the custom location name contains two or more words, the name must be surrounded by double-quotes such as “New York City”.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ clOldName
+
+ The existing name of the custom location. If the custom location name contains two or more words, the name must be surrounded by double-quotes such as “New York City”.
+
+ String
+
+ String
+
+
+
+
+
+ clNewName
+
+ The new name of the custom location. If the custom location name contains two or more words, the name must be surrounded by double-quotes such as “New York City”.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoCustomLocation -clNewName NewExampleLocation -clOldName ExampleLocation
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoDNSSECStatus
+
+ Enable/disable DNSSEC.
+
+
+
+
+ Set
+ GeoDNSSECStatus
+
+
+
+ Use this command to enable or disable DNSSEC.
+
+
+
+ Set-GeoDNSSECStatus
+
+ status
+
+ Specify whether to enable or disable DNSSEC. Valid values:
+disabled
+enabled
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoDNSSECStatus
+
+ status
+
+ Specify whether to enable or disable DNSSEC. Valid values:
+disabled
+enabled
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ status
+
+ Specify whether to enable or disable DNSSEC. Valid values:
+disabled
+enabled
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoDNSSECStatus -status enabled
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoFQDN
+
+ Allows you to update the FQDN settings.
+
+
+
+
+ Set
+ GeoFQDN
+
+
+
+ Allows you to update the FQDN settings.
+
+
+
+ Set-GeoFQDN
+
+ FQDN
+
+ The name of the FQDN. This command cannot change the name of the FQDN - the FQDN name needs to be specified in order to modify the other FQDN settings.
+
+ String
+
+
+ SelectionCriteria
+
+ Specify the selection procedure for addresses associated with the FQDN:
+ RoundRobin
+ WeightedRoundRobin
+ FixedWeighting
+ RealServerLoad
+ Proximity
+ LocationBased
+ AllAvailable
+
+ String
+
+
+ SiteFailureDelay
+
+ The number of minutes to wait after a failure before disabling. If this is not set, normal health checking is performed.
+Range: 0-1440
+
+ Int32
+
+
+ SiteRecoveryMode
+
+ auto – Upon site recovery, bring the site back into operation immediately.
+manual – Once the site has failed, disable the site. Manual intervention is required to restore normal operation.
+
+ String
+
+
+ PublicRequest
+
+ Restrict responses to clients from public IP addresses to specific classes of site.
+ 0 – Public Sites Only (default)
+ 1 – Prefer Public Sites
+ 2 – Prefer Private Sites
+ 3 – Any Sites
+
+ String
+
+
+ PrivateRequest
+
+ Restrict responses to clients from private IP addresses to specific classes of site.
+ 0 – Private Sites Only (default)
+ 1 – Prefer Private Sites
+ 2 – Prefer Public Sites
+ 3 – Any Sites
+
+ String
+
+
+ Failover
+
+ This parameter is only relevant if the SelectionCriteria is set to lb (Location Based). Enable/disable FQDN failover.
+ 0 – Disabled
+ 1 - Enabled
+
+ Boolean
+
+
+ LocalSettings
+
+ Enabling this parameter provides two additional parameters for the FQDN – localttl and localsticky.
+
+ Boolean
+
+
+ localttl
+
+ The Time To Live (TTL) value dictates how long the reply from the GEO LoadMaster can be cached by other DNS servers or client devices. The time interval is defined in seconds. This value should be as practically low as possible. The default value for this field is 10.
+
+ Int32
+
+
+ localsticky
+
+ Stickiness, also known as persistence, is the property that enables all name resolution requests from an individual client to be sent to the same resources until a specified period of time has elapsed.
+
+ Int32
+
+
+ UnanimousChecks
+
+ When this parameter is enabled, if any IP addresses fail health checking - the other FQDN IP addresses which belong to the same cluster will be forced down.
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoFQDN
+
+ FQDN
+
+ The name of the FQDN. This command cannot change the name of the FQDN - the FQDN name needs to be specified in order to modify the other FQDN settings.
+
+ String
+
+
+ SelectionCriteria
+
+ Specify the selection procedure for addresses associated with the FQDN:
+ RoundRobin
+ WeightedRoundRobin
+ FixedWeighting
+ RealServerLoad
+ Proximity
+ LocationBased
+ AllAvailable
+
+ String
+
+
+ SiteFailureDelay
+
+ The number of minutes to wait after a failure before disabling. If this is not set, normal health checking is performed.
+Range: 0-1440
+
+ Int32
+
+
+ SiteRecoveryMode
+
+ auto – Upon site recovery, bring the site back into operation immediately.
+manual – Once the site has failed, disable the site. Manual intervention is required to restore normal operation.
+
+ String
+
+
+ PublicRequest
+
+ Restrict responses to clients from public IP addresses to specific classes of site.
+ 0 – Public Sites Only (default)
+ 1 – Prefer Public Sites
+ 2 – Prefer Private Sites
+ 3 – Any Sites
+
+ String
+
+
+ PrivateRequest
+
+ Restrict responses to clients from private IP addresses to specific classes of site.
+ 0 – Private Sites Only (default)
+ 1 – Prefer Private Sites
+ 2 – Prefer Public Sites
+ 3 – Any Sites
+
+ String
+
+
+ Failover
+
+ This parameter is only relevant if the SelectionCriteria is set to lb (Location Based). Enable/disable FQDN failover.
+ 0 – Disabled
+ 1 - Enabled
+
+ Boolean
+
+
+ LocalSettings
+
+ Enabling this parameter provides two additional parameters for the FQDN – localttl and localsticky.
+
+ Boolean
+
+
+ localttl
+
+ The Time To Live (TTL) value dictates how long the reply from the GEO LoadMaster can be cached by other DNS servers or client devices. The time interval is defined in seconds. This value should be as practically low as possible. The default value for this field is 10.
+
+ Int32
+
+
+ localsticky
+
+ Stickiness, also known as persistence, is the property that enables all name resolution requests from an individual client to be sent to the same resources until a specified period of time has elapsed.
+
+ Int32
+
+
+ UnanimousChecks
+
+ When this parameter is enabled, if any IP addresses fail health checking - the other FQDN IP addresses which belong to the same cluster will be forced down.
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN. This command cannot change the name of the FQDN - the FQDN name needs to be specified in order to modify the other FQDN settings.
+
+ String
+
+ String
+
+
+
+
+
+ SelectionCriteria
+
+ Specify the selection procedure for addresses associated with the FQDN:
+ RoundRobin
+ WeightedRoundRobin
+ FixedWeighting
+ RealServerLoad
+ Proximity
+ LocationBased
+ AllAvailable
+
+ String
+
+ String
+
+
+
+
+
+ SiteFailureDelay
+
+ The number of minutes to wait after a failure before disabling. If this is not set, normal health checking is performed.
+Range: 0-1440
+
+ Int32
+
+ Int32
+
+
+
+
+
+ SiteRecoveryMode
+
+ auto – Upon site recovery, bring the site back into operation immediately.
+manual – Once the site has failed, disable the site. Manual intervention is required to restore normal operation.
+
+ String
+
+ String
+
+
+
+
+
+ PublicRequest
+
+ Restrict responses to clients from public IP addresses to specific classes of site.
+ 0 – Public Sites Only (default)
+ 1 – Prefer Public Sites
+ 2 – Prefer Private Sites
+ 3 – Any Sites
+
+ String
+
+ String
+
+
+
+
+
+ PrivateRequest
+
+ Restrict responses to clients from private IP addresses to specific classes of site.
+ 0 – Private Sites Only (default)
+ 1 – Prefer Private Sites
+ 2 – Prefer Public Sites
+ 3 – Any Sites
+
+ String
+
+ String
+
+
+
+
+
+ Failover
+
+ This parameter is only relevant if the SelectionCriteria is set to lb (Location Based). Enable/disable FQDN failover.
+ 0 – Disabled
+ 1 - Enabled
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LocalSettings
+
+ Enabling this parameter provides two additional parameters for the FQDN – localttl and localsticky.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ localttl
+
+ The Time To Live (TTL) value dictates how long the reply from the GEO LoadMaster can be cached by other DNS servers or client devices. The time interval is defined in seconds. This value should be as practically low as possible. The default value for this field is 10.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ localsticky
+
+ Stickiness, also known as persistence, is the property that enables all name resolution requests from an individual client to be sent to the same resources until a specified period of time has elapsed.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ UnanimousChecks
+
+ When this parameter is enabled, if any IP addresses fail health checking - the other FQDN IP addresses which belong to the same cluster will be forced down.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ FailTime
+
+ The number of minutes to wait after a failure before disabling. If this is not set, normal health checking is performed.
+Range: 0-1440 (minutes)
+This is a legacy parameter - use the SiteFailureDelay parameter instead.
+
+ int32
+
+ int32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoFQDN –FQDN Example.com –SelectionCriteria RoundRobin
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoFQDNSiteAddress
+
+ Allows you to update the details of the map.
+
+
+
+
+ Set
+ GeoFQDNSiteAddress
+
+
+
+ Allows you to update the details of the map.
+
+
+
+ Set-GeoFQDNSiteAddress
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ IPv4 or IPv6 address of the map to be modified.
+
+ String
+
+
+ Checker
+
+ Specify the type of checking to be performed on this IP address. Values are:
+ None
+ Icmp Ping
+ Tcp Connect
+ Cluster Checks
+
+ String
+
+
+ Weight
+
+ This parameter is only relevant when the Selection Criteria is set to Weighted Round Robin or Fixed Weighting. Set the weight associated with an IP address. The address with the highest weight is returned.
+
+ Int32
+
+
+ Enable
+
+ Enable or disable the IP address.
+ 0 - Disable
+ 1 - Enable
+
+ String
+
+
+ Cluster
+
+ Specify the cluster that is associated with this IP address.
+
+ String
+
+
+ Mapaddress
+
+ This is only relevant when the Selection Criteria is set to Real Server Load, the Checker is set to Cluster Checks and the cluster is of type Remote LM or Local LM.
+Enter a Virtual Service IP address to be mapped from the relevant LoadMaster.
+
+ String
+
+
+ Mapport
+
+ This is only relevant when the Selection Criteria is set to Real Server Load, the Checker is set to Cluster Checks and the cluster is of type Remote LM or Local LM.
+This parameter is used in conjunction with the MapAddress parameter to specify an IP address and port combination to be mapped.
+If this parameter is not set, the health check will check all Virtual Services with the same IP address as the one selected. If one of them is in an “Up” status, the FQDN will show as “Up”. If a port is specified, the health check will only check against the health of that Virtual Service when checking the health of the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoFQDNSiteAddress
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ IPv4 or IPv6 address of the map to be modified.
+
+ String
+
+
+ Checker
+
+ Specify the type of checking to be performed on this IP address. Values are:
+ None
+ Icmp Ping
+ Tcp Connect
+ Cluster Checks
+
+ String
+
+
+ Weight
+
+ This parameter is only relevant when the Selection Criteria is set to Weighted Round Robin or Fixed Weighting. Set the weight associated with an IP address. The address with the highest weight is returned.
+
+ Int32
+
+
+ Enable
+
+ Enable or disable the IP address.
+ 0 - Disable
+ 1 - Enable
+
+ String
+
+
+ Cluster
+
+ Specify the cluster that is associated with this IP address.
+
+ String
+
+
+ Mapaddress
+
+ This is only relevant when the Selection Criteria is set to Real Server Load, the Checker is set to Cluster Checks and the cluster is of type Remote LM or Local LM.
+Enter a Virtual Service IP address to be mapped from the relevant LoadMaster.
+
+ String
+
+
+ Mapport
+
+ This is only relevant when the Selection Criteria is set to Real Server Load, the Checker is set to Cluster Checks and the cluster is of type Remote LM or Local LM.
+This parameter is used in conjunction with the MapAddress parameter to specify an IP address and port combination to be mapped.
+If this parameter is not set, the health check will check all Virtual Services with the same IP address as the one selected. If one of them is in an “Up” status, the FQDN will show as “Up”. If a port is specified, the health check will only check against the health of that Virtual Service when checking the health of the FQDN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+ IPv4 or IPv6 address of the map to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ Checker
+
+ Specify the type of checking to be performed on this IP address. Values are:
+ None
+ Icmp Ping
+ Tcp Connect
+ Cluster Checks
+
+ String
+
+ String
+
+
+
+
+
+ Weight
+
+ This parameter is only relevant when the Selection Criteria is set to Weighted Round Robin or Fixed Weighting. Set the weight associated with an IP address. The address with the highest weight is returned.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Enable
+
+ Enable or disable the IP address.
+ 0 - Disable
+ 1 - Enable
+
+ String
+
+ String
+
+
+
+
+
+ Cluster
+
+ Specify the cluster that is associated with this IP address.
+
+ String
+
+ String
+
+
+
+
+
+ Mapaddress
+
+ This is only relevant when the Selection Criteria is set to Real Server Load, the Checker is set to Cluster Checks and the cluster is of type Remote LM or Local LM.
+Enter a Virtual Service IP address to be mapped from the relevant LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ Mapport
+
+ This is only relevant when the Selection Criteria is set to Real Server Load, the Checker is set to Cluster Checks and the cluster is of type Remote LM or Local LM.
+This parameter is used in conjunction with the MapAddress parameter to specify an IP address and port combination to be mapped.
+If this parameter is not set, the health check will check all Virtual Services with the same IP address as the one selected. If one of them is in an “Up” status, the FQDN will show as “Up”. If a port is specified, the health check will only check against the health of that Virtual Service when checking the health of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoFQDNSiteAddress –FQDN Example.com -IP 10.134.33.2 -checker "Icmp Ping"
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoFQDNSiteCheckerAddress
+
+ Allows you to set the address and port used to health check the IP address.
+
+
+
+
+ Set
+ GeoFQDNSiteCheckerAddress
+
+
+
+ Allows you to set the address and port used to health check the IP address.
+
+
+
+ Set-GeoFQDNSiteCheckerAddress
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ The address of the site to change the checker address for.
+
+ String
+
+
+ CheckerIP
+
+ The IP address to be used to health check the IP address. Setting this to an empty string will unset the checker address.
+
+ String
+
+
+ CheckerPort
+
+ The port to be used to health check the IP address. Setting this parameter to an empty string will default the checker port to 80.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoFQDNSiteCheckerAddress
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ The address of the site to change the checker address for.
+
+ String
+
+
+ CheckerIP
+
+ The IP address to be used to health check the IP address. Setting this to an empty string will unset the checker address.
+
+ String
+
+
+ CheckerPort
+
+ The port to be used to health check the IP address. Setting this parameter to an empty string will default the checker port to 80.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+ The address of the site to change the checker address for.
+
+ String
+
+ String
+
+
+
+
+
+ CheckerIP
+
+ The IP address to be used to health check the IP address. Setting this to an empty string will unset the checker address.
+
+ String
+
+ String
+
+
+
+
+
+ CheckerPort
+
+ The port to be used to health check the IP address. Setting this parameter to an empty string will default the checker port to 80.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoFQDNSiteCheckerAddress -CheckerIP 10.134.44.55 -FQDN Example.com -SiteAddress 10.134.33.2 -Port 80
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Status : Down
+SelectionCriteria : RoundRobin
+SiteRecoveryMode : auto
+Mapping : 1
+LocalSettings : 0
+UnanimousChecks : N
+Map : @{Status=Down; Index=1; IPAddress=10.134.33.2; Checker=icmp; CheckerPort=80; CheckerAddr=10.134.44.55; Weight=1000; Enable=Y;
+ LocationLatitude=; LocationLongitude=}
+Failover : N
+SiteFailureDelay : 0
+Fqdn : Example.com.
+PrivateRequest : 0
+PublicRequest : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoFQDNSiteCoordinates
+
+ Allows you to set the latitude and longitude of an IP address.
+
+
+
+
+ Set
+ GeoFQDNSiteCoordinates
+
+
+
+ Allows you to set the latitude and longitude of an IP address when the Selection Criteria of the FQDN is set to Proximity.
+
+
+
+ Set-GeoFQDNSiteCoordinates
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ IP address of the map to be modified.
+
+ String
+
+
+ Lat
+
+ The latitude of the IP address in the format of total seconds.
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ Long
+
+ The longitude of the IP address in the format of total seconds.
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoFQDNSiteCoordinates
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ IP address of the map to be modified.
+
+ String
+
+
+ Lat
+
+ The latitude of the IP address in the format of total seconds.
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ Long
+
+ The longitude of the IP address in the format of total seconds.
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+ IP address of the map to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ Lat
+
+ The latitude of the IP address in the format of total seconds.
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Long
+
+ The longitude of the IP address in the format of total seconds.
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ IP
+
+ IP address of the map to be modified.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoFQDNSiteCoordinates –FQDN Example.com -IP 10.134.33.2 -Lat 3000 -Long 3000
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Map location updated.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Map location updated.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoFQDNSiteCountry
+
+ Assign a country/continent to an IP address.
+
+
+
+
+ Set
+ GeoFQDNSiteCountry
+
+
+
+ Assigns a country or continent to an IP address in an FQDN which has the Selection Criteria set to Location Based.
+
+
+
+ Set-GeoFQDNSiteCountry
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ The address of the map to be modified.
+
+ String
+
+
+ CountryCode
+
+ Two-letter country or continent code for the country/continent to be assigned.
+The country code and continent codes used are the standard ISO codes.
+To specify everywhere as the country, type ALL as the country code and set the IsContinent parameter to yes.
+
+ String
+
+
+ IsContinent
+
+ Some country codes and continent codes are the same, for example AF could mean Africa or Afghanistan. You must specify in this parameter if the code is for a country or continent.
+yes – code is for a continent
+no – code is for a country
+
+ String
+
+
+ CustomLocation
+
+ The name of an existing custom location.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoFQDNSiteCountry
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+
+ SiteAddress
+
+ The address of the map to be modified.
+
+ String
+
+
+ CountryCode
+
+ Two-letter country or continent code for the country/continent to be assigned.
+The country code and continent codes used are the standard ISO codes.
+To specify everywhere as the country, type ALL as the country code and set the IsContinent parameter to yes.
+
+ String
+
+
+ IsContinent
+
+ Some country codes and continent codes are the same, for example AF could mean Africa or Afghanistan. You must specify in this parameter if the code is for a country or continent.
+yes – code is for a continent
+no – code is for a country
+
+ String
+
+
+ CustomLocation
+
+ The name of an existing custom location.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ String
+
+ String
+
+
+
+
+
+ SiteAddress
+
+ The address of the map to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ CountryCode
+
+ Two-letter country or continent code for the country/continent to be assigned.
+The country code and continent codes used are the standard ISO codes.
+To specify everywhere as the country, type ALL as the country code and set the IsContinent parameter to yes.
+
+ String
+
+ String
+
+
+
+
+
+ IsContinent
+
+ Some country codes and continent codes are the same, for example AF could mean Africa or Afghanistan. You must specify in this parameter if the code is for a country or continent.
+yes – code is for a continent
+no – code is for a country
+
+ String
+
+ String
+
+
+
+
+
+ CustomLocation
+
+ The name of an existing custom location.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoFQDNSiteCountry -FQDN Example.com -SiteAddress 10.134.33.2 -CountryCode IE -IsContinent no
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Country/Continent updated.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Country/Continent updated.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoIPBlacklistDatabaseConfiguration
+
+ Configure the GEO IP blacklist database settings.
+
+
+
+
+ Set
+ GeoIPBlacklistDatabaseConfiguration
+
+
+
+ This command can be run to set the GEO IP blacklist database settings, such as:
+- The auto-update time
+- The auto-install setting
+- The auto-install time
+
+
+
+ Set-GeoIPBlacklistDatabaseConfiguration
+
+ DatabaseAutoUpdate
+
+ Enable or disable automatic downloading of updates.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoIPBlacklistDatabaseConfiguration
+
+ DatabaseAutoInstall
+
+ Enable or disable automatic installation of the updates.
+
+ SwitchParameter
+
+
+ DatabaseInstallTimeHour
+
+ Set the time of the automatic installation. The hour is the hour value from the 24-hour clock (0-23), for example 13 is 1pm.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ DatabaseAutoUpdate
+
+ Enable or disable automatic downloading of updates.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ DatabaseAutoInstall
+
+ Enable or disable automatic installation of the updates.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ DatabaseInstallTimeHour
+
+ Set the time of the automatic installation. The hour is the hour value from the 24-hour clock (0-23), for example 13 is 1pm.
+
+ Int32
+
+ Int32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You can only use one login method - either certificate or credential. You cannot use both.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoIPBlacklistDatabaseConfiguration -DatabaseAutoInstall -DatabaseInstallTimeHour 14
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoIPRangeCoordinates
+
+ Allows you to change the location of an IP address.
+
+
+
+
+ Set
+ GeoIPRangeCoordinates
+
+
+
+ Allows you to change the location of an IP address.
+
+
+
+ Set-GeoIPRangeCoordinates
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+
+ Lat
+
+ The latitude of the location. This parameter accepts values from -324000 (which converts to 90 degrees south) to 324000 (which converts to 90 degrees north).
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ Long
+
+ The longitude of the location. This parameter accepts values from -648000 (which converts to 180 degrees East) to 648000 which converts to 180 degrees West).
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoIPRangeCoordinates
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+
+ Lat
+
+ The latitude of the location. This parameter accepts values from -324000 (which converts to 90 degrees south) to 324000 (which converts to 90 degrees north).
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ Long
+
+ The longitude of the location. This parameter accepts values from -648000 (which converts to 180 degrees East) to 648000 which converts to 180 degrees West).
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ Lat
+
+ The latitude of the location. This parameter accepts values from -324000 (which converts to 90 degrees south) to 324000 (which converts to 90 degrees north).
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Long
+
+ The longitude of the location. This parameter accepts values from -648000 (which converts to 180 degrees East) to 648000 which converts to 180 degrees West).
+The lat and long values should be entered as an integer containing the total seconds. This total seconds value is converted to degrees, minutes and seconds when displayed in the WUI.
+There are 60 seconds in a minute and 60 minutes in a degree.
+• Degrees = º
+• Minutes = ‘
+• Seconds = “
+ • 60” = 1’
+• 3600” = 1º
+• 3660 = 1º1’
+• 3661 = 1º1’1”
+You can also represent this as a decimal value for degrees where the minutes and seconds are divided by 3600 to get the decimal value.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoIPRangeCoordinates –IP 10.154.11.55 -Lat 5875 -Long 6565
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. IP range location updated; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. IP range location updated
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoIPRangeCountry
+
+ Assigns a country to an IP address.
+
+
+
+
+ Set
+ GeoIPRangeCountry
+
+
+
+ Assigns a country to an IP address.
+
+
+
+ Set-GeoIPRangeCountry
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+
+ CountryCode
+
+ Two-character country code, for example IE is Ireland.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoIPRangeCountry
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+
+ CountryCode
+
+ Two-character country code, for example IE is Ireland.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ CountryCode
+
+ Two-character country code, for example IE is Ireland.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoIPRangeCountry –CountryCode US -IP 10.154.11.55
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. IP range country updated; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. IP range country updated
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoIPRangeCustomLocation
+
+ Assigns a custom location to an IP address.
+
+
+
+
+ Set
+ GeoIPRangeCustomLocation
+
+
+
+ Assigns a custom location to an IP address.
+
+
+
+ Set-GeoIPRangeCustomLocation
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+
+ CustomLoc
+
+ The name of an existing custom location.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoIPRangeCustomLocation
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+
+ CustomLoc
+
+ The name of an existing custom location.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+ The IP address to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ CustomLoc
+
+ The name of an existing custom location.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoIPRangeCustomLocation -CustomLoc "US West" -IP 10.11.0.14
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. IP range country updated; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. IP range country updated
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoMiscParameter
+
+ Update the miscellaneous GEO parameters.
+
+
+
+
+ Set
+ GeoMiscParameter
+
+
+
+ Update the miscellaneous GEO parameters, such as those relating to the Source of Authority, Resource Check Parameters and Stickiness.
+
+
+
+ Set-GeoMiscParameter
+
+ SourceOfAuthority
+
+ Specify the response set for Source Of Authority requests.
+
+ String
+
+
+ NameSrv
+
+ Specify the response set for Name Server requests
+
+ String
+
+
+ SOAEmail
+
+ Specify the response email string sent for SOA requests.
+
+ String
+
+
+ TTL
+
+ Specify the Time To Live (TTL) of the responses returned by the LoadMaster. The default value for this is 10.
+The range is 1-86400.
+
+ Int32
+
+
+ Persist
+
+ This parameter corresponds to the Stickiness field in the WUI. Specify how long a specific request will be returned to a host.
+
+ Int32
+
+
+ CheckInterval
+
+ Specify how often to check the devices.
+Range: 9-3600
+Note: The interval value must be greater than the ConnTimeout value multiplied by the RetryAttempts value (Interval > Timeout * Retry + 1).
+ This is to ensure that the next health check does not start before the previous one completes.
+ If the timeout or retry values are increased to a value that breaks this rule, the interval value will be automatically increased.
+
+ Int32
+
+
+ ConnTimeout
+
+ Specify the timeout value for the check request.
+Range: 4-60
+
+ Int32
+
+
+ RetryAttempts
+
+ Specify the number of times the check will be retried before the device is marked as failed.
+
+ Int32
+
+
+ Zone
+
+ Specify the zone name.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-GeoMiscParameter
+
+ SourceOfAuthority
+
+ Specify the response set for Source Of Authority requests.
+
+ String
+
+
+ NameSrv
+
+ Specify the response set for Name Server requests
+
+ String
+
+
+ SOAEmail
+
+ Specify the response email string sent for SOA requests.
+
+ String
+
+
+ TTL
+
+ Specify the Time To Live (TTL) of the responses returned by the LoadMaster. The default value for this is 10.
+The range is 1-86400.
+
+ Int32
+
+
+ Persist
+
+ This parameter corresponds to the Stickiness field in the WUI. Specify how long a specific request will be returned to a host.
+
+ Int32
+
+
+ CheckInterval
+
+ Specify how often to check the devices.
+Range: 9-3600
+Note: The interval value must be greater than the ConnTimeout value multiplied by the RetryAttempts value (Interval > Timeout * Retry + 1).
+ This is to ensure that the next health check does not start before the previous one completes.
+ If the timeout or retry values are increased to a value that breaks this rule, the interval value will be automatically increased.
+
+ Int32
+
+
+ ConnTimeout
+
+ Specify the timeout value for the check request.
+Range: 4-60
+
+ Int32
+
+
+ RetryAttempts
+
+ Specify the number of times the check will be retried before the device is marked as failed.
+
+ Int32
+
+
+ Zone
+
+ Specify the zone name.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SourceOfAuthority
+
+ Specify the response set for Source Of Authority requests.
+
+ String
+
+ String
+
+
+
+
+
+ NameSrv
+
+ Specify the response set for Name Server requests
+
+ String
+
+ String
+
+
+
+
+
+ SOAEmail
+
+ Specify the response email string sent for SOA requests.
+
+ String
+
+ String
+
+
+
+
+
+ TTL
+
+ Specify the Time To Live (TTL) of the responses returned by the LoadMaster. The default value for this is 10.
+The range is 1-86400.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Persist
+
+ This parameter corresponds to the Stickiness field in the WUI. Specify how long a specific request will be returned to a host.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ CheckInterval
+
+ Specify how often to check the devices.
+Range: 9-3600
+Note: The interval value must be greater than the ConnTimeout value multiplied by the RetryAttempts value (Interval > Timeout * Retry + 1).
+ This is to ensure that the next health check does not start before the previous one completes.
+ If the timeout or retry values are increased to a value that breaks this rule, the interval value will be automatically increased.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ConnTimeout
+
+ Specify the timeout value for the check request.
+Range: 4-60
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RetryAttempts
+
+ Specify the number of times the check will be retried before the device is marked as failed.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Zone
+
+ Specify the zone name.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoMiscParameter -ConnTimeout 50
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+soa : @{TTL=10; persist=60; Zone=; SourceOfAuthority=; NameSrv=; SOAEmail=}
+check : @{CheckInterval=120; ConnTimeout=50; RetryAttempts=2}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-HAOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmHAConfiguration
+
+
+
+
+ Set
+ HAOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmHAConfiguration
+
+
+
+ Set-HAOption
+
+ hatimeout
+
+
+
+ Int16
+
+
+ hawait
+
+
+
+ Int16
+
+
+ havhid
+
+
+
+ Int16
+
+
+ haprefered
+
+
+
+ String
+
+
+ haif
+
+
+
+ Int16
+
+
+ hal4update
+
+
+
+ Boolean
+
+
+ hal7update
+
+
+
+ Boolean
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-HAOption
+
+ hatimeout
+
+
+
+ Int16
+
+
+ hawait
+
+
+
+ Int16
+
+
+ havhid
+
+
+
+ Int16
+
+
+ haprefered
+
+
+
+ String
+
+
+ haif
+
+
+
+ Int16
+
+
+ hal4update
+
+
+
+ Boolean
+
+
+ hal7update
+
+
+
+ Boolean
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ hatimeout
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ hawait
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ havhid
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ haprefered
+
+
+
+ String
+
+ String
+
+
+
+
+
+ haif
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ hal4update
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ hal7update
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-Interface
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-NetworkInterface
+
+
+
+
+ Set
+ Interface
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-NetworkInterface
+
+
+
+ Set-Interface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ IPAddress
+
+
+
+ String
+
+
+ MTU
+
+
+
+ Int32
+
+
+ HACheck
+
+
+
+ Boolean
+
+
+ GWIface
+
+
+
+ Boolean
+
+
+ clupdate
+
+
+
+ Boolean
+
+
+ GeoTraffic
+
+
+
+ Boolean
+
+
+ BondMode
+
+
+
+ String
+
+
+ Partner
+
+
+
+ String
+
+
+ Shared
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-Interface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ IPAddress
+
+
+
+ String
+
+
+ MTU
+
+
+
+ Int32
+
+
+ HACheck
+
+
+
+ Boolean
+
+
+ GWIface
+
+
+
+ Boolean
+
+
+ clupdate
+
+
+
+ Boolean
+
+
+ GeoTraffic
+
+
+
+ Boolean
+
+
+ BondMode
+
+
+
+ String
+
+
+ Partner
+
+
+
+ String
+
+
+ Shared
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ IPAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ MTU
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ HACheck
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ GWIface
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ clupdate
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ GeoTraffic
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ BondMode
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Partner
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Shared
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-L7Configuration
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcL7Configuration
+
+
+
+
+ Set
+ L7Configuration
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcL7Configuration
+
+
+
+ Set-L7Configuration
+
+ ScalingOver64KConnections
+
+
+
+ Boolean
+
+
+ AlwaysCheckPersist
+
+
+
+ String
+
+
+ AddPortToActiveCookie
+
+
+
+ Boolean
+
+
+ RFCConform
+
+
+
+ Boolean
+
+
+ CloseOnError
+
+
+
+ Boolean
+
+
+ AddViaHeaderInCacheResponses
+
+
+
+ Boolean
+
+
+ RSAreLocal
+
+
+
+ Boolean
+
+
+ DropOnRSFail
+
+
+
+ Boolean
+
+
+ DropAtDrainEnd
+
+
+
+ Boolean
+
+
+ L7AuthTimeoutSecs
+
+
+
+ Int16
+
+
+ L7ClientTokenTimeoutSecs
+
+
+
+ Int16
+
+
+ L7ConnectionDrainTimeoutSecs
+
+
+
+ Int32
+
+
+ AdditionalL7Header
+
+
+
+ String
+
+
+ OneHundredContinueHandling
+
+
+
+ String
+
+
+ AllowEmptyPosts
+
+
+
+ Boolean
+
+
+ AllowEmptyHttpHeaders
+
+
+
+ Boolean
+
+
+ ForceCompleteRSMatch
+
+
+
+ Boolean
+
+
+ SlowStart
+
+
+
+ Int16
+
+
+ ShareSubVSPersistance
+
+
+
+ Boolean
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-L7Configuration
+
+ ScalingOver64KConnections
+
+
+
+ Boolean
+
+
+ AlwaysCheckPersist
+
+
+
+ String
+
+
+ AddPortToActiveCookie
+
+
+
+ Boolean
+
+
+ RFCConform
+
+
+
+ Boolean
+
+
+ CloseOnError
+
+
+
+ Boolean
+
+
+ AddViaHeaderInCacheResponses
+
+
+
+ Boolean
+
+
+ RSAreLocal
+
+
+
+ Boolean
+
+
+ DropOnRSFail
+
+
+
+ Boolean
+
+
+ DropAtDrainEnd
+
+
+
+ Boolean
+
+
+ L7AuthTimeoutSecs
+
+
+
+ Int16
+
+
+ L7ClientTokenTimeoutSecs
+
+
+
+ Int16
+
+
+ L7ConnectionDrainTimeoutSecs
+
+
+
+ Int32
+
+
+ AdditionalL7Header
+
+
+
+ String
+
+
+ OneHundredContinueHandling
+
+
+
+ String
+
+
+ AllowEmptyPosts
+
+
+
+ Boolean
+
+
+ AllowEmptyHttpHeaders
+
+
+
+ Boolean
+
+
+ ForceCompleteRSMatch
+
+
+
+ Boolean
+
+
+ SlowStart
+
+
+
+ Int16
+
+
+ ShareSubVSPersistance
+
+
+
+ Boolean
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ScalingOver64KConnections
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AlwaysCheckPersist
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AddPortToActiveCookie
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RFCConform
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CloseOnError
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AddViaHeaderInCacheResponses
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RSAreLocal
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DropOnRSFail
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DropAtDrainEnd
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ L7AuthTimeoutSecs
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ L7ClientTokenTimeoutSecs
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ L7ConnectionDrainTimeoutSecs
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ AdditionalL7Header
+
+
+
+ String
+
+ String
+
+
+
+
+
+ OneHundredContinueHandling
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AllowEmptyPosts
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AllowEmptyHttpHeaders
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ForceCompleteRSMatch
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SlowStart
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ShareSubVSPersistance
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LdapEndpoint
+
+ Modify an existing LDAP endpoint.
+
+
+
+
+ Set
+ LdapEndpoint
+
+
+
+ These LDAP endpoints may be used in three different areas:
+• Health checks
+• SSO domains
+• WUI authentication
+
+
+
+ Set-LdapEndpoint
+
+ Name
+
+ The name of the LDAP endpoint to be modified.
+
+ String
+
+
+ Server
+
+ Specify the address, or addresses, of the LDAP server to be used. You can also specify a port number, if desired. Separate multiple addresses with a space.
+
+ String
+
+
+ LdapProtocol
+
+ Specify the transport protocol to use when communicating with the LDAP server.
+Valid values:
+0 – Unencrypted (default)
+1 – StartTLS
+2 – LDAPS
+
+ String
+
+
+ VInterval
+
+ Specify how often to revalidate the user the with the LDAP server.
+Range:
+10 – 86400 seconds
+Default: 60
+
+ Int16
+
+
+ ReferralCount
+
+ Multiple hops may increase authentication latency. There is a performance impact that depends on the number and depth of referrals required in your configuration.
+You must have intimate knowledge of your Active Directory structure to set the referral limit appropriately. The same credentials are used for all lookups, and so on.
+The use of Active Directory Global Catalog (GC) is the preferred configuration as the primary means of resolution instead of enabling LDAP referral chasing. A GC query can be used to query the GC cache instead of relying on LDAP and the referral process. Using Active Directory GC has little or no performance drag on the LoadMaster. For steps on how to add/remove the GC, refer to the following TechNet article: https://technet.microsoft.com/en-us/library/cc755257(v=ws.11).aspx
+
+ Int16
+
+
+ AdminUser
+
+ Specify the username of an administrator user. The username that will be used to check the LDAP server.
+
+ String
+
+
+ AdminPass
+
+ Specify the password for the specified administrator user. The password that will be used to check the LDAP server.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LdapEndpoint
+
+ Name
+
+ The name of the LDAP endpoint to be modified.
+
+ String
+
+
+ Server
+
+ Specify the address, or addresses, of the LDAP server to be used. You can also specify a port number, if desired. Separate multiple addresses with a space.
+
+ String
+
+
+ LdapProtocol
+
+ Specify the transport protocol to use when communicating with the LDAP server.
+Valid values:
+0 – Unencrypted (default)
+1 – StartTLS
+2 – LDAPS
+
+ String
+
+
+ VInterval
+
+ Specify how often to revalidate the user the with the LDAP server.
+Range:
+10 – 86400 seconds
+Default: 60
+
+ Int16
+
+
+ ReferralCount
+
+ Multiple hops may increase authentication latency. There is a performance impact that depends on the number and depth of referrals required in your configuration.
+You must have intimate knowledge of your Active Directory structure to set the referral limit appropriately. The same credentials are used for all lookups, and so on.
+The use of Active Directory Global Catalog (GC) is the preferred configuration as the primary means of resolution instead of enabling LDAP referral chasing. A GC query can be used to query the GC cache instead of relying on LDAP and the referral process. Using Active Directory GC has little or no performance drag on the LoadMaster. For steps on how to add/remove the GC, refer to the following TechNet article: https://technet.microsoft.com/en-us/library/cc755257(v=ws.11).aspx
+
+ Int16
+
+
+ AdminUser
+
+ Specify the username of an administrator user. The username that will be used to check the LDAP server.
+
+ String
+
+
+ AdminPass
+
+ Specify the password for the specified administrator user. The password that will be used to check the LDAP server.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the LDAP endpoint to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ Server
+
+ Specify the address, or addresses, of the LDAP server to be used. You can also specify a port number, if desired. Separate multiple addresses with a space.
+
+ String
+
+ String
+
+
+
+
+
+ LdapProtocol
+
+ Specify the transport protocol to use when communicating with the LDAP server.
+Valid values:
+0 – Unencrypted (default)
+1 – StartTLS
+2 – LDAPS
+
+ String
+
+ String
+
+
+
+
+
+ VInterval
+
+ Specify how often to revalidate the user the with the LDAP server.
+Range:
+10 – 86400 seconds
+Default: 60
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ReferralCount
+
+ Multiple hops may increase authentication latency. There is a performance impact that depends on the number and depth of referrals required in your configuration.
+You must have intimate knowledge of your Active Directory structure to set the referral limit appropriately. The same credentials are used for all lookups, and so on.
+The use of Active Directory Global Catalog (GC) is the preferred configuration as the primary means of resolution instead of enabling LDAP referral chasing. A GC query can be used to query the GC cache instead of relying on LDAP and the referral process. Using Active Directory GC has little or no performance drag on the LoadMaster. For steps on how to add/remove the GC, refer to the following TechNet article: https://technet.microsoft.com/en-us/library/cc755257(v=ws.11).aspx
+
+ Int16
+
+ Int16
+
+
+
+
+
+ AdminUser
+
+ Specify the username of an administrator user. The username that will be used to check the LDAP server.
+
+ String
+
+ String
+
+
+
+
+
+ AdminPass
+
+ Specify the password for the specified administrator user. The password that will be used to check the LDAP server.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LdapEndpoint -Name ExampleLDAPEndpoint -Server "10.154.11.24 10.154.22.45"
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LicenseInitialPassword
+
+ Set the password for the default bal LoadMaster user when initially configuring the LoadMaster.
+
+
+
+
+ Set
+ LicenseInitialPassword
+
+
+
+ Set the password for the default bal LoadMaster user when initially configuring the LoadMaster.
+
+
+
+ Set-LicenseInitialPassword
+
+ Passwd
+
+ The desired password for the default bal LoadMaster user.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Passwd
+
+ The desired password for the default bal LoadMaster user.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LicenseInitialPassword -Passwd 2fourall
+
+
+
+
+ Example Output:
+Full response: Command successfully executed.
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmAFEConfiguration
+
+ Allows you to set the values of Cache, Compression and IPS options.
+
+
+
+
+ Set
+ LmAFEConfiguration
+
+
+
+ Allows you to set the values of Cache, Compression and IPS options.
+
+
+
+ Set-LmAFEConfiguration
+
+ CacheSize
+
+ Specifies the cache size.
+
+ Int32
+
+
+ HostCache
+
+ Enable or disable using the host cache.
+
+ Boolean
+
+
+ DetectionLevel
+
+ Specify how paranoid the detection rules should be. Valid options are:
+Low - Only logging, no rejection
+Default - Only Critical problems are rejected
+High - Serious and Critical problems are rejected
+Paranoid - All problems detected are rejected
+
+ String
+
+
+ LimitInput
+
+ Limit the number of connections.
+
+ Int64
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmAFEConfiguration
+
+ CacheSize
+
+ Specifies the cache size.
+
+ Int32
+
+
+ HostCache
+
+ Enable or disable using the host cache.
+
+ Boolean
+
+
+ DetectionLevel
+
+ Specify how paranoid the detection rules should be. Valid options are:
+Low - Only logging, no rejection
+Default - Only Critical problems are rejected
+High - Serious and Critical problems are rejected
+Paranoid - All problems detected are rejected
+
+ String
+
+
+ LimitInput
+
+ Limit the number of connections.
+
+ Int64
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ CacheSize
+
+ Specifies the cache size.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ HostCache
+
+ Enable or disable using the host cache.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DetectionLevel
+
+ Specify how paranoid the detection rules should be. Valid options are:
+Low - Only logging, no rejection
+Default - Only Critical problems are rejected
+High - Serious and Critical problems are rejected
+Paranoid - All problems detected are rejected
+
+ String
+
+ String
+
+
+
+
+
+ LimitInput
+
+ Limit the number of connections.
+
+ Int64
+
+ Int64
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Paranoia
+
+ Sets the sensitivity of IDS detection.
+
+ int16
+
+ int16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmAFEConfiguration -CacheSize 150 -HostCache $True -LimitInput 10 -Paranoia 2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmAwsHAConfiguration
+
+ Set the Amazon Web Services (AWS) High Availability (HA) options.
+
+
+
+
+ Set
+ LmAwsHAConfiguration
+
+
+
+ Set the AWS HA options, such as the health check port and partner address.
+
+
+
+ Set-LmAwsHAConfiguration
+
+ Partner
+
+ Address of the HA partner.
+
+ String
+
+
+ HealthCheckPort
+
+ The port over which the health check is run. This needs to be the same on both the master and the slave units in order for HA to function correctly.
+
+ String
+
+
+ haprefered
+
+ There are two possible values to set:
+0 - No Preferred Host: Each unit takes over when the other unit fails. No switchover is performed when the partner is restarted.
+1 - Prefer Master: The HA1 (master) unit always takes over. This is the default option.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmAwsHAConfiguration
+
+ Partner
+
+ Address of the HA partner.
+
+ String
+
+
+ HealthCheckPort
+
+ The port over which the health check is run. This needs to be the same on both the master and the slave units in order for HA to function correctly.
+
+ String
+
+
+ haprefered
+
+ There are two possible values to set:
+0 - No Preferred Host: Each unit takes over when the other unit fails. No switchover is performed when the partner is restarted.
+1 - Prefer Master: The HA1 (master) unit always takes over. This is the default option.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Partner
+
+ Address of the HA partner.
+
+ String
+
+ String
+
+
+
+
+
+ HealthCheckPort
+
+ The port over which the health check is run. This needs to be the same on both the master and the slave units in order for HA to function correctly.
+
+ String
+
+ String
+
+
+
+
+
+ haprefered
+
+ There are two possible values to set:
+0 - No Preferred Host: Each unit takes over when the other unit fails. No switchover is performed when the partner is restarted.
+1 - Prefer Master: The HA1 (master) unit always takes over. This is the default option.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Hcp
+
+ The port over which the health check is run. This needs to be the same on both the master and the slave units in order for HA to function correctly.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterAwsHAConfiguration –Hcp 443 –Partner 10.141.44.22
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Hcp: 443
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmAwsHAMode
+
+ Allows you to specify the Amazon Web Services (AWS) HA mode.
+
+
+
+
+ Set
+ LmAwsHAMode
+
+
+
+ Allows you to specify the Amazon Web Services (AWS) HA mode, for example, master HA Mode, slave HA Mode or Non-HA mode.
+
+
+
+ Set-LmAwsHAMode
+
+ HAMode
+
+ Specifies the HA mode. Valid values are:
+ - master
+ - slave
+ - single
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmAwsHAMode
+
+ HAMode
+
+ Specifies the HA mode. Valid values are:
+ - master
+ - slave
+ - single
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ HAMode
+
+ Specifies the HA mode. Valid values are:
+ - master
+ - slave
+ - single
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmAwsHAMode –HAMode master
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmAzureHAConfiguration
+
+ Configure the HA options for an Azure LoadMaster.
+
+
+
+
+ Set
+ LmAzureHAConfiguration
+
+
+
+ Allows you to set the other Azure HA options: health check port and partner address. Run this command on the master LoadMaster.
+
+
+
+ Set-LmAzureHAConfiguration
+
+ Partner
+
+ The internal IP address of the HA partner.
+
+ String
+
+
+ HealthCheckPort
+
+ Set the port over which the health check will be run. The port must be the same on both the master and slave unit for HA to function correctly.
+
+ String
+
+
+ Hapreferred
+
+ By default, neither partner in a HA cluster has priority. When a machine restarts after a switchover that machine becomes a slave. Specifying a preferred host means that when this machine restarts it will always become the master and the partner will revert to slave mode.
+There are two possible values to set:
+0 - No Preferred Host: Each unit takes over when the other unit fails. No switchover is performed when the partner is restarted.
+1 - Prefer Master: The HA1 (master) unit always takes over. This is the default option.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmAzureHAConfiguration
+
+ Partner
+
+ The internal IP address of the HA partner.
+
+ String
+
+
+ HealthCheckPort
+
+ Set the port over which the health check will be run. The port must be the same on both the master and slave unit for HA to function correctly.
+
+ String
+
+
+ Hapreferred
+
+ By default, neither partner in a HA cluster has priority. When a machine restarts after a switchover that machine becomes a slave. Specifying a preferred host means that when this machine restarts it will always become the master and the partner will revert to slave mode.
+There are two possible values to set:
+0 - No Preferred Host: Each unit takes over when the other unit fails. No switchover is performed when the partner is restarted.
+1 - Prefer Master: The HA1 (master) unit always takes over. This is the default option.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Partner
+
+ The internal IP address of the HA partner.
+
+ String
+
+ String
+
+
+
+
+
+ HealthCheckPort
+
+ Set the port over which the health check will be run. The port must be the same on both the master and slave unit for HA to function correctly.
+
+ String
+
+ String
+
+
+
+
+
+ Hapreferred
+
+ By default, neither partner in a HA cluster has priority. When a machine restarts after a switchover that machine becomes a slave. Specifying a preferred host means that when this machine restarts it will always become the master and the partner will revert to slave mode.
+There are two possible values to set:
+0 - No Preferred Host: Each unit takes over when the other unit fails. No switchover is performed when the partner is restarted.
+1 - Prefer Master: The HA1 (master) unit always takes over. This is the default option.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ haprefered
+
+ There are two possible values to set:
+0 - No Preferred Host: Each unit takes over when the other unit fails. No switchover is performed when the partner is restarted.
+1 - Prefer Master: The HA1 (master) unit always takes over. This is the default option.
+
+ int32
+
+ int32
+
+
+
+
+
+ Hcp
+
+ The port over which the health check is run. This needs to be the same on both the master and the slave units in order for HA to function correctly.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterAzureHAConfiguration –HealthCheckPort 8443
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Hcp: 8443
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmAzureHAMode
+
+ Allows you to specify the Azure HA mode.
+
+
+
+
+ Set
+ LmAzureHAMode
+
+
+
+ Allows you to specify the Azure HA mode. For example, Master HA Mode, Slave HA Mode or Non-HA Mode (single).
+
+
+
+ Set-LmAzureHAMode
+
+ HAMode
+
+ Specifies the HA mode. Valid options are master, slave or single.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmAzureHAMode
+
+ HAMode
+
+ Specifies the HA mode. Valid options are master, slave or single.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ HAMode
+
+ Specifies the HA mode. Valid options are master, slave or single.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterAzureHAMode –HAMode master
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmBackupConfiguration
+
+ Allows you to set the values of the Automated Backup options.
+
+
+
+
+ Set
+ LmBackupConfiguration
+
+
+
+ Allows you to set the values of the Automated Backup options.
+
+
+
+ Set-LmBackupConfiguration
+
+ BackupEnable
+
+ Specifies if scheduled backups are enabled.
+
+ String
+
+
+ BackupHour
+
+ For scheduled backups, this parameter specifies the "hour" number (0-23).
+
+ Int16
+
+
+ BackupMinute
+
+ For scheduled backups, this parameter specifies the "minute" number (0-59).
+
+ Int16
+
+
+ BackupDay
+
+ For scheduled backups, this parameter specifies the "day" number (0-7).
+
+ Int16
+
+
+ BackupMethod
+
+ Specify the file transfer method for automated backups. Valid values are:
+Ftp
+SCP
+
+ String
+
+
+ BackupUser
+
+ Specifies the user account that has access to save the backup file.
+
+ String
+
+
+ BackupPassword
+
+ Specifies the password for the user account that has access to save the backup file.
+
+ String
+
+
+ BackupHost
+
+ Specifies the host to save the backup file to.
+
+ String
+
+
+ BackupPath
+
+ Specifies the path on the remote host for saving the backup file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmBackupConfiguration
+
+ BackupEnable
+
+ Specifies if scheduled backups are enabled.
+
+ String
+
+
+ BackupHour
+
+ For scheduled backups, this parameter specifies the "hour" number (0-23).
+
+ Int16
+
+
+ BackupMinute
+
+ For scheduled backups, this parameter specifies the "minute" number (0-59).
+
+ Int16
+
+
+ BackupDay
+
+ For scheduled backups, this parameter specifies the "day" number (0-7).
+
+ Int16
+
+
+ BackupMethod
+
+ Specify the file transfer method for automated backups. Valid values are:
+Ftp
+SCP
+
+ String
+
+
+ BackupUser
+
+ Specifies the user account that has access to save the backup file.
+
+ String
+
+
+ BackupPassword
+
+ Specifies the password for the user account that has access to save the backup file.
+
+ String
+
+
+ BackupHost
+
+ Specifies the host to save the backup file to.
+
+ String
+
+
+ BackupPath
+
+ Specifies the path on the remote host for saving the backup file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ BackupEnable
+
+ Specifies if scheduled backups are enabled.
+
+ String
+
+ String
+
+
+
+
+
+ BackupHour
+
+ For scheduled backups, this parameter specifies the "hour" number (0-23).
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BackupMinute
+
+ For scheduled backups, this parameter specifies the "minute" number (0-59).
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BackupDay
+
+ For scheduled backups, this parameter specifies the "day" number (0-7).
+
+ Int16
+
+ Int16
+
+
+
+
+
+ BackupMethod
+
+ Specify the file transfer method for automated backups. Valid values are:
+Ftp
+SCP
+
+ String
+
+ String
+
+
+
+
+
+ BackupUser
+
+ Specifies the user account that has access to save the backup file.
+
+ String
+
+ String
+
+
+
+
+
+ BackupPassword
+
+ Specifies the password for the user account that has access to save the backup file.
+
+ String
+
+ String
+
+
+
+
+
+ BackupHost
+
+ Specifies the host to save the backup file to.
+
+ String
+
+ String
+
+
+
+
+
+ BackupPath
+
+ Specifies the path on the remote host for saving the backup file.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmBackupConfiguration -BackupEnable yes
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Parameters=}
+Param........: @{backupenable=yes}
+backupenable : yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmBackupSecureIdentity
+
+ If using scp as the BackupMethod, use this command to upload the remote identity value.
+
+
+
+
+ Set
+ LmBackupSecureIdentity
+
+
+
+ This is the SSH private key generated using ssh-keygen on the remote scp server.
+ The key file must be encoded in base64 before uploading.
+
+
+
+ Set-LmBackupSecureIdentity
+
+ Path
+
+ The path to the private key file, in the format <Path>\<Filename.Extension>, for example C:\t\PrivateKeyExample.ppk.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmBackupSecureIdentity
+
+ Path
+
+ The path to the private key file, in the format <Path>\<Filename.Extension>, for example C:\t\PrivateKeyExample.ppk.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the private key file, in the format <Path>\<Filename.Extension>, for example C:\t\PrivateKeyExample.ppk.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmBackupSecureIdentity -Path C:\t\PrivateKeyExample.ppk
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmDateTimeConfiguration
+
+ Allows you to set the values of the Date and Time options.
+
+
+
+
+ Set
+ LmDateTimeConfiguration
+
+
+
+ Allows you to set the values of the Date and Time options.
+
+
+
+ Set-LmDateTimeConfiguration
+
+ NTPHost
+
+ Specifies the time synchronization server. Multiple hosts can be specified using a space-separated list.
+
+ String
+
+
+ TimeZone
+
+ Specifies the time zone of the LoadMaster. Valid values are timezones, for example:
+Etc/UTC
+GMT
+CET
+US/Central
+US/Eastern
+Europe/Rome
+
+ String
+
+
+ NTPKeyId
+
+ The NTP key ID. Valid values range from 1 to 99.
+
+ Int32
+
+
+ NTPKeySecret
+
+ The NTP shared secret string. The NTP secret can be a maximum of 40 characters long. If the secret is more than 20 characters long, it is treated as a hex string. Setting this value to an empty string will disable the NTPv4 feature.
+
+ String
+
+
+ NTPKeyType
+
+ Specify the NTP Key Type. The valid values are SHA-1 and MD5. Note that the values are case sensitive and must be in uppercase.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmDateTimeConfiguration
+
+ NTPHost
+
+ Specifies the time synchronization server. Multiple hosts can be specified using a space-separated list.
+
+ String
+
+
+ TimeZone
+
+ Specifies the time zone of the LoadMaster. Valid values are timezones, for example:
+Etc/UTC
+GMT
+CET
+US/Central
+US/Eastern
+Europe/Rome
+
+ String
+
+
+ NTPKeyId
+
+ The NTP key ID. Valid values range from 1 to 99.
+
+ Int32
+
+
+ NTPKeySecret
+
+ The NTP shared secret string. The NTP secret can be a maximum of 40 characters long. If the secret is more than 20 characters long, it is treated as a hex string. Setting this value to an empty string will disable the NTPv4 feature.
+
+ String
+
+
+ NTPKeyType
+
+ Specify the NTP Key Type. The valid values are SHA-1 and MD5. Note that the values are case sensitive and must be in uppercase.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ NTPHost
+
+ Specifies the time synchronization server. Multiple hosts can be specified using a space-separated list.
+
+ String
+
+ String
+
+
+
+
+
+ TimeZone
+
+ Specifies the time zone of the LoadMaster. Valid values are timezones, for example:
+Etc/UTC
+GMT
+CET
+US/Central
+US/Eastern
+Europe/Rome
+
+ String
+
+ String
+
+
+
+
+
+ NTPKeyId
+
+ The NTP key ID. Valid values range from 1 to 99.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ NTPKeySecret
+
+ The NTP shared secret string. The NTP secret can be a maximum of 40 characters long. If the secret is more than 20 characters long, it is treated as a hex string. Setting this value to an empty string will disable the NTPv4 feature.
+
+ String
+
+ String
+
+
+
+
+
+ NTPKeyType
+
+ Specify the NTP Key Type. The valid values are SHA-1 and MD5. Note that the values are case sensitive and must be in uppercase.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and cannot be used to set all of the available parameters. Please refer to the Get-Help of the Set-Parameter command to view a full list of parameters that can be configured.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmDateTimeConfiguration -NTPHost 128.192.150.11 -TimeZone WET
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{DateTimeConfiguration=}
+Param........: @{NTPHost=128.192.150.11; Time=Thu, 20 Apr 17 12:21:06 WEST; BootTime=Thu, 20 Apr 17 12:02:28 WEST; ActiveTime=Thu, 20 Apr 17 12:02:28 WE
+ST; TimeZone=WET; NTPKeyId=0}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmDebugConfiguration
+
+ Allows to set some of the values of options contained in the in the Debug Option screen of the WUI.
+
+
+
+
+ Set
+ LmDebugConfiguration
+
+
+
+ Allows to set some of the values of options contained in the in the Debug Option screen of the WUI.
+
+
+
+ Set-LmDebugConfiguration
+
+ irqbalance
+
+ The purpose of IRQBalance is distribute hardware interrupts across processors on a multiprocessor system. This should only be enabled after consultation with KEMP technical support.
+
+ Boolean
+
+
+ linearesplogs
+
+ By default, the LoadMaster deletes older log files. If this parameter is enabled, older log files will no longer be deleted. If the filesystem fills up, further access via the LoadMaster is blocked.
+
+ Boolean
+
+
+ netconsole
+
+ Netconsole is a kernel module which logs kernel printk messages over UDP allowing debugging of problems where disk logging fails. If directed by a KEMP support engineer, the syslog daemon on a specific host will receive all critical kernel messages. This can help in understanding why a LoadMaster is rebooting. Netconsole is mainly used for capturing kernel panic output.
+To unset this, set the value to an empty string.
+
+ String
+
+
+ netconsoleinterface
+
+ The interface which hosts the Netconsole.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmDebugConfiguration
+
+ irqbalance
+
+ The purpose of IRQBalance is distribute hardware interrupts across processors on a multiprocessor system. This should only be enabled after consultation with KEMP technical support.
+
+ Boolean
+
+
+ linearesplogs
+
+ By default, the LoadMaster deletes older log files. If this parameter is enabled, older log files will no longer be deleted. If the filesystem fills up, further access via the LoadMaster is blocked.
+
+ Boolean
+
+
+ netconsole
+
+ Netconsole is a kernel module which logs kernel printk messages over UDP allowing debugging of problems where disk logging fails. If directed by a KEMP support engineer, the syslog daemon on a specific host will receive all critical kernel messages. This can help in understanding why a LoadMaster is rebooting. Netconsole is mainly used for capturing kernel panic output.
+To unset this, set the value to an empty string.
+
+ String
+
+
+ netconsoleinterface
+
+ The interface which hosts the Netconsole.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ irqbalance
+
+ The purpose of IRQBalance is distribute hardware interrupts across processors on a multiprocessor system. This should only be enabled after consultation with KEMP technical support.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ linearesplogs
+
+ By default, the LoadMaster deletes older log files. If this parameter is enabled, older log files will no longer be deleted. If the filesystem fills up, further access via the LoadMaster is blocked.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ netconsole
+
+ Netconsole is a kernel module which logs kernel printk messages over UDP allowing debugging of problems where disk logging fails. If directed by a KEMP support engineer, the syslog daemon on a specific host will receive all critical kernel messages. This can help in understanding why a LoadMaster is rebooting. Netconsole is mainly used for capturing kernel panic output.
+To unset this, set the value to an empty string.
+
+ String
+
+ String
+
+
+
+
+
+ netconsoleinterface
+
+ The interface which hosts the Netconsole.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmDebugConfiguration -irqbalance 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Parameters=}
+irqbalance : yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmHAConfiguration
+
+ Allows you to set the values of High Availability (HA) options.
+
+
+
+
+ Set
+ LmHAConfiguration
+
+
+
+ Configure the HA options.
+
+
+
+ Set-LmHAConfiguration
+
+ hatimeout
+
+ The time the master must be unavailable before a switchover occurs. The valid predetermined time intervals are listed below (in seconds):
+3
+6
+9
+12
+15
+
+ Int16
+
+
+ hawait
+
+ This is how long (in seconds) after the initial boot, before the LoadMaster becomes active. If the partner machine is running this value is ignored. This value can be changed to mitigate the time taken for some intelligent switches to detect that the LoadMaster has started and to bring up the link.
+
+ Int16
+
+
+ havhid
+
+ When using multiple HA LoadMasters on the same network, this value identifies each cluster so that there are no potential unwanted interactions.
+
+ Int16
+
+
+ haprefered
+
+ By default, neither partner in a HA cluster has priority. When a machine restarts after a switchover that machine becomes a slave. Specifying a preferred host means that when this machine restarts it will always become the master and the partner will revert to slave mode.
+
+ String
+
+
+ haif
+
+ The network interface used when synchronising the configuration between the members of the HA cluster.
+
+ Int16
+
+
+ hal4update
+
+ When using L4 services, enabling updates allows L4 connection maintenance across a HA switchover. This option is ignored for L7 services. Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ hal7update
+
+ When using L7 services, enabling this option allows sharing of persistency information between HA partners. If a HA switchover occurs, the persistency information will then not be lost. Enabling this option can have a significant performance impact. Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ MCast
+
+ The network interface used for multicast traffic which is used to synchronize Layer 4 and Layer 7 traffic when Inter HA Updates are enabled.
+
+ Int16
+
+
+ Vmac
+
+ This option creates a shared MAC address for both units. When failover occurs, the LoadMaster handles the MAC address handover too. This allows the switches to keep the MAC address and not worry about ARP caches or stale records.
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmHAConfiguration
+
+ hatimeout
+
+ The time the master must be unavailable before a switchover occurs. The valid predetermined time intervals are listed below (in seconds):
+3
+6
+9
+12
+15
+
+ Int16
+
+
+ hawait
+
+ This is how long (in seconds) after the initial boot, before the LoadMaster becomes active. If the partner machine is running this value is ignored. This value can be changed to mitigate the time taken for some intelligent switches to detect that the LoadMaster has started and to bring up the link.
+
+ Int16
+
+
+ havhid
+
+ When using multiple HA LoadMasters on the same network, this value identifies each cluster so that there are no potential unwanted interactions.
+
+ Int16
+
+
+ haprefered
+
+ By default, neither partner in a HA cluster has priority. When a machine restarts after a switchover that machine becomes a slave. Specifying a preferred host means that when this machine restarts it will always become the master and the partner will revert to slave mode.
+
+ String
+
+
+ haif
+
+ The network interface used when synchronising the configuration between the members of the HA cluster.
+
+ Int16
+
+
+ hal4update
+
+ When using L4 services, enabling updates allows L4 connection maintenance across a HA switchover. This option is ignored for L7 services. Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ hal7update
+
+ When using L7 services, enabling this option allows sharing of persistency information between HA partners. If a HA switchover occurs, the persistency information will then not be lost. Enabling this option can have a significant performance impact. Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+
+ MCast
+
+ The network interface used for multicast traffic which is used to synchronize Layer 4 and Layer 7 traffic when Inter HA Updates are enabled.
+
+ Int16
+
+
+ Vmac
+
+ This option creates a shared MAC address for both units. When failover occurs, the LoadMaster handles the MAC address handover too. This allows the switches to keep the MAC address and not worry about ARP caches or stale records.
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ hatimeout
+
+ The time the master must be unavailable before a switchover occurs. The valid predetermined time intervals are listed below (in seconds):
+3
+6
+9
+12
+15
+
+ Int16
+
+ Int16
+
+
+
+
+
+ hawait
+
+ This is how long (in seconds) after the initial boot, before the LoadMaster becomes active. If the partner machine is running this value is ignored. This value can be changed to mitigate the time taken for some intelligent switches to detect that the LoadMaster has started and to bring up the link.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ havhid
+
+ When using multiple HA LoadMasters on the same network, this value identifies each cluster so that there are no potential unwanted interactions.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ haprefered
+
+ By default, neither partner in a HA cluster has priority. When a machine restarts after a switchover that machine becomes a slave. Specifying a preferred host means that when this machine restarts it will always become the master and the partner will revert to slave mode.
+
+ String
+
+ String
+
+
+
+
+
+ haif
+
+ The network interface used when synchronising the configuration between the members of the HA cluster.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ hal4update
+
+ When using L4 services, enabling updates allows L4 connection maintenance across a HA switchover. This option is ignored for L7 services. Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ hal7update
+
+ When using L7 services, enabling this option allows sharing of persistency information between HA partners. If a HA switchover occurs, the persistency information will then not be lost. Enabling this option can have a significant performance impact. Valid values:
+0 - Disabled
+1 - Enabled
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ MCast
+
+ The network interface used for multicast traffic which is used to synchronize Layer 4 and Layer 7 traffic when Inter HA Updates are enabled.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Vmac
+
+ This option creates a shared MAC address for both units. When failover occurs, the LoadMaster handles the MAC address handover too. This allows the switches to keep the MAC address and not worry about ARP caches or stale records.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ To get the HA status, run the following command: Get-LmParameter -Param HAStatus
+To enable HA checking on an interface, run the following command: Set-NetworkInterface -HACheck <InterfaceID>
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LMHAConfiguration -HATimeout 3
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+hatimeout : 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmHAMode
+
+ Set the High Availability (HA) mode.
+
+
+
+
+ Set
+ LmHAMode
+
+
+
+ Set the HA mode.
+
+
+
+ Set-LmHAMode
+
+ HaMode
+
+ The HA mode can be one of the following options:
+SingleMode - Non-HA mode
+First - HA 1 mode
+Second - HA 2 mode
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmHAMode
+
+ HaMode
+
+ The HA mode can be one of the following options:
+SingleMode - Non-HA mode
+First - HA 1 mode
+Second - HA 2 mode
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ HaMode
+
+ The HA mode can be one of the following options:
+SingleMode - Non-HA mode
+First - HA 1 mode
+Second - HA 2 mode
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmHAMode -HaMode SingleMode
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmParameter
+
+ A large number of LoadMaster parameters can be configured using the Set-LmParameter command.
+
+
+
+
+ Set
+ LmParameter
+
+
+
+ Below is a list of the parameters that can be configured using the Set-LmParameter command. The parameters are grouped and ordered by WUI section.
+ -----------------
+WUI Section: Home
+-----------------
+ version
+Retrieves the LoadMaster firmware version.
+ serialnumber
+The serial number of the LoadMaster.
+ boottime
+The time at which the LoadMaster last booted.
+ activetime
+When using non-HA mode, the activetime is the same as the boottime. When in HA mode, the active time is the time at which the LoadMaster last became the master unit. The active time will be zero if the LoadMaster is in slave mode.
+
+--------------------------------------------------------------------------
+WUI Section: Virtual Services > View/Modify Services > Advanced Properties
+--------------------------------------------------------------------------
+ addvia
+Specifies which headers should be added to the HTTP stream. The parameter takes the following arguments:
+ 0 = Legacy Operation
+ 1 = X-Forwarded-For
+ 2 = None
+ 3 = X-Client-Side
+ 4 = X-Client-Side No Via
+ 5 = X-Forwarded-For No Via
+ 6 = Via Only
+
+------------------------------------
+WUI Section: Certificates & Security
+------------------------------------
+ localcert
+This parameter is only relevant when using HA.
+
+-------------------------------------------------------
+WUI Section: Certificates & Security > SSL Certificates
+-------------------------------------------------------
+ admincert
+The certificate used, if any, for the administrative interface.
+
+----------------------------------------------------
+WUI Section: Certificates & Security > Remote Access
+----------------------------------------------------
+ admingw
+When administering the LoadMaster from a non-default interface, this option allows the user to specify a different default gateway for administrative traffic only.
+ sshaccess
+Specify over which addresses remote administrative SSH access to the LoadMaster is allowed.
+ sshport
+Specify the port used to access the LoadMaster via the SSH protocol.
+ wuiaccess
+Enables or disables access to the Web User Interface (WUI).
+ wuiiface
+Specifies the interface for the WUI.
+ wuiport
+Specifies the port to access the WUI.
+ sshiface
+Specify the addresses over which remote administrative SSH access to the LoadMaster is allowed.
+ enableapi
+Enables the programmable command API Interface.
+Note: If this is disabled, the API will no longer be accessible.
+ adminclientaccess
+Valid values for this parameter are:
+0 – Password only access (default)
+1 – Password or client certificate
+2 – Client certificate required
+3 – Client certificate required (verify via OCSP)
+This parameter is only relevant if Session Management is enabled. For further information on Session Management and on the Admin Client Access option, refer to the User Management, Feature Description on the KEMP documentation page: www.kemptechnologies.com/documentation
+ tethering
+Allow the LoadMaster to regularly check the KEMP website for new software versions.
+0 - Disabled
+1 - Enabled
+ geoclients
+Set the addresses of the GEO LoadMasters which can retrieve service status information from the LoadMaster.
+ geopartners
+Set the IP address of the GEO LoadMaster partner(s). These GEO LoadMasters will keep their DNS configurations in sync.
+Note: Before partnering GEO LoadMasters, a backup should be taken of the relevant GEO LoadMaster which has the correct/preferred configuration. This backup should then be restored to the other LoadMasters
+ that will be partnered with the original LoadMaster.
+ multihomedwui
+Allow WUI access from multiple interfaces. Apart from the main administrative interface, each interface can then be enabled to allow WUI access.
+ SSHPreAuth
+Set the SSH pre-authentication banner, which is displayed before the login prompt when logging in via SSH. Space characters should be escaped by entering %20.
+This field accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+ sessioncac
+If this parameter is enabled, the LoadMaster will also check for a Common Access Card (CAC) certificate when a user is logging on to the WUI.
+0 - Disabled
+1 - Enabled
+ --------------------------------------------------------------------------------
+WUI Section: Certificates & Security > Remote Access > WUI Authorization Options
+--------------------------------------------------------------------------------
+ sessionauthmode
+Specifies the authentication mode for the LoadMaster.
+Refer to the following table for values:
+ | RADIUS | LDAP | Local
+Value | Authent. Author. | Authent. | Authent. Author.
+7 | No No | No | No No
+263 | Yes No | No | Yes Yes
+775 | Yes Yes | No | Yes Yes
+23 | No No | Yes | Yes Yes
+22 | No No | Yes | No Yes
+788 | Yes Yes | Yes | No No
+790 | Yes Yes | Yes | No Yes
+791 | Yes Yes | Yes | Yes Yes
+789 | Yes Yes | Yes | Yes No
+773 | Yes Yes | No | Yes No
+262 | Yes No | No | No Yes
+774 | Yes Yes | No | No Yes
+772 | Yes Yes | No | No No
+278 | Yes No | Yes | No No
+279 | Yes No | Yes | Yes Yes
+ sessionlocalauth
+Enables or disables local authentication.
+ radiusbackupport
+Specifies the TCP port for the backup RADIUS server.
+ radiusbackupsecret
+Specifies the password (secret) to the backup RADIUS server.
+ radiusbackupserver
+Specifies the backup RADIUS server to use for authentication.
+ radiusport
+Specifies the TCP port for communication to the RADIUS server.
+ radiussecret
+Specifies the password (secret) to the RADIUS server.
+ radiusserver
+Specifies the RADIUS server to use for authentication.
+ radiusrevalidateinterval
+Specifies when to revalidate the authentication to the RADIUS server.
+ ldapserver
+Specifies the LDAP server to use for authentication.
+ ldapbackupserver
+Specifies the backup LDAP server for authentication.
+ ldapsecurity
+Specifies the security mode for LDAP authentication.
+ ldaprevalidateinterval
+Specifies how often to revalidate the authentication to the LDAP server.
+
+-------------------------------------------------------
+WUI Section: Certificates & Security > Admin WUI Access
+-------------------------------------------------------
+ sessionidletime
+Specifies the number of seconds that the WUI can be idle before logging the user out. This can be set from 60 to 86400 seconds.
+ sessionmaxfailattempts
+Number of failed attempts before locking the user account. This can be set from 1 to 999.
+ sessioncontrol
+Enables or disables session control.
+ sessionbasicauth
+If the SessionControl and SessionBasicAuth parameters are both enabled, there are two levels of authentication enforced in order to access the LoadMaster WUI. The initial level is Basic Authentication where
+ users log in using the bal or user logins, which are default usernames defined by the system.
+ sessionconcurrent
+Limit the maximum number of concurrent connections a single user can have.
+Range: 0 to 9. A value of 0, means logins are unlimited.
+ geosshport
+The port over which GEO LoadMasters will communicate with on another.
+ WUIPreAuth
+Set the pre-authentication click through banner which will be displayed before the LoadMaster login page. This parameter can contain plain text or HTML code. The field cannot contain JavaScript. This field
+ accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+ WUITLSProtocols
+Specify whether or not it is possible to connect to the LoadMaster WUI using the following protocols; SSLv3, TLS1.0, TLS1.1 or TLS1.2. The protocols can be enabled and disabled using a bitmask value in the range 0 to 14. Refer to the table below to find out what number corresponds to which settings.
+ Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+ WUICipherset
+Specify the cipher set to use for the LoadMaster WUI.
+The valid values are below:
+- Default
+- Default_NoRc4
+- BestPractices
+- Intermediate_compatibility
+- Backward_compatibility
+- WUI
+- FIPS
+- Legacy
+- <NameOfCustomCipherSet> Specify the cipher set to use for the LoadMaster WUI.
+
+---------------------------------------------------------
+WUI Section: Certificates & Security > OCSP Configuration
+---------------------------------------------------------
+ OCSPPort
+The port of the OCSP server.
+ OCSPUseSSL
+Specify whether or not to use SSL to connect to the OCSP server.
+ OCSPOnServerFail
+Treat an OCSP server connection failure of timeout as if the OCSP server had returned a valid response, i.e. treat the client certificate as valid.
+ OCSPServer
+The address of the OCSP server.
+ OCSPUrl
+The URL to access on the OCSP server.
+ SSLStapling
+Enable this parameter to enable the LoadMaster to respond to OCSP stapling requests. If a client connects using SSL and asks for an OCSP response, this is returned. Only Virtual Service certificates are validated. The system holds a cache of OCSP responses that are sent back to the client. This cache is maintained by the OCSP daemon. When the OCSP daemon sends a request to the server, it uses the name specified in the certificate (in the Authority Information Access field). If it cannot resolve this name, then it uses the default OCSP server specified in the OCSPServer parameter.
+ SSHRefreshInterval
+Specify how often the LoadMaster should refresh the OCSP stapling information. The OCSP daemon caches the entry for up to the amount of time specified here, after which it is refreshed.
+Valid values range from 3600 (1 hour (default)) to 604800 seconds (7 days).
+
+--------------------------------------------------------------
+WUI Section: System Configuration > Network Setup > Interfaces
+--------------------------------------------------------------
+ mcast
+The network interface used for multicast traffic which is used to synchronize Layer 4 and Layer 7 traffic when Inter HA Updates are enabled.
+
+----------------------------------------------------------------------------
+WUI Section: System Configuration > Network Setup > Host & DNS Configuration
+----------------------------------------------------------------------------
+ dnssecclient
+Enable or disable DNSSEC client capabilities on the LoadMaster. At least one name server must be configured before DNSSEC can be enabled. After changing this setting, the LoadMaster must be rebooted for the change to be applied. Once the setting is changed, it cannot be changed again until the LoadMaster has been rebooted. If using HA, please set the parameter on both devices separately.
+ 0 = Disabled
+ 1 = Enabled
+ DNSNamesEnable
+When this option is enabled, the LoadMaster automatically attempts to update any changed DNS names (based on the update interval):
+- If the address is not found, or if it is the same as before – nothing is done (except a log entry is generated).
+- If the address is different, the Real Server entry is updated with the new address, if possible.
+- If the new address is invalid for some reason, for example if it is a non-local address and the nonlocalrs option is disabled, no changes are made and a log is generated.
+ dnsupdateinterval
+Set the update interval for DNS entries. Valid values range from 1-60 (minutes). The default value is 60.
+ dnsreloadonerror
+If this parameter is enabled, DNS entries are reloaded when health checks have errors and an FQDN is associated with the Real Server IP address.
+ namserver
+The DNS server the LoadMaster will use for name resolution. Setting this parameter to an empty string will delete the name servers. The last remaining name server cannot be deleted if the dnssecclient parameter is enabled. This parameter has been deprecated and replaced with the nameserver parameter.
+ nameserver
+The DNS server the LoadMaster will use for name resolution. Setting this parameter to an empty string will delete the name servers. The last remaining name server cannot be deleted if the dnssecclient parameter is enabled.
+ ha1hostname
+When using the LoadMaster in HA mode, this is the host name of the first node. If the LoadMaster is not in HA mode, then this will return an error.
+ ha2hostname
+When using the LoadMaster in HA mode, this is the host name of the second node. If the LoadMaster is not in HA mode, then this will return an error.
+ hostname
+The hostname assigned to the LoadMaster.
+ searchlist
+The domain suffix search list when performing DNS resolution.
+
+-------------------------------------------------------------------
+WUI Section: System Configuration > Network Setup > Default Gateway
+-------------------------------------------------------------------
+ dfltgw
+Specify the IPv4 default gateway that is to be used for communicating with the internet.
+ dfltgwv6
+Specify the IPv6 default gateway that is to be used for communicating with the internet.
+
+--------------------------------------------------------------------------
+WUI Section: System Configuration > System Administration > Backup/Restore
+--------------------------------------------------------------------------
+ backupday
+For scheduled backups, this parameter specifies the "day" number (0-7).
+ backupenable
+Specifies if scheduled backups are enabled.
+ backuphost
+Specifies the host to save the backup file to.
+ backuphour
+For scheduled backups, this parameter specifies the "hour" number (0-23).
+ backupminute
+For scheduled backups, this parameter specifies the "minute" number (0-59).
+ backupsecure
+Specify the file transfer method for automated backups.
+0 – Ftp (insecure)
+1 – scp (secure)
+ backuppassword
+Specifies the password for the user account that has access to save the backup file.
+ backuppath
+Specifies the path on the remote host for saving the backup file.
+ backupuser
+Specifies the user account that has access to save the backup file.
+
+---------------------------------------------------------------------
+WUI Section: System Configuration > System Administration > Date/Time
+---------------------------------------------------------------------
+ ntphost
+Specifies the time synchronization server. Multiple hosts can be specified using a space-separated list.
+ ntpkeytype
+Specify the NTP Key Type. The valid values are SHA-1 (SHA) and MD5 (M). The values must be specified in uppercase.
+ ntpkeysecret
+The NTP shared secret string. The NTP secret can be a maximum of 40 characters long. If the secret is more than 20 characters long, it is treated as a hex string. Setting this value to an empty string will disable the NTPv4 feature.
+ ntpkeyid
+The NTP key ID. Valid values range from 1 to 99.
+ timezone
+Specifies the time zone of the LoadMaster.
+ time
+Sets the time of the LoadMaster.
+ -------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > Debug Options
+-------------------------------------------------------------------
+ irqbalance
+The purpose of IRQBalance is distribute hardware interrupts across processors on a multiprocessor system. This should only be enabled after consultation with KEMP Technical Support.
+ backupnetstat
+By default, the LoadMaster includes a Netstat output in backups taken. When this is included, backups take longer to complete. You can stop the Netstat output from being included by disabling this parameter.
+ linearesplogs
+By default, the LoadMaster deletes older log files. If this parameter is enabled, older log files will no longer be deleted. If the filesystem fills up, further access via the LoadMaster is blocked.
+ netconsole
+Netconsole is a kernel module which logs kernel printk messages over UDP allowing debugging of problems where disk logging fails. If directed by a KEMP support engineer, the syslog daemon on a specific host
+ will receive all critical kernel messages. This can help in understanding why a LoadMaster is rebooting.
+ netconsoleinterface
+The interface which hosts the Netconsole.
+
+--------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > Syslog Options
+--------------------------------------------------------------------
+ syslogemergency
+Use this option to set the host(s) which will receive Emergency events only. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslogcritical
+Use this option to set the host(s) which will receive Emergency and Critical events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslogerror
+Use this option to set the host(s) which will receive Emergency, Critical and Error events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ sysloginfo
+Use this option to set the host(s) which will receive Emergency, Critical, Error and Warning events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslognotice
+Use this option to set the host(s) which will receive Emergency, Critical, Error, Warning and Notice events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslogwarn
+Use this option to set the host(s) which will receive All events. Entries must be comma-separated. Up to 10 entries are supported in total for all levels.
+ syslogport
+Specify the port that syslog messages are sent to on the receiving hosts.
+ ------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > SNMP Options
+------------------------------------------------------------------
+ snmpenable
+Enable or disable SNMP.
+ snmpV3enable
+Enable SNMP V3.
+ 0 = Disabled
+ 1 = Enabled
+ snmpv3user
+Specify the username.
+ snmpv3userpasswd
+Specify the user password.
+ snmpAuthProt
+Specify the relevant authentication protocol:
+ - MD5
+ - SHA
+SHA is a more secure protocol.
+ snmpPrivProt
+Specify the relevant privacy protocol:
+ - DES
+ - AES
+AES is a more secure protocol.
+ snmpcontact
+Specify the contact address that is sent in SNMP responses.
+ snmpcommunity
+Specify the SNMP community string.
+ snmplocation
+Specify the location that is sent in SNMP responses.
+ snmpHaTrap
+Send SNMP traps from the shared IP address. This option is only available when the LoadMaster is in HA mode.
+ snmpv1sink
+Specify the sink address for SNMP type 1 traps.
+ snmpv2sink
+Specify the sink address for SNMP type 2 traps.
+ snmpclient
+Specify the list of machines that can access the SNMP subsystem. If no clients are specified, then anyone can access SNMP.
+ snmptrapenable
+Enable the generation of SNMP events whenever a significant event occurs.
+
+-------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > Email Options
+-------------------------------------------------------------------
+ emailuser
+The user account with access to send mail messages.
+ emaildomain
+The domain, if required, for the user account authentication.
+ emailpassword
+The email user's password.
+ emailserver
+The host name or address of the SMTP server to send mail messages through.
+ emailsslmode
+Specify the type of security protocol that should be used on the connection:
+ 0 = None
+ 1 = STARTTLS, if available
+ 2 = STARTTLS
+ 3 = SSL/TLS
+ emailport
+The TCP port on which your mail server accepts connections (usually 25).
+ emailcritical
+The email address to receive critical messages.
+ emailemergency
+The email address to receive emergency messages.
+ emailerror
+The email address to receive error messages.
+ emailinfo
+The email address to receive informational messages.
+ emailnotice
+The email address to receive notices.
+ emailwarn
+The email address to receive warnings.
+ emailenable
+Enables or disables the email logging options.
+
+-------------------------------------------------------------------
+WUI Section: System Configuration > Logging Options > SDN Log Files
+-------------------------------------------------------------------
+ sdnstatsmode
+There are two modes that can be used to gather the SDN statistics.
+The modes are described below:
+• Mode 1: When set to mode 1, the statistics are taken from the switch port that is connected to the server and the statistics are relayed back to the LoadMaster.
+• Mode 2: When set to mode 2, the information is taken from all of the switch ports along the path.
+
+------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > WUI Settings
+------------------------------------------------------------------------
+ hoverhelp
+Enables or disables hover help in the WUI.
+ motd
+Sets the Message Of The Day (MOTD) for the web user interface. Either plain text or a text file can be used.
+The maximum number of characters is 5,000.
+An error will be displayed if the MOTD is greater than 5,000 characters.
+ wuidisplaylines
+Specifies the number of display lines in the WUI. This can be set from 10 to 100.
+
+----------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > L7 Configuration
+----------------------------------------------------------------------------
+ transparent
+When using Layer 7, when this is enabled the connection arriving at the Real Server appears to come directly from the client. Alternatively, the connection can be non-transparent which means that the
+ connections at the Real Server appear to come from the LoadMaster.
+ alwayspersist
+This parameter also accepts no and yes as valid values. No and Yes correspond to 0 and 1 respectively.
+ expect100
+By default, the L7 module only waits for 100-Continue replies if it sees an Expect-100 header, use RFC-2616 Compliant. If the system will always wait for 100 Continue messages, use Require 100-Continue. If
+ the client will always send the POST data even if a 100 Continue message is not sent, use RFC-7231 Compliant instead.
+ localbind
+In very high load situations, local port exhaustion can occur. Enabling this option allows the setting of alternate source addresses. This can be used to expand the number of available local ports.
+ addcookieport
+When using the LoadMaster behind a NATing gateway, all client addresses are the same. To create individual cookies the remote port can also be added to the cookie. Enabling this option when not needed wastes
+ resources.
+ addforwardheader
+This option, only available when L7 Transparency is disabled, allows the addition of either X-ClientSide or X-Forwarded For to the HTTP header.
+ authtimeout
+The duration (in seconds) that a connection remains open for while authentication is ongoing. This value can be between 30 and 300.
+ clienttokentimeout
+The duration (in seconds) to wait for the client token while the process of authentication is ongoing (used for RSA SecurID and RADIUS authentication). The default value for this parameter is 120.
+ finalpersist
+When a Real Server is disabled, the sessions persisting on that Real Server continue to be served until the Drain Time has expired or until no more sessions are being handled by the Real Server. No new sessions will be handled by the Real Server. Valid values include 0, and 60 to 86400.
+ rfcconform
+By default, the LoadMaster conforms to the RFC when parsing HTTP headers. Disabling this will allow interworking with some broken browsers.
+ dropatdrainend
+If enabled, all open connections to disabled Real Servers will be dropped at the end of the Real Servers Drain Stop Time or immediately if there are no Persist entries associated with the Real Server.
+ droponfail
+By default, existing connections are not closed if a Real Server fails. Enabling this feature causes all connections to be immediately dropped on Real Server failure.
+ closeonerror
+When enabled, the LoadMaster will always close the client connection when it sends back an error response. For Example, this changes the behaviour of the LoadMaster when sending back a 304 File not changed
+ message after receiving an If-Modified-Since HTTP header.
+ rsarelocal
+When checking to see if a client is on the local subnet, also check to see if the client is actually a Real Server.
+ slowstart
+When using the Least Connection (or Weighted Least Connection) scheduling method, specify the time (in seconds) over which the load to a Real Server which has just come online will be throttled.
+ ShareSubVSPersist
+By default, each SubVS has an independent persistence table. Enabling this parameter will allow the SubVS to share this information.
+ logsplitinterval
+When using Log Insight Scheduling this is the number of messages which are received on a connection before the stream is rescheduled. The default value is 10.
+ allowemptyposts
+By default the LoadMaster blocks POSTs that do not contain a Content-Length or Transfer-Encoding header to indicate the length of the requests payload. When this parameter is set to true, such requests are assumed to have no payload data and are therefore not rejected.
+ forcefullrsmatch
+By default, when the LoadMaster is trying to locate a Real Server for use with content switching, it tries to use the same Real Server as currently selected, even if the port is not the same. If this parameter is enabled - the port is also compared.
+ AllowEmptyHttpHeaders
+By default, if the LoadMaster is processing HTTP headers, it will ignore HTTP headers that have empty content. This can break some SOAP Services even though it is against the HTTP RFCs. Enabling this option will allow these empty headers through.
+ loguseragent
+When enabled, the User Agent header field is added to the User Logs.
+0 - Disabled
+1 - Enabled
+
+---------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > Network Options
+---------------------------------------------------------------------------
+ snat
+Enabling this options allows the LoadMaster to NAT connections from the Real Servers to the internet.
+ routefilter
+When enabled, this option only accepts IP frames from a host over the interface where the routing algorithm would route frames to the host. This is known as strict source route validation.
+ subnetoriginating
+When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster.
+ If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+ nonlocalrs
+Enable this option to allow assigning non-local Real Servers to Virtual Services.
+ multigw
+Use this option to enable the ability to move the default gateway to a different interface.
+ conntimeout
+Specify the timeout value for the check request.
+Range: 4-60
+ tcptimestamp
+The LoadMaster can include a timestamp in the SYN when connecting to Real Servers. Only enable this option when requested to from KEMP Support.
+ resetclose
+When enabled, the LoadMaster will close its connection to the Real Servers by using TCP RESET instead of the normal close handshake.
+ keepalive
+By default, the system uses TCP keepalives to check for failed clients. Enabling this option improves the reliability of older TCP connections (SSH sessions). Not normally required for normal HTTP/HTTPS
+ services.
+ allowupload
+The LoadMaster has been optimized with HTTP workloads in mind. Enabling this option allows non HTTP uploads to work correctly.
+ subnetorigin
+When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster.
+ If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+ onlydefaultroutes
+Enable this option to force traffic from Virtual Services, which have default route entries set, to be routed to the interface where the Virtual Service’s default route is located.
+ http_proxy
+This option allows clients to specify the HTTP(S) proxy server and port the LoadMaster will use to access the internet.
+ dhkeysize
+Select the strength of the key used in the Diffe-Hellman key exchanges. If this value is changed, a reboot is required in order to use the new value. The default value is 2048 Bits.
+ sslrenegotiate
+By default, the LoadMaster allows a client to automatically renegotiate during an SSL transaction. Disabling this parameter causes SSL connections to terminate if a renegotiation is requested by the client.
+ sslforceserververify
+By default, when re-encrypting traffic the LoadMaster does not check the certificate provided by the Real Server. Enabling this option forces the LoadMaster to verify that the certificate on the Real Server is valid, that is, the certificate authority and expiration are OK. This includes all intermediate certificates.
+ tcpnorecycle
+Enable this option to revert to the legacy mode of reusing TCP timewait connections.
+Note: Only enable this after consulting with KEMP Support.
+ -----------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > AFE Configuration
+-----------------------------------------------------------------------------
+ paranoia
+Sets the sensitivity of IDS detection.
+ cachesize
+Specifies the cache size.
+ hostcache
+Enable or disable using the host cache.
+ limitinput
+Limit the number of connections.
+ L7LimitInput
+This setting limits the default maximum number of connection attempts (per second) from a specific host.
+
+-------------------------------------------------------------------------
+WUI Section: System Configuration > Miscellaneous Options > HA Parameters
+-------------------------------------------------------------------------
+ hastatus
+The status of a HA or cluster unit. This is a read only parameter and cannot be set. Possible values are:
+Normal HA:
+Active, Standby, Passive (all as expected).
+Cloud HA:
+Active, Standby, Passive (if status not yet set).
+Cluster:
+Active (if master), Standby (if slave), Passive (if disabled).
+
+hatimeout
+The time the master must be unavailable before a switchover occurs. Allowed Values: 1-5, each option being a predetermined time interval:
+ 1 = 3 seconds
+ 2 = 6 seconds
+ 3 = 9 seconds
+ 4 = 12 seconds
+ 5 = 15 seconds
+ hawait
+This is how long (in seconds) after the initial boot, before the LoadMaster becomes active. If the partner machine is running this value is ignored. This value can be changed to mitigate the time taken for some intelligent switches to detect that the LoadMaster has started and to bring up the link.
+ haprefered
+By default, neither partner in a HA cluster has priority. When a machine restarts after a switchover that machine becomes a slave. Specifying a preferred host means that when this machine restarts it will always become the master and the partner will revert to slave mode.
+ hamode
+Specify the HA mode. If only using a single LoadMaster, use Non-HA Mode. In HA mode, one LoadMaster must be specified as the first and another as second. HA will not work if both LoadMasters are specified
+ the same.
+ 0 = Turn off HA mode
+ 1 = HA 1 mode
+ 2 = HA 2 mode
+ haif
+The network interface used when synchronising the configuration between the members of the HA cluster.
+ havhid
+When using multiple HA LoadMasters on the same network, this value identifies each cluster so that there are no potential unwanted interactions.
+ hastyle
+By default, the system uses a version of VRRP (carp) to check the status of the partner. The system can also support the legacy Heartbeat program. This option only takes effect when both machines are rebooted.
+0 - legacy heartbeat
+1 - carp
+ hainitial
+Perform extra network checks at boot time. This may cause instability and should not be used.
+ tcpfailover
+When using L4 services, enabling updates allows L4 connection maintenance across a HA switchover. This option is ignored for L7 services.
+This parameter is now deprecated and has been replaced with the HAL4update parameter.
+ cookieupdate
+When using L7 services, enabling this option allows sharing of persistency information between HA partners. If a HA switchover occurs, the persistency information will then not be lost. Enabling this option
+ can have a significant performance impact.
+This parameter is now deprecated and has been replaced with the HAL7Update parameter.
+ hal4update
+When using L4 services, enabling updates allows L4 connection maintenance across a HA switchover. This option is ignored for L7 services.
+ hal7update
+When using L7 services, enabling this option allows sharing of persistency information between HA partners. If a HA switchover occurs, the persistency information will then not be lost. Enabling this option can have a significant performance impact.
+ vmac
+This option creates a shared MAC address for both units. When failover occurs, the LoadMaster handles the MAC address handover too. This allows the switches to keep the MAC address and not worry about ARP caches or stale records.
+
+
+
+ Set-LmParameter
+
+ Param
+
+ The parameter to configure.
+
+ String
+
+
+ Value
+
+ The value to set the parameter to.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmParameter
+
+ Param
+
+ The parameter to configure.
+
+ String
+
+
+ Value
+
+ The value to set the parameter to.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Param
+
+ The parameter to configure.
+
+ String
+
+ String
+
+
+
+
+
+ Value
+
+ The value to set the parameter to.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmParameter -Param SSLRefreshInterval -Value 4000
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmVpnAddrs
+
+ Allows you to set the Virtual Private Network (VPN) addresses at the same time.
+
+
+
+
+ Set
+ LmVpnAddrs
+
+
+
+ Use this command to set the VPN addresses, such as the local IP address, local subnet(s), remote IP address and remote subnet(s).
+
+
+
+ Set-LmVpnAddrs
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LocalIp
+
+ In non-HA mode, the default is the LoadMaster IP address, i.e. the IP address of the default gateway interface.
+In HA-mode, the default is the shared IP address.
+
+ String
+
+
+ LocalSubnets
+
+ When the LocalIp is set, the LocalSubnet is automatically populated. Multiple local subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+
+ RemoteIp
+
+ Set the IP address for the remote side of the connection.
+
+ String
+
+
+ RemoteSubnets
+
+ Set the subnet for the remote side of the connection. Multiple remote subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmVpnAddrs
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LocalIp
+
+ In non-HA mode, the default is the LoadMaster IP address, i.e. the IP address of the default gateway interface.
+In HA-mode, the default is the shared IP address.
+
+ String
+
+
+ LocalSubnets
+
+ When the LocalIp is set, the LocalSubnet is automatically populated. Multiple local subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+
+ RemoteIp
+
+ Set the IP address for the remote side of the connection.
+
+ String
+
+
+ RemoteSubnets
+
+ Set the subnet for the remote side of the connection. Multiple remote subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ LocalIp
+
+ In non-HA mode, the default is the LoadMaster IP address, i.e. the IP address of the default gateway interface.
+In HA-mode, the default is the shared IP address.
+
+ String
+
+ String
+
+
+
+
+
+ LocalSubnets
+
+ When the LocalIp is set, the LocalSubnet is automatically populated. Multiple local subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+ String
+
+
+
+
+
+ RemoteIp
+
+ Set the IP address for the remote side of the connection.
+
+ String
+
+ String
+
+
+
+
+
+ RemoteSubnets
+
+ Set the subnet for the remote side of the connection. Multiple remote subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmVpnAddrs -LocalIp 10.12.12.15 -LocalSubnets 10.12.12.0 -Name ExampleVpnAddress -RemoteIp 172.22.55.52 -RemoteSubnets 172.22.55.0
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmVpnLocalIp
+
+ Allows you to set the local IP address of a Virtual Private Network (VPN).
+
+
+
+
+ Set
+ LmVpnLocalIp
+
+
+
+ Use this command to configure the local IP address of the specified VPN.
+
+
+
+ Set-LmVpnLocalIp
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LocalIp
+
+ In non-HA mode, the default is the LoadMaster IP address, i.e. the IP address of the default gateway interface.
+In HA-mode, the default is the shared IP address.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmVpnLocalIp
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LocalIp
+
+ In non-HA mode, the default is the LoadMaster IP address, i.e. the IP address of the default gateway interface.
+In HA-mode, the default is the shared IP address.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ LocalIp
+
+ In non-HA mode, the default is the LoadMaster IP address, i.e. the IP address of the default gateway interface.
+In HA-mode, the default is the shared IP address.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmVpnLocalIp -Name ExampleVPN -LocalIp 10.154.11.123
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmVpnLocalSubnet
+
+ Allows you to set the Local Subnet Address(es).
+
+
+
+
+ Set
+ LmVpnLocalSubnet
+
+
+
+ Use this command to configure the Local Subnet Address(es) of the Virtual Private Network (VPN).
+
+
+
+ Set-LmVpnLocalSubnet
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LocalSubnets
+
+ When the LocalIp is set, the LocalSubnet is automatically populated. Multiple local subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmVpnLocalSubnet
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LocalSubnets
+
+ When the LocalIp is set, the LocalSubnet is automatically populated. Multiple local subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ LocalSubnets
+
+ When the LocalIp is set, the LocalSubnet is automatically populated. Multiple local subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmVpnLocalSubnet -LocalSubnets 10.11.11.0 -Name ExampleVpnLocalSubnet
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmVpnPfsDisable
+
+ Disable the Perfect Forward Secrecy (PFS) option.
+
+
+
+
+ Set
+ LmVpnPfsDisable
+
+
+
+ Allows you to disable the PFS option for a particular VPN connection.
+
+
+
+ Set-LmVpnPfsDisable
+
+ Name
+
+ The name of the VPN connection.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmVpnPfsDisable
+
+ Name
+
+ The name of the VPN connection.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN connection.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmVpnPfsDisable -Name ExampleVpn
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmVpnPfsEnable
+
+ Enable the Perfect Forward Secrecy (PFS) option.
+
+
+
+
+ Set
+ LmVpnPfsEnable
+
+
+
+ Allows you to enable the PFS option for a particular VPN connection.
+
+
+
+ Set-LmVpnPfsEnable
+
+ Name
+
+ The name of the VPN connection.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmVpnPfsEnable
+
+ Name
+
+ The name of the VPN connection.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN connection.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmVpnPfsEnable -Name ExampleVpn
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmVpnRemoteIp
+
+ Allows you to set the Remote IP Address of the specified Virtual Private Network (VPN).
+
+
+
+
+ Set
+ LmVpnRemoteIp
+
+
+
+ Set the IP address for the remote side of the connection.
+
+
+
+ Set-LmVpnRemoteIp
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ RemoteIp
+
+ Set the IP address for the remote side of the connection.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmVpnRemoteIp
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ RemoteIp
+
+ Set the IP address for the remote side of the connection.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ RemoteIp
+
+ Set the IP address for the remote side of the connection.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmVpnRemoteIp -Name ExampleVpnRemoteIp -RemoteIp 172.22.55.2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmVpnRemoteSubnet
+
+ Allows you to set the Remote Subnet Address(es) of the specified Virtual Private Network (VPN).
+
+
+
+
+ Set
+ LmVpnRemoteSubnet
+
+
+
+ Use this command to configure the Remote Subnet Address(es) of the specified VPN.
+
+
+
+ Set-LmVpnRemoteSubnet
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ RemoteSubnets
+
+ Set the subnet for the remote side of the connection. Multiple remote subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmVpnRemoteSubnet
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ RemoteSubnets
+
+ Set the subnet for the remote side of the connection. Multiple remote subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ RemoteSubnets
+
+ Set the subnet for the remote side of the connection. Multiple remote subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmVpnRemoteSubnet -Name ExampleVpnRemoteSubnet -RemoteSubnets 10.115.2.0
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmVpnSecret
+
+ Allows you to set the connection secret details of the specified Virtual Private Network (VPN).
+
+
+
+
+ Set
+ LmVpnSecret
+
+
+
+ Configure the connection secret details for the specified VPN.
+
+
+
+ Set-LmVpnSecret
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LocalId
+
+ Identification for the local side of the connection.
+
+ String
+
+
+ RemoteId
+
+ Identification for the remote side of the connection. This can be the remoteip.
+
+ String
+
+
+ Key
+
+ The Pre Shared Key (PSK) string. This is the Shared key which is generated and managed on the Azure side. The key length should be at least 16 and at most 64 characters.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmVpnSecret
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LocalId
+
+ Identification for the local side of the connection.
+
+ String
+
+
+ RemoteId
+
+ Identification for the remote side of the connection. This can be the remoteip.
+
+ String
+
+
+ Key
+
+ The Pre Shared Key (PSK) string. This is the Shared key which is generated and managed on the Azure side. The key length should be at least 16 and at most 64 characters.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ LocalId
+
+ Identification for the local side of the connection.
+
+ String
+
+ String
+
+
+
+
+
+ RemoteId
+
+ Identification for the remote side of the connection. This can be the remoteip.
+
+ String
+
+ String
+
+
+
+
+
+ Key
+
+ The Pre Shared Key (PSK) string. This is the Shared key which is generated and managed on the Azure side. The key length should be at least 16 and at most 64 characters.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmVpnSecret -Key ExampleKeyExampleKey -LocalId 10.35.47.24 -Name ExampleVPN -RemoteId 10.23.34.33
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmWuiSetting
+
+ Configure the WUI settings.
+
+
+
+
+ Set
+ LmWuiSetting
+
+
+
+ Use this command to set values for the WUI settings parameters, such as hoverhelp and motd (Message of the Day).
+
+
+
+ Set-LmWuiSetting
+
+ hoverhelp
+
+ Enable/disable hover help text in the WUI.
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ motd
+
+ Set the Message of the Day (MOTD), which is displayed on the WUI home page after logging in.
+
+ String
+
+
+ wuidisplaylines
+
+ Set the maximum number of lines to be displayed on a single statistics page.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LmWuiSetting
+
+ hoverhelp
+
+ Enable/disable hover help text in the WUI.
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ motd
+
+ Set the Message of the Day (MOTD), which is displayed on the WUI home page after logging in.
+
+ String
+
+
+ wuidisplaylines
+
+ Set the maximum number of lines to be displayed on a single statistics page.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ hoverhelp
+
+ Enable/disable hover help text in the WUI.
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ motd
+
+ Set the Message of the Day (MOTD), which is displayed on the WUI home page after logging in.
+
+ String
+
+ String
+
+
+
+
+
+ wuidisplaylines
+
+ Set the maximum number of lines to be displayed on a single statistics page.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmWuiSetting -hoverhelp 0 -motd "Example Message of the Day"
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Parameters=}
+Param........: @{motd=Example Message of the Day}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LogEmailConfiguration
+
+ Allows you to set the values of the email logging options.
+
+
+
+
+ Set
+ LogEmailConfiguration
+
+
+
+ Configure the various levels of email logging recipients.
+
+
+
+ Set-LogEmailConfiguration
+
+ EmailEnable
+
+ Enables or disables the email logging options.
+
+ Boolean
+
+
+ EmailServer
+
+ The host name or address of the SMTP server to send mail messages through.
+
+ String
+
+
+ EmailPort
+
+ The TCP port on which your mail server accepts connections (usually 25).
+
+ Int32
+
+
+ EmailUser
+
+ The user account with access to send mail messages.
+
+ String
+
+
+ EmailPassword
+
+ The email user's password.
+
+ String
+
+
+ EmailDomain
+
+ The domain, if required, for the user account authentication.
+
+ String
+
+
+ EmailSSLMode
+
+ Specify the type of security protocol that should be used on the connection:
+ 0 - None
+ 1 - STARTTLS, if available
+ 2 - STARTTLS
+ 3 - SSL/TLS
+
+ Int16
+
+
+ EmailEmergency
+
+ The email address to receive emergency messages.
+
+ String
+
+
+ EmailCritical
+
+ The email address to receive critical messages.
+
+ String
+
+
+ EmailError
+
+ The email address to receive error messages.
+
+ String
+
+
+ EmailWarn
+
+ The email address to receive warnings.
+
+ String
+
+
+ EmailNotice
+
+ The email address to receive notices.
+
+ String
+
+
+ EmailInfo
+
+ The email address to receive informational messages.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LogEmailConfiguration
+
+ EmailEnable
+
+ Enables or disables the email logging options.
+
+ Boolean
+
+
+ EmailServer
+
+ The host name or address of the SMTP server to send mail messages through.
+
+ String
+
+
+ EmailPort
+
+ The TCP port on which your mail server accepts connections (usually 25).
+
+ Int32
+
+
+ EmailUser
+
+ The user account with access to send mail messages.
+
+ String
+
+
+ EmailPassword
+
+ The email user's password.
+
+ String
+
+
+ EmailDomain
+
+ The domain, if required, for the user account authentication.
+
+ String
+
+
+ EmailSSLMode
+
+ Specify the type of security protocol that should be used on the connection:
+ 0 - None
+ 1 - STARTTLS, if available
+ 2 - STARTTLS
+ 3 - SSL/TLS
+
+ Int16
+
+
+ EmailEmergency
+
+ The email address to receive emergency messages.
+
+ String
+
+
+ EmailCritical
+
+ The email address to receive critical messages.
+
+ String
+
+
+ EmailError
+
+ The email address to receive error messages.
+
+ String
+
+
+ EmailWarn
+
+ The email address to receive warnings.
+
+ String
+
+
+ EmailNotice
+
+ The email address to receive notices.
+
+ String
+
+
+ EmailInfo
+
+ The email address to receive informational messages.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ EmailEnable
+
+ Enables or disables the email logging options.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ EmailServer
+
+ The host name or address of the SMTP server to send mail messages through.
+
+ String
+
+ String
+
+
+
+
+
+ EmailPort
+
+ The TCP port on which your mail server accepts connections (usually 25).
+
+ Int32
+
+ Int32
+
+
+
+
+
+ EmailUser
+
+ The user account with access to send mail messages.
+
+ String
+
+ String
+
+
+
+
+
+ EmailPassword
+
+ The email user's password.
+
+ String
+
+ String
+
+
+
+
+
+ EmailDomain
+
+ The domain, if required, for the user account authentication.
+
+ String
+
+ String
+
+
+
+
+
+ EmailSSLMode
+
+ Specify the type of security protocol that should be used on the connection:
+ 0 - None
+ 1 - STARTTLS, if available
+ 2 - STARTTLS
+ 3 - SSL/TLS
+
+ Int16
+
+ Int16
+
+
+
+
+
+ EmailEmergency
+
+ The email address to receive emergency messages.
+
+ String
+
+ String
+
+
+
+
+
+ EmailCritical
+
+ The email address to receive critical messages.
+
+ String
+
+ String
+
+
+
+
+
+ EmailError
+
+ The email address to receive error messages.
+
+ String
+
+ String
+
+
+
+
+
+ EmailWarn
+
+ The email address to receive warnings.
+
+ String
+
+ String
+
+
+
+
+
+ EmailNotice
+
+ The email address to receive notices.
+
+ String
+
+ String
+
+
+
+
+
+ EmailInfo
+
+ The email address to receive informational messages.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ To unset a parameter, set the parameter to an empty string, for example:
+Set-LogEmailConfiguration -EmailEmergency ""
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LogEmailConfiguration -EmailCritical criticaluser@kemptechnologies.com -EmailEmergency emergencycontact@kemptechnologies.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{EmailConfiguration=}
+Param........: @{EmailEnable=yes; EmailServer=10.154.22.132; EmailPort=80; EmailUser=test; EmailPassword=********; EmailDomain=ExampleDomain; EmailSSLMo
+de=1; EmailEmergency=emergencycontact@kemptechnologies.com; EmailCritical=criticaluser@kemptechnologies.com; EmailError=; EmailWarn=; EmailNotice=; Emai
+lInfo=}
+EmailEnable : yes
+EmailServer : 10.154.22.132
+EmailPort : 80
+EmailUser : test
+EmailPassword : ********
+EmailDomain : ExampleDomain
+EmailSSLMode : 1
+EmailEmergency : emergencycontact@kemptechnologies.com
+EmailCritical : criticaluser@kemptechnologies.com
+EmailError :
+EmailWarn :
+EmailNotice :
+EmailInfo :
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LogSplitInterval
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcL7LogInsightSplitConfiguration
+
+
+
+
+ Set
+ LogSplitInterval
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcL7LogInsightSplitConfiguration
+
+
+
+ Set-LogSplitInterval
+
+ logsplitinterval
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LogSplitInterval
+
+ logsplitinterval
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ logsplitinterval
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LogSyslogConfiguration
+
+ Allows you set which hosts the various Syslog messages get sent to.
+
+
+
+
+ Set
+ LogSyslogConfiguration
+
+
+
+ Configure the various levels of syslog level alerts.
+
+
+
+ Set-LogSyslogConfiguration
+
+ SyslogCritical
+
+ Specifies the syslog host for critical notifications.
+
+ String
+
+
+ SyslogEmergency
+
+ Specifies the syslog host for emergency notifications.
+
+ String
+
+
+ SyslogError
+
+ Specifies the syslog host for error notifications.
+
+ String
+
+
+ SyslogInfo
+
+ Specifies the syslog host for information notices.
+
+ String
+
+
+ SyslogNotice
+
+ Specifies the syslog host for general notifications.
+
+ String
+
+
+ SyslogWarn
+
+ Specifies the syslog host for warning notifications.
+
+ String
+
+
+ SyslogPort
+
+ Specify a non-standard port for syslog transfer.
+
+ UInt16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-LogSyslogConfiguration
+
+ SyslogCritical
+
+ Specifies the syslog host for critical notifications.
+
+ String
+
+
+ SyslogEmergency
+
+ Specifies the syslog host for emergency notifications.
+
+ String
+
+
+ SyslogError
+
+ Specifies the syslog host for error notifications.
+
+ String
+
+
+ SyslogInfo
+
+ Specifies the syslog host for information notices.
+
+ String
+
+
+ SyslogNotice
+
+ Specifies the syslog host for general notifications.
+
+ String
+
+
+ SyslogWarn
+
+ Specifies the syslog host for warning notifications.
+
+ String
+
+
+ SyslogPort
+
+ Specify a non-standard port for syslog transfer.
+
+ UInt16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SyslogCritical
+
+ Specifies the syslog host for critical notifications.
+
+ String
+
+ String
+
+
+
+
+
+ SyslogEmergency
+
+ Specifies the syslog host for emergency notifications.
+
+ String
+
+ String
+
+
+
+
+
+ SyslogError
+
+ Specifies the syslog host for error notifications.
+
+ String
+
+ String
+
+
+
+
+
+ SyslogInfo
+
+ Specifies the syslog host for information notices.
+
+ String
+
+ String
+
+
+
+
+
+ SyslogNotice
+
+ Specifies the syslog host for general notifications.
+
+ String
+
+ String
+
+
+
+
+
+ SyslogWarn
+
+ Specifies the syslog host for warning notifications.
+
+ String
+
+ String
+
+
+
+
+
+ SyslogPort
+
+ Specify a non-standard port for syslog transfer.
+
+ UInt16
+
+ UInt16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Up to ten individual IP addresses/hostnames can be specified for each of the Syslog fields. Multiple IP addresses/hostnames must be differentiated using a comma-separated list.
+ To unset the configuration for a level, run the command with empty parameter values, for example:
+Set-LogSyslogConfiguration -SyslogError ""
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LogSyslogConfiguration -SyslogCritical 10.154.11.39 -SyslogEmergency 10.154.11.26
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+Data field...: @{SyslogSettings=}
+Param........: @{SyslogEmergency=10.154.11.26; SyslogCritical=10.154.11.39; SyslogError=; SyslogWarn=; SyslogNotice=; SyslogInfo=10.154.153.94; SyslogPo
+rt=60}
+SyslogEmergency : 10.154.11.26
+SyslogCritical : 10.154.11.39
+SyslogError :
+SyslogWarn :
+SyslogNotice :
+SyslogInfo : 10.154.153.94
+SyslogPort : 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-NetworkConfiguration
+
+ Allows you to set the values of Networking options.
+
+
+
+
+ Set
+ NetworkConfiguration
+
+
+
+ Allows you to set the values of Networking options.
+
+
+
+ Set-NetworkConfiguration
+
+ SNAT
+
+ Enabling this options allows the LoadMaster to NAT connections from the Real Servers to the internet.
+
+ Boolean
+
+
+ AllowUpload
+
+ The LoadMaster has been optimized with HTTP workloads in mind. Enabling this option allows non HTTP uploads to work correctly.
+
+ Boolean
+
+
+ ConnTimeout
+
+ Specify, in seconds, the time a connection can be idle before it is closed. This is independent of Persistency Timeout. Setting a value of 0 resets to the default value of 660 seconds.
+
+ Int64
+
+
+ KeepAlive
+
+ By default, the system uses TCP keepalives to check for failed clients. Enabling this option improves the reliability of older TCP connections (SSH sessions). Not normally required for normal HTTP/HTTPS services.
+
+ Boolean
+
+
+ MultiGW
+
+ Use this option to enable the ability to move the default gateway to a different interface.
+
+ Boolean
+
+
+ NonLocalRS
+
+ Enable this option to allow assigning non-local Real Servers to Virtual Services.
+
+ Boolean
+
+
+ OnlyDefaultRoutes
+
+ Enable this option to force traffic from Virtual Services, which have default route entries set, to be routed to the interface where the Virtual Service’s default route is located.
+
+ Boolean
+
+
+ ResetClose
+
+ When enabled, the LoadMaster will close its connection to the Real Servers by using TCP RESET instead of the normal close handshake.
+
+ Boolean
+
+
+ SubnetOrigin
+
+ When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster. If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+
+ Boolean
+
+
+ SubnetOriginating
+
+ When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster. If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+
+ Boolean
+
+
+ TCPTimeStamp
+
+ The LoadMaster can include a timestamp in the SYN when connecting to Real Servers. Only enable this option when requested to from KEMP Support.
+
+ Boolean
+
+
+ RouteFilter
+
+ When enabled, this option only accepts IP frames from a host over the interface where the routing algorithm would route frames to the host. This is known as strict source route validation.
+
+ Boolean
+
+
+ DHKeySize
+
+ Select the strength of the key used in the Diffe-Hellman key exchanges. If this value is changed, a reboot is required in order to use the new value. The default value is 2048 Bits.
+
+ Int32
+
+
+ Http_Proxy
+
+ This option allows clients to specify the HTTP(S) proxy server and port the LoadMaster will use to access the internet.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-NetworkConfiguration
+
+ SNAT
+
+ Enabling this options allows the LoadMaster to NAT connections from the Real Servers to the internet.
+
+ Boolean
+
+
+ AllowUpload
+
+ The LoadMaster has been optimized with HTTP workloads in mind. Enabling this option allows non HTTP uploads to work correctly.
+
+ Boolean
+
+
+ ConnTimeout
+
+ Specify, in seconds, the time a connection can be idle before it is closed. This is independent of Persistency Timeout. Setting a value of 0 resets to the default value of 660 seconds.
+
+ Int64
+
+
+ KeepAlive
+
+ By default, the system uses TCP keepalives to check for failed clients. Enabling this option improves the reliability of older TCP connections (SSH sessions). Not normally required for normal HTTP/HTTPS services.
+
+ Boolean
+
+
+ MultiGW
+
+ Use this option to enable the ability to move the default gateway to a different interface.
+
+ Boolean
+
+
+ NonLocalRS
+
+ Enable this option to allow assigning non-local Real Servers to Virtual Services.
+
+ Boolean
+
+
+ OnlyDefaultRoutes
+
+ Enable this option to force traffic from Virtual Services, which have default route entries set, to be routed to the interface where the Virtual Service’s default route is located.
+
+ Boolean
+
+
+ ResetClose
+
+ When enabled, the LoadMaster will close its connection to the Real Servers by using TCP RESET instead of the normal close handshake.
+
+ Boolean
+
+
+ SubnetOrigin
+
+ When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster. If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+
+ Boolean
+
+
+ SubnetOriginating
+
+ When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster. If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+
+ Boolean
+
+
+ TCPTimeStamp
+
+ The LoadMaster can include a timestamp in the SYN when connecting to Real Servers. Only enable this option when requested to from KEMP Support.
+
+ Boolean
+
+
+ RouteFilter
+
+ When enabled, this option only accepts IP frames from a host over the interface where the routing algorithm would route frames to the host. This is known as strict source route validation.
+
+ Boolean
+
+
+ DHKeySize
+
+ Select the strength of the key used in the Diffe-Hellman key exchanges. If this value is changed, a reboot is required in order to use the new value. The default value is 2048 Bits.
+
+ Int32
+
+
+ Http_Proxy
+
+ This option allows clients to specify the HTTP(S) proxy server and port the LoadMaster will use to access the internet.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SNAT
+
+ Enabling this options allows the LoadMaster to NAT connections from the Real Servers to the internet.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AllowUpload
+
+ The LoadMaster has been optimized with HTTP workloads in mind. Enabling this option allows non HTTP uploads to work correctly.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ConnTimeout
+
+ Specify, in seconds, the time a connection can be idle before it is closed. This is independent of Persistency Timeout. Setting a value of 0 resets to the default value of 660 seconds.
+
+ Int64
+
+ Int64
+
+
+
+
+
+ KeepAlive
+
+ By default, the system uses TCP keepalives to check for failed clients. Enabling this option improves the reliability of older TCP connections (SSH sessions). Not normally required for normal HTTP/HTTPS services.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ MultiGW
+
+ Use this option to enable the ability to move the default gateway to a different interface.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ NonLocalRS
+
+ Enable this option to allow assigning non-local Real Servers to Virtual Services.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ OnlyDefaultRoutes
+
+ Enable this option to force traffic from Virtual Services, which have default route entries set, to be routed to the interface where the Virtual Service’s default route is located.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ResetClose
+
+ When enabled, the LoadMaster will close its connection to the Real Servers by using TCP RESET instead of the normal close handshake.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SubnetOrigin
+
+ When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster. If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SubnetOriginating
+
+ When transparency is disabled for a Virtual Service, the source IP address of connections to Real Servers is the Virtual Service. When enabled, the source IP address is the local address of the LoadMaster. If the Real Server is on a subnet, the subnet address of the LoadMaster will be used.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ TCPTimeStamp
+
+ The LoadMaster can include a timestamp in the SYN when connecting to Real Servers. Only enable this option when requested to from KEMP Support.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RouteFilter
+
+ When enabled, this option only accepts IP frames from a host over the interface where the routing algorithm would route frames to the host. This is known as strict source route validation.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DHKeySize
+
+ Select the strength of the key used in the Diffe-Hellman key exchanges. If this value is changed, a reboot is required in order to use the new value. The default value is 2048 Bits.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Http_Proxy
+
+ This option allows clients to specify the HTTP(S) proxy server and port the LoadMaster will use to access the internet.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and cannot be used to set all of the available parameters. Please refer to the Get-Help of the Set-Parameter command to view a full list of parameters that can be configured.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-NetworkConfiguration -SNAT 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Parameters=}
+Param........: @{SNAT=yes}
+SNAT : yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-NetworkDNSConfiguration
+
+ Allows you to set the values of the DNS Configuration options.
+
+
+
+
+ Set
+ NetworkDNSConfiguration
+
+
+
+ Allows you to set the values of the DNS Configuration options.
+
+
+
+ Set-NetworkDNSConfiguration
+
+ Hostname
+
+ The hostname assigned to the LoadMaster.
+
+ String
+
+
+ HA1Hostname
+
+ When using the LoadMaster in HA mode, this is the host name of the first node. If the LoadMaster is not in HA mode, then this will return an error.
+
+ String
+
+
+ HA2Hostname
+
+ When using the LoadMaster in HA mode, this is the host name of the second node. If the LoadMaster is not in HA mode, then this will return an error.
+
+ String
+
+
+ NameServer
+
+ The DNS server the LoadMaster will use for name resolution.
+
+ String
+
+
+ Searchlist
+
+ The domain suffix search list when performing DNS resolution.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-NetworkDNSConfiguration
+
+ Hostname
+
+ The hostname assigned to the LoadMaster.
+
+ String
+
+
+ HA1Hostname
+
+ When using the LoadMaster in HA mode, this is the host name of the first node. If the LoadMaster is not in HA mode, then this will return an error.
+
+ String
+
+
+ HA2Hostname
+
+ When using the LoadMaster in HA mode, this is the host name of the second node. If the LoadMaster is not in HA mode, then this will return an error.
+
+ String
+
+
+ NameServer
+
+ The DNS server the LoadMaster will use for name resolution.
+
+ String
+
+
+ Searchlist
+
+ The domain suffix search list when performing DNS resolution.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Hostname
+
+ The hostname assigned to the LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ HA1Hostname
+
+ When using the LoadMaster in HA mode, this is the host name of the first node. If the LoadMaster is not in HA mode, then this will return an error.
+
+ String
+
+ String
+
+
+
+
+
+ HA2Hostname
+
+ When using the LoadMaster in HA mode, this is the host name of the second node. If the LoadMaster is not in HA mode, then this will return an error.
+
+ String
+
+ String
+
+
+
+
+
+ NameServer
+
+ The DNS server the LoadMaster will use for name resolution.
+
+ String
+
+ String
+
+
+
+
+
+ Searchlist
+
+ The domain suffix search list when performing DNS resolution.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and cannot be used to set all of the available parameters. Please refer to the Get-Help of the Set-Parameter command to view a full list of parameters that can be configured.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-NetworkDNSConfiguration -NameServer 10.154.33.22
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Parameters=}
+Param........: @{nameserver=10.154.33.22}
+nameserver : 10.154.33.22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-NetworkInterface
+
+ Allows you to set the values of the options of the specified interface.
+
+
+
+
+ Set
+ NetworkInterface
+
+
+
+ Allows you to set the values of the options of the specified interface.
+
+
+
+ Set-NetworkInterface
+
+ InterfaceID
+
+ The ID of the network interface.
+
+ Int16
+
+
+ IPAddress
+
+ The IP Address to be assigned to the specified network interface.
+
+ String
+
+
+ MTU
+
+ The MTU setting for this interface.
+
+ Int32
+
+
+ HACheck
+
+ This parameter is only relevant in a HA/cluster configuration. Specify whether or not to use this interface for HA/cluster checks.
+0 – Not used for HA/cluster checks
+1 – Used for HA/cluster checks
+ The default interface used for checking is eth0. When this option is enabled for an interface, you are prevented from disabling it on that interface. To switch to another interface, specify hacheck=yes/1 for a different interface. You cannot disable this parameter by specifying hacheck=no/0.
+
+ Boolean
+
+
+ GWIface
+
+ Specifies if this is a network gateway interface.
+
+ Boolean
+
+
+ clupdate
+
+ Enable this to use this interface for cluster synchronization operations.
+There must be exactly one interface that is configured for cluster updates. The default interface used for updates is eth0. When this option is enabled for an interface, you are prevented from disabling it on that interface. To switch to another interface, specify clupdate=yes/1 for a different interface. You cannot disable this parameter by specifying clupdate=no/0.
+
+ Boolean
+
+
+ GeoTraffic
+
+ Specify whether or not to use this interface for GEO responses and requests.
+
+ Boolean
+
+
+ BondMode
+
+ The bond mode determines the way in which traffic sent out of the bonded interface is actually dispersed over the real interfaces.
+
+ String
+
+
+ Partner
+
+ IP address of the partner machine (HA only).
+
+ String
+
+
+ Shared
+
+ IP address of the shared address (HA only).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-NetworkInterface
+
+ InterfaceID
+
+ The ID of the network interface.
+
+ Int16
+
+
+ IPAddress
+
+ The IP Address to be assigned to the specified network interface.
+
+ String
+
+
+ MTU
+
+ The MTU setting for this interface.
+
+ Int32
+
+
+ HACheck
+
+ This parameter is only relevant in a HA/cluster configuration. Specify whether or not to use this interface for HA/cluster checks.
+0 – Not used for HA/cluster checks
+1 – Used for HA/cluster checks
+ The default interface used for checking is eth0. When this option is enabled for an interface, you are prevented from disabling it on that interface. To switch to another interface, specify hacheck=yes/1 for a different interface. You cannot disable this parameter by specifying hacheck=no/0.
+
+ Boolean
+
+
+ GWIface
+
+ Specifies if this is a network gateway interface.
+
+ Boolean
+
+
+ clupdate
+
+ Enable this to use this interface for cluster synchronization operations.
+There must be exactly one interface that is configured for cluster updates. The default interface used for updates is eth0. When this option is enabled for an interface, you are prevented from disabling it on that interface. To switch to another interface, specify clupdate=yes/1 for a different interface. You cannot disable this parameter by specifying clupdate=no/0.
+
+ Boolean
+
+
+ GeoTraffic
+
+ Specify whether or not to use this interface for GEO responses and requests.
+
+ Boolean
+
+
+ BondMode
+
+ The bond mode determines the way in which traffic sent out of the bonded interface is actually dispersed over the real interfaces.
+
+ String
+
+
+ Partner
+
+ IP address of the partner machine (HA only).
+
+ String
+
+
+ Shared
+
+ IP address of the shared address (HA only).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The ID of the network interface.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ IPAddress
+
+ The IP Address to be assigned to the specified network interface.
+
+ String
+
+ String
+
+
+
+
+
+ MTU
+
+ The MTU setting for this interface.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ HACheck
+
+ This parameter is only relevant in a HA/cluster configuration. Specify whether or not to use this interface for HA/cluster checks.
+0 – Not used for HA/cluster checks
+1 – Used for HA/cluster checks
+ The default interface used for checking is eth0. When this option is enabled for an interface, you are prevented from disabling it on that interface. To switch to another interface, specify hacheck=yes/1 for a different interface. You cannot disable this parameter by specifying hacheck=no/0.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ GWIface
+
+ Specifies if this is a network gateway interface.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ clupdate
+
+ Enable this to use this interface for cluster synchronization operations.
+There must be exactly one interface that is configured for cluster updates. The default interface used for updates is eth0. When this option is enabled for an interface, you are prevented from disabling it on that interface. To switch to another interface, specify clupdate=yes/1 for a different interface. You cannot disable this parameter by specifying clupdate=no/0.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ GeoTraffic
+
+ Specify whether or not to use this interface for GEO responses and requests.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ BondMode
+
+ The bond mode determines the way in which traffic sent out of the bonded interface is actually dispersed over the real interfaces.
+
+ String
+
+ String
+
+
+
+
+
+ Partner
+
+ IP address of the partner machine (HA only).
+
+ String
+
+ String
+
+
+
+
+
+ Shared
+
+ IP address of the shared address (HA only).
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-NetworkInterface -MTU 1400
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Id : 0
+IPAddress : 10.154.11.180/16
+Mtu : 1400
+InterfaceType : Port
+GeoTrafficEnable : yes
+DefaultInterface : yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-NetworkOptions
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-NetworkConfiguration
+
+
+
+
+ Set
+ NetworkOptions
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-NetworkConfiguration
+
+
+
+ Set-NetworkOptions
+
+ SNAT
+
+
+
+ Boolean
+
+
+ AllowUpload
+
+
+
+ Boolean
+
+
+ ConnTimeout
+
+
+
+ Int64
+
+
+ KeepAlive
+
+
+
+ Boolean
+
+
+ MultiGW
+
+
+
+ Boolean
+
+
+ NonLocalRS
+
+
+
+ Boolean
+
+
+ OnlyDefaultRoutes
+
+
+
+ Boolean
+
+
+ ResetClose
+
+
+
+ Boolean
+
+
+ SubnetOrigin
+
+
+
+ Boolean
+
+
+ SubnetOriginating
+
+
+
+ Boolean
+
+
+ TCPTimeStamp
+
+
+
+ Boolean
+
+
+ RouteFilter
+
+
+
+ Boolean
+
+
+ DHKeySize
+
+
+
+ Int32
+
+
+ Http_Proxy
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-NetworkOptions
+
+ SNAT
+
+
+
+ Boolean
+
+
+ AllowUpload
+
+
+
+ Boolean
+
+
+ ConnTimeout
+
+
+
+ Int64
+
+
+ KeepAlive
+
+
+
+ Boolean
+
+
+ MultiGW
+
+
+
+ Boolean
+
+
+ NonLocalRS
+
+
+
+ Boolean
+
+
+ OnlyDefaultRoutes
+
+
+
+ Boolean
+
+
+ ResetClose
+
+
+
+ Boolean
+
+
+ SubnetOrigin
+
+
+
+ Boolean
+
+
+ SubnetOriginating
+
+
+
+ Boolean
+
+
+ TCPTimeStamp
+
+
+
+ Boolean
+
+
+ RouteFilter
+
+
+
+ Boolean
+
+
+ DHKeySize
+
+
+
+ Int32
+
+
+ Http_Proxy
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SNAT
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AllowUpload
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ConnTimeout
+
+
+
+ Int64
+
+ Int64
+
+
+
+
+
+ KeepAlive
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ MultiGW
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ NonLocalRS
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ OnlyDefaultRoutes
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ResetClose
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SubnetOrigin
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SubnetOriginating
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ TCPTimeStamp
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RouteFilter
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DHKeySize
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Http_Proxy
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-NetworkSNMPConfiguration
+
+ Allows you to set the values of the various SNMP options.
+
+
+
+
+ Set
+ NetworkSNMPConfiguration
+
+
+
+ Allows you to set the values of the various SNMP options.
+
+
+
+ Set-NetworkSNMPConfiguration
+
+ SNMPEnable
+
+ Enable or disable SNMP.
+
+ Boolean
+
+
+ SNMPv3enable
+
+ Enable SNMP V3.
+ 0 - Disabled
+ 1 - Enabled
+
+ Boolean
+
+
+ SNMPv3user
+
+ Specify the username.
+
+ String
+
+
+ SNMPv3userpasswd
+
+ Specify the user password.
+
+ String
+
+
+ snmpAuthProt
+
+ Specify the relevant authentication protocol:
+ - MD5
+ - SHA
+ SHA is a more secure protocol.
+Note: These values are case sensitive - please enter them in uppercase.
+
+ String
+
+
+ snmpPrivProt
+
+ Specify the relevant privacy protocol:
+ - DES
+ - AES
+ AES is a more secure protocol.
+Note: These values are case sensitive - please enter them in uppercase.
+
+ String
+
+
+ SNMPClient
+
+ Specify the list of machines that can access the SNMP subsystem. If no clients are specified, then anyone can access SNMP.
+
+ String
+
+
+ SNMPCommunity
+
+ Specify the SNMP community string.
+
+ String
+
+
+ SNMPContact
+
+ Specify the contact address that is sent in SNMP responses.
+
+ String
+
+
+ SNMPLocation
+
+ Specify the location that is sent in SNMP responses.
+
+ String
+
+
+ SNMPTrapEnable
+
+ Enable the generation of SNMP events whenever a significant event occurs.
+
+ Boolean
+
+
+ SNMPHaTrap
+
+ Send SNMP traps from the shared IP address. This option is only available when the LoadMaster is in HA mode.
+
+ Boolean
+
+
+ SNMPv1Sink
+
+ Specify the sink address for SNMP type 1 traps.
+
+ String
+
+
+ SNMPv2Sink
+
+ Specify the sink address for SNMP type 2 traps.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-NetworkSNMPConfiguration
+
+ SNMPEnable
+
+ Enable or disable SNMP.
+
+ Boolean
+
+
+ SNMPv3enable
+
+ Enable SNMP V3.
+ 0 - Disabled
+ 1 - Enabled
+
+ Boolean
+
+
+ SNMPv3user
+
+ Specify the username.
+
+ String
+
+
+ SNMPv3userpasswd
+
+ Specify the user password.
+
+ String
+
+
+ snmpAuthProt
+
+ Specify the relevant authentication protocol:
+ - MD5
+ - SHA
+ SHA is a more secure protocol.
+Note: These values are case sensitive - please enter them in uppercase.
+
+ String
+
+
+ snmpPrivProt
+
+ Specify the relevant privacy protocol:
+ - DES
+ - AES
+ AES is a more secure protocol.
+Note: These values are case sensitive - please enter them in uppercase.
+
+ String
+
+
+ SNMPClient
+
+ Specify the list of machines that can access the SNMP subsystem. If no clients are specified, then anyone can access SNMP.
+
+ String
+
+
+ SNMPCommunity
+
+ Specify the SNMP community string.
+
+ String
+
+
+ SNMPContact
+
+ Specify the contact address that is sent in SNMP responses.
+
+ String
+
+
+ SNMPLocation
+
+ Specify the location that is sent in SNMP responses.
+
+ String
+
+
+ SNMPTrapEnable
+
+ Enable the generation of SNMP events whenever a significant event occurs.
+
+ Boolean
+
+
+ SNMPHaTrap
+
+ Send SNMP traps from the shared IP address. This option is only available when the LoadMaster is in HA mode.
+
+ Boolean
+
+
+ SNMPv1Sink
+
+ Specify the sink address for SNMP type 1 traps.
+
+ String
+
+
+ SNMPv2Sink
+
+ Specify the sink address for SNMP type 2 traps.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SNMPEnable
+
+ Enable or disable SNMP.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SNMPv3enable
+
+ Enable SNMP V3.
+ 0 - Disabled
+ 1 - Enabled
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SNMPv3user
+
+ Specify the username.
+
+ String
+
+ String
+
+
+
+
+
+ SNMPv3userpasswd
+
+ Specify the user password.
+
+ String
+
+ String
+
+
+
+
+
+ snmpAuthProt
+
+ Specify the relevant authentication protocol:
+ - MD5
+ - SHA
+ SHA is a more secure protocol.
+Note: These values are case sensitive - please enter them in uppercase.
+
+ String
+
+ String
+
+
+
+
+
+ snmpPrivProt
+
+ Specify the relevant privacy protocol:
+ - DES
+ - AES
+ AES is a more secure protocol.
+Note: These values are case sensitive - please enter them in uppercase.
+
+ String
+
+ String
+
+
+
+
+
+ SNMPClient
+
+ Specify the list of machines that can access the SNMP subsystem. If no clients are specified, then anyone can access SNMP.
+
+ String
+
+ String
+
+
+
+
+
+ SNMPCommunity
+
+ Specify the SNMP community string.
+
+ String
+
+ String
+
+
+
+
+
+ SNMPContact
+
+ Specify the contact address that is sent in SNMP responses.
+
+ String
+
+ String
+
+
+
+
+
+ SNMPLocation
+
+ Specify the location that is sent in SNMP responses.
+
+ String
+
+ String
+
+
+
+
+
+ SNMPTrapEnable
+
+ Enable the generation of SNMP events whenever a significant event occurs.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SNMPHaTrap
+
+ Send SNMP traps from the shared IP address. This option is only available when the LoadMaster is in HA mode.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SNMPv1Sink
+
+ Specify the sink address for SNMP type 1 traps.
+
+ String
+
+ String
+
+
+
+
+
+ SNMPv2Sink
+
+ Specify the sink address for SNMP type 2 traps.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The generic Get-Parameter and Set-Parameter commands can also be used to retrieve and update these parameters.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-NetworkSNMPConfiguration -SNMPv3enable 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+SNMPEnable : yes
+SNMPv3enable : yes
+SNMPv3user :
+SNMPv3userpasswd : ********
+snmpAuthProt :
+snmpPrivProt :
+SNMPClient :
+SNMPCommunity :
+SNMPContact :
+SNMPLocation :
+SNMPTrapEnable : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-PacketFilterOptionACL
+
+ Sets a packet filtering option.
+
+
+
+
+ Set
+ PacketFilterOptionACL
+
+
+
+ Sets a packet filtering option. This can also be used to enable or disable packet filtering. Note that packet filtering cannot be disabled if the GEO feature is enabled.
+
+
+
+ Set-PacketFilterOptionACL
+
+ Option
+
+ The following packet filtering options are supported: enable, drop or ifblock:
+The enable option indicates whether packet filtering is enabled or disabled on the LoadMaster. Note that packet filtering is enabled by default and cannot be disabled if the GEO feature is enabled.
+If packet filtering is enabled, the drop option indicates whether the LoadMaster silently drops blocked packets or rejects them by responding with an ICMP reject packet. For security reasons it is usually best to drop any blocked packets silently.
+If packet filtering is enabled, the ifblock option indicates whether the LoadMaster restricts network traffic by imposing restrictions upon routing between attached subnets.
+
+ String
+
+
+ Value
+
+ pecify whether to enable or disable the specified Option:
+ 0 – Disabled
+ 1 – Enabled
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-PacketFilterOptionACL
+
+ Option
+
+ The following packet filtering options are supported: enable, drop or ifblock:
+The enable option indicates whether packet filtering is enabled or disabled on the LoadMaster. Note that packet filtering is enabled by default and cannot be disabled if the GEO feature is enabled.
+If packet filtering is enabled, the drop option indicates whether the LoadMaster silently drops blocked packets or rejects them by responding with an ICMP reject packet. For security reasons it is usually best to drop any blocked packets silently.
+If packet filtering is enabled, the ifblock option indicates whether the LoadMaster restricts network traffic by imposing restrictions upon routing between attached subnets.
+
+ String
+
+
+ Value
+
+ pecify whether to enable or disable the specified Option:
+ 0 – Disabled
+ 1 – Enabled
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Option
+
+ The following packet filtering options are supported: enable, drop or ifblock:
+The enable option indicates whether packet filtering is enabled or disabled on the LoadMaster. Note that packet filtering is enabled by default and cannot be disabled if the GEO feature is enabled.
+If packet filtering is enabled, the drop option indicates whether the LoadMaster silently drops blocked packets or rejects them by responding with an ICMP reject packet. For security reasons it is usually best to drop any blocked packets silently.
+If packet filtering is enabled, the ifblock option indicates whether the LoadMaster restricts network traffic by imposing restrictions upon routing between attached subnets.
+
+ String
+
+ String
+
+
+
+
+
+ Value
+
+ pecify whether to enable or disable the specified Option:
+ 0 – Disabled
+ 1 – Enabled
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-PacketFilterOptionACL -Option drop -Value 0
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-Parameter
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmParameter
+
+
+
+
+ Set
+ Parameter
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmParameter
+
+
+
+ Set-Parameter
+
+ Param
+
+
+
+ String
+
+
+ Value
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-Parameter
+
+ Param
+
+
+
+ String
+
+
+ Value
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Param
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Value
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-RealServer
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcRealServer
+
+
+
+
+ Set
+ RealServer
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcRealServer
+
+
+
+ Set-RealServer
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RealServerPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ NewPort
+
+
+
+ Int32
+
+
+ Weight
+
+
+
+ Int32
+
+
+ Forward
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ Limit
+
+
+
+ Int64
+
+
+ Critical
+
+
+
+ Boolean
+
+
+ Follow
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-RealServer
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ RealServer
+
+
+
+ String
+
+
+ RealServerPort
+
+
+
+ Int32
+
+
+ RSIndex
+
+
+
+ Int32
+
+
+ NewPort
+
+
+
+ Int32
+
+
+ Weight
+
+
+
+ Int32
+
+
+ Forward
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ Limit
+
+
+
+ Int64
+
+
+ Critical
+
+
+
+ Boolean
+
+
+ Follow
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RealServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RealServerPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ RSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ NewPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Weight
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Forward
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Limit
+
+
+
+ Int64
+
+ Int64
+
+
+
+
+
+ Critical
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Follow
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-Rule
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcContentRule
+
+
+
+
+ Set
+ Rule
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcContentRule
+
+
+
+ Set-Rule
+
+ RuleName
+
+
+
+ String
+
+
+ MatchType
+
+
+
+ String
+
+
+ IncHost
+
+
+
+ Boolean
+
+
+ NoCase
+
+
+
+ Boolean
+
+
+ Negate
+
+
+
+ Boolean
+
+
+ IncQuery
+
+
+
+ Boolean
+
+
+ Header
+
+
+
+ String
+
+
+ Pattern
+
+
+
+ String
+
+
+ Replacement
+
+
+
+ String
+
+
+ Type
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-Rule
+
+ RuleName
+
+
+
+ String
+
+
+ MatchType
+
+
+
+ String
+
+
+ IncHost
+
+
+
+ Boolean
+
+
+ NoCase
+
+
+
+ Boolean
+
+
+ Negate
+
+
+
+ Boolean
+
+
+ IncQuery
+
+
+
+ Boolean
+
+
+ Header
+
+
+
+ String
+
+
+ Pattern
+
+
+
+ String
+
+
+ Replacement
+
+
+
+ String
+
+
+ Type
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RuleName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ MatchType
+
+
+
+ String
+
+ String
+
+
+
+
+
+ IncHost
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ NoCase
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Negate
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ IncQuery
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Header
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Pattern
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Replacement
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Type
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SAMLSPEntity
+
+ Use this command to set values for some SAML-related parameters.
+
+
+
+
+ Set
+ SAMLSPEntity
+
+
+
+ Use this command to set values for some SAML-related parameters.
+
+
+
+ Set-SAMLSPEntity
+
+ Domain
+
+ The domain name of the relevant domain to be updated.
+
+ String
+
+
+ IdpEntityId
+
+ Specify the Identity Service Provider (IdP) Entity ID.
+
+ String
+
+
+ IdpSsoUrl
+
+ Specify the IdP Single Sign On (SSO) URL.
+
+ String
+
+
+ IdpLogoffUrl
+
+ Specify the IdP Logoff URL.
+
+ String
+
+
+ IdpCert
+
+ Specify the IdP certificate to use for verification processing.
+
+ String
+
+
+ SpEntityId
+
+ The Service Provider (SP) entity ID is an identifier that is shared to enable the IdP to understand, accept and have knowledge of the entity when request messages are sent from the LoadMaster. This must correlate to the identifier of the relying party on the AD FS server.
+
+ String
+
+
+ SpCert
+
+ It is optional to sign requests that are sent in the context of logon. Currently, the LoadMaster does not sign those requests.
+In the context of log off requests – it is mandatory and these requests must be signed. This is to avoid any spoofing and to provide extra security in relation to log off functionality. This ensures that users are not being hacked and not being logged off unnecessarily.
+Using the SpCert parameter, you can choose to use a self-signed certificate or third party certificate to perform the signing.
+To specify a self-signed certificate, set sp_cert to useselfsigned. To use a third party certificate, specify the name of the certificate to use (this certificate must be uploaded to the LoadMaster before it can be selected).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SAMLSPEntity
+
+ Domain
+
+ The domain name of the relevant domain to be updated.
+
+ String
+
+
+ IdpEntityId
+
+ Specify the Identity Service Provider (IdP) Entity ID.
+
+ String
+
+
+ IdpSsoUrl
+
+ Specify the IdP Single Sign On (SSO) URL.
+
+ String
+
+
+ IdpLogoffUrl
+
+ Specify the IdP Logoff URL.
+
+ String
+
+
+ IdpCert
+
+ Specify the IdP certificate to use for verification processing.
+
+ String
+
+
+ SpEntityId
+
+ The Service Provider (SP) entity ID is an identifier that is shared to enable the IdP to understand, accept and have knowledge of the entity when request messages are sent from the LoadMaster. This must correlate to the identifier of the relying party on the AD FS server.
+
+ String
+
+
+ SpCert
+
+ It is optional to sign requests that are sent in the context of logon. Currently, the LoadMaster does not sign those requests.
+In the context of log off requests – it is mandatory and these requests must be signed. This is to avoid any spoofing and to provide extra security in relation to log off functionality. This ensures that users are not being hacked and not being logged off unnecessarily.
+Using the SpCert parameter, you can choose to use a self-signed certificate or third party certificate to perform the signing.
+To specify a self-signed certificate, set sp_cert to useselfsigned. To use a third party certificate, specify the name of the certificate to use (this certificate must be uploaded to the LoadMaster before it can be selected).
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ The domain name of the relevant domain to be updated.
+
+ String
+
+ String
+
+
+
+
+
+ IdpEntityId
+
+ Specify the Identity Service Provider (IdP) Entity ID.
+
+ String
+
+ String
+
+
+
+
+
+ IdpSsoUrl
+
+ Specify the IdP Single Sign On (SSO) URL.
+
+ String
+
+ String
+
+
+
+
+
+ IdpLogoffUrl
+
+ Specify the IdP Logoff URL.
+
+ String
+
+ String
+
+
+
+
+
+ IdpCert
+
+ Specify the IdP certificate to use for verification processing.
+
+ String
+
+ String
+
+
+
+
+
+ SpEntityId
+
+ The Service Provider (SP) entity ID is an identifier that is shared to enable the IdP to understand, accept and have knowledge of the entity when request messages are sent from the LoadMaster. This must correlate to the identifier of the relying party on the AD FS server.
+
+ String
+
+ String
+
+
+
+
+
+ SpCert
+
+ It is optional to sign requests that are sent in the context of logon. Currently, the LoadMaster does not sign those requests.
+In the context of log off requests – it is mandatory and these requests must be signed. This is to avoid any spoofing and to provide extra security in relation to log off functionality. This ensures that users are not being hacked and not being logged off unnecessarily.
+Using the SpCert parameter, you can choose to use a self-signed certificate or third party certificate to perform the signing.
+To specify a self-signed certificate, set sp_cert to useselfsigned. To use a third party certificate, specify the name of the certificate to use (this certificate must be uploaded to the LoadMaster before it can be selected).
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SAMLSPEntity -Domain example2.com -IdpEntityId idp-3.example.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Domain=}
+Param........: @{Id=9; Name=EXAMPLE2.COM; server=10.154.45.22; auth_type=SAML; idp_entity_id=; idp_sso_url=; idp_logoff_url=; idp_cert=; sp_entity_id=id
+p-3.example.com; sp_cert=UseSelfSigned; sess_tout_type=idle time; sess_tout_idle_pub=900; sess_tout_duration_pub=1800}
+Id : 9
+Name : EXAMPLE2.COM
+server : 10.154.45.22
+auth_type : SAML
+idp_entity_id :
+idp_sso_url :
+idp_logoff_url :
+idp_cert :
+sp_entity_id : idp-3.example.com
+sp_cert : UseSelfSigned
+sess_tout_type : idle time
+sess_tout_idle_pub : 900
+sess_tout_duration_pub : 1800
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SdnController
+
+ Used to change the details of an SDN controller.
+
+
+
+
+ Set
+ SdnController
+
+
+
+ Used to change the details of an SDN controller.
+
+
+
+ Set-SdnController
+
+ Cid
+
+ The ID of the controller to be modified. To get the controller ID, run the getsdncontroller command.
+
+ Int32
+
+
+ Clid
+
+ The cluster ID for the SDN controller for changing.
+
+ Int32
+
+
+ IPV4
+
+ The IPv4 address of the SDN controller.
+
+ String
+
+
+ Port
+
+ The port of the SDN controller.
+
+ Int32
+
+
+ Https
+
+ The HTTP method to use.
+
+ Boolean
+
+
+ User
+
+ The username to be used to access the SDN controller PowerShell API.
+
+ String
+
+
+ Password
+
+ The password to be used to access the SDN controller PowerShell API.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SdnController
+
+ Cid
+
+ The ID of the controller to be modified. To get the controller ID, run the getsdncontroller command.
+
+ Int32
+
+
+ Clid
+
+ The cluster ID for the SDN controller for changing.
+
+ Int32
+
+
+ IPV4
+
+ The IPv4 address of the SDN controller.
+
+ String
+
+
+ Port
+
+ The port of the SDN controller.
+
+ Int32
+
+
+ Https
+
+ The HTTP method to use.
+
+ Boolean
+
+
+ User
+
+ The username to be used to access the SDN controller PowerShell API.
+
+ String
+
+
+ Password
+
+ The password to be used to access the SDN controller PowerShell API.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Cid
+
+ The ID of the controller to be modified. To get the controller ID, run the getsdncontroller command.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Clid
+
+ The cluster ID for the SDN controller for changing.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ IPV4
+
+ The IPv4 address of the SDN controller.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port of the SDN controller.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Https
+
+ The HTTP method to use.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ User
+
+ The username to be used to access the SDN controller PowerShell API.
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+ The password to be used to access the SDN controller PowerShell API.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If any mandatory parameters are missing, you will be prompted to enter them.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SdnController -Cid 56 -Https 0
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=Data}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecAdminAccess
+
+ Allows you to set the web administrative access interface and the administrative default gateway.
+
+
+
+
+ Set
+ SecAdminAccess
+
+
+
+ Allows you to set the web administrative access interface and the administrative default gateway.
+
+
+
+ Set-SecAdminAccess
+
+ WuiNetworkInterfaceId
+
+ The index of an existing interface. This index number corresponds to the interface number in the LoadMaster WUI, i.e. the index for eth0 is 0.
+
+ Int32
+
+
+ WuiPort
+
+ Specify the port used to access the administrative web interface.
+
+ Int32
+
+
+ WuiDefaultGateway
+
+ When administering the LoadMaster from a non-default interface, a different default gateway for administrative traffic only can be specified using this parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SecAdminAccess
+
+ WuiNetworkInterfaceId
+
+ The index of an existing interface. This index number corresponds to the interface number in the LoadMaster WUI, i.e. the index for eth0 is 0.
+
+ Int32
+
+
+ WuiPort
+
+ Specify the port used to access the administrative web interface.
+
+ Int32
+
+
+ WuiDefaultGateway
+
+ When administering the LoadMaster from a non-default interface, a different default gateway for administrative traffic only can be specified using this parameter.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ WuiNetworkInterfaceId
+
+ The index of an existing interface. This index number corresponds to the interface number in the LoadMaster WUI, i.e. the index for eth0 is 0.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ WuiPort
+
+ Specify the port used to access the administrative web interface.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ WuiDefaultGateway
+
+ When administering the LoadMaster from a non-default interface, a different default gateway for administrative traffic only can be specified using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecAdminAccess -WuiNetworkInterfaceId 0 -WuiPort 443
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{SecAdminAccessConfiguration=}
+Param........: @{WuiDefaultGateway=; WuiNetworkInterfaceId=0; WuiPort=443}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecAdminWuiConfiguration
+
+ Configure the admin WUI configuration settings.
+
+
+
+
+ Set
+ SecAdminWuiConfiguration
+
+
+
+ Set parameters such as the WUICipherset and WUITLSProtocols.
+
+
+
+ Set-SecAdminWuiConfiguration
+
+ WUITLSProtocols
+
+ Specify whether or not it is possible to connect to the LoadMaster WUI using the following protocols; SSLv3, TLS1.0, TLS1.1 or TLS1.2. The protocols can be enabled and disabled using a bitmask value in the range 0 to 14. Refer to the table below to find out what number corresponds to which settings.
+Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+
+ Int32
+
+
+ WUICipherset
+
+ Specify the cipher set to use for the LoadMaster WUI.
+The valid values are below:
+- Default
+- Default_NoRc4
+- BestPractices
+- Intermediate_compatibility
+- Backward_compatibility
+- WUI
+- FIPS
+- Legacy
+- <NameOfCustomCipherSet> Specify the cipher set to use for the LoadMaster WUI.
+
+ String
+
+
+ sessioncontrol
+
+ Enables or disables session control.
+
+ Boolean
+
+
+ sessionbasicauth
+
+ If the SessionControl and SessionBasicAuth parameters are both enabled, there are two levels of authentication enforced in order to access the LoadMaster WUI. The initial level is Basic Authentication where users log in using the bal or user logins, which are default usernames defined by the system.
+
+ Boolean
+
+
+ sessionmaxfailattempts
+
+ Number of failed attempts before locking the user account. This can be set from 1 to 999.
+
+ Int16
+
+
+ sessionidletime
+
+ Specifies the number of seconds that the WUI can be idle before logging the user out. This can be set from 60 to 86400 seconds.
+
+ Int32
+
+
+ sessionconcurrent
+
+ Limit the maximum number of concurrent connections a single user can have.
+Range: 0 to 9. A value of 0, means logins are unlimited.
+
+ Int16
+
+
+ wuipreauth
+
+ Set the pre-authentication click through banner which will be displayed before the LoadMaster login page. This parameter can contain plain text or HTML code. The field cannot contain JavaScript. This field accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SecAdminWuiConfiguration
+
+ WUITLSProtocols
+
+ Specify whether or not it is possible to connect to the LoadMaster WUI using the following protocols; SSLv3, TLS1.0, TLS1.1 or TLS1.2. The protocols can be enabled and disabled using a bitmask value in the range 0 to 14. Refer to the table below to find out what number corresponds to which settings.
+Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+
+ Int32
+
+
+ WUICipherset
+
+ Specify the cipher set to use for the LoadMaster WUI.
+The valid values are below:
+- Default
+- Default_NoRc4
+- BestPractices
+- Intermediate_compatibility
+- Backward_compatibility
+- WUI
+- FIPS
+- Legacy
+- <NameOfCustomCipherSet> Specify the cipher set to use for the LoadMaster WUI.
+
+ String
+
+
+ sessioncontrol
+
+ Enables or disables session control.
+
+ Boolean
+
+
+ sessionbasicauth
+
+ If the SessionControl and SessionBasicAuth parameters are both enabled, there are two levels of authentication enforced in order to access the LoadMaster WUI. The initial level is Basic Authentication where users log in using the bal or user logins, which are default usernames defined by the system.
+
+ Boolean
+
+
+ sessionmaxfailattempts
+
+ Number of failed attempts before locking the user account. This can be set from 1 to 999.
+
+ Int16
+
+
+ sessionidletime
+
+ Specifies the number of seconds that the WUI can be idle before logging the user out. This can be set from 60 to 86400 seconds.
+
+ Int32
+
+
+ sessionconcurrent
+
+ Limit the maximum number of concurrent connections a single user can have.
+Range: 0 to 9. A value of 0, means logins are unlimited.
+
+ Int16
+
+
+ wuipreauth
+
+ Set the pre-authentication click through banner which will be displayed before the LoadMaster login page. This parameter can contain plain text or HTML code. The field cannot contain JavaScript. This field accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ WUITLSProtocols
+
+ Specify whether or not it is possible to connect to the LoadMaster WUI using the following protocols; SSLv3, TLS1.0, TLS1.1 or TLS1.2. The protocols can be enabled and disabled using a bitmask value in the range 0 to 14. Refer to the table below to find out what number corresponds to which settings.
+Number | SSLv3 | TLS1.0 | TLS1.1 | TLS1.2
+0 | Enabled | Enabled | Enabled | Enabled
+1 | Disabled | Enabled | Enabled | Enabled
+2 | Enabled | Disabled | Enabled | Enabled
+3 | Disabled | Disabled | Enabled | Enabled
+4 | Enabled | Enabled | Disabled | Enabled
+5 | Disabled | Enabled | Disabled | Enabled
+6 | Enabled | Disabled | Disabled | Enabled
+7 | Disabled | Disabled | Disabled | Enabled
+8 | Enabled | Enabled | Enabled | Disabled
+9 | Disabled | Enabled | Enabled | Disabled
+10 | Enabled | Disabled | Enabled | Disabled
+11 | Disabled | Disabled | Enabled | Disabled
+12 | Enabled | Enabled | Disabled | Disabled
+13 | Disabled | Enabled | Disabled | Disabled
+14 | Enabled | Disabled | Disabled | Disabled
+
+ Int32
+
+ Int32
+
+
+
+
+
+ WUICipherset
+
+ Specify the cipher set to use for the LoadMaster WUI.
+The valid values are below:
+- Default
+- Default_NoRc4
+- BestPractices
+- Intermediate_compatibility
+- Backward_compatibility
+- WUI
+- FIPS
+- Legacy
+- <NameOfCustomCipherSet> Specify the cipher set to use for the LoadMaster WUI.
+
+ String
+
+ String
+
+
+
+
+
+ sessioncontrol
+
+ Enables or disables session control.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ sessionbasicauth
+
+ If the SessionControl and SessionBasicAuth parameters are both enabled, there are two levels of authentication enforced in order to access the LoadMaster WUI. The initial level is Basic Authentication where users log in using the bal or user logins, which are default usernames defined by the system.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ sessionmaxfailattempts
+
+ Number of failed attempts before locking the user account. This can be set from 1 to 999.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ sessionidletime
+
+ Specifies the number of seconds that the WUI can be idle before logging the user out. This can be set from 60 to 86400 seconds.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ sessionconcurrent
+
+ Limit the maximum number of concurrent connections a single user can have.
+Range: 0 to 9. A value of 0, means logins are unlimited.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ wuipreauth
+
+ Set the pre-authentication click through banner which will be displayed before the LoadMaster login page. This parameter can contain plain text or HTML code. The field cannot contain JavaScript. This field accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecAdminWuiConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Parameters=}
+Param........: @{sessionmaxfailattempts=5}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecRemoteAccess
+
+ Allows you to set the values of Remote Access options.
+
+
+
+
+ Set
+ SecRemoteAccess
+
+
+
+ Allows you to set the values of Remote Access options.
+
+
+
+ Set-SecRemoteAccess
+
+ SSHAccess
+
+ Specify over which addresses remote administrative SSH access to the LoadMaster is allowed.
+
+ Boolean
+
+
+ SSHIface
+
+ Specify the addresses over which remote administrative SSH access to the LoadMaster is allowed.
+
+ String
+
+
+ SSHPort
+
+ Specify the port used to access the LoadMaster via the SSH protocol.
+
+ Int32
+
+
+ SSHPreAuthBanner
+
+ Set the SSH pre-authentication banner, which is displayed before the login prompt when logging in using SSH. Space characters should be escaped by entering %20.
+This field accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+
+ String
+
+
+ WUIAccess
+
+ Enables or disables WUI access.
+
+ Boolean
+
+
+ MultiHomedWui
+
+ Allow WUI access from multiple interfaces. Apart from the main administrative interface, each interface can then be enabled to allow WUI access.
+
+ Boolean
+
+
+ EnableAPI
+
+ The EnableAPI parameter is deprecated. Please use the Enable/Disable-SecAPIAccess commands instead.
+
+ Boolean
+
+
+ AllowUpdateChecks
+
+ Allow the LoadMaster to regularly check the KEMP website for new software versions.
+
+ Boolean
+
+
+ GeoClients
+
+ Set the addresses of the GEO LoadMasters which can retrieve service status information from the LoadMaster.
+To unset this, set the value to an empty string.
+
+ String
+
+
+ GeoPartners
+
+ Set the IP address of the GEO LoadMaster partner(s). These GEO LoadMasters will keep their DNS configurations in sync.
+To unset this, set the value to an empty string.
+ Note: Before partnering GEO LoadMasters, a backup should be taken of the relevant GEO LoadMaster which has the correct/preferred configuration. This backup should then be restored to the other LoadMasters that will be partnered with the original LoadMaster.
+
+ String
+
+
+ GeoSSHPort
+
+ The port over which GEO LoadMasters will communicate with on another.
+
+ Int32
+
+
+ geo_ssh_iface
+
+ Specify the ID of the GEO interface in which the SSH partner tunnel is created, for example setting this to 0 means the interface eth0. This is the interface that the GEO partners will communicate through.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SecRemoteAccess
+
+ SSHAccess
+
+ Specify over which addresses remote administrative SSH access to the LoadMaster is allowed.
+
+ Boolean
+
+
+ SSHIface
+
+ Specify the addresses over which remote administrative SSH access to the LoadMaster is allowed.
+
+ String
+
+
+ SSHPort
+
+ Specify the port used to access the LoadMaster via the SSH protocol.
+
+ Int32
+
+
+ SSHPreAuthBanner
+
+ Set the SSH pre-authentication banner, which is displayed before the login prompt when logging in using SSH. Space characters should be escaped by entering %20.
+This field accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+
+ String
+
+
+ WUIAccess
+
+ Enables or disables WUI access.
+
+ Boolean
+
+
+ MultiHomedWui
+
+ Allow WUI access from multiple interfaces. Apart from the main administrative interface, each interface can then be enabled to allow WUI access.
+
+ Boolean
+
+
+ EnableAPI
+
+ The EnableAPI parameter is deprecated. Please use the Enable/Disable-SecAPIAccess commands instead.
+
+ Boolean
+
+
+ AllowUpdateChecks
+
+ Allow the LoadMaster to regularly check the KEMP website for new software versions.
+
+ Boolean
+
+
+ GeoClients
+
+ Set the addresses of the GEO LoadMasters which can retrieve service status information from the LoadMaster.
+To unset this, set the value to an empty string.
+
+ String
+
+
+ GeoPartners
+
+ Set the IP address of the GEO LoadMaster partner(s). These GEO LoadMasters will keep their DNS configurations in sync.
+To unset this, set the value to an empty string.
+ Note: Before partnering GEO LoadMasters, a backup should be taken of the relevant GEO LoadMaster which has the correct/preferred configuration. This backup should then be restored to the other LoadMasters that will be partnered with the original LoadMaster.
+
+ String
+
+
+ GeoSSHPort
+
+ The port over which GEO LoadMasters will communicate with on another.
+
+ Int32
+
+
+ geo_ssh_iface
+
+ Specify the ID of the GEO interface in which the SSH partner tunnel is created, for example setting this to 0 means the interface eth0. This is the interface that the GEO partners will communicate through.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SSHAccess
+
+ Specify over which addresses remote administrative SSH access to the LoadMaster is allowed.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SSHIface
+
+ Specify the addresses over which remote administrative SSH access to the LoadMaster is allowed.
+
+ String
+
+ String
+
+
+
+
+
+ SSHPort
+
+ Specify the port used to access the LoadMaster via the SSH protocol.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ SSHPreAuthBanner
+
+ Set the SSH pre-authentication banner, which is displayed before the login prompt when logging in using SSH. Space characters should be escaped by entering %20.
+This field accepts up to 5,000 characters. Anything past the 5,000 character limit will not be displayed.
+
+ String
+
+ String
+
+
+
+
+
+ WUIAccess
+
+ Enables or disables WUI access.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ MultiHomedWui
+
+ Allow WUI access from multiple interfaces. Apart from the main administrative interface, each interface can then be enabled to allow WUI access.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ EnableAPI
+
+ The EnableAPI parameter is deprecated. Please use the Enable/Disable-SecAPIAccess commands instead.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AllowUpdateChecks
+
+ Allow the LoadMaster to regularly check the KEMP website for new software versions.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ GeoClients
+
+ Set the addresses of the GEO LoadMasters which can retrieve service status information from the LoadMaster.
+To unset this, set the value to an empty string.
+
+ String
+
+ String
+
+
+
+
+
+ GeoPartners
+
+ Set the IP address of the GEO LoadMaster partner(s). These GEO LoadMasters will keep their DNS configurations in sync.
+To unset this, set the value to an empty string.
+ Note: Before partnering GEO LoadMasters, a backup should be taken of the relevant GEO LoadMaster which has the correct/preferred configuration. This backup should then be restored to the other LoadMasters that will be partnered with the original LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ GeoSSHPort
+
+ The port over which GEO LoadMasters will communicate with on another.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ geo_ssh_iface
+
+ Specify the ID of the GEO interface in which the SSH partner tunnel is created, for example setting this to 0 means the interface eth0. This is the interface that the GEO partners will communicate through.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ GeoInterfaceId
+
+ Specify the ID of the GEO interface in which the SSH partner tunnel is created, for example setting this to 0 means the interface eth0. This is the interface that the GEO partners will communicate through.
+
+ int32
+
+ int32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and cannot be used to set all of the available parameters. Please refer to the Get-Help of the Set-Parameter command to view a full list of parameters that can be configured.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecRemoteAccess -GeoPartners 10.154.11.34
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Param........: @{GeoPartners=10.154.11.34}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecRemoteAccessLoginMethod
+
+ Configure the Admin Login Method for the LoadMaster Web User Interface (WUI).
+
+
+
+
+ Set
+ SecRemoteAccessLoginMethod
+
+
+
+ This command sets the Admin Login Method for the WUI, for example, to "Password or Client certificate" or "Password Only Access (default)".
+
+
+
+ Set-SecRemoteAccessLoginMethod
+
+ LoginMethod
+
+ Specify the login method. Valid values are:
+PasswordOnly
+PasswordorClientCertificate
+ClientCertificateRequired
+ClientCertificateRequiredOCSP
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SecRemoteAccessLoginMethod
+
+ LoginMethod
+
+ Specify the login method. Valid values are:
+PasswordOnly
+PasswordorClientCertificate
+ClientCertificateRequired
+ClientCertificateRequiredOCSP
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoginMethod
+
+ Specify the login method. Valid values are:
+PasswordOnly
+PasswordorClientCertificate
+ClientCertificateRequired
+ClientCertificateRequiredOCSP
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecRemoteAccessLoginMethod -LoginMethod PasswordOnly
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecSystemUserPassword
+
+ Allows you to change the password of the default bal user.
+
+
+
+
+ Set
+ SecSystemUserPassword
+
+
+
+ Allows you to change the password of the default bal user.
+
+
+
+ Set-SecSystemUserPassword
+
+ CurrentPassword
+
+ The current password for the bal user.
+
+ String
+
+
+ NewPassword
+
+ The new password for the bal user.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ CurrentPassword
+
+ The current password for the bal user.
+
+ String
+
+ String
+
+
+
+
+
+ NewPassword
+
+ The new password for the bal user.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecSystemUserPassword -CurrPassword 1fourall -Password 2fourall
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecUserPassword
+
+ Allows you to change the password of a local user.
+
+
+
+
+ Set
+ SecUserPassword
+
+
+
+ Allows you to change the password of a local user.
+
+
+
+ Set-SecUserPassword
+
+ User
+
+ Username of the relevant user.
+
+ String
+
+
+ Password
+
+ The new password.
+
+ String
+
+
+ Radius
+
+ The radius parameter determines whether the user will use RADIUS server authentication or not when logging in to the LoadMaster. The RADIUS server details must be set up before this option can be used.
+0 - Do not use RADIUS authentication
+1 - Use RADIUS authentication
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SecUserPassword
+
+ User
+
+ Username of the relevant user.
+
+ String
+
+
+ Password
+
+ The new password.
+
+ String
+
+
+ Radius
+
+ The radius parameter determines whether the user will use RADIUS server authentication or not when logging in to the LoadMaster. The RADIUS server details must be set up before this option can be used.
+0 - Do not use RADIUS authentication
+1 - Use RADIUS authentication
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ User
+
+ Username of the relevant user.
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+ The new password.
+
+ String
+
+ String
+
+
+
+
+
+ Radius
+
+ The radius parameter determines whether the user will use RADIUS server authentication or not when logging in to the LoadMaster. The RADIUS server details must be set up before this option can be used.
+0 - Do not use RADIUS authentication
+1 - Use RADIUS authentication
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecUserPassword -Password password12345 -Radius 0 -User ExampleUser
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecUserPermission
+
+ Allows you to set permissions for a local user.
+
+
+
+
+ Set
+ SecUserPermission
+
+
+
+ Allows you to set permissions for a local user.
+
+
+
+ Set-SecUserPermission
+
+ User
+
+ Username of the relevant user.
+
+ String
+
+
+ Permissions
+
+ Valid values for the perms parameter are listed and described below.
+ real: This role permits enabling and disabling Real Servers. Users with the Real Servers permission cannot add SubVSs.
+vs: This role permits managing Virtual Services. This includes SubVSs. Virtual Service modifications permitted include add, delete and modify for any subnet.
+rules: This role permits managing Rules. Rule modifications permitted include add, delete and modify.
+backup: This role permits performing system backups.
+certs: This role permits managing SSL Certificates. Certificate management includes adding, deleting and modifying SSL Certificates.
+cert3: This role permits managing intermediate Certificates. Certificate management includes the ability to add and delete intermediate certificates.
+certbackup: This role permits the ability to export and import certificates.
+users: This role is allowed access to all functionality within the System Configuration > System Administration > User Management WUI screen.
+root: This role gives users all permissions except the permission to change the bal password and the permission to create or delete other users.
+geo: This role is used only with the LoadMaster GEO product. For more information on GEO and the Global Server Load Balancing (GSLB) Feature Pack, refer to the GEO, Product Overview.
+ Multiple permissions can be set at the same time by separating the values with a comma.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SecUserPermission
+
+ User
+
+ Username of the relevant user.
+
+ String
+
+
+ Permissions
+
+ Valid values for the perms parameter are listed and described below.
+ real: This role permits enabling and disabling Real Servers. Users with the Real Servers permission cannot add SubVSs.
+vs: This role permits managing Virtual Services. This includes SubVSs. Virtual Service modifications permitted include add, delete and modify for any subnet.
+rules: This role permits managing Rules. Rule modifications permitted include add, delete and modify.
+backup: This role permits performing system backups.
+certs: This role permits managing SSL Certificates. Certificate management includes adding, deleting and modifying SSL Certificates.
+cert3: This role permits managing intermediate Certificates. Certificate management includes the ability to add and delete intermediate certificates.
+certbackup: This role permits the ability to export and import certificates.
+users: This role is allowed access to all functionality within the System Configuration > System Administration > User Management WUI screen.
+root: This role gives users all permissions except the permission to change the bal password and the permission to create or delete other users.
+geo: This role is used only with the LoadMaster GEO product. For more information on GEO and the Global Server Load Balancing (GSLB) Feature Pack, refer to the GEO, Product Overview.
+ Multiple permissions can be set at the same time by separating the values with a comma.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ User
+
+ Username of the relevant user.
+
+ String
+
+ String
+
+
+
+
+
+ Permissions
+
+ Valid values for the perms parameter are listed and described below.
+ real: This role permits enabling and disabling Real Servers. Users with the Real Servers permission cannot add SubVSs.
+vs: This role permits managing Virtual Services. This includes SubVSs. Virtual Service modifications permitted include add, delete and modify for any subnet.
+rules: This role permits managing Rules. Rule modifications permitted include add, delete and modify.
+backup: This role permits performing system backups.
+certs: This role permits managing SSL Certificates. Certificate management includes adding, deleting and modifying SSL Certificates.
+cert3: This role permits managing intermediate Certificates. Certificate management includes the ability to add and delete intermediate certificates.
+certbackup: This role permits the ability to export and import certificates.
+users: This role is allowed access to all functionality within the System Configuration > System Administration > User Management WUI screen.
+root: This role gives users all permissions except the permission to change the bal password and the permission to create or delete other users.
+geo: This role is used only with the LoadMaster GEO product. For more information on GEO and the Global Server Load Balancing (GSLB) Feature Pack, refer to the GEO, Product Overview.
+ Multiple permissions can be set at the same time by separating the values with a comma.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ Perms
+
+ The valid values for this parameter and their descriptions are below:
+ real - This role permits enabling and disabling Real Servers. Users with the Real Servers permission cannot add SubVSs.
+ vs - This role permits managing Virtual Services. This includes SubVSs. Virtual Service modifications permitted include add, delete and modify for any subnet.
+ rules - This role permits managing Rules. Rule modifications permitted include add, delete and modify.
+ backup - This role permits performing system backups.
+ certs - This role permits managing SSL Certificates. Certificate management includes adding, deleting and modifying SSL Certificates.
+ cert3 - This role permits managing intermediate Certificates. Certificate management includes the ability to add and delete intermediate certificates.
+ certbackup - This role permits the ability to export and import certificates.
+ users - This role is allowed access to all functionality within the System Configuration > System Administration > User Management WUI screen.
+ root - This role gives users all permissions except the permission to change the bal password and the permission to create or delete other users.
+ geo - This role is used only with the LoadMaster GEO product. For more information on GEO and the Global Server Load Balancing (GSLB) Feature Pack, refer to the GEO, Product Overview.
+ To set the permissions to none, leave the parameter blank, for example &perms=
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ When entering a comma-separated list of multiple permissions, ensure to begin the value entry with a comma, for example ,rules,vs.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecUserPermission -User ExampleUser -Perms ,vs,rules
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecWuiAuthentication
+
+ Allows you to set the values of WUI Authentication and Authorization options.
+
+
+
+
+ Set
+ SecWuiAuthentication
+
+
+
+ Configure options such as the RADIUS configuration settings.
+
+
+
+ Set-SecWuiAuthentication
+
+ RADIUSServer
+
+ Specifies the RADIUS server to use for authentication.
+
+ String
+
+
+ RADIUSPort
+
+ Specifies the TCP port for communication to the RADIUS server.
+
+ Int64
+
+
+ RADIUSSecret
+
+ Specifies the password (secret) to the RADIUS server.
+
+ String
+
+
+ RADIUSBackupServer
+
+ Specifies the backup RADIUS server to use for authentication.
+
+ String
+
+
+ RADIUSBackupPort
+
+ Specifies the TCP port for the backup RADIUS server.
+
+ Int64
+
+
+ RADIUSBackupSecret
+
+ Specifies the password (secret) to the backup RADIUS server.
+
+ String
+
+
+ RADIUSRevalidateInterval
+
+ Specifies how often a user should be revalidated by the RADIUS server.
+
+ Int32
+
+
+ WuiLdapEp
+
+ Specify the LDAP endpoint configuration to use for WUI login authentication.
+
+ String
+
+
+ SessionLocalAuth
+
+ Enables or disables local authentication.
+
+ Boolean
+
+
+ SessionAuthMode
+
+ Specifies the authentication mode for the LoadMaster. Refer to the following table for values:
+ RADIUS LDAP Local
+Value Authent. Author. Authent. Authent. Author.
+7 No No No No No
+263 Yes No No Yes Yes
+775 Yes Yes No Yes Yes
+23 No No Yes Yes Yes
+22 No No Yes No Yes
+788 Yes Yes Yes No No
+790 Yes Yes Yes No Yes
+791 Yes Yes Yes Yes Yes
+789 Yes Yes Yes Yes No
+773 Yes Yes No Yes No
+262 Yes No No No Yes
+774 Yes Yes No No Yes
+772 Yes Yes No No No
+278 Yes No Yes No No
+279 Yes No Yes Yes Yes
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SecWuiAuthentication
+
+ RADIUSServer
+
+ Specifies the RADIUS server to use for authentication.
+
+ String
+
+
+ RADIUSPort
+
+ Specifies the TCP port for communication to the RADIUS server.
+
+ Int64
+
+
+ RADIUSSecret
+
+ Specifies the password (secret) to the RADIUS server.
+
+ String
+
+
+ RADIUSBackupServer
+
+ Specifies the backup RADIUS server to use for authentication.
+
+ String
+
+
+ RADIUSBackupPort
+
+ Specifies the TCP port for the backup RADIUS server.
+
+ Int64
+
+
+ RADIUSBackupSecret
+
+ Specifies the password (secret) to the backup RADIUS server.
+
+ String
+
+
+ RADIUSRevalidateInterval
+
+ Specifies how often a user should be revalidated by the RADIUS server.
+
+ Int32
+
+
+ WuiLdapEp
+
+ Specify the LDAP endpoint configuration to use for WUI login authentication.
+
+ String
+
+
+ SessionLocalAuth
+
+ Enables or disables local authentication.
+
+ Boolean
+
+
+ SessionAuthMode
+
+ Specifies the authentication mode for the LoadMaster. Refer to the following table for values:
+ RADIUS LDAP Local
+Value Authent. Author. Authent. Authent. Author.
+7 No No No No No
+263 Yes No No Yes Yes
+775 Yes Yes No Yes Yes
+23 No No Yes Yes Yes
+22 No No Yes No Yes
+788 Yes Yes Yes No No
+790 Yes Yes Yes No Yes
+791 Yes Yes Yes Yes Yes
+789 Yes Yes Yes Yes No
+773 Yes Yes No Yes No
+262 Yes No No No Yes
+774 Yes Yes No No Yes
+772 Yes Yes No No No
+278 Yes No Yes No No
+279 Yes No Yes Yes Yes
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RADIUSServer
+
+ Specifies the RADIUS server to use for authentication.
+
+ String
+
+ String
+
+
+
+
+
+ RADIUSPort
+
+ Specifies the TCP port for communication to the RADIUS server.
+
+ Int64
+
+ Int64
+
+
+
+
+
+ RADIUSSecret
+
+ Specifies the password (secret) to the RADIUS server.
+
+ String
+
+ String
+
+
+
+
+
+ RADIUSBackupServer
+
+ Specifies the backup RADIUS server to use for authentication.
+
+ String
+
+ String
+
+
+
+
+
+ RADIUSBackupPort
+
+ Specifies the TCP port for the backup RADIUS server.
+
+ Int64
+
+ Int64
+
+
+
+
+
+ RADIUSBackupSecret
+
+ Specifies the password (secret) to the backup RADIUS server.
+
+ String
+
+ String
+
+
+
+
+
+ RADIUSRevalidateInterval
+
+ Specifies how often a user should be revalidated by the RADIUS server.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ WuiLdapEp
+
+ Specify the LDAP endpoint configuration to use for WUI login authentication.
+
+ String
+
+ String
+
+
+
+
+
+ SessionLocalAuth
+
+ Enables or disables local authentication.
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SessionAuthMode
+
+ Specifies the authentication mode for the LoadMaster. Refer to the following table for values:
+ RADIUS LDAP Local
+Value Authent. Author. Authent. Authent. Author.
+7 No No No No No
+263 Yes No No Yes Yes
+775 Yes Yes No Yes Yes
+23 No No Yes Yes Yes
+22 No No Yes No Yes
+788 Yes Yes Yes No No
+790 Yes Yes Yes No Yes
+791 Yes Yes Yes Yes Yes
+789 Yes Yes Yes Yes No
+773 Yes Yes No Yes No
+262 Yes No No No Yes
+774 Yes Yes No No Yes
+772 Yes Yes No No No
+278 Yes No Yes No No
+279 Yes No Yes Yes Yes
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecWuiAuthentication -RADIUSPort 80
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Parameters=}
+Param........: @{RADIUSPort=80}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-ServiceHealth
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcServiceHealth
+
+
+
+
+ Set
+ ServiceHealth
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcServiceHealth
+
+
+
+ Set-ServiceHealth
+
+ CheckInterval
+
+
+
+ Int16
+
+
+ ConnectTimeout
+
+
+
+ Int16
+
+
+ RetryCount
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-ServiceHealth
+
+ CheckInterval
+
+
+
+ Int16
+
+
+ ConnectTimeout
+
+
+
+ Int16
+
+
+ RetryCount
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ CheckInterval
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ConnectTimeout
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RetryCount
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SNMPOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-NetworkSNMPConfiguration
+
+
+
+
+ Set
+ SNMPOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-NetworkSNMPConfiguration
+
+
+
+ Set-SNMPOption
+
+ SNMPEnable
+
+
+
+ Boolean
+
+
+ SNMPv3enable
+
+
+
+ Boolean
+
+
+ SNMPv3user
+
+
+
+ String
+
+
+ SNMPv3userpasswd
+
+
+
+ String
+
+
+ snmpAuthProt
+
+
+
+ String
+
+
+ snmpPrivProt
+
+
+
+ String
+
+
+ SNMPClient
+
+
+
+ String
+
+
+ SNMPCommunity
+
+
+
+ String
+
+
+ SNMPContact
+
+
+
+ String
+
+
+ SNMPLocation
+
+
+
+ String
+
+
+ SNMPTrapEnable
+
+
+
+ Boolean
+
+
+ SNMPHaTrap
+
+
+
+ Boolean
+
+
+ SNMPv1Sink
+
+
+
+ String
+
+
+ SNMPv2Sink
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SNMPOption
+
+ SNMPEnable
+
+
+
+ Boolean
+
+
+ SNMPv3enable
+
+
+
+ Boolean
+
+
+ SNMPv3user
+
+
+
+ String
+
+
+ SNMPv3userpasswd
+
+
+
+ String
+
+
+ snmpAuthProt
+
+
+
+ String
+
+
+ snmpPrivProt
+
+
+
+ String
+
+
+ SNMPClient
+
+
+
+ String
+
+
+ SNMPCommunity
+
+
+
+ String
+
+
+ SNMPContact
+
+
+
+ String
+
+
+ SNMPLocation
+
+
+
+ String
+
+
+ SNMPTrapEnable
+
+
+
+ Boolean
+
+
+ SNMPHaTrap
+
+
+
+ Boolean
+
+
+ SNMPv1Sink
+
+
+
+ String
+
+
+ SNMPv2Sink
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SNMPEnable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SNMPv3enable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SNMPv3user
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SNMPv3userpasswd
+
+
+
+ String
+
+ String
+
+
+
+
+
+ snmpAuthProt
+
+
+
+ String
+
+ String
+
+
+
+
+
+ snmpPrivProt
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SNMPClient
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SNMPCommunity
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SNMPContact
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SNMPLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SNMPTrapEnable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SNMPHaTrap
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SNMPv1Sink
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SNMPv2Sink
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SSODomain
+
+ Allows you to set Single Sign-On (SSO) Domain options.
+
+
+
+
+ Set
+ SSODomain
+
+
+
+ Allows you to set Single Sign-On (SSO) Domain options.
+
+
+
+ Set-SSODomain
+
+ Domain
+
+ Specifies the name of the SSO domain LoadMaster entry to be modified.
+
+ String
+
+
+ TLS
+
+ Specifies the encryption to use for authentication. This parameter accepts "Unencrypted", "StartTLS", and "LDAPS".
+
+ String
+
+
+ Server
+
+ Specifies the server(s) to authenticate against.
+
+ String[]
+
+
+ Server2
+
+ When using dual factor authentication, use the server parameter to set the address of the RADIUS server(s) and use the server2 parameter to set the address of the LDAP server(s).
+
+ String[]
+
+
+ auth_type
+
+ Specify the transport protocol used to communicate with the authentication server. Possible values are:
+- LDAP-Unencrypted
+- LDAP-StartTLS
+- LDAP-LDAPS
+- RADIUS
+- RSA-SECURID
+- Certificate
+- KCD
+- RADIUS and LDAP-Unencrypted
+- RADIUS and LDAP-StartTLS
+- RADIUS and LDAP-LDAPS
+
+ String
+
+
+ max_failed_auths
+
+ The maximum number of failed login attempts before the user is locked out.
+Range: 0 – 999
+0 = Never lock out
+
+ Int32
+
+
+ reset_fail_tout
+
+ The time that must elapse before the max_failed_auths counter is reset to 0. This must be less than the unblocktout value. This parameter is only relevant if the max_failed_auths parameter is set to a value greater than 0.
+Range: 60-86400
+
+ Int32
+
+
+ unblock_tout
+
+ The timeout in seconds before a blocked account is automatically unblocked again. This must be greater than the reset_fail_tout parameter value.
+Range: 60-86400
+
+ Int32
+
+
+ logon_fmt
+
+ Specify the logon string format used to authenticate to the LDAP/RADIUS server.
+The Username%20only value is only available if the auth_type is set to a RADIUS or RSA-SecurID protocol. The Username value is not available if the auth_type is set to RADIUS or a RADIUS and LDAP protocol.
+
+ String
+
+
+ logon_fmt2
+
+ Specify the logon string format used to authenticate to the server.
+
+ String
+
+
+ logon_domain
+
+ The login domain to be used. This is also used with the logon format to construct the normalized username, for example:
+- Principalname: <username>@<domain>
+- Username: <domain>\<username>
+
+ String
+
+
+ sess_tout_type
+
+ Specify the type of session timeout to be used:
+- idle time
+- max duration
+
+ String
+
+
+ sess_tout_idle_pub
+
+ The session idle timeout value in seconds. This value is used in a public environment.
+Range: 60-68400
+
+ Int32
+
+
+ sess_tout_duration_pub
+
+ The maximum duration timeout value for the session in seconds. This value is used in a public environment.
+Range: 60-86400
+
+ Int32
+
+
+ sess_tout_idle_priv
+
+ The session idle timeout value in seconds. This value is used in a private environment.
+Range: 60-68400
+
+ Int32
+
+
+ sess_tout_duration_priv
+
+ The maximum duration timeout value for the session in seconds. This value is used in a private environment.
+Range: 60-86400
+
+ Int32
+
+
+ testuser
+
+ The username that will be used to check the authentication server(s), if you are not using an LDAP endpoint.
+
+ String
+
+
+ testpass
+
+ The password of the user that will be used to check the authentication server(s), if you are not using an LDAP endpoint.
+
+ String
+
+
+ radius_shared_secret
+
+ The shared secret to be used between the radius server and the LoadMaster.
+
+ String
+
+
+ kerberos_domain
+
+ The name of the Kerberos realm.
+
+ String
+
+
+ kerberos_kdc
+
+ The name of the Kerberos Key Distribution Center (KDC).
+
+ String
+
+
+ kcd_username
+
+ The username of the Kerberos trusted user.
+
+ String
+
+
+ kcd_password
+
+ The password of the Kerberos trusted user.
+
+ String
+
+
+ server_side
+
+ Specify if this is an outbound KCD SSO domain or not.
+y – KCD
+n – Not KCD
+
+ String
+
+
+ cert_check_asi
+
+ This option is only available when the authtype is set to Certificate. When this option is enabled - in addition to checking the validity of the client certificate, the client certificate will also be checked against the altSecurityIdentities (ASI) attribute of the user on the Active Directory.
+
+ String
+
+
+ cert_check_cn
+
+ Enabling this parameter allows a fallback to check the Common Name (CN) in the certificate when the SAN is not available.
+
+ String
+
+
+ Logon_Transcode
+
+ Enable or disable the transcode of logon credentials from ISO-8859-1 to UTF-8, when required.
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ ldap_endpoint
+
+ Specify the name of an existing LDAP endpoint to use.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SSODomain
+
+ Domain
+
+ Specifies the name of the SSO domain LoadMaster entry to be modified.
+
+ String
+
+
+ TLS
+
+ Specifies the encryption to use for authentication. This parameter accepts "Unencrypted", "StartTLS", and "LDAPS".
+
+ String
+
+
+ Server
+
+ Specifies the server(s) to authenticate against.
+
+ String[]
+
+
+ Server2
+
+ When using dual factor authentication, use the server parameter to set the address of the RADIUS server(s) and use the server2 parameter to set the address of the LDAP server(s).
+
+ String[]
+
+
+ auth_type
+
+ Specify the transport protocol used to communicate with the authentication server. Possible values are:
+- LDAP-Unencrypted
+- LDAP-StartTLS
+- LDAP-LDAPS
+- RADIUS
+- RSA-SECURID
+- Certificate
+- KCD
+- RADIUS and LDAP-Unencrypted
+- RADIUS and LDAP-StartTLS
+- RADIUS and LDAP-LDAPS
+
+ String
+
+
+ max_failed_auths
+
+ The maximum number of failed login attempts before the user is locked out.
+Range: 0 – 999
+0 = Never lock out
+
+ Int32
+
+
+ reset_fail_tout
+
+ The time that must elapse before the max_failed_auths counter is reset to 0. This must be less than the unblocktout value. This parameter is only relevant if the max_failed_auths parameter is set to a value greater than 0.
+Range: 60-86400
+
+ Int32
+
+
+ unblock_tout
+
+ The timeout in seconds before a blocked account is automatically unblocked again. This must be greater than the reset_fail_tout parameter value.
+Range: 60-86400
+
+ Int32
+
+
+ logon_fmt
+
+ Specify the logon string format used to authenticate to the LDAP/RADIUS server.
+The Username%20only value is only available if the auth_type is set to a RADIUS or RSA-SecurID protocol. The Username value is not available if the auth_type is set to RADIUS or a RADIUS and LDAP protocol.
+
+ String
+
+
+ logon_fmt2
+
+ Specify the logon string format used to authenticate to the server.
+
+ String
+
+
+ logon_domain
+
+ The login domain to be used. This is also used with the logon format to construct the normalized username, for example:
+- Principalname: <username>@<domain>
+- Username: <domain>\<username>
+
+ String
+
+
+ sess_tout_type
+
+ Specify the type of session timeout to be used:
+- idle time
+- max duration
+
+ String
+
+
+ sess_tout_idle_pub
+
+ The session idle timeout value in seconds. This value is used in a public environment.
+Range: 60-68400
+
+ Int32
+
+
+ sess_tout_duration_pub
+
+ The maximum duration timeout value for the session in seconds. This value is used in a public environment.
+Range: 60-86400
+
+ Int32
+
+
+ sess_tout_idle_priv
+
+ The session idle timeout value in seconds. This value is used in a private environment.
+Range: 60-68400
+
+ Int32
+
+
+ sess_tout_duration_priv
+
+ The maximum duration timeout value for the session in seconds. This value is used in a private environment.
+Range: 60-86400
+
+ Int32
+
+
+ testuser
+
+ The username that will be used to check the authentication server(s), if you are not using an LDAP endpoint.
+
+ String
+
+
+ testpass
+
+ The password of the user that will be used to check the authentication server(s), if you are not using an LDAP endpoint.
+
+ String
+
+
+ radius_shared_secret
+
+ The shared secret to be used between the radius server and the LoadMaster.
+
+ String
+
+
+ kerberos_domain
+
+ The name of the Kerberos realm.
+
+ String
+
+
+ kerberos_kdc
+
+ The name of the Kerberos Key Distribution Center (KDC).
+
+ String
+
+
+ kcd_username
+
+ The username of the Kerberos trusted user.
+
+ String
+
+
+ kcd_password
+
+ The password of the Kerberos trusted user.
+
+ String
+
+
+ server_side
+
+ Specify if this is an outbound KCD SSO domain or not.
+y – KCD
+n – Not KCD
+
+ String
+
+
+ cert_check_asi
+
+ This option is only available when the authtype is set to Certificate. When this option is enabled - in addition to checking the validity of the client certificate, the client certificate will also be checked against the altSecurityIdentities (ASI) attribute of the user on the Active Directory.
+
+ String
+
+
+ cert_check_cn
+
+ Enabling this parameter allows a fallback to check the Common Name (CN) in the certificate when the SAN is not available.
+
+ String
+
+
+ Logon_Transcode
+
+ Enable or disable the transcode of logon credentials from ISO-8859-1 to UTF-8, when required.
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ ldap_endpoint
+
+ Specify the name of an existing LDAP endpoint to use.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ Specifies the name of the SSO domain LoadMaster entry to be modified.
+
+ String
+
+ String
+
+
+
+
+
+ TLS
+
+ Specifies the encryption to use for authentication. This parameter accepts "Unencrypted", "StartTLS", and "LDAPS".
+
+ String
+
+ String
+
+
+
+
+
+ Server
+
+ Specifies the server(s) to authenticate against.
+
+ String[]
+
+ String[]
+
+
+
+
+
+ Server2
+
+ When using dual factor authentication, use the server parameter to set the address of the RADIUS server(s) and use the server2 parameter to set the address of the LDAP server(s).
+
+ String[]
+
+ String[]
+
+
+
+
+
+ auth_type
+
+ Specify the transport protocol used to communicate with the authentication server. Possible values are:
+- LDAP-Unencrypted
+- LDAP-StartTLS
+- LDAP-LDAPS
+- RADIUS
+- RSA-SECURID
+- Certificate
+- KCD
+- RADIUS and LDAP-Unencrypted
+- RADIUS and LDAP-StartTLS
+- RADIUS and LDAP-LDAPS
+
+ String
+
+ String
+
+
+
+
+
+ max_failed_auths
+
+ The maximum number of failed login attempts before the user is locked out.
+Range: 0 – 999
+0 = Never lock out
+
+ Int32
+
+ Int32
+
+
+
+
+
+ reset_fail_tout
+
+ The time that must elapse before the max_failed_auths counter is reset to 0. This must be less than the unblocktout value. This parameter is only relevant if the max_failed_auths parameter is set to a value greater than 0.
+Range: 60-86400
+
+ Int32
+
+ Int32
+
+
+
+
+
+ unblock_tout
+
+ The timeout in seconds before a blocked account is automatically unblocked again. This must be greater than the reset_fail_tout parameter value.
+Range: 60-86400
+
+ Int32
+
+ Int32
+
+
+
+
+
+ logon_fmt
+
+ Specify the logon string format used to authenticate to the LDAP/RADIUS server.
+The Username%20only value is only available if the auth_type is set to a RADIUS or RSA-SecurID protocol. The Username value is not available if the auth_type is set to RADIUS or a RADIUS and LDAP protocol.
+
+ String
+
+ String
+
+
+
+
+
+ logon_fmt2
+
+ Specify the logon string format used to authenticate to the server.
+
+ String
+
+ String
+
+
+
+
+
+ logon_domain
+
+ The login domain to be used. This is also used with the logon format to construct the normalized username, for example:
+- Principalname: <username>@<domain>
+- Username: <domain>\<username>
+
+ String
+
+ String
+
+
+
+
+
+ sess_tout_type
+
+ Specify the type of session timeout to be used:
+- idle time
+- max duration
+
+ String
+
+ String
+
+
+
+
+
+ sess_tout_idle_pub
+
+ The session idle timeout value in seconds. This value is used in a public environment.
+Range: 60-68400
+
+ Int32
+
+ Int32
+
+
+
+
+
+ sess_tout_duration_pub
+
+ The maximum duration timeout value for the session in seconds. This value is used in a public environment.
+Range: 60-86400
+
+ Int32
+
+ Int32
+
+
+
+
+
+ sess_tout_idle_priv
+
+ The session idle timeout value in seconds. This value is used in a private environment.
+Range: 60-68400
+
+ Int32
+
+ Int32
+
+
+
+
+
+ sess_tout_duration_priv
+
+ The maximum duration timeout value for the session in seconds. This value is used in a private environment.
+Range: 60-86400
+
+ Int32
+
+ Int32
+
+
+
+
+
+ testuser
+
+ The username that will be used to check the authentication server(s), if you are not using an LDAP endpoint.
+
+ String
+
+ String
+
+
+
+
+
+ testpass
+
+ The password of the user that will be used to check the authentication server(s), if you are not using an LDAP endpoint.
+
+ String
+
+ String
+
+
+
+
+
+ radius_shared_secret
+
+ The shared secret to be used between the radius server and the LoadMaster.
+
+ String
+
+ String
+
+
+
+
+
+ kerberos_domain
+
+ The name of the Kerberos realm.
+
+ String
+
+ String
+
+
+
+
+
+ kerberos_kdc
+
+ The name of the Kerberos Key Distribution Center (KDC).
+
+ String
+
+ String
+
+
+
+
+
+ kcd_username
+
+ The username of the Kerberos trusted user.
+
+ String
+
+ String
+
+
+
+
+
+ kcd_password
+
+ The password of the Kerberos trusted user.
+
+ String
+
+ String
+
+
+
+
+
+ server_side
+
+ Specify if this is an outbound KCD SSO domain or not.
+y – KCD
+n – Not KCD
+
+ String
+
+ String
+
+
+
+
+
+ cert_check_asi
+
+ This option is only available when the authtype is set to Certificate. When this option is enabled - in addition to checking the validity of the client certificate, the client certificate will also be checked against the altSecurityIdentities (ASI) attribute of the user on the Active Directory.
+
+ String
+
+ String
+
+
+
+
+
+ cert_check_cn
+
+ Enabling this parameter allows a fallback to check the Common Name (CN) in the certificate when the SAN is not available.
+
+ String
+
+ String
+
+
+
+
+
+ Logon_Transcode
+
+ Enable or disable the transcode of logon credentials from ISO-8859-1 to UTF-8, when required.
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ldap_endpoint
+
+ Specify the name of an existing LDAP endpoint to use.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ DomainObject
+
+ Accepts a custom object that has the Domain, TLS, and Server properties to add to the load balancer. Can be used to import a CSV file of entries to the load balancer.
+
+ psobject[]
+
+ psobject[]
+
+
+
+
+
+ ldap_admin
+
+ The LDAP administrator username.
+This is only relevant when the authtype is set to Certificate.
+
+ string
+
+ string
+
+
+
+
+
+ ldap_password
+
+ The LDAP administrator password.
+This is only relevant when the authtype is set to Certificate.
+
+ string
+
+ string
+
+
+
+
+
+ logonfmt
+
+ Specify the logon string format used to authenticate to the server. Possible values are:
+- Notspecified
+- Principalname
+- Username
+- Usernameonly
+The Username value is not available if the auth_type is set to RADIUS or a RADIUS and LDAP protocol.
+
+ string
+
+ string
+
+
+
+
+
+ logonfmt2
+
+ Specify the logon string format used to authenticate to the server.
+- Notspecified
+- Principalname
+- Username
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You can only use one login method - either certificate or credential. You cannot use both.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SSODomain -server 10.154.45.22 -Domain example3.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Param........: @{Id=9; Name=EXAMPLE2.COM; server=10.154.45.22; testuser=; ldap_version=3; server_side=0; auth_type=RSA-SECURID; logon_fmt=Principalname;
+ logon_fmt2=Principalname; logon_transcode=1; logon_domain=; idp_entity_id=; idp_sso_url=; idp_logoff_url=; idp_cert=; sp_entity_id=; sp_cert=UseSelfSig
+ned; kerberos_domain=; kerberos_kdc=; kcd_username=; max_failed_auths=0; reset_fail_tout=60; unblock_tout=1800; sess_tout_type=idle time; sess_tout_idle
+_pub=900; sess_tout_duration_pub=1800; sess_tout_idle_priv=900; sess_tout_duration_priv=28800; cert_check_asi=0; cert_check_cn=0}
+Id : 9
+Name : EXAMPLE2.COM
+server : 10.154.45.22
+testuser :
+ldap_version : 3
+server_side : 0
+auth_type : RSA-SECURID
+logon_fmt : Principalname
+logon_fmt2 : Principalname
+logon_transcode : 1
+logon_domain :
+idp_entity_id :
+idp_sso_url :
+idp_logoff_url :
+idp_cert :
+sp_entity_id :
+sp_cert : UseSelfSigned
+kerberos_domain :
+kerberos_kdc :
+kcd_username :
+max_failed_auths : 0
+reset_fail_tout : 60
+unblock_tout : 1800
+sess_tout_type : idle time
+sess_tout_idle_pub : 900
+sess_tout_duration_pub : 1800
+sess_tout_idle_priv : 900
+sess_tout_duration_priv : 28800
+cert_check_asi : 0
+cert_check_cn : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SSODomainUnlockUser
+
+ Allows you to unblock users who are currently blocked from accessing the SSO domain.
+
+
+
+
+ Set
+ SSODomainUnlockUser
+
+
+
+ Allows you to unblock users who are currently blocked from accessing the SSO domain.
+
+
+
+ Set-SSODomainUnlockUser
+
+ Domain
+
+ The name of the SSO domain.
+
+ String
+
+
+ Users
+
+ The username of the user to be unblocked.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SSODomainUnlockUser
+
+ Domain
+
+ The name of the SSO domain.
+
+ String
+
+
+ Users
+
+ The username of the user to be unblocked.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ The name of the SSO domain.
+
+ String
+
+ String
+
+
+
+
+
+ Users
+
+ The username of the user to be unblocked.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SSODomainUnlockUser -Domain example2.com -Users test
+
+
+
+
+ Example Output:
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...:
+UnlockedUsers
+-------------
+@{user=test}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SyslogOption
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LogSyslogConfiguration
+
+
+
+
+ Set
+ SyslogOption
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LogSyslogConfiguration
+
+
+
+ Set-SyslogOption
+
+ SyslogCritical
+
+
+
+ String
+
+
+ SyslogEmergency
+
+
+
+ String
+
+
+ SyslogError
+
+
+
+ String
+
+
+ SyslogInfo
+
+
+
+ String
+
+
+ SyslogNotice
+
+
+
+ String
+
+
+ SyslogWarn
+
+
+
+ String
+
+
+ SyslogPort
+
+
+
+ UInt16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-SyslogOption
+
+ SyslogCritical
+
+
+
+ String
+
+
+ SyslogEmergency
+
+
+
+ String
+
+
+ SyslogError
+
+
+
+ String
+
+
+ SyslogInfo
+
+
+
+ String
+
+
+ SyslogNotice
+
+
+
+ String
+
+
+ SyslogWarn
+
+
+
+ String
+
+
+ SyslogPort
+
+
+
+ UInt16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ SyslogCritical
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SyslogEmergency
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SyslogError
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SyslogInfo
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SyslogNotice
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SyslogWarn
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SyslogPort
+
+
+
+ UInt16
+
+ UInt16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-TlsCipherSet
+
+ Create or modify a custom cipher set.
+
+
+
+
+ Set
+ TlsCipherSet
+
+
+
+ Updates an existing custom cipher set or creates a new custom cipher set. If the name of an existing custom cipher set is used, that cipher set will be updated. If a new name is used, a new cipher set will be created.
+
+
+
+ Set-TlsCipherSet
+
+ Name
+
+ The name of the custom cipher set.
+
+ String
+
+
+ Value
+
+ A colon (:) separated list of ciphers to assign to the set.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-TlsCipherSet
+
+ Name
+
+ The name of the custom cipher set.
+
+ String
+
+
+ Value
+
+ A colon (:) separated list of ciphers to assign to the set.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the custom cipher set.
+
+ String
+
+ String
+
+
+
+
+
+ Value
+
+ A colon (:) separated list of ciphers to assign to the set.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If the name of an existing custom cipher set is specified, that cipher set will be updated. If a new name is used, a new cipher set will be created.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-TlsCipherSet -Name ExampleCipherSet -Value ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-TlsHSM
+
+ Allows you to configure the HSM settings.
+
+
+
+
+ Set
+ TlsHSM
+
+
+
+ Allows you to configure the HSM settings.
+
+
+
+ Set-TlsHSM
+
+ Sethsm
+
+ To set the HSM sub-system to Safenet Luna HSM use LunaCA3. To set the HSM sub-system to Cavium HSM use cavhsm. These parameters are case sensitive.
+
+ String
+
+
+ Safeaddr
+
+ Specify the address of the Safenet HSM unit to be used.
+
+ String
+
+
+ Clpass
+
+ Specify the password for the partition on the HSM so that the LoadMaster can access the HSM.
+
+ String
+
+
+ Enable
+
+ Enable or disable Safenet HSM:
+0 – Disabled
+1 – Enabled
+
+ Boolean
+
+
+ Cavhsmaddr
+
+ Specify the address of the Cavium HSM unit to be used.
+
+ String
+
+
+ Cavhsmpasswd
+
+ The password for the HSM partition. The HSM partition password would have been set on the HSM when originally configuring the partition. For further information, please consult the HSM vendor documentation.
+
+ String
+
+
+ Cavhsmuser
+
+ The username for the HSM partition.
+
+ String
+
+
+ Cavhsmenable
+
+ Enable Cavium HSM:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-TlsHSM
+
+ Sethsm
+
+ To set the HSM sub-system to Safenet Luna HSM use LunaCA3. To set the HSM sub-system to Cavium HSM use cavhsm. These parameters are case sensitive.
+
+ String
+
+
+ Safeaddr
+
+ Specify the address of the Safenet HSM unit to be used.
+
+ String
+
+
+ Clpass
+
+ Specify the password for the partition on the HSM so that the LoadMaster can access the HSM.
+
+ String
+
+
+ Enable
+
+ Enable or disable Safenet HSM:
+0 – Disabled
+1 – Enabled
+
+ Boolean
+
+
+ Cavhsmaddr
+
+ Specify the address of the Cavium HSM unit to be used.
+
+ String
+
+
+ Cavhsmpasswd
+
+ The password for the HSM partition. The HSM partition password would have been set on the HSM when originally configuring the partition. For further information, please consult the HSM vendor documentation.
+
+ String
+
+
+ Cavhsmuser
+
+ The username for the HSM partition.
+
+ String
+
+
+ Cavhsmenable
+
+ Enable Cavium HSM:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Sethsm
+
+ To set the HSM sub-system to Safenet Luna HSM use LunaCA3. To set the HSM sub-system to Cavium HSM use cavhsm. These parameters are case sensitive.
+
+ String
+
+ String
+
+
+
+
+
+ Safeaddr
+
+ Specify the address of the Safenet HSM unit to be used.
+
+ String
+
+ String
+
+
+
+
+
+ Clpass
+
+ Specify the password for the partition on the HSM so that the LoadMaster can access the HSM.
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+ Enable or disable Safenet HSM:
+0 – Disabled
+1 – Enabled
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Cavhsmaddr
+
+ Specify the address of the Cavium HSM unit to be used.
+
+ String
+
+ String
+
+
+
+
+
+ Cavhsmpasswd
+
+ The password for the HSM partition. The HSM partition password would have been set on the HSM when originally configuring the partition. For further information, please consult the HSM vendor documentation.
+
+ String
+
+ String
+
+
+
+
+
+ Cavhsmuser
+
+ The username for the HSM partition.
+
+ String
+
+ String
+
+
+
+
+
+ Cavhsmenable
+
+ Enable Cavium HSM:
+0 - Disable
+1 - Enable
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Starting the HSM may take some time.
+ Disabling the HSM means the LoadMaster is unable to create new SSL (HTTPS) connections and immediately drops existing connections until another HSM is added or the certificate configuration is changed.
+ It is strongly recommended to only change the HSM configuration when there are no active SSL connections.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-TlsHSM -Cavhsmaddr 10.154.22.44
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{engine=cavhsm; addr=10.154.22.44; user=ExampleUser; enable=0}
+cavhsm 10.154.22.44 ExampleUser 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-VirtualService
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcVirtualService
+
+
+
+
+ Set
+ VirtualService
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-AdcVirtualService
+
+
+
+ Set-VirtualService
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ AddVia
+
+
+
+ Int16
+
+
+ Cache
+
+
+
+ Boolean
+
+
+ CertFile
+
+
+
+ String
+
+
+ CheckType
+
+
+
+ String
+
+
+ CheckHost
+
+
+
+ String
+
+
+ CheckPattern
+
+
+
+ String
+
+
+ CheckUrl
+
+
+
+ String
+
+
+ CheckHeaders
+
+
+
+ String
+
+
+ LdapEndpoint
+
+
+
+ String
+
+
+ MatchLen
+
+
+
+ String
+
+
+ CheckUse1_1
+
+
+
+ Int32
+
+
+ CheckPort
+
+
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+
+
+ Boolean
+
+
+ RsMinimum
+
+
+
+ Int32
+
+
+ ClientCert
+
+
+
+ Int16
+
+
+ Compress
+
+
+
+ Boolean
+
+
+ Cookie
+
+
+
+ String
+
+
+ CachePercent
+
+
+
+ Int16
+
+
+ DefaultGW
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ ErrorCode
+
+
+
+ String
+
+
+ ErrorUrl
+
+
+
+ String
+
+
+ PortFollow
+
+
+
+ Int32
+
+
+ ForceL7
+
+
+
+ Boolean
+
+
+ Idletime
+
+
+
+ Int32
+
+
+ LocalBindAddresses
+
+
+
+ String[]
+
+
+ VSType
+
+
+
+ String
+
+
+ Nickname
+
+
+
+ String
+
+
+ Persist
+
+
+
+ String
+
+
+ PersistTimeout
+
+
+
+ Int32
+
+
+ QueryTag
+
+
+
+ String
+
+
+ CipherSet
+
+
+
+ String
+
+
+ SSLReencrypt
+
+
+
+ Boolean
+
+
+ SSLReverse
+
+
+
+ Boolean
+
+
+ SSLRewrite
+
+
+
+ String
+
+
+ ReverseSNIHostname
+
+
+
+ String
+
+
+ Schedule
+
+
+
+ String
+
+
+ ServerInit
+
+
+
+ Int16
+
+
+ SSLAcceleration
+
+
+
+ Boolean
+
+
+ StandByAddr
+
+
+
+ String
+
+
+ StandByPort
+
+
+
+ String
+
+
+ TransactionLimit
+
+
+
+ Int32
+
+
+ Transparent
+
+
+
+ Boolean
+
+
+ SubnetOriginating
+
+
+
+ Boolean
+
+
+ UseforSnat
+
+
+
+ Boolean
+
+
+ QoS
+
+
+
+ String
+
+
+ CheckUseGet
+
+
+
+ Int32
+
+
+ Verify
+
+
+
+ Int16
+
+
+ ExtraHdrKey
+
+
+
+ String
+
+
+ ExtraHdrValue
+
+
+
+ String
+
+
+ AllowedHosts
+
+
+
+ String
+
+
+ AllowedDirectories
+
+
+
+ String
+
+
+ AllowedGroups
+
+
+
+ String
+
+
+ GroupSIDs
+
+
+
+ String
+
+
+ IncludeNestedGroups
+
+
+
+ Boolean
+
+
+ DisplayPubPriv
+
+
+
+ Boolean
+
+
+ DisablePasswordForm
+
+
+
+ Boolean
+
+
+ Domain
+
+
+
+ String
+
+
+ AltDomains
+
+
+
+ String
+
+
+ Logoff
+
+
+
+ String
+
+
+ ESPLogs
+
+
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+
+
+ String
+
+
+ ESPEnabled
+
+
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+
+
+ String
+
+
+ UserPwdChangeMsg
+
+
+
+ String
+
+
+ InputAuthMode
+
+
+
+ Int16
+
+
+ OutputAuthMode
+
+
+
+ Int16
+
+
+ StartTLSMode
+
+
+
+ Int16
+
+
+ ExtraPorts
+
+
+
+ String
+
+
+ AltAddress
+
+
+
+ String
+
+
+ MultiConnect
+
+
+
+ Boolean
+
+
+ SingleSignOnDir
+
+
+
+ String
+
+
+ OCSPVerify
+
+
+
+ String
+
+
+ FollowVSID
+
+
+
+ Int32
+
+
+ TlsType
+
+
+
+ Boolean
+
+
+ CheckPostData
+
+
+
+ String
+
+
+ CheckCodes
+
+
+
+ String
+
+
+ PreProcPrecedence
+
+
+
+ String
+
+
+ PreProcPrecedencePos
+
+
+
+ Int16
+
+
+ RequestPrecedence
+
+
+
+ String
+
+
+ RequestPrecedencePos
+
+
+
+ Int16
+
+
+ ResponsePrecedence
+
+
+
+ String
+
+
+ ResponsePrecedencePos
+
+
+
+ Int16
+
+
+ RsRulePrecedence
+
+
+
+ String
+
+
+ RsRulePrecedencePos
+
+
+
+ Int16
+
+
+ NeedHostName
+
+
+
+ Boolean
+
+
+ CopyHdrFrom
+
+
+
+ String
+
+
+ CopyHdrTo
+
+
+
+ String
+
+
+ ServerFbaPath
+
+
+
+ String
+
+
+ ServerFbaPost
+
+
+
+ String
+
+
+ Intercept
+
+
+
+ Boolean
+
+
+ AllowHTTP2
+
+
+
+ Boolean
+
+
+ InterceptOpts
+
+
+
+ String
+
+
+ InterceptRules
+
+
+
+ String
+
+
+ AlertThreshold
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-VirtualService
+
+ VirtualService
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ Int32
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ VSIndex
+
+
+
+ Int32
+
+
+ AddVia
+
+
+
+ Int16
+
+
+ Cache
+
+
+
+ Boolean
+
+
+ CertFile
+
+
+
+ String
+
+
+ CheckType
+
+
+
+ String
+
+
+ CheckHost
+
+
+
+ String
+
+
+ CheckPattern
+
+
+
+ String
+
+
+ CheckUrl
+
+
+
+ String
+
+
+ CheckHeaders
+
+
+
+ String
+
+
+ LdapEndpoint
+
+
+
+ String
+
+
+ MatchLen
+
+
+
+ String
+
+
+ CheckUse1_1
+
+
+
+ Int32
+
+
+ CheckPort
+
+
+
+ Int32
+
+
+ EnhancedHealthChecks
+
+
+
+ Boolean
+
+
+ RsMinimum
+
+
+
+ Int32
+
+
+ ClientCert
+
+
+
+ Int16
+
+
+ Compress
+
+
+
+ Boolean
+
+
+ Cookie
+
+
+
+ String
+
+
+ CachePercent
+
+
+
+ Int16
+
+
+ DefaultGW
+
+
+
+ String
+
+
+ Enable
+
+
+
+ Boolean
+
+
+ ErrorCode
+
+
+
+ String
+
+
+ ErrorUrl
+
+
+
+ String
+
+
+ PortFollow
+
+
+
+ Int32
+
+
+ ForceL7
+
+
+
+ Boolean
+
+
+ Idletime
+
+
+
+ Int32
+
+
+ LocalBindAddresses
+
+
+
+ String[]
+
+
+ VSType
+
+
+
+ String
+
+
+ Nickname
+
+
+
+ String
+
+
+ Persist
+
+
+
+ String
+
+
+ PersistTimeout
+
+
+
+ Int32
+
+
+ QueryTag
+
+
+
+ String
+
+
+ CipherSet
+
+
+
+ String
+
+
+ SSLReencrypt
+
+
+
+ Boolean
+
+
+ SSLReverse
+
+
+
+ Boolean
+
+
+ SSLRewrite
+
+
+
+ String
+
+
+ ReverseSNIHostname
+
+
+
+ String
+
+
+ Schedule
+
+
+
+ String
+
+
+ ServerInit
+
+
+
+ Int16
+
+
+ SSLAcceleration
+
+
+
+ Boolean
+
+
+ StandByAddr
+
+
+
+ String
+
+
+ StandByPort
+
+
+
+ String
+
+
+ TransactionLimit
+
+
+
+ Int32
+
+
+ Transparent
+
+
+
+ Boolean
+
+
+ SubnetOriginating
+
+
+
+ Boolean
+
+
+ UseforSnat
+
+
+
+ Boolean
+
+
+ QoS
+
+
+
+ String
+
+
+ CheckUseGet
+
+
+
+ Int32
+
+
+ Verify
+
+
+
+ Int16
+
+
+ ExtraHdrKey
+
+
+
+ String
+
+
+ ExtraHdrValue
+
+
+
+ String
+
+
+ AllowedHosts
+
+
+
+ String
+
+
+ AllowedDirectories
+
+
+
+ String
+
+
+ AllowedGroups
+
+
+
+ String
+
+
+ GroupSIDs
+
+
+
+ String
+
+
+ IncludeNestedGroups
+
+
+
+ Boolean
+
+
+ DisplayPubPriv
+
+
+
+ Boolean
+
+
+ DisablePasswordForm
+
+
+
+ Boolean
+
+
+ Domain
+
+
+
+ String
+
+
+ AltDomains
+
+
+
+ String
+
+
+ Logoff
+
+
+
+ String
+
+
+ ESPLogs
+
+
+
+ Int16
+
+
+ SMTPAllowedDomains
+
+
+
+ String
+
+
+ ESPEnabled
+
+
+
+ Boolean
+
+
+ UserPwdChangeUrl
+
+
+
+ String
+
+
+ UserPwdChangeMsg
+
+
+
+ String
+
+
+ InputAuthMode
+
+
+
+ Int16
+
+
+ OutputAuthMode
+
+
+
+ Int16
+
+
+ StartTLSMode
+
+
+
+ Int16
+
+
+ ExtraPorts
+
+
+
+ String
+
+
+ AltAddress
+
+
+
+ String
+
+
+ MultiConnect
+
+
+
+ Boolean
+
+
+ SingleSignOnDir
+
+
+
+ String
+
+
+ OCSPVerify
+
+
+
+ String
+
+
+ FollowVSID
+
+
+
+ Int32
+
+
+ TlsType
+
+
+
+ Boolean
+
+
+ CheckPostData
+
+
+
+ String
+
+
+ CheckCodes
+
+
+
+ String
+
+
+ PreProcPrecedence
+
+
+
+ String
+
+
+ PreProcPrecedencePos
+
+
+
+ Int16
+
+
+ RequestPrecedence
+
+
+
+ String
+
+
+ RequestPrecedencePos
+
+
+
+ Int16
+
+
+ ResponsePrecedence
+
+
+
+ String
+
+
+ ResponsePrecedencePos
+
+
+
+ Int16
+
+
+ RsRulePrecedence
+
+
+
+ String
+
+
+ RsRulePrecedencePos
+
+
+
+ Int16
+
+
+ NeedHostName
+
+
+
+ Boolean
+
+
+ CopyHdrFrom
+
+
+
+ String
+
+
+ CopyHdrTo
+
+
+
+ String
+
+
+ ServerFbaPath
+
+
+
+ String
+
+
+ ServerFbaPost
+
+
+
+ String
+
+
+ Intercept
+
+
+
+ Boolean
+
+
+ AllowHTTP2
+
+
+
+ Boolean
+
+
+ InterceptOpts
+
+
+
+ String
+
+
+ InterceptRules
+
+
+
+ String
+
+
+ AlertThreshold
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VirtualService
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSIndex
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ AddVia
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Cache
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CertFile
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckType
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckHost
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckPattern
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckUrl
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckHeaders
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LdapEndpoint
+
+
+
+ String
+
+ String
+
+
+
+
+
+ MatchLen
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckUse1_1
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ CheckPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ EnhancedHealthChecks
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ RsMinimum
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ClientCert
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ Compress
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Cookie
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CachePercent
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ DefaultGW
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Enable
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ ErrorCode
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ErrorUrl
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PortFollow
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ ForceL7
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Idletime
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LocalBindAddresses
+
+
+
+ String[]
+
+ String[]
+
+
+
+
+
+ VSType
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Nickname
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Persist
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PersistTimeout
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ QueryTag
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CipherSet
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SSLReencrypt
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SSLReverse
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SSLRewrite
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ReverseSNIHostname
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Schedule
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ServerInit
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ SSLAcceleration
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ StandByAddr
+
+
+
+ String
+
+ String
+
+
+
+
+
+ StandByPort
+
+
+
+ String
+
+ String
+
+
+
+
+
+ TransactionLimit
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Transparent
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SubnetOriginating
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ UseforSnat
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ QoS
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckUseGet
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Verify
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ExtraHdrKey
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ExtraHdrValue
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AllowedHosts
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AllowedDirectories
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AllowedGroups
+
+
+
+ String
+
+ String
+
+
+
+
+
+ GroupSIDs
+
+
+
+ String
+
+ String
+
+
+
+
+
+ IncludeNestedGroups
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisplayPubPriv
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ DisablePasswordForm
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ Domain
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AltDomains
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Logoff
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ESPLogs
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ SMTPAllowedDomains
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ESPEnabled
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ UserPwdChangeUrl
+
+
+
+ String
+
+ String
+
+
+
+
+
+ UserPwdChangeMsg
+
+
+
+ String
+
+ String
+
+
+
+
+
+ InputAuthMode
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ OutputAuthMode
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ StartTLSMode
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ExtraPorts
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AltAddress
+
+
+
+ String
+
+ String
+
+
+
+
+
+ MultiConnect
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SingleSignOnDir
+
+
+
+ String
+
+ String
+
+
+
+
+
+ OCSPVerify
+
+
+
+ String
+
+ String
+
+
+
+
+
+ FollowVSID
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ TlsType
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CheckPostData
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CheckCodes
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedence
+
+
+
+ String
+
+ String
+
+
+
+
+
+ PreProcPrecedencePos
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RequestPrecedence
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RequestPrecedencePos
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ ResponsePrecedence
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ResponsePrecedencePos
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ RsRulePrecedence
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RsRulePrecedencePos
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ NeedHostName
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ CopyHdrFrom
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CopyHdrTo
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ServerFbaPath
+
+
+
+ String
+
+ String
+
+
+
+
+
+ ServerFbaPost
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Intercept
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ AllowHTTP2
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ InterceptOpts
+
+
+
+ String
+
+ String
+
+
+
+
+
+ InterceptRules
+
+
+
+ String
+
+ String
+
+
+
+
+
+ AlertThreshold
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetVpnAddrs
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnAddrs
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnAddrs
+
+
+
+ SetVpnAddrs
+
+ Name
+
+
+
+ String
+
+
+ LocalIp
+
+
+
+ String
+
+
+ LocalSubnets
+
+
+
+ String
+
+
+ RemoteIp
+
+
+
+ String
+
+
+ RemoteSubnets
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ SetVpnAddrs
+
+ Name
+
+
+
+ String
+
+
+ LocalIp
+
+
+
+ String
+
+
+ LocalSubnets
+
+
+
+ String
+
+
+ RemoteIp
+
+
+
+ String
+
+
+ RemoteSubnets
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LocalIp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LocalSubnets
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RemoteIp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RemoteSubnets
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetVpnLocalIp
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnLocalIp
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnLocalIp
+
+
+
+ SetVpnLocalIp
+
+ Name
+
+
+
+ String
+
+
+ LocalIp
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ SetVpnLocalIp
+
+ Name
+
+
+
+ String
+
+
+ LocalIp
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LocalIp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetVpnLocalSubnets
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnLocalSubnet
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnLocalSubnet
+
+
+
+ SetVpnLocalSubnets
+
+ Name
+
+
+
+ String
+
+
+ LocalSubnets
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ SetVpnLocalSubnets
+
+ Name
+
+
+
+ String
+
+
+ LocalSubnets
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LocalSubnets
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetVpnPfsDisable
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnPfsDisable
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnPfsDisable
+
+
+
+ SetVpnPfsDisable
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ SetVpnPfsDisable
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetVpnPfsEnable
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnPfsEnable
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnPfsEnable
+
+
+
+ SetVpnPfsEnable
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ SetVpnPfsEnable
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetVpnRemoteIp
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnRemoteIp
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnRemoteIp
+
+
+
+ SetVpnRemoteIp
+
+ Name
+
+
+
+ String
+
+
+ RemoteIp
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ SetVpnRemoteIp
+
+ Name
+
+
+
+ String
+
+
+ RemoteIp
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RemoteIp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetVpnRemoteSubnets
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnRemoteSubnet
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnRemoteSubnet
+
+
+
+ SetVpnRemoteSubnets
+
+ Name
+
+
+
+ String
+
+
+ RemoteSubnets
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ SetVpnRemoteSubnets
+
+ Name
+
+
+
+ String
+
+
+ RemoteSubnets
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RemoteSubnets
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetVpnSecret
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnSecret
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-LmVpnSecret
+
+
+
+ SetVpnSecret
+
+ Name
+
+
+
+ String
+
+
+ LocalId
+
+
+
+ String
+
+
+ RemoteId
+
+
+
+ String
+
+
+ Key
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ SetVpnSecret
+
+ Name
+
+
+
+ String
+
+
+ LocalId
+
+
+
+ String
+
+
+ RemoteId
+
+
+
+ String
+
+
+ Key
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LocalId
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RemoteId
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Key
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-WafLogFormat
+
+ Configure the format of the WAF logs.
+
+
+
+
+ Set
+ WafLogFormat
+
+
+
+ The WAF logs can either be in JSON or native format.
+
+
+
+ Set-WafLogFormat
+
+ LogFormat
+
+ Specify the format of the WAF log. This can be either in JSON or native format. Valid values are:
+ - json
+ - native
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-WafLogFormat
+
+ LogFormat
+
+ Specify the format of the WAF log. This can be either in JSON or native format. Valid values are:
+ - json
+ - native
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LogFormat
+
+ Specify the format of the WAF log. This can be either in JSON or native format. Valid values are:
+ - json
+ - native
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-WafLogFormat -LogFormat json
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-WafRulesAutoUpdateConfiguration
+
+ Configure the Web Application Firewall (WAF) auto-update settings.
+
+
+
+
+ Set
+ WafRulesAutoUpdateConfiguration
+
+
+
+ This command can be used to set the WAF auto-update settings.
+
+
+
+ Set-WafRulesAutoUpdateConfiguration
+
+ DatabaseAutoUpdate
+
+ Enable or disable the automatic downloading of updates to the commercial WAF rule files. When this option is enabled, updated rules are downloaded on a daily basis from KEMP. The installation time for these rule updates is 4am.
+
+ SwitchParameter
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-WafRulesAutoUpdateConfiguration
+
+ DatabaseAutoInstall
+
+ Enable or disable the automatic installation of updated commercial rule files.
+
+ SwitchParameter
+
+
+ DatabaseInstallTimeHour
+
+ Set the time of day that the commercial rule files will be automatically installed. The hour is the hour value from the 24-hour clock (0-23), for example 13 is 1pm. The range is 0-23. Minutes cannot be specified.
+
+ Int32
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ DatabaseAutoUpdate
+
+ Enable or disable the automatic downloading of updates to the commercial WAF rule files. When this option is enabled, updated rules are downloaded on a daily basis from KEMP. The installation time for these rule updates is 4am.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ DatabaseAutoInstall
+
+ Enable or disable the automatic installation of updated commercial rule files.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ DatabaseInstallTimeHour
+
+ Set the time of day that the commercial rule files will be automatically installed. The hour is the hour value from the 24-hour clock (0-23), for example 13 is 1pm. The range is 0-23. Minutes cannot be specified.
+
+ Int32
+
+ Int32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You can only use one login method - either certificate or credential. You cannot use both.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-WafRulesAutoUpdateConfiguration -DatabaseInstallTimeHour 3
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-WUIAuth
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecWuiAuthentication
+
+
+
+
+ Set
+ WUIAuth
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecWuiAuthentication
+
+
+
+ Set-WUIAuth
+
+ RADIUSServer
+
+
+
+ String
+
+
+ RADIUSPort
+
+
+
+ Int64
+
+
+ RADIUSSecret
+
+
+
+ String
+
+
+ RADIUSBackupServer
+
+
+
+ String
+
+
+ RADIUSBackupPort
+
+
+
+ Int64
+
+
+ RADIUSBackupSecret
+
+
+
+ String
+
+
+ RADIUSRevalidateInterval
+
+
+
+ Int32
+
+
+ WuiLdapEp
+
+
+
+ String
+
+
+ SessionLocalAuth
+
+
+
+ Boolean
+
+
+ SessionAuthMode
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-WUIAuth
+
+ RADIUSServer
+
+
+
+ String
+
+
+ RADIUSPort
+
+
+
+ Int64
+
+
+ RADIUSSecret
+
+
+
+ String
+
+
+ RADIUSBackupServer
+
+
+
+ String
+
+
+ RADIUSBackupPort
+
+
+
+ Int64
+
+
+ RADIUSBackupSecret
+
+
+
+ String
+
+
+ RADIUSRevalidateInterval
+
+
+
+ Int32
+
+
+ WuiLdapEp
+
+
+
+ String
+
+
+ SessionLocalAuth
+
+
+
+ Boolean
+
+
+ SessionAuthMode
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ RADIUSServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RADIUSPort
+
+
+
+ Int64
+
+ Int64
+
+
+
+
+
+ RADIUSSecret
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RADIUSBackupServer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RADIUSBackupPort
+
+
+
+ Int64
+
+ Int64
+
+
+
+
+
+ RADIUSBackupSecret
+
+
+
+ String
+
+ String
+
+
+
+
+
+ RADIUSRevalidateInterval
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ WuiLdapEp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SessionLocalAuth
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ SessionAuthMode
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-WUISetting
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecAdminWuiConfiguration
+
+
+
+
+ Set
+ WUISetting
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecAdminWuiConfiguration
+
+
+
+ Set-WUISetting
+
+ WUITLSProtocols
+
+
+
+ Int32
+
+
+ WUICipherset
+
+
+
+ String
+
+
+ sessioncontrol
+
+
+
+ Boolean
+
+
+ sessionbasicauth
+
+
+
+ Boolean
+
+
+ sessionmaxfailattempts
+
+
+
+ Int16
+
+
+ sessionidletime
+
+
+
+ Int32
+
+
+ sessionconcurrent
+
+
+
+ Int16
+
+
+ wuipreauth
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Set-WUISetting
+
+ WUITLSProtocols
+
+
+
+ Int32
+
+
+ WUICipherset
+
+
+
+ String
+
+
+ sessioncontrol
+
+
+
+ Boolean
+
+
+ sessionbasicauth
+
+
+
+ Boolean
+
+
+ sessionmaxfailattempts
+
+
+
+ Int16
+
+
+ sessionidletime
+
+
+
+ Int32
+
+
+ sessionconcurrent
+
+
+
+ Int16
+
+
+ wuipreauth
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ WUITLSProtocols
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ WUICipherset
+
+
+
+ String
+
+ String
+
+
+
+
+
+ sessioncontrol
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ sessionbasicauth
+
+
+
+ Boolean
+
+ Boolean
+
+
+
+
+
+ sessionmaxfailattempts
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ sessionidletime
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ sessionconcurrent
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ wuipreauth
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShowCluster
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoCluster
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoCluster
+
+
+
+ ShowCluster
+
+ ClusterIp
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ShowCluster
+
+ ClusterIp
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ClusterIp
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ IP
+
+ The IP address of the cluster.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ShowCluster –IP <IPAddress>
+
+
+
+
+ Example Output:
+Enable : Y
+LocationLatitude : 0.00000000
+Type : localLM
+LocationLongitude : 0.00000000
+ClusterVSAddress :
+Checker : none
+Name : local_Cluster
+Index : 1
+Status : Up
+CheckerPort : 0
+IPAddress : 10.11.0.105
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShowIP
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoIpRange
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoIpRange
+
+
+
+ ShowIP
+
+ IP
+
+ IP address of the IP range.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ ShowIP
+
+ IP
+
+ IP address of the IP range.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ IP
+
+ IP address of the IP range.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ShowIP –IP <IPAddress>
+
+
+
+
+ Example Output:
+countrycode : IE
+Ip : 10.11.0.65
+Used : Y
+IsCustom : N
+Mask : 24
+Index : 2
+CustomLocation : 0
+IPAddress : 10.11.0.65
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StartIkeDaemon
+
+ WARNING: This function is deprecated. Use the following command instead:
+Start-LmVpnIkeDaemon
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Start-LmVpnIkeDaemon
+
+
+
+ StartIkeDaemon
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ StartIkeDaemon
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Start-LmVpnConnection
+
+ Start the Virtual Private Network (VPN)
+
+
+
+
+ Start
+ LmVpnConnection
+
+
+
+ This command allows you to start the connection of specified VPN.
+
+
+
+ Start-LmVpnConnection
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Start-LmVpnConnection
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LoadBalancer command, but can be overridden on each individual command by using this parameter.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Start-LmVpnConnection -Name ExampleVPN
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Start-LmVpnIkeDaemon
+
+ Starts the Internet Key Exchange (IKE) daemon.
+
+
+
+
+ Start
+ LmVpnIkeDaemon
+
+
+
+ Run this command to start the IKE daemon.
+
+
+
+ Start-LmVpnIkeDaemon
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Start-LmVpnIkeDaemon
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Start-LmVpnIkeDaemon
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StartVpnConnection
+
+ WARNING: This function is deprecated. Use the following command instead:
+Start-LmVpnConnection
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Start-LmVpnConnection
+
+
+
+ StartVpnConnection
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ StartVpnConnection
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StatusIkeDaemon
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmVpnIkeDaemonStatus
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-LmVpnIkeDaemonStatus
+
+
+
+ StatusIkeDaemon
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ StatusIkeDaemon
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stop-AslInstance
+
+ If the Activation Server functionality was used to license the LoadMaster, this command can be used to deactivate the client LoadMaster license.
+
+
+
+
+ Stop
+ AslInstance
+
+
+
+ KEMP strongly recommends deregistering a LoadMaster using the KEMP 360 Central User Interface (UI) or the KEMP 360 Central API, rather than the LoadMaster ones. Deregistering a LoadMaster from the LoadMaster UI can lead to the LoadMaster having an unknown state in KEMP 360 Central. In these cases, it is not easy to remove the LoadMaster from KEMP 360 Central and the unknown LoadMaster is still taking up an available license.
+
+
+
+ Stop-AslInstance
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Stop-AslInstance
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Stop-AslInstance
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StopIkeDaemon
+
+ WARNING: This function is deprecated. Use the following command instead:
+Stop-LmVpnIkeDaemon
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Stop-LmVpnIkeDaemon
+
+
+
+ StopIkeDaemon
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ StopIkeDaemon
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stop-LmVpnConnection
+
+ Stop the Virtual Private Network (VPN).
+
+
+
+
+ Stop
+ LmVpnConnection
+
+
+
+ This command allows you to stop the connection of specified VPN.
+
+
+
+ Stop-LmVpnConnection
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Stop-LmVpnConnection
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Stop-LmVpnConnection -Name ExampleVPN
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stop-LmVpnIkeDaemon
+
+ Stop the Internet Key Exchange (IKE) daemon.
+
+
+
+
+ Stop
+ LmVpnIkeDaemon
+
+
+
+ This command allows you to stop the IKE daemon.
+
+
+
+ Stop-LmVpnIkeDaemon
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Stop-LmVpnIkeDaemon
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Stop-LmVpnIkeDaemon
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stop-SSODomainSession
+
+ Kill all open sessions for an SSO domain, or one particular session.
+
+
+
+
+ Stop
+ SSODomainSession
+
+
+
+ Kill all open sessions for an SSO domain, or one particular session.
+
+
+
+ Stop-SSODomainSession
+
+ Domain
+
+ Specify the domain to kill the open sessions for.
+
+ String
+
+
+ Key
+
+ To kill all open sessions for the specified domain, leave this parameter blank. To kill a particular session, specify the cookie or <Username>,<HostIPAddress>.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Stop-SSODomainSession
+
+ Domain
+
+ Specify the domain to kill the open sessions for.
+
+ String
+
+
+ Key
+
+ To kill all open sessions for the specified domain, leave this parameter blank. To kill a particular session, specify the cookie or <Username>,<HostIPAddress>.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Domain
+
+ Specify the domain to kill the open sessions for.
+
+ String
+
+ String
+
+
+
+
+
+ Key
+
+ To kill all open sessions for the specified domain, leave this parameter blank. To kill a particular session, specify the cookie or <Username>,<HostIPAddress>.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Stop-SSODomainSession -Domain qasp.com
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StopVpnConnection
+
+ WARNING: This function is deprecated. Use the following command instead:
+Stop-LmVpnConnection
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Stop-LmVpnConnection
+
+
+
+ StopVpnConnection
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ StopVpnConnection
+
+ Name
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Name
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test-LmGeoEnabled
+
+ Will tell you if GEO is currently enabled or disabled.
+
+
+
+
+ Test
+ LmGeoEnabled
+
+
+
+ Will tell you if GEO is currently enabled or disabled.
+
+
+
+ Test-LmGeoEnabled
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Test-LmGeoEnabled
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Test-LmGeoEnabled
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+GEO is disabled
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test-LmServerConnection
+
+ Test the connection to the LoadMaster.
+
+
+
+
+ Test
+ LmServerConnection
+
+
+
+ Test the connection to the LoadMaster.
+
+
+
+ Test-LmServerConnection
+
+ ComputerName
+
+ Enter the LoadMaster IP address.
+
+ String
+
+
+ Port
+
+ Enter the Port to perform the test on.
+
+ Int32
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ComputerName
+
+ Enter the LoadMaster IP address.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ Enter the Port to perform the test on.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Test-LmServerConnection -ComputerName 172.20.1.19 -Port 443
+
+
+
+
+ Example Output:
+True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test-NetworkRoute
+
+ Run a traceroute.
+
+
+
+
+ Test
+ NetworkRoute
+
+
+
+ This diagnostic utility determines the route to a destination by sending Internet Control Message Protocol (ICMP) echo packets to the destination.
+
+
+
+ Test-NetworkRoute
+
+ Address
+
+ The address to run the command on.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Test-NetworkRoute
+
+ Address
+
+ The address to run the command on.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Address
+
+ The address to run the command on.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Test-NetworkRoute -Address 10.154.11.23
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Traceroute=}
+TracerouteTo : traceroute to 10.154.11.23 (10.154.11.23), 30 hops max, 60 byte packets
+Hop 1 : 1 10.154.11.180 3007.251 ms !H 3007.028 ms !H 3006.995 ms !H
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test-SecAPIAccess
+
+ This command will tell you if the API interface is enabled or disabled on the LoadMaster.
+
+
+
+
+ Test
+ SecAPIAccess
+
+
+
+ This command will tell you if the API interface is enabled or disabled on the LoadMaster.
+
+
+
+ Test-SecAPIAccess
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Test-SecAPIAccess
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Test-SecApiAccess
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=The API is enabled; Data=}
+Return Code..: 200
+Response.....: The API is enabled
+7.2.39.0.14993.DEV
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test-ServerConnection
+
+ WARNING: This function is deprecated. Use the following command instead:
+Test-LmServerConnection
+
+
+
+
+ Test
+ ServerConnection
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Test-LmServerConnection
+
+
+
+ Test-ServerConnection
+
+ ComputerName
+
+
+
+ String
+
+
+ Port
+
+
+
+ Int32
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ ComputerName
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Trace-TcpTraffic
+
+ Executes the tcpdump command.
+
+
+
+
+ Trace
+ TcpTraffic
+
+
+
+ Run a tcpdump. The tcpdump captures until the packet limit or time limit is reached (whatever is first) and returns the tcpdump as a pcap binary. Mime type: <application/cap>
+
+
+
+ Trace-TcpTraffic
+
+ MaxPackets
+
+ The maximum number of packets to capture. The default value for this parameter is 10000. Valid values range from 1 to 200000. The maximum is the API maximum - the actual maximum size is defined by the space available.
+
+ Int32
+
+
+ MaxTime
+
+ The maximum number of seconds to capture. The default value for this parameter is 10. Valid values range from 1 to 600.
+
+ Int32
+
+
+ Interface
+
+ The interface(s) to monitor. The default interface is eth0. A TCP dump can be captured either by one or all Ethernet ports.
+
+ String
+
+
+ Port
+
+ The port to monitor.
+
+ String
+
+
+ Address
+
+ The (optional) address to monitor.
+
+ String
+
+
+ TcpOptions
+
+ Any optional parameters needed. The maximum number of characters permitted is 255.
+
+ String
+
+
+ Path
+
+ The path to and filename of an export of the tcpdump results.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+ Trace-TcpTraffic
+
+ MaxPackets
+
+ The maximum number of packets to capture. The default value for this parameter is 10000. Valid values range from 1 to 200000. The maximum is the API maximum - the actual maximum size is defined by the space available.
+
+ Int32
+
+
+ MaxTime
+
+ The maximum number of seconds to capture. The default value for this parameter is 10. Valid values range from 1 to 600.
+
+ Int32
+
+
+ Interface
+
+ The interface(s) to monitor. The default interface is eth0. A TCP dump can be captured either by one or all Ethernet ports.
+
+ String
+
+
+ Port
+
+ The port to monitor.
+
+ String
+
+
+ Address
+
+ The (optional) address to monitor.
+
+ String
+
+
+ TcpOptions
+
+ Any optional parameters needed. The maximum number of characters permitted is 255.
+
+ String
+
+
+ Path
+
+ The path to and filename of an export of the tcpdump results.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+
+
+
+
+ MaxPackets
+
+ The maximum number of packets to capture. The default value for this parameter is 10000. Valid values range from 1 to 200000. The maximum is the API maximum - the actual maximum size is defined by the space available.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ MaxTime
+
+ The maximum number of seconds to capture. The default value for this parameter is 10. Valid values range from 1 to 600.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Interface
+
+ The interface(s) to monitor. The default interface is eth0. A TCP dump can be captured either by one or all Ethernet ports.
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ The port to monitor.
+
+ String
+
+ String
+
+
+
+
+
+ Address
+
+ The (optional) address to monitor.
+
+ String
+
+ String
+
+
+
+
+
+ TcpOptions
+
+ Any optional parameters needed. The maximum number of characters permitted is 255.
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+ The path to and filename of an export of the tcpdump results.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ TraceTcpTraffic Address 10.154.190.207 Path c:/example2/example2
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+---------
+
+The TCP trace results will be saved to the specified path.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Uninstall-LmPatch
+
+ Allows you to roll-back the LoadMaster to the previous version of firmware.
+
+
+
+
+ Uninstall
+ LmPatch
+
+
+
+ Allows you to roll-back the LoadMaster to the previous version of firmware. You will be asked to restart the LoadMaster for the command to complete.
+
+
+
+ Uninstall-LmPatch
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Uninstall-LmPatch
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Uninstall-LmPatch
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{PatchData=Previous firmware version successfully restored. Please reboot the LM to apply.}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Uninstall-WafCustomRuleData
+
+ Allows you to delete an AFP custom rule data file.
+
+
+
+
+ Uninstall
+ WafCustomRuleData
+
+
+
+ Allows you to delete an AFP custom rule data file.
+
+
+
+ Uninstall-WafCustomRuleData
+
+ Filename
+
+ The filename of the custom rule data file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Uninstall-WafCustomRuleData
+
+ Filename
+
+ The filename of the custom rule data file.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Filename
+
+ The filename of the custom rule data file.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Uninstall-WafCustomRuleData -Filename modsecurity_35_bad_robots
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Uninstall-WafCustomRuleSet
+
+ Allows you to delete custom AFP rule file
+
+
+
+
+ Uninstall
+ WafCustomRuleSet
+
+
+
+ Allows you to delete custom AFP rule file
+
+
+
+ Uninstall-WafCustomRuleSet
+
+ Filename
+
+ The filename of the custom rule.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Uninstall-WafCustomRuleSet
+
+ Filename
+
+ The filename of the custom rule.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Filename
+
+ The filename of the custom rule.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This does not delete the associated data file.
+ If the filename specified does not match a rule file that exists in the LoadMaster, a Rule not found error will be displayed.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Uninstall-WafCustomRuleSet -Filename modsecurity_crs_11_brute_force
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unregister-BondedInterface
+
+ WARNING: This function is deprecated. Use the following command instead:
+Unregister-NetworkBondedInterface
+
+
+
+
+ Unregister
+ BondedInterface
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Unregister-NetworkBondedInterface
+
+
+
+ Unregister-BondedInterface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Unregister-BondedInterface
+
+ InterfaceID
+
+
+
+ Int16
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unregister-NetworkBondedInterface
+
+ Enables you to unregister the address of a bonded interface.
+
+
+
+
+ Unregister
+ NetworkBondedInterface
+
+
+
+ This command waits two minutes to reconnect to the LoadMaster. If the wait time is longer than two minutes, an error message appears.
+
+
+
+ Unregister-NetworkBondedInterface
+
+ InterfaceID
+
+ The ID of the interface that should be unregistered.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Unregister-NetworkBondedInterface
+
+ InterfaceID
+
+ The ID of the interface that should be unregistered.
+
+ Int16
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface that should be unregistered.
+
+ Int16
+
+ Int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Unregister-NetworkBondedInterface -InterfaceID 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Interface=}
+Id : 1
+IPAddress :
+InterfaceType : Port
+GeoTrafficEnable : no
+DefaultInterface : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-AFEIDSRules
+
+ Upload a new ruleset.
+
+
+
+
+ Update
+ AFEIDSRules
+
+
+
+ To get updated or customized SNORT rules, please refer to the SNORT website: https://www.snort.org/.
+
+
+
+ Update-AFEIDSRules
+
+ Path
+
+ The path to the rules file to be uploaded in the format <Path>\<Filename.Extension>, for example C:\t\community-rules.tar.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Update-AFEIDSRules
+
+ Path
+
+ The path to the rules file to be uploaded in the format <Path>\<Filename.Extension>, for example C:\t\community-rules.tar.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the rules file to be uploaded in the format <Path>\<Filename.Extension>, for example C:\t\community-rules.tar.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-AFEIDSRules -Path C:\t\community-rules.tar
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-GeoDatabase
+
+ Install an updated GEO database patch file.
+
+
+
+
+ Update
+ GeoDatabase
+
+
+
+ Install an updated GEO database patch file.
+
+
+
+ Update-GeoDatabase
+
+ Path
+
+ The path to the patch file in the format path\filename.extension
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Update-GeoDatabase
+
+ Path
+
+ The path to the patch file in the format path\filename.extension
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the patch file in the format path\filename.extension
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-GeoDatabase –Path C:\Users\ExampleUser\Downloads\geodata.patch (1)\geodata.patch\geodata.patch_2017_03_01_0104
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-GeoIPBlacklistDatabase
+
+ Download the GEO IP blacklist database updates now.
+
+
+
+
+ Update
+ GeoIPBlacklistDatabase
+
+
+
+ To manually download updates to the GEO IP blacklist database, run this command.
+
+
+
+ Update-GeoIPBlacklistDatabase
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Update-GeoIPBlacklistDatabase
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-GeoIPBlacklistDatabase
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed. Download of new GEO IP Blacklist data successfully completed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed. Download of new GEO IP Blacklist data successfully completed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-LicenseOffline
+
+ License the LoadMaster using the offline method.
+
+
+
+
+ Update
+ LicenseOffline
+
+
+
+ Offline licensing requires a Binary Large OBject (BLOB) file which is provided by KEMP. The License BLOB is emailed to the customer when requested. Each time a license is updated a new BLOB is needed. The BLOB must be copied and pasted into a text file (in the following example the file is called license.txt).
+
+
+
+ Update-LicenseOffline
+
+ Path
+
+ The path to the license BLOB file, including the filename and extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Update-LicenseOffline
+
+ Path
+
+ The path to the license BLOB file, including the filename and extension.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+ The path to the license BLOB file, including the filename and extension.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-LicenseOffline -Path
+C:\ExamplePath\blob.txt
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-LicenseOnline
+
+ Update the LoadMaster's license online.
+
+
+
+
+ Update
+ LicenseOnline
+
+
+
+ Cause the LoadMaster to query the KEMP licensing system for an updated license.
+
+
+
+ Update-LicenseOnline
+
+ KempId
+
+ The email address you used when registering for a KEMP ID.
+
+ String
+
+
+ Password
+
+ The password of your KEMP ID account.
+
+ String
+
+
+ OrderId
+
+ The Orderid parameter is only needed for Virtual LoadMasters. The Order ID is provided by KEMP after a license is purchased.
+
+ String
+
+
+ http_proxy
+
+ You can optionally use a HTTP(S) proxy to connect to the licensing server. Specify the HTTP(S) proxy server and port, in the format <ProxyAddress>:<Port>.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Update-LicenseOnline
+
+ KempId
+
+ The email address you used when registering for a KEMP ID.
+
+ String
+
+
+ Password
+
+ The password of your KEMP ID account.
+
+ String
+
+
+ OrderId
+
+ The Orderid parameter is only needed for Virtual LoadMasters. The Order ID is provided by KEMP after a license is purchased.
+
+ String
+
+
+ http_proxy
+
+ You can optionally use a HTTP(S) proxy to connect to the licensing server. Specify the HTTP(S) proxy server and port, in the format <ProxyAddress>:<Port>.
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ KempId
+
+ The email address you used when registering for a KEMP ID.
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+ The password of your KEMP ID account.
+
+ String
+
+ String
+
+
+
+
+
+ OrderId
+
+ The Orderid parameter is only needed for Virtual LoadMasters. The Order ID is provided by KEMP after a license is purchased.
+
+ String
+
+ String
+
+
+
+
+
+ http_proxy
+
+ You can optionally use a HTTP(S) proxy to connect to the licensing server. Specify the HTTP(S) proxy server and port, in the format <ProxyAddress>:<Port>.
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-LicenseOnline -KempId exampleuser@examplecompany.com -Password examplepassword
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-LmDNSCache
+
+ WARNING: This function is deprecated. Use the following command instead:
+Update-NetworkDNSCache
+
+
+
+
+ Update
+ LmDNSCache
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Update-NetworkDNSCache
+
+
+
+ Update-LmDNSCache
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Update-LmDNSCache
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-LmDnsCache
+
+
+
+
+ Example Output:
+ReturnCode Data Response
+---------- ---- --------
+ 200 Command successfully executed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-NetworkDNSCache
+
+ Force a new resolution of DNS names.
+
+
+
+
+ Update
+ NetworkDNSCache
+
+
+
+ The LoadMaster will try to resolve the DNS names:
+• If the address is not found, or if it is the same as before – nothing is done (except a log entry is generated).
+• If the address is different, the Real Server entry will be updated with the new address, if possible.
+• If the new address is invalid for some reason, for example if it is a non-local address and the Non-Local Real Servers setting has been disabled, no changes are made and a log is generated.
+
+
+
+ Update-NetworkDNSCache
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Update-NetworkDNSCache
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-NetworkDNSCache
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-WafRulesDatabase
+
+ Manually trigger the installation of downloaded rules.
+
+
+
+
+ Update
+ WafRulesDatabase
+
+
+
+ Manually trigger the installation of downloaded Web Application Firewall (WAF) rules.
+
+
+
+ Update-WafRulesDatabase
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ Update-WafRulesDatabase
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-WafRulesDatabase
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UploadAddon
+
+ WARNING: This function is deprecated. Use the following command instead:
+Install-LmAddon
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Install-LmAddon
+
+
+
+ UploadAddon
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ UploadAddon
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UploadRSAConfigurationFile
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SSODomainSession
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-SSODomainSession
+
+
+
+ UploadRSAConfigurationFile
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ UploadRSAConfigurationFile
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UploadRSANodeSecretAndPassword
+
+ WARNING: This function is deprecated. Use the following command instead:
+Stop-SSODomainSession
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Stop-SSODomainSession
+
+
+
+ UploadRSANodeSecretAndPassword
+
+ Password
+
+
+
+ String
+
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ UploadRSANodeSecretAndPassword
+
+ Password
+
+
+
+ String
+
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Password
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UploadTemplate
+
+ WARNING: This function is deprecated. Use the following command instead:
+Install-Template
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Install-Template
+
+
+
+ UploadTemplate
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ UploadTemplate
+
+ Path
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ Path
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UserChangeLocalPassword
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecUserPassword
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecUserPassword
+
+
+
+ UserChangeLocalPassword
+
+ User
+
+
+
+ String
+
+
+ Password
+
+
+
+ String
+
+
+ Radius
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ UserChangeLocalPassword
+
+ User
+
+
+
+ String
+
+
+ Password
+
+
+
+ String
+
+
+ Radius
+
+
+
+ Int32
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ User
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Password
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Radius
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UserSetPermissions
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecUserPermission
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecUserPermission
+
+
+
+ UserSetPermissions
+
+ User
+
+
+
+ String
+
+
+ Permissions
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ UserSetPermissions
+
+ User
+
+
+
+ String
+
+
+ Permissions
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ User
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Permissions
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UserSetSystemPassword
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecSystemUserPassword
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Set-SecSystemUserPassword
+
+
+
+ UserSetSystemPassword
+
+ CurrentPassword
+
+
+
+ String
+
+
+ NewPassword
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ CurrentPassword
+
+
+
+ String
+
+ String
+
+
+
+
+
+ NewPassword
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VSAddWafRule
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcVsWafRule
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+New-AdcVsWafRule
+
+
+
+ VSAddWafRule
+
+ VS
+
+ The IP address of the relevant Virtual Service.
+
+ String
+
+
+ VSPort
+
+
+
+ String
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ Rule
+
+ Specify the name of the rule to be assigned.
+The rule name must be preceded with a letter/word and a forward slash. The letter used depends on the type of rule being added:
+ - C or Custom
+ - Z or ApplicationGeneric
+ - A or ApplicationSpecific
+ - G or Generic
+
+ String
+
+
+ Enablerules
+
+
+
+ String
+
+
+ Disablerules
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ VSAddWafRule
+
+ VS
+
+ The IP address of the relevant Virtual Service.
+
+ String
+
+
+ VSPort
+
+
+
+ String
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ Rule
+
+ Specify the name of the rule to be assigned.
+The rule name must be preceded with a letter/word and a forward slash. The letter used depends on the type of rule being added:
+ - C or Custom
+ - Z or ApplicationGeneric
+ - A or ApplicationSpecific
+ - G or Generic
+
+ String
+
+
+ Enablerules
+
+
+
+ String
+
+
+ Disablerules
+
+
+
+ String
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VS
+
+ The IP address of the relevant Virtual Service.
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Rule
+
+ Specify the name of the rule to be assigned.
+The rule name must be preceded with a letter/word and a forward slash. The letter used depends on the type of rule being added:
+ - C or Custom
+ - Z or ApplicationGeneric
+ - A or ApplicationSpecific
+ - G or Generic
+
+ String
+
+ String
+
+
+
+
+
+ Enablerules
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Disablerules
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Port
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ string
+
+ string
+
+
+
+
+
+ Prot
+
+ Specifies the communication protocol of the Virtual Service. Valid options are TCP or UDP.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The rule name must be preceded with the relevant letter/word and a forward slash. The letter/word used depends on the type of rule being assigned.
+ This is case sensitive. The letter/word needs to be in the correct case for the command to work.
+ • C or Custom
+ • Z or ApplicationGeneric
+ • A or ApplicationSpecific
+ • G or Generic
+ Multiple rules can be assigned in the same command by separating them with a space.
+ An invalid rule error will display if the name of the rule is not entered correctly, if the preceding letter is incorrect, or if the does not exist in the LoadMaster.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ VSAddWafRule -VS 10.11.0.31 -Port 80 -Prot tcp -Rule C/modsecurity_crs_11_brute_force
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VSListWafRuleIds
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcVsWafRule
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-AdcVsWafRule
+
+
+
+ VSListWafRuleIds
+
+ VS
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ String
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ Rule
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ VSListWafRuleIds
+
+ VS
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ String
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ Rule
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VS
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Rule
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VSRemoveWafRule
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcVsWafRule
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Remove-AdcVsWafRule
+
+
+
+ VSRemoveWafRule
+
+ VS
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ String
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ Rule
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ Credential
+
+
+
+ Object
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+ VSRemoveWafRule
+
+ VS
+
+
+
+ String
+
+
+ VSPort
+
+
+
+ String
+
+
+ VSProtocol
+
+
+
+ String
+
+
+ Rule
+
+
+
+ String
+
+
+ LoadBalancer
+
+
+
+ String
+
+
+ LBPort
+
+
+
+ Int32
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+
+ SubjectCN
+
+
+
+ String
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+
+ InformationVariable
+
+
+
+ String
+
+
+
+
+
+ VS
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSPort
+
+
+
+ String
+
+ String
+
+
+
+
+
+ VSProtocol
+
+
+
+ String
+
+ String
+
+
+
+
+
+ Rule
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LoadBalancer
+
+
+
+ String
+
+ String
+
+
+
+
+
+ LBPort
+
+
+
+ Int32
+
+ Int32
+
+
+
+
+
+ Credential
+
+
+
+ Object
+
+ Object
+
+
+
+
+
+ InformationAction
+
+
+
+ ActionPreference
+
+ ActionPreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ String
+
+ String
+
+
+
+
+
+ CertificateStoreLocation
+
+
+
+ String
+
+ String
+
+
+
+
+
+ SubjectCN
+
+
+
+ String
+
+ String
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-TlsHSMCACert
+
+ Allows you to upload the CA certificate that has been downloaded from the HSM.
+
+
+
+
+
+
+
+
+
+ Allows you to upload the CA certificate that has been downloaded from the HSM.
+
+
+
+
+
+ Path
+
+ The path to the certificate file followed by a backslash and the certificate file name followed by the file extension (.pem).
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-TlsHSMCACert –Path <Path\CertificateFileName.pem>
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-ClusterAwsHaConfiguration
+
+ Retrieve the AWS High Availability (HA) parameters.
+
+
+
+
+
+
+
+
+
+ Retrieve the AWS High Availability (HA) parameters.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-KEMPClusterAwsHaConfiguration
+
+
+
+
+ Example Output:
+AwsHA
+-----
+single,unset,unset
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-ClusterAzureHAConfiguration
+
+ Retrieves the Azure High Availability (HA) parameters.
+
+
+
+
+
+
+
+
+
+ Retrieves the Azure High Availability (HA) parameters.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-ClusterAzureHAConfiguration
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-ClusterHAConfiguration
+
+ Allows you to view the values of High Availability (HA) options.
+
+
+
+
+
+
+
+
+
+ Allows you to view the values of High Availability (HA) options.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and does not return all of the available parameters. Please refer to the Get-Help of the Get-Parameter command to view a full list of parameters that can be returned.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-ClusterHAConfiguration
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+
+
+hamode : HA Second
+hatimeout : 3
+hawait : 0
+havhid : 0
+haprefered : No Preferred Host
+haif : 0
+hal4update : no
+hal7update : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-ClusterHAMode
+
+ Retrieve the High Availability (HA) mode.
+
+
+
+
+
+
+
+
+
+ The HA mode is one of the following options:
+0 – HA mode disabled
+1 – HA 1 mode
+2 – HA 2 mode
+3 – System is using cloud HA
+4 – System is in a cluster
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-ClusterHAMode
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed; Data=}
+Return Code..: 200
+Response.....: Command successfully executed
+HaMode : 2
+HaDescription : HA Second
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-ClusterAwsHAConfiguration
+
+ Set the Amazon Web Services (AWS) High Availability (HA) options.
+
+
+
+
+
+
+
+
+
+ Set the AWS HA options, such as the health check port and partner address.
+
+
+
+
+
+ Partner
+
+ Address of the HA partner.
+
+ string
+
+ string
+
+
+
+
+
+ Hcp
+
+ The port over which the health check is run. This needs to be the same on both the master and the slave units in order for HA to function correctly.
+
+ string
+
+ string
+
+
+
+
+
+ haprefered
+
+
+
+ int32
+
+ int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterAwsHAConfiguration –Hcp 443 –Partner <PartnerIPAddress>
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-ClusterAwsHAMode
+
+ Allows you to specify the Amazon Web Services (AWS) HA mode.
+
+
+
+
+
+
+
+
+
+ Allows you to specify the Amazon Web Services (AWS) HA mode, for example, master HA Mode, slave HA Mode or Non-HA mode.
+
+
+
+
+
+ HAMode
+
+ Specifies the HA mode. Valid values are:
+ - master
+ - slave
+ - single
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterAwsHAMode –HAMode master
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-ClusterAzureHAConfiguration
+
+ Allows you to set the other Azure HA options: health check port and partner address.
+
+
+
+
+
+
+
+
+
+ Allows you to set the other Azure HA options: health check port and partner address.
+
+
+
+
+
+ Partner
+
+ Address of the HA partner.
+
+ string
+
+ string
+
+
+
+
+
+ Hcp
+
+ The port over which the health check is run. This needs to be the same on both the master and the slave units in order for HA to function correctly.
+
+ string
+
+ string
+
+
+
+
+
+ haprefered
+
+
+
+ int32
+
+ int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterAzureHAConfiguration –Hcp 443 –Partner <PartnerIPAddress>
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-ClusterAzureHAMode
+
+ Allows you to specify the Azure HA mode.
+
+
+
+
+
+
+
+
+
+ Allows you to specify the Azure HA mode. For example, Master HA Mode, Slave HA Mode or Non-HA Mode (single).
+
+
+
+
+
+ HAMode
+
+ Specifies the HA mode. Valid options are master, slave or single.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterAzureHAMode –HAMode master
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-ClusterHAConfiguration
+
+ Allows you to set the values of High Availability (HA) options.
+
+
+
+
+
+
+
+
+
+ Allows you to set the values of High Availability (HA) options.
+
+
+
+
+
+ hatimeout
+
+ The time the master must be unavailable before a switchover occurs. The valid predetermined time intervals are listed below (in seconds):
+3
+6
+9
+12
+15
+
+ int16
+
+ int16
+
+
+
+
+
+ hawait
+
+ This is how long (in seconds) after the initial boot, before the LoadMaster becomes active. If the partner machine is running this value is ignored. This value can be changed to mitigate the time taken for some intelligent switches to detect that the LoadMaster has started and to bring up the link.
+
+ int16
+
+ int16
+
+
+
+
+
+ havhid
+
+ When using multiple HA LoadMasters on the same network, this value identifies each cluster so that there are no potential unwanted interactions.
+
+ int16
+
+ int16
+
+
+
+
+
+ haprefered
+
+ By default, neither partner in a HA cluster has priority. When a machine restarts after a switchover that machine becomes a slave. Specifying a preferred host means that when this machine restarts it will always become the master and the partner will revert to slave mode.
+
+ string
+
+ string
+
+
+
+
+
+ haif
+
+ The network interface used when synchronising the configuration between the members of the HA cluster.
+
+ int16
+
+ int16
+
+
+
+
+
+ hal4update
+
+
+
+ boolean
+
+ boolean
+
+
+
+
+
+ hal7update
+
+
+
+ boolean
+
+ boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ HAInitial
+
+ Perform extra network checks at boot time. This may cause instability and should not be used.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ HAStyle
+
+ By default, the system uses a version of VRRP (carp) to check the status of the partner. The system can also support the legacy Heartbeat program. This option only takes effect when both machines are rebooted.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ MCast
+
+ The network interface used for multicast traffic which is used to synchronize Layer 4 and Layer 7 traffic when Inter HA Updates are enabled.
+
+ int16
+
+ int16
+
+
+
+
+
+ Vmac
+
+ This option creates a shared MAC address for both units. When failover occurs, the LoadMaster handles the MAC address handover too. This allows the switches to keep the MAC address and not worry about ARP caches or stale records.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ TCPFailover
+
+ When using L4 services, enabling updates allows L4 connection maintenance across a HA switchover. This option is ignored for L7 services.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ CookieUpdate
+
+ When using L7 services, enabling this option allows sharing of persistency information between HA partners. If a HA switchover occurs, the persistency information will then not be lost. Enabling this option can have a significant performance impact.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ FinalPersist
+
+ When a Real Server is disabled, the sessions persisting on that Real Server continue to be served until the Drain Time has expired or until no more sessions are being handled by the Real Server. No new sessions will be handled by the Real Server.
+
+ int32
+
+ int32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and cannot be used to set all of the available parameters. Please refer to the Get-Help of the Set-Parameter command to view a full list of parameters that can be configured.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterHAConfiguration -HATimeout 3
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+hatimeout : 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-ClusterHAMode
+
+ Set the High Availability (HA) mode.
+
+
+
+
+
+
+
+
+
+ Set the HA mode.
+
+
+
+
+
+ HaMode
+
+ The HA mode can be one of the following options:
+SingleMode - Non-HA mode
+First - HA 1 mode
+Second - HA 2 mode
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterHAMode -HaMode SingleMode
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-PacketFilterOption
+
+ Retrieves the value of the Packet Routing Filter option.
+
+
+
+
+
+
+
+
+
+ Retrieves the value of the Packet Routing Filter option. This can also be used to determine whether packet filtering is enabled.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ Option
+
+ The following packet filtering options are supported: enable, drop or ifblock
+ The "enable" option indicates whether packet filtering is enabled or disabled on the LoadMaster. Note that packet filtering is enabled by default and cannot be disabled if the GEO feature is enabled.
+ If packet filtering is enabled, the "drop" option indicates whether the LoadMaster silently drops blocked packets or rejects them by responding with an ICMP reject packet. For security reasons it is usually best to drop any blocked packets silently.
+ If packet filtering is enabled, the "ifblock" option indicates whether the LoadMaster restricts network traffic by imposing restrictions upon routing between attached subnets.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-PacketFilterOption -Option enable
+
+
+
+
+ Example Output:
+aclstatus
+---------
+enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-GlobalPacketFilterAddr
+
+ Adds an address to the global black or white list.
+
+
+
+
+
+
+
+
+
+ Adds a host or network IP address to the global black or white Access Control List (ACL). Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+
+
+ Type
+
+ Specifies the access control list type: black or white.
+
+ string
+
+ string
+
+
+
+
+
+ Address
+
+ Specifies a host or network IP address to add to the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ string
+
+ string
+
+
+
+
+
+ Comment
+
+ Optionally add a comment about the entry. This parameter accepts a maximum of 127 characters.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-GlobalPacketFilterAddr -Type black -Address 10.35.47.16
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GlobalPacketFilterAddr
+
+ Removes an address from the global black or white list.
+
+
+
+
+
+
+
+
+
+ Removes a host or network IP address from the global black or white access control list. Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+
+
+ Type
+
+ Specifies the access control list type: "black" or "white".
+
+ string
+
+ string
+
+
+
+
+
+ Address
+
+ Specifies a host or network IP address to remove from the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GlobalPacketFilterAddr -Address 10.154.11.197 -Type black
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-PacketFilterOption
+
+ Sets a packet filtering option.
+
+
+
+
+
+
+
+
+
+ Sets a packet filtering option. This can also be used to enable or disable packet filtering. Note that packet filtering cannot be disabled if the GEO feature is enabled.
+
+
+
+
+
+ Option
+
+ The following packet filtering options are supported: enable, drop or ifblock
+ The "enable" option indicates whether packet filtering is enabled or disabled on the LoadMaster. Note that packet filtering is enabled by default and cannot be disabled if the GEO feature is enabled.
+ If packet filtering is enabled, the "drop" option indicates whether the LoadMaster silently drops blocked packets or rejects them by responding with an ICMP reject packet. For security reasons it is usually best to drop any blocked packets silently.
+ If packet filtering is enabled, the "ifblock" option indicates whether the LoadMaster restricts network traffic by imposing restrictions upon routing between attached subnets.
+
+ string
+
+ string
+
+
+
+
+
+ Value
+
+ Specify whether to enable or disable the specified Option:
+ 0 – Disabled
+ 1 – Enabled
+
+ boolean
+
+ boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-PacketFilterOption -Option drop -Value 0
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-AdcHttpCacheException
+
+ Allows you to add an extension to the 'Do Not Cache' extension list.
+
+
+
+
+
+
+
+
+
+ Allows you to add an extension to the 'Do Not Cache' extension list.
+
+
+
+
+
+ Extension
+
+ The file extension that should not be cached. (e.g. ".jpg") The extension must start with a "." A collection of extensions can be provided through the pipeline.
+
+ string[]
+
+ string[]
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-AdcHttpCacheException -Extension .mp4
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-AdcHttpCompressionException
+
+ Allows you to add an extension to the 'Do Not Compress' extension list.
+
+
+
+
+
+
+
+
+
+ Allows you to add an extension to the 'Do Not Compress' extension list.
+
+
+
+
+
+ Extension
+
+ The file extension that should not be compressed. (e.g. ".jpg") The extension must start with a ".". A collection of extensions can be provided through the pipeline. This parameter is required.
+
+ string[]
+
+ string[]
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-AdcHttpCompressionException -Extension .mp4
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-AdcVsWafRule
+
+ Assign a Web Application Firewall (WAF) rule to a Virtual Service.
+
+
+
+
+
+
+
+
+
+ This command assigns the specified rule to the Virtual Service.
+
+
+
+
+
+ VS
+
+ The IP address of the Virtual Service to add the rule to.
+
+ string
+
+ string
+
+
+
+
+
+ VSPort
+
+ The port number of the Virtual Service to add the rule to.
+
+ string
+
+ string
+
+
+
+
+
+ VSProtocol
+
+ The protocol of the Virtual Service to add the rule to.
+
+ string
+
+ string
+
+
+
+
+
+ Rule
+
+ The <RuleName> must be preceded with the relevant letter or word and a forward slash. The letter/word used depends on the type of rule being added:
+C or Custom
+Z or ApplicationGeneric
+A or ApplicationSpecific
+G or Generic
+ This is case sensitive. The letter/word needs to be in in the correct case for the command to work.
+ Multiple rules can be assigned in the same command by separating them with a space (or %20).
+
+ string
+
+ string
+
+
+
+
+
+ Enablerules
+
+ Specific rules can be enabled per ruleset by including the enablerules parameter and specifying the rule IDs to be enabled.
+
+ string
+
+ string
+
+
+
+
+
+ Disablerules
+
+ Multiple rules can be disabled/enabled in the one command by specifying a comma-separated list of IDs for the disablerules/enablerules parameter.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-AdcVsWafRule -Rule G/ip_reputation -VS 10.35.47.16 -VSPort 80 -VSProtocol tcp
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-ClusterNode
+
+ Adds a single node LoadMaster (which is available to be added) to the cluster.
+
+
+
+
+
+
+
+
+
+ Adds a single node LoadMaster (which is available to be added) to the cluster.
+
+
+
+
+
+ Address
+
+ The IP address of the node LoadMaster.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ The IP address of the KEMP LoadMaster that you are directing the command to. This can be set globally by using the Initialize-LmConnectionParameters command, but can be overridden on each individual command by using this parameter.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ The port of the load balancer.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ Specifies a user account that has permission to administer the load balancer. You can either enter a username for the load balancer or provide a PSCredential object, such as an object that is returned by the Get-Credential cmdlet. When you type a username, you are prompted for a password.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Before running this command, the node LoadMaster needs to be be available to be added.
+To make the node LoadMaster available, run the NMJoinCluster command.
+If the Add-ClusterNode command is run when the node LoadMaster is not available, an error will be returned which says that the machine could not be contacted.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-ClusterNode -Address 10.154.11.20
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-LmIPConnectionLimit
+
+ Allows you to add an IP address to be limited.
+
+
+
+
+
+
+
+
+
+ Allows you to add an IP address to be limited.
+
+
+
+
+
+ L7addr
+
+ Add the IP address or network to be limited.
+
+ string
+
+ string
+
+
+
+
+
+ L7limit
+
+ Limit the number of connection attempts (per second) from a specific host/network.
+
+ int32
+
+ int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-LmIPConnectionLimit -L7addr 10.10.10.10 -L7limit 25
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-NetworkBondedInterface
+
+ Add a standalone interface to a bonded interface.
+
+
+
+
+
+
+
+
+
+ Add a standalone interface to a bonded interface.
+
+
+
+
+
+ InterfaceID
+
+ The Interface ID that should be bound to the Bonded Interface. To view the interface ID for each of the interfaces, run the Get-LogStatistics command. The interface ID is the first number displayed in each interface row.
+
+ int16
+
+ int16
+
+
+
+
+
+ BondID
+
+ The Bonded Interface ID that the network interface should be bound to.
+
+ int16
+
+ int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-NetworkBondedInterface -BondID 0 -InterfaceID 0
+
+
+
+
+ Example Output:
+Mtu : 1500
+InterfaceType : Bonded
+Id : 1
+DefaultInterface : no
+BondMembers : 1,2
+GeoTrafficEnable : no
+NBondMembers : 2
+Mode : 802.3ad
+IPAddress : 172.22.56.102/24
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-NetworkInterfaceAdditionalAddress
+
+ Add an additional address to an interface.
+
+
+
+
+
+
+
+
+
+ Specify an additional address to be used on the interface.
+
+
+
+
+
+ InterfaceID
+
+ The ID number of the interface to add the additional address to.
+
+ int16
+
+ int16
+
+
+
+
+
+ Address
+
+ The additional address to be added.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-NetworkInterfaceAdditionalAddress -Address 10.154.11.22
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Id : 0
+IPAddress : 10.154.11.180/16
+Mtu : 1400
+AdditionalAddresses : @{IPaddress=10.154.11.22/16}
+InterfaceType : Port
+GeoTrafficEnable : yes
+DefaultInterface : yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-NetworkVLAN
+
+ Allows you to add a Virtual LAN.
+
+
+
+
+
+
+
+
+
+ Allows you to add a Virtual LAN.
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface to be added to the VLAN.
+
+ int16
+
+ int16
+
+
+
+
+
+ VLanId
+
+
+
+ int16
+
+ int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ VLAN
+
+ The VLAN that the specified interface should be added to.
+
+ int16
+
+ int16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-NetworkVLAN -InterfaceID 1 -VLAN 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Interface=}
+Id : 2
+IPAddress :
+VlanId : 1
+RealInterface : 1
+InterfaceType : Vlan
+GeoTrafficEnable : no
+DefaultInterface : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-NetworkVxLAN
+
+ Creates a new VXLAN interface.
+
+
+
+
+
+
+
+
+
+ Creates a new VXLAN interface.
+
+
+
+
+
+ InterfaceID
+
+ The ID of the interface to add the VXLAN to.
+
+ int16
+
+ int16
+
+
+
+
+
+ VNI
+
+
+
+ int32
+
+ int32
+
+
+
+
+
+ Addr
+
+ The multicast group or remote address.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ VXLAN
+
+ The VXLAN Network Identifier.
+
+ int32
+
+ int32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-NetworkVxLAN -Addr 10.154.11.34 -InterfaceID 1 -VNI 1
+
+
+
+
+ Example Output:
+Full response: @{ReturnCode=200; Response=Command successfully executed.; Data=}
+Return Code..: 200
+Response.....: Command successfully executed.
+Data field...: @{Interface=}
+Id : 2
+IPAddress :
+VNI : 1
+RemoteAddress : 10.154.11.34
+RealInterface : 1
+InterfaceType : VXlan
+GeoTrafficEnable : no
+DefaultInterface : no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-SdnController
+
+ Used to add an SDN controller to the LoadMaster.
+
+
+
+
+
+
+
+
+
+ Used to add an SDN controller to the LoadMaster.
+
+
+
+
+
+ IPV4
+
+ The IPv4 address of the SDN controller.
+
+ string
+
+ string
+
+
+
+
+
+ Port
+
+ The port of the SDN controller.
+
+ int32
+
+ int32
+
+
+
+
+
+ Clid
+
+ The cluster ID for the new SDN controller. If a number is specified, the SDN controller will be added to the cluster with the relevant ID number. The cluster with the ID number specified must already exist.
+If a number is not specified, the SDN controller will be added to a new cluster.
+
+ int32
+
+ int32
+
+
+
+
+
+ Https
+
+ The HTTP method to use.
+0 - HTTP
+1 - HTTPS
+
+ boolean
+
+ boolean
+
+
+
+
+
+ User
+
+ The username to be used to access the SDN controller RESTful API.
+
+ string
+
+ string
+
+
+
+
+
+ Password
+
+ The password to be used to access the SDN controller RESTful API.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-SdnController -IPV4 10.154.11.28 -Port 8443 -Https 1 -Password examplepassword -User exampleuser
+
+
+
+
+ Example Output:
+port : 8443
+ipv4 : 10.154.11.28
+user : exampleuser
+password : ***************
+https : yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-WafCustomRuleData
+
+ Allows you to upload a custom rule data file to the LoadMaster.
+
+
+
+
+
+
+
+
+
+ Allows you to upload a custom rule data file to the LoadMaster.
+
+
+
+
+
+ Filename
+
+ The filename of the custom rule data file followed by the file extension (.data).
+
+ string
+
+ string
+
+
+
+
+
+ Path
+
+ The path where the custom rule data file is stored followed by a back slash and the filename/extension.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-WafCustomRuleData -Filename modsecurity_40_generic_attacks.data -Path "C:\modsecurity-crs_2.2.5\modsecurity-crs_2.2.5\base_rules\modsecurity_40_generic_attacks.data"
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-WafCustomRuleSet
+
+ Allows you to upload custom AFP rulefiles or a rule set to the LoadMaster.
+
+
+
+
+
+
+
+
+
+ Allows you to upload custom AFP rulefiles or a rule set to the LoadMaster.
+
+
+
+
+
+ Filename
+
+ The desired rule name to be displayed on the WUI. This is only relevant for individual rule files.
+
+ string
+
+ string
+
+
+
+
+
+ Path
+
+ The path to the custom rule file(s) or rule set file followed by a forward slash and then the filename.extension.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-WafCustomRuleSet -Filename SpiderLabs-owasp-modsecurity-crs-2.2.9-5-gebe8790.tar.gz -Path "C:\SpiderLabs-owasp-modsecurity-crs-2.2.9-5-gebe8790.tar.gz"
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-VpnIkeDaemonStatus
+
+ Allows you to view the status of the IKE daemon.
+
+
+
+
+
+
+
+
+
+ Allows you to view the status of the IKE daemon.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-VpnIkeDaemonStatus
+
+
+
+
+ Example Output:
+status
+------
+Up
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-VpnAddrs
+
+ Allows you to set the VPN addresses at the same time.
+
+
+
+
+
+
+
+
+
+ Allows you to set the VPN addresses at the same time.
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ LocalIp
+
+ In non-HA mode, the default is the LoadMaster IP address, i.e. the IP address of the default gateway interface.
+In HA-mode, the default is the shared IP address.
+
+ string
+
+ string
+
+
+
+
+
+ LocalSubnets
+
+ When the LocalIp is set, the LocalSubnet is automatically populated. Multiple local subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ string
+
+ string
+
+
+
+
+
+ RemoteIp
+
+ Set the IP address for the remote side of the connection.
+
+ string
+
+ string
+
+
+
+
+
+ RemoteSubnets
+
+ Set the subnet for the remote side of the connection. Multiple remote subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-VpnAddrs -LocalIp 10.11.0.11 -LocalSubnets 10.11.0.12 -Name ExampleVPN -RemoteIp 10.11.0.13 -RemoteSubnets 10.11.0.14
+
+
+
+
+ Example Output:
+status : Down
+localIP : 10.11.0.11
+localSubnets : 10.11.0.12/32
+remoteIP : 10.11.0.13
+remoteSubnets : 10.11.0.14/32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-VpnLocalIp
+
+ Allows you to set the local IP address of a VPN.
+
+
+
+
+
+
+
+
+
+ Allows you to set the local IP address of a VPN.
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ LocalIp
+
+ In non-HA mode, the default is the LoadMaster IP address, i.e. the IP address of the default gateway interface.
+In HA-mode, the default is the shared IP address.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-VpnLocalIp -LocalIp 10.11.0.11 -Name ExampleVPN
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-VpnLocalSubnet
+
+ Allows you to set the Local Subnet Address(es).
+
+
+
+
+
+
+
+
+
+ Allows you to set the Local Subnet Address(es).
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ LocalSubnets
+
+ When the LocalIp is set, the LocalSubnet is automatically populated. Multiple local subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-VpnLocalSubnet -LocalSubnets 10.11.0.11 -Name ExampleVPN
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-VpnPfsDisable
+
+ Allows you to disable the Perfect Forward Secrecy option for a particular VPN connection.
+
+
+
+
+
+
+
+
+
+ Allows you to disable the Perfect Forward Secrecy option for a particular VPN connection.
+
+
+
+
+
+ Name
+
+ The name of the VPN connection.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-VpnPfsDisable -Name ExampleConnection
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-VpnPfsEnable
+
+ Allows you to enable the Perfect Forward Secrecy option for a particular VPN connection.
+
+
+
+
+
+
+
+
+
+ Allows you to enable the Perfect Forward Secrecy option for a particular VPN connection.
+
+
+
+
+
+ Name
+
+ The name of the VPN connection.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.ertificate is searched for in the default Cert:\CurrentUser\My location.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-VpnPfsEnable -Name ExampleConnection
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-VpnRemoteIp
+
+ Allows you to set the Remote IP Address of the specified VPN.
+
+
+
+
+
+
+
+
+
+ Allows you to set the Remote IP Address of the specified VPN.
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ RemoteIp
+
+ Set the IP address for the remote side of the connection.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-VpnRemoteIp -Name ExampleVPN -RemoteIp 10.11.0.12
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-VpnRemoteSubnet
+
+ Allows you to set the Remote Subnet Address(es) of the specified VPN.
+
+
+
+
+
+
+
+
+
+ Allows you to set the Remote Subnet Address(es) of the specified VPN.
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ RemoteSubnets
+
+ Set the subnet for the remote side of the connection. Multiple remote subnets can be specified using a comma-separated list. Up to 10 IP addresses can be specified.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-VpnRemoteSubnet -Name ExampleVPN -RemoteSubnets 10.11.0.13
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-VpnSecret
+
+ Allows you to set the connection secret details of the specified VPN.
+
+
+
+
+
+
+
+
+
+ Allows you to set the connection secret details of the specified VPN.
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ LocalId
+
+ Identification for the local side of the connection.
+
+ string
+
+ string
+
+
+
+
+
+ RemoteId
+
+ Identification for the remote side of the connection. This can be the remoteip.
+
+ string
+
+ string
+
+
+
+
+
+ Key
+
+ The Pre Shared Key (PSK) string. This is the Shared key which is generated and managed on the Azure side. The key length should be at least 16 and at most 64 characters.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-VpnSecret -Key examplepresharedkey -LocalId 10.11.0.11 -Name ExampleVPN -RemoteId 10.11.0.12
+
+
+
+
+ Example Output:
+status localID remoteID key
+------ ------- -------- ---
+Down 10.11.0.11 10.11.0.12 examplepresharedkey
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Start-VpnConnection
+
+ Allows you to start the connection of specified VPN.
+
+
+
+
+
+
+
+
+
+ Allows you to start the connection of specified VPN.
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Start-VpnConnection -Name ExampleVPN
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Start-VpnIkeDaemon
+
+ Starts the IKE daemon.
+
+
+
+
+
+
+
+
+
+ Starts the IKE daemon.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Start-VpnIkeDaemon
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stop-VpnConnection
+
+ Allows you to stop the connection of specified VPN.
+
+
+
+
+
+
+
+
+
+ Allows you to stop the connection of specified VPN.
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Stop-VpnConnection -Name ExampleVPN
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stop-VpnIkeDaemon
+
+ Allows you to stop the Internet Key Exchange (IKE) daemon.
+
+
+
+
+
+
+
+
+
+ Allows you to stop the Internet Key Exchange (IKE) daemon.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Stop-VpnIkeDaemon
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-GlobalPacketFilterAddr
+
+ Adds an address to the global black or white list.
+
+
+
+
+
+
+
+
+
+ Adds a host or network IP address to the global black or white Access Control List (ACL). Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+
+
+ Type
+
+ Specifies the access control list type: "black" or "white".
+
+ string
+
+ string
+
+
+
+
+
+ Address
+
+ Specifies a host or network IP address to add to the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ string
+
+ string
+
+
+
+
+
+ Comment
+
+ Optionally add a comment about the entry. This parameter accepts a maximum of 127 characters.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-GlobalPacketFilterAddr -Address 10.154.11.197 -Type black
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-GeoCountry
+
+ Assigns a country or continent to an IP address in an FQDN which has the Selection Criteria set to Location Based.
+
+
+
+
+
+
+
+
+
+ Assigns a country or continent to an IP address in an FQDN which has the Selection Criteria set to Location Based.
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ string
+
+ string
+
+
+
+
+
+ IP
+
+ IP address of the map to be modified.
+
+ string
+
+ string
+
+
+
+
+
+ CountryCode
+
+ Two-letter country or continent code for the country/continent to be assigned.
+The country code and continent codes used are the standard ISO codes.
+To specify everywhere as the country, type ALL as the country code and set the IsContinent parameter to yes.
+
+ string
+
+ string
+
+
+
+
+
+ IsContinent
+
+ Some country codes and continent codes are the same, for example AF could mean Africa or Afghanistan. You must specify in this parameter if the code is for a country or continent.
+ yes – code is for a continent
+no – code is for a country
+
+ string
+
+ string
+
+
+
+
+
+ CustomLocation
+
+ The name of an existing custom location.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-GeoCountry –CountryCode <TwoCharacterCountryCode> -FQDN <FQDNName> -IP <IPAddress> -IsContinent <yes/no>
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-GeoCustomLocation
+
+ Creates a custom GEO location which can be selected when using the Location Based selection criteria.
+
+
+
+
+
+
+
+
+
+ Creates a custom GEO location which can be selected when using the Location Based selection criteria.
+
+
+
+
+
+ Location
+
+ The name of the custom location.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-GeoCustomLocation –Location <LocationName>
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-GeoFQDNSiteAddress
+
+ Allows you to add an IP address to an FQDN.
+
+
+
+
+
+
+
+
+
+ Allows you to add an IP address to an FQDN.
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ string
+
+ string
+
+
+
+
+
+ IP
+
+ IPv4 or IPv6 address to be added to the FQDN.
+
+ string
+
+ string
+
+
+
+
+
+ Cluster
+
+ If needed, enter the cluster name where the IP address is located.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-GeoFQDNSiteAddress –FQDN <FQDNName> -IP <IPAddress> -Cluster <ClusterName>
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-GeoIPWhitelist
+
+ Add an IP address or network to the whitelist.
+
+
+
+
+
+
+
+
+
+ Run this command to add an IP address or network to the user-defined whitelist. The whitelist entries override the blacklist.
+
+
+
+
+
+ Addr
+
+ The address or network to be added to the GEO Access Control whitelist.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-GeoIPWhitelist -Addr 10.154.11.34
+
+
+
+
+ Example Output:
+ReturnCode Data Response
+---------- ---- --------
+ 200 Command successfully executed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-VSPacketFilterAddr
+
+ Adds an address to the black or white list for a Virtual Service.
+
+
+
+
+
+
+
+
+
+ Adds a host or network IP address to the black or white access control list for a specific Virtual Service. Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ string
+
+ string
+
+
+
+
+
+ Port
+
+ Specifies the Virtual Service port number.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ Specifies the Virtual Service protocol: "tcp" or "udp".
+
+ string
+
+ string
+
+
+
+
+
+ Type
+
+ Specify the type of list:
+- black: blocked addresses
+- white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ string
+
+ string
+
+
+
+
+
+ Address
+
+ Specifies a host or network IP address to add to the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ string
+
+ string
+
+
+
+
+
+ Comment
+
+ Optionally specify a comment in relation to the list entry.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-VSPacketFilterAddr -Address 10.124.5.69 -Port 80 -Protocol tcp -Type white -VirtualService 10.154.11.181 -Comment "Example comment"
+
+
+
+
+ Example Output:
+ReturnCode Response Data
+---------- -------- ----
+ 200 Command successfully executed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-GeoSingleFQDN
+
+ Retrieve details for a specific FQDN.
+
+
+
+
+
+
+
+
+
+ This command will display the settings for the specified FQDN.
+
+
+
+
+
+ FQDN
+
+ Specify the name of the FQDN to display the details for.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-GeoSingleFQDN -FQDN example.com
+
+
+
+
+ Example Output:
+Mapping : 0
+publicRequestValue : 0
+SiteRecoveryMode : auto
+failover : N
+SelectionCriteria : lb
+privateRequestValue : 0
+Status : Up
+FullyQualifiedDomainName : example.com.
+FailTime : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-LmMiscParameter
+
+ Displays the values of the miscellaneous GEO parameters.
+
+
+
+
+
+
+
+
+
+ Displays the values of the miscellaneous GEO parameters.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-LmMiscParameter
+
+
+
+
+ Example Output:
+SourceOfAuthority : example.
+TTL : 100
+CheckInterval : 120
+Persist : 10
+RetryAttempts : 2
+ConnTimeout : 20
+NameSrv : example.
+SOAEmail : example@example.com.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecMultipleWebUIAccess
+
+ Retrieve the value of the Allow Multi Interface Access option.
+
+
+
+
+
+
+
+
+
+ If this option is enabled, WUI access is allowed from multiple interfaces. Apart from the main administrative interface, each interface can then be enabled to allow WUI access.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SecMultipleWebUIAccess
+
+
+
+
+ Example Output:
+multihomedwui
+-------------
+no
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecWebUIAuth
+
+ Allows you to view the values of WUI Authentication and Authorization options.
+
+
+
+
+
+
+
+
+
+ Allows you to view the values of WUI Authentication and Authorization options.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SecWebUIAuth
+
+
+
+
+ Example Output:
+sessionlocalauth : yes
+radiussecret : ********
+radiusbackupsecret : ********
+radiusbackupport : 31
+ldapbackupserver :
+radiusserver : 20.11.35.120
+radiusbackupserver : 20.11.35.121
+ldapserver :
+radiusport : 30
+radiusrevalidateinterval : 60
+ldapsecurity : 0
+sessionauthmode : 0
+ldaprevalidateinterval : 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecWebUIConfiguration
+
+ Allows you to view the values of WUI Configuration options.
+
+
+
+
+
+
+
+
+
+ Allows you to view the values of WUI Configuration options.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and does not return all of the available parameters. Please refer to the Get-Help of the Get-Parameter command to view a full list of parameters that can be returned.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-SecWebUIConfiguration
+
+
+
+
+ Example Output:
+sessioncontrol : no
+sessionidletime : 70
+sessionmaxfailattempts : 0
+motd : Test Message
+hoverhelp : yes
+wuidisplaylines : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-GeoCountry
+
+ Allows you to remove a country assignment from a mapped IP address.
+
+
+
+
+
+
+
+
+
+ Allows you to remove a country assignment from a mapped IP address.
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ string
+
+ string
+
+
+
+
+
+ IP
+
+ IP address of the map to be modified.
+
+ string
+
+ string
+
+
+
+
+
+ CountryCode
+
+ Two-letter country code for the country to be unassigned.
+To specify everywhere as the country, type ALL as the country code and set the IsContinent parameter to yes.
+
+ string
+
+ string
+
+
+
+
+
+ IsContinent
+
+ Some country codes and continent codes are the same, for example AF could mean Africa or Afghanistan. You must specify in this parameter if the code is for a country or continent.
+yes – code is for a continent
+no – code is for a country
+
+ string
+
+ string
+
+
+
+
+
+ CustomLocation
+
+ The name of an existing custom location.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This command is only relevant when the Selection Criteria is set to Location Based.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-GeoCountry –CountryCode <TwoCharacterCountryCode> -FQDN <FQDNName> -IP <IPAddress> -iscontinent <yes/no>
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-VSPacketFilterAddr
+
+ Removes an address from the black or white list for a Virtual Service.
+
+
+
+
+
+
+
+
+
+ Removes a host or network IP address from the black or white access control list for a specific Virtual Service. Note that black and white lists are only enabled when packet filtering is enabled.
+
+
+
+
+
+ VirtualService
+
+ Specifies the Virtual Service IP address.
+
+ string
+
+ string
+
+
+
+
+
+ Port
+
+ Specifies the Virtual Service port number.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ Specifies the Virtual Service protocol: "tcp" or "udp".
+
+ string
+
+ string
+
+
+
+
+
+ Type
+
+ Specify the type of list:
+ - black: blocked addresses
+ - white: allowed addresses
+Note: This is case sensitive – the type value should be in lowercase.
+
+ string
+
+ string
+
+
+
+
+
+ Address
+
+ Specifies a host or network IP address to remove from the access control list. The address can be specified in CIDR format. If the CIDR is not specified, the system uses a default of /32.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-VSPacketFilterAddr -Address 10.154.11.198 -Port 80 -Protocol tcp -Type black -VirtualService 10.154.11.171
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoDNSSEC
+
+ Enable/disable DNSSEC.
+
+
+
+
+
+
+
+
+
+ Enable/disable DNSSEC.
+
+
+
+
+
+ Enable
+
+ Specify whether to enable or disable DNSSEC:
+0 - disable
+1 - enable
+
+ boolean
+
+ boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoDNSSEC -Enable 1
+
+
+
+
+ Example Output:
+ReturnCode Response Data
+---------- -------- ----
+ 200 Command successfully executed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmMiscParameter
+
+ Allows you to update the miscellaneous GEO parameters.
+
+
+
+
+
+
+
+
+
+ Allows you to update the miscellaneous GEO parameters.
+
+
+
+
+
+ SourceOfAuthority
+
+ Specify the response set for Source Of Authority requests.
+
+ string
+
+ string
+
+
+
+
+
+ NameSrv
+
+ Specify the response set for Name Server requests.
+
+ string
+
+ string
+
+
+
+
+
+ SOAEmail
+
+ Specify the response email string sent for SOA requests.
+
+ string
+
+ string
+
+
+
+
+
+ TTL
+
+ Specify the Time To Live (TTL) of the responses returned by the LoadMaster. The default value for this is 10.
+The range is 1-86400.
+
+ string
+
+ string
+
+
+
+
+
+ Persist
+
+ This parameter corresponds to the Stickiness field in the WUI. Specify how long a specific request will be returned to a host.
+
+ string
+
+ string
+
+
+
+
+
+ CheckInterval
+
+ Specify how often to check the devices.
+Range: 9-3600
+ Note: The interval value must be greater than the ConnTimeout value multiplied by the RetryAttempts value (Interval > Timeout * Retry + 1).
+ This is to ensure that the next health check does not start before the previous one completes.
+ If the timeout or retry values are increased to a value that breaks this rule, the interval value will be automatically increased.
+
+ string
+
+ string
+
+
+
+
+
+ ConnTimeout
+
+ Specify the timeout value for the check request.
+Range: 4-60
+
+ string
+
+ string
+
+
+
+
+
+ RetryAttempts
+
+ Specify the number of times the check will be retried before the device is marked as failed.
+
+ string
+
+ string
+
+
+
+
+
+ Zone
+
+ Specify the zone name.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmMiscParameter –CheckInterval 130 –ConnTimeout 30 –NameSrv example –Persist 20 –RetryAttempts 3 –SOAEmail example@example.com –SourceOfAuthority example –TTL 200
+
+
+
+
+ Example Output:
+SourceOfAuthority : example.
+TTL : 200
+CheckInterval : 130
+Persist : 20
+RetryAttempts : 3
+ConnTimeout : 30
+NameSrv : example2.
+SOAEmail : example2@example.com.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecMultipleWebUIAccess
+
+ Allows you to enable access to the LoadMaster WUI from another interface address.
+
+
+
+
+
+
+
+
+
+ Allows you to enable access to the LoadMaster WUI from another interface address.
+
+
+
+
+
+ MultiHomedWui
+
+
+
+ boolean
+
+ boolean
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ multi
+
+ The IP address of the interface that you want to enable WUI access on.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecMultipleWebUIAccess –multi eth0
+
+
+
+
+ multihomedwui
+-------------
+yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecWebUIAuth
+
+ Allows you to set the values of WUI Authentication and Authorization options.
+
+
+
+
+
+
+
+
+
+ Allows you to set the values of WUI Authentication and Authorization options.
+
+
+
+
+
+ LDAPServer
+
+ Specifies the LDAP server to use for authentication.
+
+ string
+
+ string
+
+
+
+
+
+ LDAPBackupServer
+
+ Specifies the backup LDAP server for authentication.
+
+ string
+
+ string
+
+
+
+
+
+ LDAPSecurity
+
+ Specifies the security mode for LDAP authentication.
+
+ int16
+
+ int16
+
+
+
+
+
+ LDAPRevalidateInterval
+
+ Specifies how often to revalidate the authentication to the LDAP server.
+
+ int16
+
+ int16
+
+
+
+
+
+ RADIUSServer
+
+ Specifies the RADIUS server to use for authentication.
+
+ string
+
+ string
+
+
+
+
+
+ RADIUSBackupServer
+
+ Specifies the backup RADIUS server to use for authentication.
+
+ string
+
+ string
+
+
+
+
+
+ RADIUSPort
+
+ Specifies the TCP port for communication to the RADIUS server.
+
+ int64
+
+ int64
+
+
+
+
+
+ RADIUSBackupPort
+
+ Specifies the TCP port for the backup RADIUS server.
+
+ int64
+
+ int64
+
+
+
+
+
+ RADIUSSecret
+
+ Specifies the password (secret) to the RADIUS server.
+
+ string
+
+ string
+
+
+
+
+
+ RADIUSBackupSecret
+
+ Specifies the password (secret) to the backup RADIUS server.
+
+ string
+
+ string
+
+
+
+
+
+ SessionLocalAuth
+
+ Enables or disables local authentication.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ SessionAuthMode
+
+ Specifies the authentication mode for the LoadMaster. Refer to the following table for values:
+ RADIUS LDAP Local
+Value Authent. Author. Authent. Authent. Author.
+7 No No No No No
+263 Yes No No Yes Yes
+775 Yes Yes No Yes Yes
+23 No No Yes Yes Yes
+22 No No Yes No Yes
+788 Yes Yes Yes No No
+790 Yes Yes Yes No Yes
+791 Yes Yes Yes Yes Yes
+789 Yes Yes Yes Yes No
+773 Yes Yes No Yes No
+262 Yes No No No Yes
+774 Yes Yes No No Yes
+772 Yes Yes No No No
+278 Yes No Yes No No
+279 Yes No Yes Yes Yes
+
+ int16
+
+ int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecWebUIAuth -RADIUSBackupPort 31 -RADIUSBackupSecret testbsecret -RADIUSBackupServer 20.11.35.121 -RADIUSPort 30 -RADIUSSecret testsecret -RADIUSServer 20.11.35.120 -SessionLocalAuth $True
+
+
+
+
+ Example Output:
+sessionlocalauth : yes
+radiussecret : ********
+radiusbackupsecret : ********
+radiusbackupport : 31
+ldapbackupserver :
+radiusserver : 20.11.35.120
+radiusbackupserver : 20.11.35.121
+ldapserver :
+radiusport : 30
+radiusrevalidateinterval : 60
+ldapsecurity : 0
+sessionauthmode : 0
+ldaprevalidateinterval : 60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-SecWebUIConfiguration
+
+ Allows you to set the values of WUI Configuration options.
+
+
+
+
+
+
+
+
+
+ Allows you to set the values of WUI Configuration options.
+
+
+
+
+
+ HoverHelp
+
+ Enables or disables hover help in the web user interface.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ Motd
+
+ Sets the Message Of The Day (MOTD) for the web user interface. Either plain text or a text file can be used.
+The maximum number of characters is 5,000.
+An error will be displayed if the MOTD is greater than 5,000 characters.
+
+ string
+
+ string
+
+
+
+
+
+ SessionControl
+
+ Enables or disables session control.
+
+ boolean
+
+ boolean
+
+
+
+
+
+ SessionIdleTime
+
+ Specifies the number of seconds that the WUI can be idle before logging the user out. This can be set from 60 to 86400 seconds.
+
+ int32
+
+ int32
+
+
+
+
+
+ SessionMaxFailAttempts
+
+ Number of failed attempts before locking the user account. This can be set from 1 to 999.
+
+ int16
+
+ int16
+
+
+
+
+
+ StatisticsDisplaySize
+
+
+
+ int16
+
+ int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ WUIDisplayLines
+
+ Specifies the number of display lines in the web user interface. This can be set from 10 to 100.
+
+ int16
+
+ int16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and cannot be used to set all of the available parameters. Please refer to the Get-Help of the Set-Parameter command to view a full list of parameters that can be configured.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-SecWebUIConfiguration -HoverHelp $True -Motd "Test Message" -SessionControl $True -SessionIdleTime 70
+
+
+
+
+ Example Output:
+sessioncontrol : yes
+sessionidletime : 70
+sessionmaxfailattempts : 0
+motd : Test Message
+hoverhelp : yes
+wuidisplaylines : 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AcceptEULA
+
+ Used to enter the magic cookie key returned by the ReadEula command and to set the type of license used, for example trial, perm or free.
+
+
+
+
+
+
+
+
+
+ When this command is run successfully, an explanation of the Call Home feature and magic string will be displayed.
+ Value Name in WUI Description
+Trial Trial (Unrestricted) Temporary license for users evaluating the KEMP LoadMaster
+Perm Perpetual Purchased permanent LoadMaster
+Free Free (Restricted) Free LoadMaster
+
+
+
+
+
+ Type
+
+ Use this parameter to specify the type of license that is being employed. Valid values for the type parameter are:
+Perm - Perpetual
+Free - Free (Restricted)
+Trial – Trial (Unrestricted)
+
+ string
+
+ string
+
+
+
+
+
+ Magic
+
+ The key that is is generated by the ReadEULA command.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and has been replaced with the Confirm-LicenseEULA command. KEMP strongly recommends using the new command instead.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ AcceptEULA –magic 5e614-3bp21-g6p1g-trp1g –type perm
+
+
+
+
+ Example Output:
+A second magic key and an explanation of the Call Home feature is displayed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AcceptEULA2
+
+ Specify whether or not to use the Call Home feature.
+
+
+
+
+
+
+
+
+
+ As part of KEMPs continuous drive to offer better value and services to our customers KEMP has introduced a Call Home feature.
+The LoadMaster can utilize Call Home to get available license updates, information regarding any updated firmware for your product and provide system status information to KEMP. The system status information will include Throughput, Enabled Features, Virtual Services and Real Servers details but will not include any unique personal information or actual traffic from your network.
+Your LoadMaster will initiate a connection to KEMP once during any 24 hour interval.
+NOTE – Allowing Call Home is mandatory for Free LoadMaster versions.
+For more details on this visit http://www.kemptechnologies.com/callhome
+
+
+
+
+
+ Magic
+
+ The IP Address for the KEMP LoadMaster to which the command is being directed. This key is generated by running the ReadEULA command.
+
+ string
+
+ string
+
+
+
+
+
+ Accept
+
+ This parameter is used to accept or reject the license agreement. The possible values are; yes and no.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and has been replaced with the Confirm-LicenseEULA2 command. KEMP strongly recommends using the new command instead.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ AcceptEULA2 -Accept no -Magic 1a30e1c2-9332-4331-b932-78bf5340520c
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-AdcWafRule
+
+ Assigns WAF rules to the specified Virtual Service.
+
+
+
+
+
+
+
+
+
+ Assigns WAF rules to the specified Virtual Service.
+
+
+
+
+
+ VS
+
+ The IP address of the relevant Virtual Service.
+
+ string
+
+ string
+
+
+
+
+
+ Port
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ string
+
+ string
+
+
+
+
+
+ Prot
+
+ Specifies the communication protocol of the Virtual Service. Valid options are TCP or UDP (not case sensitive).
+
+ string
+
+ string
+
+
+
+
+
+ Rule
+
+ Specify the name of the rule to be assigned.
+The rule name must be preceded with a letter/word and a forward slash. The letter used depends on the type of rule being added:
+ - C or Custom
+ - Z or ApplicationGeneric
+ - A or ApplicationSpecific
+ - G or Generic
+
+ string
+
+ string
+
+
+
+
+
+ Disablerules
+
+ Specific rules can be disabled per ruleset by specifying the rule IDs to be disabled. Multiple rules can be disabled by using a comma-separated list. To retrieve the rule IDs, run the Get-WAFVSRules command.
+To only update rules (and not rulesets), run the Add-AdcWafRule command with a blank Rule parameter.
+To remove all disabled rules (i.e. enable all rules), run the Add-AdcWafRule command with blank rule and disablerules parameters.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The rule name must be preceded with the relevant letter/word and a forward slash. The letter/word used depends on the type of rule being assigned.
+ This is case sensitive. The letter/word needs to be in the correct case for the command to work.
+ • C or Custom
+ • Z or ApplicationGeneric
+ • A or ApplicationSpecific
+ • G or Generic
+ Multiple rules can be assigned in the same command by separating them with a space.
+ An invalid rule error will display if the name of the rule is not entered correctly, if the preceding letter is incorrect, or if the does not exist in the LoadMaster.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-AdcWafRule -Port 443 -Prot tcp -Rule G/creditcard_known -VS 10.154.11.91
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-GeoCluster
+
+ Adds a new GEO cluster.
+
+
+
+
+
+
+
+
+
+ Adds a new GEO cluster.
+
+
+
+
+
+ IP
+
+ The IP address of the GEO cluster.
+
+ string
+
+ string
+
+
+
+
+
+ Name
+
+ The name of the GEO cluster.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-GeoCluster –IP <IPAddress> -Name <NameofCluster>
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-HostsEntry
+
+ Adds a host IP address and host FQDN.
+
+
+
+
+
+
+
+
+
+ Add a host IP address and host FQDN
+
+
+
+
+
+ HostIP
+
+ Specify the IP address for the entry.
+
+ string
+
+ string
+
+
+
+
+
+ HostFQDN
+
+ Specify the host FQDN for the entry.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-HostsEntry -HostFQDN example2.com -HostIP 10.154.11.180
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-LdapEndpoint
+
+ Add a new LDAP endpoint.
+
+
+
+
+
+
+
+
+
+ These LDAP endpoints may be used in three different areas:
+• Health checks
+• SSO domains
+• WUI authentication
+
+
+
+
+
+ Name
+
+ The desired name for the new LDAP endpoint. This name cannot contain any spaces.
+
+ string
+
+ string
+
+
+
+
+
+ Server
+
+ Specify the address, or addresses, of the LDAP server to be used. You can also specify a port number, if desired. Separate multiple addresses with a space.
+
+ string
+
+ string
+
+
+
+
+
+ LdapType
+
+ Specify the transport protocol to use when communicating with the LDAP server. Valid values are:
+0 – Unencrypted (default)
+1 – StartTLS
+2 – LDAPS
+
+ int16
+
+ int16
+
+
+
+
+
+ VInterval
+
+ Specify how often to revalidate the user the with the LDAP server.
+Range: 10 – 86400 seconds
+Default: 60
+
+ int16
+
+ int16
+
+
+
+
+
+ AdminUser
+
+ Specify the username of an administrator user. The username that will be used to check the LDAP server.
+
+ string
+
+ string
+
+
+
+
+
+ AdminPass
+
+ Specify the password for the specified administrator user. The password that will be used to check the LDAP server.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-LdapEndpoint -Name ExampleLDAPEndpoint -AdminPass examplepassword -AdminUser ExampleAdminUsername -LdapType 0 -Server "10.154.11.23 10.154.22.45" -VInterval 80
+
+
+
+
+ Example Output:
+ReturnCode Response Data
+---------- -------- ----
+ 200 Command successfully executed ExampleLDAPEndpoint
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-NetworkInterfaceAddress
+
+ Allows you to add an address for an interface.
+
+
+
+
+
+
+
+
+
+ Allows you to add an address for an interface.
+
+
+
+
+
+ InterfaceID
+
+ The Interface ID to add an IP Address to. To view the interface ID for each of the interfaces, run the Get-Statistics command. The interface ID is the first number displayed in each interface row.
+
+ int16
+
+ int16
+
+
+
+
+
+ Address
+
+ The IP Address and CIDR (e.g. 10.1.2.3/24) to be added to the specified Interface.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-NetworkInterfaceAddress -Address 10.11.0.210/24 -InterfaceID 0
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AlsiLicense
+
+ Update the LoadMaster's license online.
+
+
+
+
+
+
+
+
+
+ Cause the LoadMaster to query the KEMP licensing system for an updated license.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ KempId
+
+ The KEMP ID is the email address which was used when registering for a KEMP ID.
+
+ string
+
+ string
+
+
+
+
+
+ Password
+
+ The password of the KEMP ID account.
+
+ string
+
+ string
+
+
+
+
+
+ http_proxy
+
+ Specify the HTTP(S) proxy server and port the LoadMaster will use to access the internet.
+
+ string
+
+ string
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This step must be performed before the LoadMaster password can be set.
+This is a legacy command and has been replaced with the Request-LicenseOnline command. KEMP strongly recommends using the new command instead.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ AlsiLicense -KempId jbloggs@kemptechnologies.com -Password examplepassword -LoadBalancer 10.154.11.60
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Export-WafCustomRule
+
+ Allows you to download an AFP custom rule file.
+
+
+
+
+
+
+
+
+
+ Allows you to download an AFP custom rule file.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ Path
+
+ The path where you want to download the custom rule file to, followed by a backslash and the new name of the file.extension.
+
+ string
+
+ string
+
+
+
+
+
+ Filename
+
+ The filename of the custom rule.
+
+ string
+
+ string
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Export-WafCustomRule -Filename modsecurity_crs_10_ignore_static -Path C:\rules\rule1.conf
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-Hosts
+
+ Lists the existing hosts for local resolution.
+
+
+
+
+
+
+
+
+
+ Lists the existing hosts for local resolution.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-Hosts
+
+
+
+
+ Example Output:
+HostIPAddress HostFqdn
+------------- --------
+10.154.11.178 example.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-PreviousVersion
+
+ Run this command to view the previous firmware version.
+
+
+
+
+
+
+
+
+
+ Run this command to view the previous firmware version.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-PreviousVersion
+
+
+
+
+ Example Output:
+ReturnCode Data Response
+---------- ---- --------
+ 200 @{PreviousVersion=7.2.37.0.13610.DEV.20160905-061... Command successfully executed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-SecSingleUser
+
+ Retrieve the permissions for an individual user.
+
+
+
+
+
+
+
+
+
+ The permissions for the specified user are displayed.
+
+
+
+
+
+ User
+
+ The username of the relevant user to display the permissions for.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command - please use the Get-SecUser command instead.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-KEMPSecSingleUser -User Example
+
+ Name Perms
+---- -----
+Example ,real,rules,cer...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-VpnConnection
+
+ Retrieves a list of all existing VPN connection details, or details for a specific VPN connection.
+
+
+
+
+
+
+
+
+
+ To retrieve details for a specific VPN connection, use the Name parameter to specify the name of the relevant VPN connection. To retrieve details for all VPN connections, do not use the Name parameter.
+
+
+
+
+
+ Name
+
+ Specify the name of a specific VPN connection to display the details for. To display details for all VPN connections - do not use this parameter.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-VpnConnection
+
+
+
+
+ Example Output:
+pfs : disabled
+localIP : 10.154.11.80
+localID : 10.154.11.80
+key :
+remoteIP :
+name : Example
+remoteID :
+status : Down
+remoteSubnets :
+localSubnets : 10.154.11.80/32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-VSTotals
+
+ Get global summary statistics for all Virtual Services.
+
+
+
+
+
+
+
+
+
+ Retrieves the total number of Virtual Services, SubVSs and Real Servers that are up, down and administratively disabled.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-VSTotals
+
+
+
+
+ Example Output:
+Type : VSTotals
+Total : 9
+Up : 4
+Down : 5
+Disabled : 0
+
+Type : SubVSTotals
+Total : 0
+Up : 0
+Down : 0
+Disabled : 0
+
+Type : RSTotals
+Total : 1
+Up : 0
+Down : 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-WafVSRules
+
+ View a list of rules and rule IDs for an active ruleset.
+
+
+
+
+
+
+
+
+
+ A list of rules and their IDs will be displayed for the specified ruleset.
+
+
+
+
+
+ VS
+
+ The IP address of the relevant Virtual Service.
+
+ string
+
+ string
+
+
+
+
+
+ Port
+
+ The port of the relevant Virtual Service.
+
+ string
+
+ string
+
+
+
+
+
+ Prot
+
+ The protocol of the relevant Virtual Service, i.e. tcp or udp.
+
+ string
+
+ string
+
+
+
+
+
+ Rule
+
+ The name of the ruleset to display the rules for. The rule name must be preceded with the relevant letter or word and a forward slash. The letter/word used depends on the type of rule:
+• C or Custom
+• Z or ApplicationGeneric
+• A or ApplicationSpecific
+• G or Generic
+This is case sensitive. The letter/word needs to be in in the correct case for the command to work.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-WafVSRules -Port 443 -Prot tcp -Rule G/owasp_protocol_violations -VS 10.154.11.102
+
+
+
+
+ Example Output:
+ActiveRule1 : 960020:OWASP_CRS/PROTOCOL_VIOLATION/INVALID_HREQ:Pragma Header requires Cache-Control Header for HTTP/1.1 requests.
+ActiveRule2 : 958291:OWASP_CRS/PROTOCOL_VIOLATION/INVALID_HREQ:Range: field exists and begins with 0.
+ActiveRule3 : 958230:OWASP_CRS/PROTOCOL_VIOLATION/INVALID_HREQ:Range: Invalid Last Byte Value.
+ActiveRule4 : 958231:OWASP_CRS/PROTOCOL_VIOLATION/INVALID_HREQ:Range: Too many fields
+ActiveRule5 : 958295:OWASP_CRS/PROTOCOL_VIOLATION/INVALID_HREQ:Multiple/Conflicting Connection Header Data Found.
+ActiveRule6 : 950107:OWASP_CRS/PROTOCOL_VIOLATION/EVASION:URL Encoding Abuse Attack Attempt
+ActiveRule7 : 950109:OWASP_CRS/PROTOCOL_VIOLATION/EVASION:Multiple URL Encoding Detected
+ActiveRule8 : 950108:OWASP_CRS/PROTOCOL_VIOLATION/EVASION:URL Encoding Abuse Attack Attempt
+ActiveRule9 : 950801:OWASP_CRS/PROTOCOL_VIOLATION/EVASION:UTF8 Encoding Abuse Attack Attempt
+ActiveRule10 : 950116:(null):Unicode Full/Half Width Abuse Attack Attempt
+ActiveRule11 : 960901:OWASP_CRS/PROTOCOL_VIOLATION/EVASION:Invalid character in request
+ActiveRule12 : 960018:OWASP_CRS/PROTOCOL_VIOLATION/EVASION:Invalid character in request
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initialize-Lm
+
+ Allows you to globally set the LoadMaster IP address and login credentials for the PowerShell session.
+
+
+
+
+
+
+
+
+
+ Allows you to globally set the LoadMaster IP address and login credentials for the PowerShell session. These details can be overridden on individual commands by using the LoadBalancer and Credential parameters.
+
+
+
+
+
+ Address
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ If the API interface is disabled on the LoadMaster, running this command will enable it.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Initialize-Lm –Address <LoadMasterIPAddress> -Credential bal
+
+
+
+
+ Example Output:
+Unless overridden using a local -LoadBalancer parameter, all commands will now be directed to 10.11.0.60.
+Unless overridden using a local -Credential parameter, all commands will now use bal.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IsAPIEnabled
+
+ Check if the API interface is enabled on the LoadMaster.
+
+
+
+
+
+
+
+
+
+ The results will display whether or not the API interface is enabled. The LoadMaster firmware version is also displayed.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and has been replaced by the Test-SecAPIAccess command. KEMP strongly recommends using the new command instead.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ IsAPIEnabled
+
+
+
+
+ Example Output:
+API is Enabled
+
+version
+-------
+7.1.36.0.13179.DEV
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-AdcVirtualServerRule
+
+ Allows you to add a preconfigured rule to a Virtual Service.
+
+
+
+
+
+
+
+
+
+ Allows you to add a preconfigured rule to a Virtual Service or SubVS.
+
+
+
+
+
+ RuleType
+
+ Specifies if the rule is a pre-processing rule, a response rule, or a request rule. Valid options are "pre", "response", and "request".
+
+ string
+
+ string
+
+
+
+
+
+ VirtualService
+
+ Specifies the IP Address of the Virtual Service that this rule should be applied to.
+
+ string
+
+ string
+
+
+
+
+
+ Port
+
+ Specifies the port on which the Virtual Service accepts connections.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ Specifies the communication protocol. Valid options are TCP or UDP.
+
+ string
+
+ string
+
+
+
+
+
+ VSIndex
+
+ The VSIndex number of the relevant Virtual Service or SubVS. To retrieve the VSIndex, run the Get-VirtualService command.
+
+ int32
+
+ int32
+
+
+
+
+
+ RuleName
+
+ The name of the rule that should be set on this Virtual Service.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-AdcVirtualServerRule -Port 80 -Protocol tcp -RealServer 10.11.0.24 -RSPort 80 -RuleName TestRule1 -RuleType pre -VirtualService 10.11.0.200
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-SubVirtualService
+
+ Create a new Sub-Virtual Service.
+
+
+
+
+
+
+
+
+
+ Creates a new Sub-Virtual Service by identifying the parent Virtual Service by its IP address, port and protocol.
+
+
+
+
+
+ VirtualService
+
+ The IP address of the parent Virtual Service.
+
+ string
+
+ string
+
+
+
+
+
+ Port
+
+ The port of the parent Virtual Service.
+
+ int32
+
+ int32
+
+
+
+
+
+ Protocol
+
+ The protocol of the parent Virtual Service.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-SubVirtualService -Port 80 -Protocol tcp -VirtualService 172.20.0.209
+
+
+
+
+ Example Output:
+Status : Down
+Index : 1
+VSAddress : 172.20.0.209
+VSPort : 80
+Enable : Y
+SSLReverse : N
+SSLReencrypt : N
+Intercept : N
+InterceptOpts : InterceptOpts
+AlertThreshold : 0
+Transactionlimit : 0
+Transparent : Y
+SubnetOriginating : N
+ServerInit : 0
+StartTLSMode : 0
+Idletime : 0
+Cache : N
+Compress : N
+Verify : 0
+UseforSnat : N
+ForceL7 : Y
+MultiConnect : N
+ClientCert : 0
+ErrorCode : 0
+CertFile : bd665e52e39df817a0e88a9bec7c3c95
+CheckUrl : /healthcheck.htm
+CheckUse1.1 : N
+MatchLen : 0
+CheckUseGet : 1
+SSLRewrite : 0
+VStype : http
+FollowVSID : 0
+Protocol : tcp
+Schedule : rr
+CheckType : https
+PersistTimeout : 360
+SSLAcceleration : Y
+CheckPort : 443
+NRules : 0
+NRequestRules : 0
+NResponseRules : 0
+NPreProcessRules : 0
+EspEnabled : N
+InputAuthMode : 0
+OutputAuthMode : 0
+MasterVS : 1
+MasterVSID : 0
+AddVia : 0
+QoS : 0
+TlsType : 1
+NeedHostName : N
+OCSPVerify : N
+RsMinimum : 0
+CipherSet : Default
+NumberOfRSs : 1
+SubVS : SubVS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-SubVirtualServiceByID
+
+ Create a new Sub-Virtual Service.
+
+
+
+
+
+
+
+
+
+ Creates a new Sub-Virtual Service by identifying the parent Virtual Service by its Virtual Service index.
+
+
+
+
+
+ VSIndex
+
+ The index number of the parent Virtual Service.
+
+ int32
+
+ int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-SubVirtualServiceByID -VSIndex 4
+
+
+
+
+ Example Output:
+Status : Down
+Index : 4
+VSAddress : 172.20.0.237
+VSPort : 80
+Enable : Y
+SSLReverse : N
+SSLReencrypt : N
+Intercept : N
+InterceptOpts : InterceptOpts
+AlertThreshold : 0
+Transactionlimit : 0
+Transparent : Y
+SubnetOriginating : N
+ServerInit : 0
+StartTLSMode : 0
+Idletime : 0
+Cache : N
+Compress : N
+Verify : 0
+UseforSnat : N
+ForceL7 : Y
+MultiConnect : N
+ClientCert : 0
+ErrorCode : 0
+CheckUse1.1 : N
+MatchLen : 0
+CheckUseGet : 0
+SSLRewrite : 0
+VStype : http
+FollowVSID : 0
+Protocol : tcp
+Schedule : rr
+CheckType : http
+PersistTimeout : 0
+CheckPort : 0
+NRules : 0
+NRequestRules : 0
+NResponseRules : 0
+NPreProcessRules : 0
+EspEnabled : N
+InputAuthMode : 0
+OutputAuthMode : 0
+MasterVS : 1
+MasterVSID : 0
+AddVia : 0
+QoS : 0
+TlsType : 0
+NeedHostName : N
+OCSPVerify : N
+RsMinimum : 0
+NumberOfRSs : 1
+SubVS : SubVS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ New-VpnConnection
+
+ Creates a new VPN connection
+
+
+
+
+
+
+
+
+
+ Creates a new VPN connection
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ New-VpnConnection -Name ExampleVPN
+
+
+
+
+ Example Output:
+status defaultLocalIP defaultLocalSubnet defaultLocalID
+------ -------------- ------------------ --------------
+Down 10.11.0.10 10.11.0.10/32 10.11.0.10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ReadEULA
+
+ Displays the EULA and a magic cookie.
+
+
+
+
+
+
+
+
+
+ The End User License Agreement (EULA) and magic cookie will be displayed.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and has been replaced with the Read-LicenseEULA command. KEMP strongly recommends using the new command instead.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ReadEULA –LoadBalancer 10.154.11.60
+
+
+
+
+ Example Output:
+The output displays a magic key, for example <Magic>98d10cca-b721-4378-b5be-e8c458ec7214</Magic> and the LoadMaster End User License Agreement (EULA).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcVirtualServiceByID
+
+ Remove a Virtual Service by its Virtual Service ID.
+
+
+
+
+
+
+
+
+
+ Removes a Virtual Service with the specified Virtual Service ID. This is the only way in which a SubVS can be removed using the PowerShell API, because SubVSs do not have IP addresses. To find out the Virtual Service ID, run the Get-VirtualService command without any parameters.
+
+
+
+
+
+ VSIndex
+
+ The index number of the Virtual Service.
+
+ int32
+
+ int32
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ switchparameter
+
+ switchparameter
+
+
+
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ switchparameter
+
+ switchparameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ switchparameter
+
+ switchparameter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcVirtualServiceByID -VSIndex 2
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-AdcWafRule
+
+ Un-assigns an AFP rule from the specified Virtual Service.
+
+
+
+
+
+
+
+
+
+ Un-assigns an AFP rule from the specified Virtual Service.
+
+
+
+
+
+ VS
+
+ The IP address of the relevant Virtual Service.
+
+ string
+
+ string
+
+
+
+
+
+ Port
+
+ Specifies the port on which this Virtual Service accepts connections.
+
+ string
+
+ string
+
+
+
+
+
+ Prot
+
+ Specifies the communication protocol of the Virtual Service. Valid options are TCP or UDP.
+
+ string
+
+ string
+
+
+
+
+
+ Rule
+
+ Specify the name of the rule to be unassigned.
+The rule name must be preceded with a letter/word and a forward slash. The letter used depends on the type of rule being added:
+ - C or Custom
+ - Z or ApplicationGeneric
+ - A or ApplicationSpecific
+ - G or Generic
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The rule name must be preceded with the relevant letter/word and a forward slash. The letter/word used depends on the type of rule being added:
+ • C or Custom
+ • Z or ApplicationGeneric
+ • A or ApplicationSpecific
+ • G or Generic
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-AdcWafRule -VS 10.11.0.31 -Port 80 -Prot tcp -Rule C/modsecurity_crs_11_brute_force
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-NetworkInterfaceAddress
+
+ Allows you to remove an address from an interface.
+
+
+
+
+
+
+
+
+
+ Allows you to remove an address from an interface.
+
+
+
+
+
+ InterfaceID
+
+ The interface ID that should be removed from the LoadMaster. To view the interface ID for each of the interfaces, run the Get-Statistics command. The interface ID is the first number displayed in each interface row.
+
+ int16
+
+ int16
+
+
+
+
+
+ Address
+
+ The IP address of the interface.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ Force
+
+ Enable this parameter to force the command to execute without a confirmation.
+
+ switchparameter
+
+ switchparameter
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ WhatIf
+
+ Enable this parameter to see what the command will do without actually executing the command.
+
+ switchparameter
+
+ switchparameter
+
+
+
+
+
+ Confirm
+
+ Confirms that the action should be carried out.
+
+ switchparameter
+
+ switchparameter
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-NetworkInterfaceAddress -InterfaceID 0 -Address 172.21.56.121/24
+
+
+
+
+ Example Output:
+Mtu : 1500
+InterfaceType : Port
+Id : 0
+DefaultInterface : yes
+GeoTrafficEnable : yes
+IPAddress : 172.21.56.120/24
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remove-VpnConnection
+
+ Deletes an existing VPN connection.
+
+
+
+
+
+
+
+
+
+ Deletes an existing VPN connection.
+
+
+
+
+
+ Name
+
+ The name of the VPN.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Remove-VpnConnection -Name ExampleVpn
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetInitialPasswd
+
+ Set the password of the default bal LoadMaster user, during initial configuration.
+
+
+
+
+
+
+
+
+
+ During initial configuration of the LoadMaster, this command can be used to set the password of the default bal user.
+
+
+
+
+
+ Passwd
+
+ This is the password for the default administrator user (bal). The password should contain at least 8 alphanumeric characters.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a legacy command and has been replaced with Set-LicenseInitialPassword.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ SetInitialPassword –Passwd examplepassword
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-License
+
+ Update the LoadMaster's license using the offline method.
+
+
+
+
+
+
+
+
+
+ A BLOB is required to license a LoadMaster using the offline method. BLOBs are emailed to customers when requested. The BLOB is the body of text from the word begin to the word end in the email. Copy and paste this text into a text file. This file must be uploaded when running this command in order to successfully license the LoadMaster.
+
+
+
+
+
+ Path
+
+ The local path to the license file to upload. Use the Get-AccessKey command to get the key to use to generate a license from KEMP Technologies. This parameter is required.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-License -Path c:\license\license.txt
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Update-WafIDSRules
+
+ Allows you to update the Intrusion Detection ruleset.
+
+
+
+
+
+
+
+
+
+ Allows you to update the Intrusion Detection ruleset.
+
+
+
+
+
+ Path
+
+ The local path to the IDS rules file. This file should be a .tar.gz file.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Update-WafIDSRules -Path c:\IDSRules\community.rules.tar
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LmBackupSecureIndentity
+
+ Upload the SSH private key generated on the remote scp server.
+
+
+
+
+
+
+
+
+
+ If using scp (1) as the backupsecure method, the remote identity value must be provided. This is the SSH private key generated using ssh-keygen on the remote scp server.
+
+
+
+
+
+ Path
+
+ The file path to the private key file.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+ CertificateStoreLocation
+
+ This parameter is optional. If you do not use it, the cmdlet searches for the certificate in the default Cert:\CurrentUser\My location. If the CertificateStoreLocation parameter is set, the API searches for the certificate in the specified location, for example, Cert:\<CurrentUser>\TrustedPeople.
+Note: The CertificateStoreLocation can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the CertificateStoreLocation field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+ SubjectCN
+
+ This parameter is mandatory if you want to use certificate-based authentication. Specify the certificate Common Name (CN), which is the username of the LoadMaster user that the certificate was generated for. If you do not specify the CertificateStoreLocation, the certificate is searched for in the default Cert:\CurrentUser\My location.
+Note: The SubjectCN can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the SubjectCN field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LmBackupSecureIndentity -Path C:\Users\ExampleUser\Desktop\Work\PowerShell\pdata
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetWafAutoInstall
+
+ Allows you to enable/disable the automatic installation of commercial AFP rules.
+
+
+
+
+
+
+
+
+
+ Allows you to enable/disable the automatic installation of commercial AFP rules.
+
+
+
+
+
+ Enable
+
+ Enable or disable the commercial AFP automatic rule install.
+0 - Disable
+1 - Enable
+
+ string
+
+ string
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Does the same thing as the EnableWafAutoInstall command. This is a legacy command and has been replaced with the Set-WafRulesAutoUpdateConfiguration command.
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ SetWafAutoInstall –Enable 1
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Switch-ClusterHAUnit
+
+ Allows you to set the values of High Availability (HA) options.
+
+
+
+
+
+
+
+
+
+ Allows you to set the values of High Availability (HA) options.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Switch-ClusterHAUnit -LoadBalancer 10.11.0.35
+
+
+
+
+ Example Command:
+(This is a legacy command and should no longer be used.)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Restore-LmLoadBalancer
+
+ Restore the LoadMaster using a backup file already saved.
+
+
+
+
+
+
+
+
+
+ Restore the LoadMaster using a backup file already saved.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ Path
+
+ The local path to the backup file.
+
+ string
+
+ string
+
+
+
+
+
+ Type
+
+ The type of information to restore.
+
+ string
+
+ string
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Restore-LoadBalancer -Path C:\backups\LMBackups_2013_11_04.17_43 -Type Base
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-LicenseInitialPasswd
+
+ Used to set the password of the default bal LoadMaster user during initial configuration.
+
+
+
+
+
+
+
+
+
+ Used to set the password of the default bal LoadMaster user during initial configuration.
+
+
+
+
+
+ Passwd
+
+ This is the password for the default administrator user (bal). The password should contain at least 8 alphanumeric characters.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-LicenseInitialPasswd –Passwd examplepassword
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-NetworkBondedInterfae
+
+ Adds a standalone interface to a bonded interface.
+
+
+
+
+
+
+
+
+
+ Adds a standalone interface to a bonded interface.
+
+
+
+
+
+ InterfaceID
+
+ The Interface ID that should be bound to the Bonded Interface. To view the interface ID for each of the interfaces, run the Get-Statistics command. The interface ID is the first number displayed in each interface row.
+
+ int16
+
+ int16
+
+
+
+
+
+ BondID
+
+ The Bonded Interface ID that the network interface should be bound to.
+
+ int16
+
+ int16
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ pscredential
+
+ pscredential
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-NetworkBondedInterfae -BondID 0 -InterfaceID 0
+
+
+
+
+ Example Output:
+Mtu : 1500
+InterfaceType : Bonded
+Id : 1
+DefaultInterface : no
+BondMembers : 1,2
+GeoTrafficEnable : no
+NBondMembers : 2
+Mode : 802.3ad
+IPAddress : 172.22.56.102/24
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Add-GeoIPRange
+
+ Allows you to add an IP address to the IP range selection criteria list.
+
+
+
+
+
+
+
+
+
+ Allows you to add an IP address to the IP range selection criteria list.
+
+
+
+
+
+ IP
+
+ IP address of the IP range.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Add-GeoIPRange <IPAddress>
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Backup-TlsCertificateStore
+
+ Allows you create a backup of all the certificates and intermediate certificates on the LoadMaster.
+
+
+
+
+
+
+
+
+
+ Allows you create a backup of all the certificates and intermediate certificates on the LoadMaster. The password will be required to restore the certificate file to the load balancer.
+
+
+
+
+
+ Password
+
+ A password to encrypt the certificate backup file. This password will be needed to restore the certificate file to the LoadMaster.
+
+ string
+
+ string
+
+
+
+
+
+ Path
+
+ The local path where the certificate backup file should be saved. If no file is specified, the backup file will be saved as C:\Temp\CertificateBackup_yyyy-MM-dd_HH-mm-ss, assuming that C:\ is the System Root drive specified in the Environment variables.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Backup-TlsCertificateStore -Password password -Path C:\temp
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Test-SecMultipleWebUIAccess
+
+ Informs you if the WUI can be accessed via multiple interfaces or not.
+
+
+
+
+
+
+
+
+
+ Informs you if the WUI can be accessed via multiple interfaces or not.
+
+
+
+
+
+ loadbalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Test-SecMultipleWebUIAccess
+
+
+
+
+ Example Output:
+multihomedwui
+-------------
+yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ListClusters
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoCluster
+
+
+
+
+
+
+
+
+
+ WARNING: This function is deprecated. Use the following command instead:
+Get-GeoCluster
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ListClusters
+
+
+
+
+ Example Output:
+Enable : Y
+LocationLatitude : 0.01666667
+Type : default
+LocationLongitude : 0.01666667
+ClusterVSAddress :
+Checker : none
+Name : Example
+Index : 1
+Status : Up
+CheckerPort : 80
+IPAddress : 10.154.11.55
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get-Templates
+
+ Returns a list of any templates that exist on the LoadMaster.
+
+
+
+
+
+
+
+
+
+ Returns a list of any templates that exist on the LoadMaster.
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Get-Templates
+
+
+
+
+ Example Output:
+comment certified name
+------- --------- ----
+Handles Storage Connector to Atmos (Version 1.0) yes AtmosREST
+Handles Syncplicity Https (Version 1.0) yes Syncplicity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-GeoLocation
+
+ Allows you to install an updated GEO database patch file.
+
+
+
+
+
+
+
+
+
+ Allows you to install an updated GEO database patch file.
+
+
+
+
+
+ Path
+
+ The path to the patch file in the format path\filename.extension
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-GeoLocation –Path <Path\Filename.extension>
+
+
+
+
+ Example Output:
+Ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set-ClusterAwsHAOption
+
+ Allows you to set the other AWS HA options: health check port and partner address.
+
+
+
+
+
+
+
+
+
+ Allows you to set the other AWS HA options: health check port and partner address.
+
+
+
+
+
+ Partner
+
+ Address of the HA partner.
+
+ string
+
+ string
+
+
+
+
+
+ Hcp
+
+ The port over which the health check is run. This needs to be the same on both the master and the slave units in order for HA to function correctly.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ Set-ClusterAwsHAOption –Hcp 443 –Partner <PartnerIPAddress>
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShowFQDN
+
+ Displays the details of a specific FQDN.
+
+
+
+
+
+
+
+
+
+ Displays the details of a specific FQDN.
+
+
+
+
+
+ FQDN
+
+ The name of the FQDN.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ ShowFQDN –FQDN <FQDNName>
+
+
+
+
+ Example Output:
+Mapping : 1 2
+SiteRecoveryMode : manual
+Map : Down,1,10.11.0.12,Test,AS,EU,clust,80,10.11.0.14,1000,10.11.0.11,80,N,0.00000000,0.00000000,Up,2,10.11.0.23,Test,icmp,0,1000,Y,0.0
+ 0000000,0.00000000
+failover : Y
+SelectionCriteria : rr
+Status : Up
+FullyQualifiedDomainName : example.com.
+FailTime : 1920
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UserDeleteCert
+
+ Delete a local user's certificate.
+
+
+
+
+
+
+
+
+
+ Delete a local user's certificate file on the LoadMaster.
+
+
+
+
+
+ User
+
+ Name of local user.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ UserDeleteCert -User ExampleUser
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UserDownloadCert
+
+ Download a local user's certificate.
+
+
+
+
+
+
+
+
+
+ Download a local user's certificate file from the LoadMaster.
+
+
+
+
+
+ User
+
+ Name of local user.
+
+ string
+
+ string
+
+
+
+
+
+ Path
+
+ Path to store certificate file.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ UserDownloadCert -Path C:\ExampleCert\ExampleCertName.pem -User ExampleUser
+
+
+
+
+ Example Output:
+There is no output displayed but the file should be downloaded to the specified location.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UserGenerateCert
+
+ Generate a certificate for a local user.
+
+
+
+
+
+
+
+
+
+ Generate (or regenerate if one already exists) a certificate for a local user on the LoadMaster.
+
+
+
+
+
+ User
+
+ Name of local user.
+
+ string
+
+ string
+
+
+
+
+
+ Passphrase
+
+ Optional passphrase for certificate.
+
+ string
+
+ string
+
+
+
+
+
+ LoadBalancer
+
+ Specify the address of the LoadMaster to run the command on.
+Note: The LoadMaster address can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LoadBalancer field when running a command, unless you want to overwrite it.
+
+ string
+
+ string
+
+
+
+
+
+ LBPort
+
+ Specify the port to communicate with the LoadMaster on.
+Note: The LoadMaster port can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the LBPort field when running a command, unless you want to overwrite it.
+
+ int32
+
+ int32
+
+
+
+
+
+ Credential
+
+ The username to connect to the LoadMaster with.
+Note: The username can be specified for the session by using the Initialize-LmConnectionParameters command. If this is done, there is no need to fill out the Credential field when running a command, unless you want to overwrite it.
+When running PowerShell commands, either authenticate using the username (Credential) and password, or use certificate-based authentication by using the CertificateStoreLocation and SubjectCN parameters.
+
+ object
+
+ object
+
+
+
+
+
+ InformationAction
+
+
+
+ actionpreference
+
+ actionpreference
+
+
+
+
+
+ InformationVariable
+
+
+
+ string
+
+ string
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- Example --------------------------
+
+ PS C:\>
+
+ UserGenerateCert -User ExampleUser -Passphrase ExamplePassphrase
+
+
+
+
+ Example Output:
+ok
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell.psd1 b/Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell.psd1
new file mode 100644
index 0000000..8adaa1a
--- /dev/null
+++ b/Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell.psd1
@@ -0,0 +1,120 @@
+#
+# Module manifest for module 'Kemp.LoadBalancer.Powershell'
+#
+# Generated by: KEMP
+#
+# Generated on: Nov 30 2017
+#
+
+@{
+
+# Script module or binary module file associated with this manifest.
+RootModule = 'Kemp.LoadBalancer.Powershell.psm1'
+
+# Version number of this module.
+ModuleVersion = '7.2.40.0'
+
+# ID used to uniquely identify this module
+GUID = 'fb76aa2c-d5f7-11e7-b122-000af7388c80'
+
+# Author of this module
+Author = 'Fabrizio Carpin'
+
+# Company or vendor of this module
+CompanyName = 'KEMP Technologies'
+
+# Copyright statement for this module
+Copyright = '(c) 2017. All rights reserved.'
+
+# Description of the functionality provided by this module
+Description = 'KEMP Load Balancer Powershell Module'
+
+# Minimum version of the Windows PowerShell engine required by this module
+PowerShellVersion = '2.0'
+
+# Name of the Windows PowerShell host required by this module
+# PowerShellHostName = ''
+
+# Minimum version of the Windows PowerShell host required by this module
+PowerShellHostVersion = '2.0'
+
+# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
+DotNetFrameworkVersion = '2.0'
+
+# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
+CLRVersion = '2.0.50727.0'
+
+# Processor architecture (None, X86, Amd64) required by this module
+ProcessorArchitecture = 'None'
+
+# Modules that must be imported into the global environment prior to importing this module
+# RequiredModules = @()
+
+# Assemblies that must be loaded prior to importing this module
+RequiredAssemblies = @()
+
+# Script files (.ps1) that are run in the caller's environment prior to importing this module.
+ScriptsToProcess = @()
+
+# Type files (.ps1xml) to be loaded when importing this module
+TypesToProcess = @()
+
+# Format files (.ps1xml) to be loaded when importing this module
+FormatsToProcess = @()
+
+# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
+NestedModules = @()
+
+# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
+FunctionsToExport = '*'
+
+# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
+CmdletsToExport = '*'
+
+# Variables to export from this module
+VariablesToExport = '*'
+
+# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
+AliasesToExport = '*'
+
+# DSC resources to export from this module
+# DscResourcesToExport = @()
+
+# List of all modules packaged with this module
+ModuleList = @()
+
+# List of all files packaged with this module
+FileList = @()
+
+# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
+PrivateData = @{
+
+ PSData = @{
+
+ # Tags applied to this module. These help with module discovery in online galleries.
+ # Tags = @()
+
+ # A URL to the license for this module.
+ # LicenseUri = ''
+
+ # A URL to the main website for this project.
+ # ProjectUri = ''
+
+ # A URL to an icon representing this module.
+ # IconUri = ''
+
+ # ReleaseNotes of this module
+ ReleaseNotes = 'BUILD: 1159'
+
+ } # End of PSData hashtable
+
+} # End of PrivateData hashtable
+
+# HelpInfo URI of this module
+# HelpInfoURI = ''
+
+# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
+# DefaultCommandPrefix = ''
+
+}
+
diff --git a/Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell.psm1 b/Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell.psm1
new file mode 100644
index 0000000..81c98be
--- /dev/null
+++ b/Kemp/modules/Kemp.LoadBalancer.Powershell/Kemp.LoadBalancer.Powershell.psm1
@@ -0,0 +1,21279 @@
+#
+# $Id: Kemp.LoadBalancer.Powershell.psm1 15844 2017-11-30 17:55:50Z fcarpin $
+#
+
+$ScriptDir = Split-Path -parent $MyInvocation.MyCommand.Path
+Import-Module $ScriptDir\deprecated.psm1
+
+####################
+# MODULE VARIABLES #
+####################
+[System.Reflection.Assembly]::LoadWithPartialName("system.web") | Out-Null
+
+New-Variable -Name LoadBalancerAddress -Scope Script -Force
+New-Variable -Name LBAccessPort -Scope Script -Force -Value 443
+
+New-Variable -Name Cred -Scope Script -Force
+
+New-Variable -Name SubjectCN -Scope Script -Force
+New-Variable -Name CertificateStoreLocation -Scope Script -Force -Value $null
+
+$IgnoredParameters = @("Verbose", "Debug", "WarningAction", "WarningVariable", "ErrorAction",
+ "ErrorVariable", "OutVariable", "OutBuffer", "WhatIf", "Confirm", "RuleType",
+ "LoadBalancer", "LBPort", "Credential", "SubjectCN", "CertificateStoreLocation")
+
+$ParamReplacement = @{VSIndex = "vs"; VirtualService = "vs"; Protocol = "prot"; VSProtocol = "prot"; VSPort = "port";
+ RSIndex = "rs"; RealServer = "rs"; RealServerPort = "rsport";
+ RuleName = "rule";
+ InterfaceID = "iface"; IPAddress = "addr";
+ NameServer = "nameserver"; NamServer = "namserver";
+ HAMode = "hamode"; Partner = 'partner'; Hcp = "hcp";
+ Location = "location"; GeoTraffic = "geotraffic"; Mapaddress = "mapaddress"; Mapport = "mapport"; Cluster = "clust";
+ KempId = "kempid"; Password = "password"; OrderId = "orderid";
+ ConnectTimeout = "timeout";
+ WuiNetworkInterfaceId = "wuiiface"; WuiPort = "wuiport"; WuiDefaultGateway = "wuidefaultgateway";
+ CurrentPassword = "currpassword"; NewPassword = "password";
+ Permissions = "perms";
+ SyslogPort = "syslogport";
+ StatisticsDisplaySize = "wuidisplaylines";
+ ClusterIp = "IP"; ClusterName = "Name";
+ SiteAddress = "IP";
+ HostIP = "hostip"; HostFQDN = "hostfqdn";
+ GeoInterfaceId = "geo_ssh_iface";
+ ScalingOver64KConnections = "localbind"; AddPortToActiveCookie = "addcookieport"; RFCConform = "rfcconform";
+ CloseOnError = "closeonerror"; AddViaHeaderInCacheResponses = "addvia"; RSAreLocal = "rsarelocal";
+ DropOnRSFail = "droponfail"; DropAtDrainEnd = "dropatdrainend"; L7AuthTimeoutSecs = "authtimeout";
+ L7ClientTokenTimeoutSecs = "clienttokentimeout"; L7ConnectionDrainTimeoutSecs = "finalpersist";
+ AllowEmptyPosts = "allowemptyposts"; AllowEmptyHttpHeaders = "AllowEmptyHttpHeaders";
+ ForceCompleteRSMatch = "ForceFullRSMatch"; SlowStart = "slowstart"; ShareSubVSPersistance = "ShareSubVSPersist";
+ SSHPreAuthBanner = "SSHPreAuth"; MultiHomedWui = "multihomedwui"; AllowUpdateChecks = "tethering"; }
+
+$SystemRuleType = @{MatchContentRule=0; AddHeaderRule=1; DeleteHeaderRule=2; ReplaceHeaderRule=3; ModifyUrlRule=4; ReplaceBodyRule=5}
+
+$loginMethodHT = @{"PasswordOnly" = 0; "PasswordOrClientCertificate" = 1; "ClientCertificateRequired" = 2; "ClientCertificateRequiredOCSP" = 3;}
+
+$preferredServerHT = @{"No Preferred Host" = 0; "Prefer First HA" = 1; "Prefer Second HA" = 2;}
+
+$global:PSDefaultParameterValues = @{"Confirm-LicenseEULA:Type"="trial"}
+
+$LmTestServerConnectionFlag = $false
+# ----------------------------------------------------------------------------------------------------------------
+
+# region - UTILITY FUNCTIONS
+# Do not export these functions. Internal use only
+
+# --------------------------------------------------------------------------------------------
+# LM answer helper function
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function GetSuccessString($lmRawAnswer)
+{
+ $str = $null
+ if ($lmRawAnswer) {
+ $sIndex = $lmRawAnswer.IndexOf("")
+ if ($sIndex -ne -1) {
+ $sIndex += 9
+ $eIndex = $lmRawAnswer.IndexOf("")
+ $str = $lmRawAnswer.Substring($sIndex, $eIndex - $sIndex)
+ return $str
+ }
+ }
+ return $str
+}
+
+# Internal use only
+Function setKempAPIReturnObject($retCode, $apiResponse, $data)
+{
+ $tempApiRetObj = [ordered]@{}
+ $tempApiRetObj.PSTypeName = "KempAPI"
+ $tempApiRetObj.ReturnCode = $retCode
+ $tempApiRetObj.Response = $apiResponse
+ $tempApiRetObj.Data = $data
+
+ $kempApiRetObject = New-Object -TypeName PSObject -Prop $tempApiRetObj
+
+ $kempApiRetObject
+}
+
+# --------------------------------------------------------------------------------------------
+# LM XML answer helper functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function AddXmlNodeToDictionary($dictionary, $keyname, $actualValue, $newValue)
+{
+ if ($actualValue -is [array]) {
+ $actualValue += $newValue
+ $dictionary[$keyName] = $actualValue
+ }
+ else {
+ $tmpA = @()
+ $tmpA += $actualValue
+ $tmpA += $newValue
+ $dictionary[$keyName] = $tmpA
+ }
+}
+
+# Internal use only
+Function GetPSObjectFromXml($NodeInfoType, $xmlNode, $notrim)
+{
+ if ( ([String]::IsNullOrEmpty($xmlNode)) ) {
+ return
+ }
+
+ $NodeInfo = [ordered]@{}
+ $NodeInfo.PSTypeName = "$NodeInfoType"
+
+ foreach ($item in $xmlNode.GetEnumerator()) {
+ $check = $item.FirstChild.HasChildNodes
+ if ($check -eq $false) {
+ if ($NodeInfo.Contains($item.Name) -eq $true) {
+ $kval = $NodeInfo.Get_Item($item.Name)
+ if (([String]::IsNullOrEmpty($notrim))) {
+ $nodeValue = $item.InnerXml -replace "`n","" -replace "`r",""
+ }
+ else {
+ # CERTS case
+ $nodeValue = $item.InnerXml
+ }
+ AddXmlNodeToDictionary $NodeInfo $item.Name $kval $nodeValue
+ }
+ else {
+ if (([String]::IsNullOrEmpty($notrim))) {
+ $nodeValue = $item.InnerXml -replace "`n","" -replace "`r",""
+ }
+ else {
+ # CERTS case
+ $nodeValue = $item.InnerXml
+ }
+ $NodeInfo.Add($item.Name, $nodeValue)
+ }
+ }
+ else {
+ $LocalNodeInfoType = $($item.LocalName)
+ $childNodeData = GetPSObjectFromXml $LocalNodeInfoType $item
+ if ($NodeInfo.Contains($item.LocalName) -eq $true) {
+ $kval = $NodeInfo.Get_Item($item.LocalName)
+ AddXmlNodeToDictionary $NodeInfo $item.LocalName $kval $childNodeData
+ }
+ else {
+ $NodeInfo.Add($item.LocalName, $childNodeData)
+ }
+ }
+ }
+ New-Object -TypeName PSObject -Prop $NodeInfo
+}
+
+# Internal use only
+Function GetPSSdnDataFromXml($NodeInfoType, $xmlNode, $notrim)
+{
+ if ( ([String]::IsNullOrEmpty($xmlNode)) ) {
+ return
+ }
+
+ $NodeInfo = [ordered]@{}
+ $NodeInfo.PSTypeName = "$NodeInfoType"
+
+ foreach ($item in $xmlNode.GetEnumerator()) {
+ $check = $item.HasChildNodes
+ if ($check -eq $false) {
+ if ($item.HasAttributes) {
+ $attrs = $item | gm -MemberType Property | Select Name
+ $NodeInfo2 = [ordered]@{}
+ $NodeInfo2.PSTypeName = $item.LocalName
+ foreach($a in $attrs) {
+ $p = $a.Name
+ if ($item.LocalName -eq "cluster" -and $a.Name -eq "id") {
+ $NodeInfo2.Add("clusterid", $item.$p)
+ }
+ else {
+ $NodeInfo2.Add($a.Name, $item.$p)
+ }
+ }
+ $tempObj = New-Object -TypeName PSObject -Prop $NodeInfo2
+ if ($NodeInfo.Contains($item.LocalName) -eq $true) {
+ $kval = $NodeInfo.Get_Item($item.LocalName)
+ AddXmlNodeToDictionary $NodeInfo $item.LocalName $kval $tempObj
+ }
+ else {
+ $NodeInfo.Add($item.LocalName, $tempObj)
+ }
+ }
+ }
+ else {
+ if ($item.HasAttributes) {
+ $attrs = $item | gm -MemberType Property | Select Name
+ $NodeInfo3 = [ordered]@{}
+ $NodeInfo3.PSTypeName = $item.LocalName
+ foreach($a in $attrs) {
+ $p = $a.Name
+ if ($a.Name -eq "id") {
+ if ($item.LocalName -eq "controller") {
+ $NodeInfo3.Add("controllerid", $item.$p)
+ }
+ else {
+ $NodeInfo3.Add("clusterid", $item.$p)
+ }
+ }
+ else {
+ if ($a.Name -ne "controller") {
+ $NodeInfo3.Add($a.Name, $item.$p)
+ }
+ }
+ }
+ if ($item.LocalName -eq "controller") {
+ return $NodeInfo3
+ }
+ $childNodeData = GetPSSdnDataFromXml "controller" $item
+ if ($childNodeData) {
+ foreach($elem in $childNodeData.GetEnumerator()) {
+ if ($elem.Name -ne "PSTypeName") {
+ $NodeInfo3.Add($elem.Name, $elem.Value)
+ }
+ }
+ }
+ $tempObj = New-Object -TypeName PSObject -Prop $NodeInfo3
+ if ($NodeInfo.Contains($item.LocalName) -eq $true) {
+ $kval = $NodeInfo.Get_Item($item.LocalName)
+ AddXmlNodeToDictionary $NodeInfo $item.LocalName $kval $tempObj
+ }
+ else {
+ $NodeInfo.Add($item.LocalName, $tempObj)
+ }
+ }
+ }
+ }
+ New-Object -TypeName PSObject -Prop $NodeInfo
+}
+
+# --------------------------------------------------------------------------------------------
+# LM IP/FQDN checker functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function checkLmIpFqdn($LmIP)
+{
+ if ( ([String]::IsNullOrEmpty($LmIP)) ) {
+ $errStr = "ERROR: Load Master IP address/FQDN is a mandatory input parameter."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+}
+
+# Internal use only
+Function validateConnectionParameters($LmIP, $LmPort)
+{
+ checkLmIpFqdn $LmIP
+
+ if ($LmPort -lt 3 -or $LmPort -gt 65530) {
+ $errStr = "ERROR: Load Master Port value [$LmPort] is invalid. Allowed values: 3, 65530."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+}
+
+# --------------------------------------------------------------------------------------------
+# Login method checker functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function getCertPathFromCert($Certificate)
+{
+ if ($Certificate) {
+ $tmp = $Certificate.PSPath.Split('::')
+ $tpath = "Cert:\" + $tmp[2]
+ $idx = $tpath.LastIndexOf('\')
+ $certPath = $tpath.Substring(0, $idx)
+ }
+ else {
+ # It should never happen
+ $errStr = "ERROR: the certificate is NULL."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+ $certPath
+}
+
+# Internal use only
+Function Get-LoginCertificate($certStoreLoc, $certCN)
+{
+ if (([String]::IsNullOrEmpty($certStoreLoc))) {
+ $certStoreLoc = "Cert:\CurrentUser\My"
+ }
+
+ if ($certCN -eq "" -or $certCN -eq $false) {
+ $errStr = "ERROR: SubjectCN is NULL."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+
+ $certs_list = Get-ChildItem -Recurse -Path $certStoreLoc
+
+ $found = $false
+ $certificate = $null
+ $location = "Cert:\" # Certificates base dir
+ foreach ($item in $certs_list) {
+ $item.Subject | Where {$check = $_ -Like "*CN=$certCN, OU=support*"}
+ if ($check) {
+ $index = $item.PSPath.IndexOf("::")
+ $location += ($item.PSPath).Substring($index + 2)
+ $certificate = $item
+ $found = $true
+ break
+ }
+ }
+ $certificate
+}
+
+# Internal use only
+Function checkLoginMethod($Cred, $SubjectCN)
+{
+ if ( ([String]::IsNullOrEmpty($Cred)) -and ([String]::IsNullOrEmpty($SubjectCN)) ) {
+ $errStr = "ERROR: login method param is empty. Credentials or SubjectCN must be specified."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+
+ if ( (-not [String]::IsNullOrEmpty($Cred)) -and (-not [String]::IsNullOrEmpty($SubjectCN)) ) {
+ $errStr = "ERROR: only one login method (Credentials or SubjectCN) can be used."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+}
+
+# Internal use only
+Function validateLoginParameters($Cred, $SubjectCN, $CertLocation)
+{
+ checkLoginMethod $Cred $SubjectCN
+
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ $loginCert = Get-LoginCertificate $CertLocation $SubjectCN
+ if ($loginCert -ne $null) {
+ $certPath = getCertPathFromCert $loginCert
+ }
+ else {
+ if ($CertLocation) {
+ $errStr = "ERROR: Can't find a certificate with `"$SubjectCN`" as CN in $CertLocation store."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+ else {
+ $errStr = "ERROR: Can't find a certificate with `"$SubjectCN`" as CN in the default Cert:\CurrentUser\My store."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+ }
+ }
+}
+
+# Internal use only
+Function validateCommonInputParams($LmIp, $LmPort, $Credential, $SubjectCN, $CertLoc, $File, $Output, $skipLoginMethodCheck)
+{
+ validateConnectionParameters $LmIp $LmPort
+
+ if (([String]::IsNullOrEmpty($skipLoginMethodCheck))) {
+ validateLoginParameters $Credential $SubjectCN $CertLoc
+ }
+
+ validateFile2Upload $File $Output
+ validateDownloadFileName $Output
+}
+
+# --------------------------------------------------------------------------------------------
+# Get connection parameters checker functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function getConnParameters($LMaster, $LMasterPort, $LMCred, $LMLoginCert, $LMLoginCertLoc, $version)
+{
+ $params = [ordered]@{}
+
+ if ($version -eq "getConnParameters_2") {
+ $params.Add("LoadBalancer", $LMaster)
+ $params.Add("LBPort", $LMasterPort -as [int])
+
+ if (-not ([String]::IsNullOrEmpty($LMLoginCert))) {
+ $params.Add("SubjectCN", $LMLoginCert)
+ if (-not ([String]::IsNullOrEmpty($LMLoginCertLoc))) {
+ $params.Add("CertificateStoreLocation", $LMLoginCertLoc)
+ }
+ }
+ else {
+ $params.Add("Credential", $LMCred)
+ }
+ }
+ else {
+ $params.Add("LmIp", $LMaster)
+ $params.Add("LmPort", $LMasterPort -as [int])
+
+ if ($LMLoginCert) {
+ $params.Add("SubjectCN", $LMLoginCert)
+ if ($LMLoginCertLoc) {
+ $params.Add("CertLoc", $LMLoginCertLoc)
+ }
+ }
+ else {
+ $params.Add("Cred", $LMCred)
+ }
+ }
+ return $params
+}
+
+# Internal use only
+Function getConnParameters_2($LMaster, $LMasterPort, $LMCred, $LMLoginCert, $LMLoginCertLoc)
+{
+ getConnParameters $LMaster $LMasterPort $LMCred $LMLoginCert $LMLoginCertLoc "getConnParameters_2"
+}
+
+# --------------------------------------------------------------------------------------------
+# Networking helper functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function checkInterface($interfaceDetails, $WuiIface)
+{
+ if ($interfaceDetails) {
+ if ($interfaceDetails -is [array]) {
+ foreach($intf in $interfaceDetails) {
+ if ($intf.Id -eq $WuiIface) {
+ return $true
+ }
+ }
+ }
+ else {
+ if ($interfaceDetails.Id -eq $WuiIface) {
+ return $true
+ }
+ }
+ }
+ return $false
+}
+
+# Internal use only
+Function getCurrentIntfId($interfaceDetails, $LoadBalancer)
+{
+ if ($interfaceDetails) {
+ if ($interfaceDetails -is [array]) {
+ foreach($intf in $interfaceDetails) {
+ $lmIP = $intf.IPAddress
+ if ($lmIP.Contains($LoadBalancer) -eq $true) {
+ return $intf.Id
+ }
+ }
+ }
+ else {
+ $lmIP = $interfaceDetails.IPAddress
+ if ($lmIP.Contains($LoadBalancer) -eq $true) {
+ return $interfaceDetails.Id
+ }
+ }
+ }
+ return "-1"
+}
+
+# Internal use only
+Function getIpFromCidrNotation($ipCidr)
+{
+ if ($ipCidr) {
+ $sIdx = $ipCidr.IndexOf("/")
+ if ($sIdx -gt 0) {
+ $ip = $ipCidr.Substring(0, $sIdx)
+ return $ip
+ }
+ else {
+ Throw "ERROR: the given ip [$ipCidr] is not in CIDR notation"
+ }
+ }
+ else {
+ Throw "ERROR: NULL ip address"
+ }
+}
+
+# Internal use only
+Function GetLmNetworkInterface($InterfaceID, $LoadBalancer, $LBPort, $Credential, $SubjectCN, $CertSL)
+{
+ $params = [ordered]@{
+ InterfaceID = $InterfaceID
+ LoadBalancer = $LoadBalancer
+ LBPort = $LBPort
+ }
+
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ $params.Add("SubjectCN", $SubjectCN)
+ if (-not ([String]::IsNullOrEmpty($CertSL))) {
+ $params.Add("CertificateStoreLocation", $CertSL)
+ }
+ }
+ else {
+ $params.Add("Credential", $Credential)
+ }
+ Get-NetworkInterface @params
+}
+
+# Internal use only
+Function SetNetworkInterfaceParam($cmd2exec, $networkParams, $ConnParams)
+{
+ try {
+ $response = SendCmdToLm -Command "$cmd2exec" -ParameterValuePair $networkParams -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+
+# --------------------------------------------------------------------------------------------
+# Get/Set helper functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function GetLmParameter($Param, $LoadBalancer, $LBPort, $Credential, $SubjectCN, $CertSL)
+{
+ $params = [ordered]@{
+ Param = $param
+ LoadBalancer = $LoadBalancer
+ LBPort = $LBPort
+ }
+
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ $params.Add("SubjectCN", $SubjectCN)
+ if (-not ([String]::IsNullOrEmpty($CertSL))) {
+ $params.Add("CertificateStoreLocation", $CertSL)
+ }
+ }
+ else {
+ $params.Add("Credential", $Credential)
+ }
+ Get-LmParameter @params
+}
+
+# Internal use only
+Function SetLmParameter($ParamName, $ParamValue, $LoadBalancer, $LBPort, $Credential, $SubjectCN, $CertSL)
+{
+ $params = [ordered]@{
+ Param = $ParamName
+ Value = $ParamValue
+ LoadBalancer = $LoadBalancer
+ LBPort = $LBPort
+ }
+
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ $params.Add("SubjectCN", $SubjectCN)
+ if (-not ([String]::IsNullOrEmpty($CertSL))) {
+ $params.Add("CertificateStoreLocation", $CertSL)
+ }
+ }
+ else {
+ $params.Add("Credential", $Credential)
+ }
+ Set-LmParameter @params
+}
+
+# Internal use only
+Function GetLmParameterSet($queryParams, $objectPSName, $lmInputParams)
+{
+ $configContainer = [ordered]@{}
+ $configContainer.PSTypeName = $objectPSName
+
+ Foreach ($param in $queryParams) {
+ $lmInputParams.Add("param", $param)
+
+ $response = Get-LmParameter @lmInputParams
+ if ($response.ReturnCode -eq 200) {
+ $value = $response.Data.$param
+ if ($param -ne "wuidisplaylines") {
+ $configContainer.Add($param, $value)
+ }
+ else {
+ # Statistics Display Size
+ $configContainer.Add("StatisticsDisplaySize", $value)
+ }
+ }
+ else {
+ # ERROR
+ return $response
+ }
+ $lmInputParams.Remove("param")
+ Start-Sleep -m 200
+ }
+ $data = New-Object -TypeName PSObject -Property $configContainer
+
+ $settingsContainer = [ordered]@{}
+ $settingsContainer.PSTypeName = $objectPSName
+ $settingsContainer.Add($objectPSName, $data)
+
+ $finalObject = New-Object -TypeName PSObject -Property $settingsContainer
+
+ setKempAPIReturnObject 200 "Command successfully executed." $finalObject
+}
+
+# Internal use only
+Function SetParameterSet($paramsSet, $connParams, [ref]$params2Get)
+{
+ if ($paramsSet) {
+
+ foreach ($param in $paramsSet.Keys) {
+
+ $connParams.Add("param", $param)
+ $connParams.Add("value", $paramsSet[$param])
+ $params2Get.value += $param
+
+ $response = Set-LmParameter @connParams
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $connParams.Remove("param")
+ $connParams.Remove("value")
+
+ Start-Sleep -m 200
+ }
+ $response
+ }
+}
+
+# --------------------------------------------------------------------------------------------
+# LM ANSWER helper functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function checkLmOkResponse($LmResponse)
+{
+ $retValue = $false
+ if ($LmResponse -eq "OK" -or
+ $LmResponse -eq "ok" -or
+ $LmResponse -eq "Ok" ) {
+ $retValue = $true
+ }
+ return $retValue
+}
+
+# Internal use only
+Function getErrorCode($errMsg)
+{
+ if ($errMsg) {
+
+ $errMsg = [string]$errMsg
+ if ($errMsg.Contains("Unauthorized")) {
+ $errCode = 401
+ }
+ else {
+ $errCode = 400
+ }
+
+ }
+ else {
+ $errCode = 400
+ }
+ return $errCode
+}
+
+# --------------------------------------------------------------------------------------------
+# EULA helper functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function SetEulaResponseObject($rawAnswer, $EulaType)
+{
+ if ($rawAnswer) {
+ try {
+ $EulaCmdResponse = [xml]$rawAnswer
+ $answerCode = $EulaCmdResponse.Response.stat
+
+ if ($answerCode -eq 200) {
+ $answerDes = "Command successfully executed"
+ try {
+ $mstr = $EulaCmdResponse.Response.Success.Data.Magic
+ # NOTE we can't access the eula directly
+ # due to the HTML tags.
+ $eulaStartIndex = $rawAnswer.IndexOf("`") + 6
+ $eulaEndIndex = $rawAnswer.IndexOf("`")
+ $eula = $rawAnswer.Substring($eulaStartIndex, $eulaEndIndex - $eulaStartIndex)
+
+ $tempEulaAnswer = [ordered]@{}
+ $tempEulaAnswer.PSTypeName = $EulaType
+ $tempEulaAnswer.MagicString = $mstr
+ $tempEulaAnswer.$EulaType = $eula
+ $eulaAnswer = New-Object -TypeName PSObject -Prop $tempEulaAnswer
+
+ $eulaHT = [ordered]@{}
+ $eulaHT.PSTypeName = $EulaType
+ $eulaHT.Add($EulaType, $eulaAnswer)
+ $eulaObject = New-Object -TypeName PSObject -Prop $eulaHT
+
+ $answer = setKempAPIReturnObject $answerCode $answerDes $eulaObject
+ return $answer
+ }
+ catch {
+ $errorString = $_.Exception.Message
+ $errorAnswer = setKempAPIReturnObject 401 "$errorString" $null
+ return $errorAnswer
+ }
+ }
+ else {
+ # ERROR
+ $answerDes = $EulaCmdResponse.Response.Error
+ $errorAnswer = setKempAPIReturnObject $answerCode $answerDes $null
+ return $errorAnswer
+ }
+ }
+ catch {
+ $errorAnswer = setKempAPIReturnObject 401 $rawAnswer $null
+ return $errorAnswer
+ }
+ }
+ $errorAnswer = setKempAPIReturnObject 401 "ERROR: no answer from the LM." $null
+ return $errorAnswer
+}
+
+# Internal use only
+Function SetEulaErrorResponseObject($rawError)
+{
+ if ($rawError) {
+
+ try {
+ $err = [xml]$rawError
+ $errCode = $err.Response.stat
+ $errDes = $err.Response.Error
+ }
+ catch {
+ $errCode = 400
+ $errDes = $rawError
+ }
+ }
+ else {
+ $errCode = 400
+ $errDes = "ERROR: Unknown error."
+ }
+ setKempAPIReturnObject $errCode $errDes $null
+}
+
+# --------------------------------------------------------------------------------------------
+# LICENSE helper functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function GetLicenseCmdErrorCode($errorString)
+{
+ if ($errorString.Contains("invalid username")) {
+ $errCode = 422
+ }
+ elseif ($errorString.Contains("Unauthorized")) {
+ $errCode = 401
+ }
+ elseif ($errorString.Contains("Unable to connect") -or
+ $errorString.Contains("The remote name could not be resolved") -or
+ $errorString.Contains("Can't find a certificate") -or
+ $errorString.Contains("The underlying connection was closed")) {
+ $errCode = 400
+ }
+ else {
+ Write-Debug "Unknown error message [$errorString]"
+ $errCode = 400
+ }
+ $errCode
+}
+
+# --------------------------------------------------------------------------------------------
+# Cmdlets response "HANDLER" functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function SetGetLicenseAccessKeyReturnObject($response)
+{
+ $accessKey = $([xml]$response).Response.Success.Data.AccessKey
+
+ $tempAKA = @{}
+ $tempAKA.PSTypeName = "AccessKey"
+ $tempAKA.AccessKey = $accessKey
+ New-Object -TypeName PSObject -Prop $tempAKA
+}
+
+# Internal use only
+Function AddLicenseObject($licItem, $pOrderId)
+{
+ $LicVector = @()
+
+ $licDes = $licItem.description
+ if ($licDes.Contains("from OrderID")) {
+ $licDes += " $pOrderId"
+ }
+ $buymore = $licItem.purchaseOptions[0].link -replace "`n","" -replace "`r",""
+
+ foreach($lic in $licItem.licenseTypes) {
+ $LicData = [ordered]@{}
+ $LicData.PSTypeName = "License"
+
+ foreach($item in $lic.PSObject.Properties) {
+ $value = $item.Value -replace "`n","" -replace "`r",""
+ $LicData.Add($item.Name, $value)
+ }
+ if ($licDes.Contains("Temp")) {
+ $LicData.Add("LicenseStatus", $licDes)
+ $LicData.Add("description", $LicData.name)
+ }
+ else {
+ $LicData.Add("LicenseStatus", "Permanent License")
+ }
+ $LicData.Add("BuyMoreAt", $buymore)
+
+ $licObj = New-Object -TypeName PSObject -Prop $LicData
+ $LicVector += $LicObj
+ }
+ return $LicVector
+}
+
+# Internal use only
+Function SetGetLicenseTypeReturnObject($xmlAnsw, $pOrderId)
+{
+ $data = $xmlAnsw.Response.Success
+
+ if ( ([String]::IsNullOrEmpty($data)) ) {
+ return $null
+ }
+
+ $LicHt = [ordered]@{}
+ $LicHt.PSTypeName = "License"
+
+ if ($data.Contains("License type information not available") -or $data -eq "[]") {
+ $LicHt.Add("Licenses", "License type information not available")
+ New-Object -TypeName PSObject -Prop $LicHt
+ return
+ }
+
+ $TempLicObject = $data | ConvertFrom-Json
+ $licenseArray = @()
+ foreach($item in $TempLicObject.categories) {
+ $tmp = AddLicenseObject $item $pOrderId
+ foreach($item in $tmp) {
+ $licenseArray += $item
+ }
+ }
+ $LicHt.Add("License", $licenseArray)
+ New-Object -TypeName PSObject -Prop $LicHt
+}
+
+# Internal use only
+Function SetGetLicenseInfoReturnObject($response)
+{
+ $LicInfo = [ordered]@{}
+ $LicInfo.PSTypeName = "LicenseInfo"
+
+ $data = $([xml]$response).Response.Success.Data
+
+ $licenseData = GetPSObjectFromXml "LicenseInfo" $data
+ $LicInfo.Add("LicenseInfo", $licenseData) | Out-null
+
+ New-Object -TypeName PSObject -Property $LicInfo
+}
+
+# Internal use only
+Function SetAdcVSSettingsReturnObject($xmlAnsw, $single)
+{
+ if ($single -eq $true) {
+ $vsSettings = [ordered]@{}
+ $vsSettings.PSTypeName = "VSSettings"
+ $vsData = GetPSObjectFromXml "VS" $xmlAnsw.Response.Success.Data
+ $vsSettings.Add("VS", $vsData) | Out-null
+ New-Object -TypeName PSObject -Property $vsSettings
+ }
+ else {
+ GetPSObjectFromXml "VS" $xmlAnsw.Response.Success.Data.VS
+ }
+}
+
+# Internal use only
+Function SetRSSettingReturnObject($xmlAnsw)
+{
+ $rsSettings = [ordered]@{}
+ $rsSettings.PSTypeName = "Real Server settings"
+
+ $vsData = GetPSObjectFromXml "VS" $xmlAnsw.Response.Success.Data.Rs
+
+ $rsSettings.Add("RsSettings", $vsData) | Out-null
+ New-Object -TypeName PSObject -Property $rsSettings
+}
+
+# Internal use only
+Function SetAdcContentRuleReturnObject($xmlAnsw)
+{
+ $crSettings = [ordered]@{}
+ $crSettings.PSTypeName = "ContentRules"
+
+ if ($xmlAnsw.Response.Success.Data.MatchContentRule) {
+ $data = $([xml]$response).Response.Success.Data.MatchContentRule
+ $mCrData = GetPSObjectFromXml "MatchContentRule" $data
+ if ($mCrData.MatchContentRule) {
+ $crSettings.Add("MatchContentRule", $mCrData.MatchContentRule) | Out-null
+ }
+ else {
+ $crSettings.Add("MatchContentRule", $mCrData) | Out-null
+ }
+ }
+
+ if ($xmlAnsw.Response.Success.Data.AddHeaderRule) {
+ $data = $([xml]$response).Response.Success.Data.AddHeaderRule
+ $ahCrData = GetPSObjectFromXml "AddHeaderRule" $data
+ if ($ahCrData.AddHeaderRule) {
+ $crSettings.Add("AddHeaderRule", $ahCrData.AddHeaderRule) | Out-null
+ }
+ else {
+ $crSettings.Add("AddHeaderRule", $ahCrData) | Out-null
+ }
+ }
+
+ if ($xmlAnsw.Response.Success.Data.DeleteHeaderRule) {
+ $data = $([xml]$response).Response.Success.Data.DeleteHeaderRule
+ $dhCrData = GetPSObjectFromXml "DeleteHeaderRule" $data
+ if ($dhCrData.DeleteHeaderRule) {
+ $crSettings.Add("DeleteHeaderRule", $dhCrData.DeleteHeaderRule) | Out-null
+ }
+ else {
+ $crSettings.Add("DeleteHeaderRule", $dhCrData) | Out-null
+ }
+ }
+
+ if ($xmlAnsw.Response.Success.Data.ReplaceHeaderRule) {
+ $data = $([xml]$response).Response.Success.Data.ReplaceHeaderRule
+ $rhCrData = GetPSObjectFromXml "ReplaceHeaderRule" $data
+ if ($rhCrData.ReplaceHeaderRule) {
+ $crSettings.Add("ReplaceHeaderRule", $rhCrData.ReplaceHeaderRule) | Out-null
+ }
+ else {
+ $crSettings.Add("ReplaceHeaderRule", $rhCrData) | Out-null
+ }
+ }
+
+ if ($xmlAnsw.Response.Success.Data.ModifyURLRule) {
+ $data = $([xml]$response).Response.Success.Data.ModifyURLRule
+ $muRData = GetPSObjectFromXml "ModifyURLRule" $data
+ if ($muRData.ModifyURLRule) {
+ $crSettings.Add("ModifyURLRule", $muRData.ModifyURLRule) | Out-null
+ }
+ else {
+ $crSettings.Add("ModifyURLRule", $muRData) | Out-null
+ }
+ }
+
+ if ($xmlAnsw.Response.Success.Data.ReplaceBodyRule) {
+ $data = $([xml]$response).Response.Success.Data.ReplaceBodyRule
+ $repBodyData = GetPSObjectFromXml "ReplaceBodyRule" $data
+ if ($repBodyData.ReplaceBodyRule) {
+ $crSettings.Add("ReplaceBodyRule", $repBodyData.ReplaceBodyRule) | Out-null
+ }
+ else {
+ $crSettings.Add("ReplaceBodyRule", $repBodyData) | Out-null
+ }
+ }
+
+ $crRetObj = New-Object -TypeName PSObject -Property $crSettings
+
+ $crConf = [ordered]@{}
+ $crConf.PSTypeName = "ContentRules"
+ $crConf.Add("ContentRules", $crRetObj) | Out-null
+ New-Object -TypeName PSObject -Property $crConf
+}
+
+# Internal use only
+Function SetAdcServiceHealthReturnObject($xmlAnsw)
+{
+ $srvHConf = [ordered]@{}
+ $srvHConf.PSTypeName = "AdcServiceHealth"
+
+ $data = $([xml]$response).Response.Success.Data
+ $srvHData = GetPSObjectFromXml "AdcServiceHealth" $data
+
+ if ($srvHData.RetryInterval) {
+ renameCustomObjectProperty $srvHData "RetryInterval" "CheckInterval"
+ }
+ if ($srvHData.Timeout) {
+ renameCustomObjectProperty $srvHData "Timeout" "ConnectionTimeout"
+ }
+ if ($srvHData.RetryCount) {
+ renameCustomObjectProperty $srvHData "RetryCount" "RetryCount"
+ }
+
+ $srvHConf.Add("AdcServiceHealth", $srvHData) | Out-null
+ New-Object -TypeName PSObject -Property $srvHConf
+}
+
+# Internal use only
+Function SetAdcAdaptiveHealthCheckReturnObject($xmlAnsw)
+{
+ $ahcConf = [ordered]@{}
+ $ahcConf.PSTypeName = "AdcAdaptiveHealthCheck"
+
+ $data = $([xml]$response).Response.Success.Data
+ $ahcData = GetPSObjectFromXml "AdcAdaptiveHealthCheck" $data
+
+ $ahcConf.Add("AdcAdaptiveHealthCheck", $ahcData) | Out-null
+ New-Object -TypeName PSObject -Property $ahcConf
+}
+
+# Internal use only
+Function SetAdcWafVSRulesReturnObject($xmlAnsw, $rulename)
+{
+ $vsWafRule = [ordered]@{}
+ $vsWafRule.PSTypeName = "AdcWafVSRules"
+
+ $data = $([xml]$response).Response.Success.Data
+ $vsWafRuleData = GetPSObjectFromXml "AdcWafVSRules" $data
+
+ $vsWafRule.Add("AdcWafVSRules", $vsWafRuleData) | Out-null
+ New-Object -TypeName PSObject -Property $vsWafRule
+}
+
+# Internal use only
+Function SetLicenseOnPremiseReturnObject($xmlAnsw)
+{
+ $AslServerIpAddr = $xmlAnsw.Response.Success.Data.aslipaddr
+ $AslServerPort = $xmlAnsw.Response.Success.Data.aslport
+ $AslServerFqdn = $xmlAnsw.Response.Success.Data.aslname
+
+ $aslConf = [ordered]@{}
+ $aslConf.PSTypeName = "Asl Server Data"
+
+ $aslConf.Add("AslServerIpAddress", $AslServerIpAddr) | Out-null
+ $aslConf.Add("AslServerPort", $AslServerPort) | Out-null
+ $aslConf.Add("AslServerFqdn", $AslServerFqdn) | Out-null
+
+ New-Object -TypeName PSObject -Prop $aslConf
+}
+
+# Internal use only
+Function SetGetSecUserReturnObject($xmlAnsw)
+{
+ $secUserConf = [ordered]@{}
+ $secUserConf.PSTypeName = "SecureUserSettings"
+
+ $secUserData = GetPSObjectFromXml "SecureUserSettings" $xmlAnsw.Response.Success.Data.User
+ if ($secUserData) {
+
+ if ($secUserData.User) {
+ foreach ($user in $secUserData.User) {
+ $user.Perms = $user.Perms.Trim(",", " ")
+ }
+ $secUserConf.Add("SecureUserSettings", $secUserData.User) | Out-null
+ }
+ else {
+ $secUserData.Perms = $secUserData.Perms.Trim(",", " ")
+ $secUserConf.Add("SecureUserSettings", $secUserData) | Out-null
+ }
+ }
+ New-Object -TypeName PSObject -Property $secUserConf
+}
+
+# Internal use only
+Function SetNetworkInterfaceReturnObject($xmlAnsw, $interfaceId)
+{
+ $networkInterfaceData = GetPSObjectFromXml "NetworkInterfaceSettings" $xmlAnsw.Response.Success.Data.Interface
+ if ($interfaceId -ge 0) {
+ # specific interface
+ $networkInterfaceConf = [ordered]@{}
+ $networkInterfaceConf.PSTypeName = "NetworkInterfaceSettings"
+
+ $networkInterfaceConf.Add("Interface", $networkInterfaceData) | Out-null
+ New-Object -TypeName PSObject -Property $networkInterfaceConf
+ }
+ else {
+ # all interfaces
+ return $networkInterfaceData
+ }
+}
+
+# Internal use only
+Function SetGetAllParametersReturnObject($xmlAnsw, $typeName)
+{
+ $ht = [ordered]@{}
+
+ if ($typeName -eq "AllParameters") {
+ $ht.PSTypeName = $typeName
+ $allParamsData = GetPSObjectFromXml $typeName $xmlAnsw.Response.Success.Data
+ $ht.Add($typeName, $allParamsData) | Out-null
+ }
+ else {
+ $ht.PSTypeName = "Parameter"
+ $node = $xmlAnsw.Response.Success.Data
+ foreach($item in $node.GetEnumerator()) {
+ $paramValue = $item.InnerText -replace "`n","" -replace "`r","" # LM s..t
+ $ht.add($item.Name, $paramValue)
+ }
+ }
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetLmNetworkInterfaceReturnObject($xmlAnsw)
+{
+ GetPSObjectFromXml "InterfaceSettings" $xmlAnsw.Response.Success.Data.Network
+}
+
+# Internal use only
+Function SetTLSCertificateReturnObject($xmlAnsw)
+{
+ $data = $xmlAnsw.Response.Success.Data
+ if ($data) {
+ GetPSObjectFromXml "TlsCertificate" $data "notrim"
+ }
+ else {
+ return $null
+ }
+}
+
+# Internal use only
+Function SetGetTLSCipherSetReturnObject($xmlAnsw)
+{
+ $data = $xmlAnsw.Response.Success.Data.cipherset
+
+ if ($data) {
+ $data = $data.split(":")
+ }
+
+ $tlsCS = [ordered]@{}
+ $tlsCS.PSTypeName = "TlsCipherSet"
+
+ $tlsCS.Add("TlsCipherSet", $data) | Out-null
+
+ New-Object -TypeName PSObject -Prop $tlsCS
+}
+
+# Internal use only
+Function SetTLSHSMReturnObject($xmlAnsw)
+{
+ GetPSObjectFromXml "HSMSettings" $xmlAnsw.Response.Success.Data.HSM
+}
+
+# Internal use only
+Function doRemoveNonSamlData($singleSSODomain)
+{
+ if ($singleSSODomain.auth_type -eq "SAML") {
+ $singleSSODomain.PSObject.Properties.Remove("testuser")
+ $singleSSODomain.PSObject.Properties.Remove("ldap_version")
+ $singleSSODomain.PSObject.Properties.Remove("server_side")
+ $singleSSODomain.PSObject.Properties.Remove("logon_fmt")
+ $singleSSODomain.PSObject.Properties.Remove("logon_fmt2")
+ $singleSSODomain.PSObject.Properties.Remove("logon_transcode")
+ $singleSSODomain.PSObject.Properties.Remove("logon_domain")
+ $singleSSODomain.PSObject.Properties.Remove("kerberos_domain")
+ $singleSSODomain.PSObject.Properties.Remove("kerberos_kdc")
+ $singleSSODomain.PSObject.Properties.Remove("kcd_username")
+ $singleSSODomain.PSObject.Properties.Remove("max_failed_auths")
+ $singleSSODomain.PSObject.Properties.Remove("reset_fail_tout")
+ $singleSSODomain.PSObject.Properties.Remove("unblock_tout")
+ $singleSSODomain.PSObject.Properties.Remove("sess_tout_idle_priv")
+ $singleSSODomain.PSObject.Properties.Remove("sess_tout_duration_priv")
+ $singleSSODomain.PSObject.Properties.Remove("cert_check_asi")
+ $singleSSODomain.PSObject.Properties.Remove("cert_check_cn")
+ }
+}
+
+# Internal use only
+Function removeNonSamlData($SSODomainData)
+{
+ if ($SSODomainData) {
+
+ if ($SSODomainData.Domain) {
+ # array case
+ $domainsArray = $SSODomainData.Domain
+ foreach ($singleDomain in $domainsArray) {
+ doRemoveNonSamlData($singleDomain)
+ }
+ }
+ else {
+ # scalar case
+ doRemoveNonSamlData($SSODomainData)
+ }
+ }
+}
+
+# Internal use only
+Function SetGetSSODomainReturnObject($xmlAnsw)
+{
+ $ssoData = $xmlAnsw.Response.Success.Data.Domain
+ $data = GetPSObjectFromXml "SSODomain" $ssoData
+
+ removeNonSamlData $data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "SSODomain"
+
+ if ($data.Domain) {
+ $ht.add("Domain", $data.Domain)
+ }
+ else {
+ $ht.add("Domain", $data)
+ }
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetSSOSamlDomainReturnObject($xmlAnsw)
+{
+ $ssoData = $xmlAnsw.Response.Success.Data.Domain
+
+ $data = GetPSObjectFromXml "SSODomain" $ssoData
+
+ removeNonSamlData $data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "SSODomain"
+ $ht.add("Domain", $data)
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetSSODomainLockUnLockAnswerReturnObject($xmlAnsw, $Cmd)
+{
+ $dht = [ordered]@{}
+
+ if ($Cmd -eq "showdomainlockedusers") {
+ $dht.PSTypeName = "SSODomainsLockedUsers"
+ $data = $xmlAnsw.Response.Success.Data.LockedUsers
+
+ $lockedUser = GetPSObjectFromXml "LockedUsers" $data
+ if ($lockedUser) {
+ $dht.Add("LockedUsers", $lockedUser) | Out-null
+ }
+ else {
+ $dht = $null
+ }
+ }
+ elseif ($Cmd -eq "unlockdomainusers") {
+ $dht.PSTypeName = "SSODomainsUnlockedUsers"
+ $data = $xmlAnsw.Response.Success.Data.UnlockedUsers
+
+ $unlockedUser = GetPSObjectFromXml "UnlockedUsers" $data
+ if ($unlockedUser) {
+ $dht.Add("UnlockedUsers", $unlockedUser) | Out-null
+ }
+ else {
+ $dht = $null
+ }
+ }
+ else {
+ Throw "Unknown SSO Domain command"
+ return
+ }
+ New-Object -TypeName PSObject -Prop $dht
+}
+
+# Internal use only
+Function SetGetSSODomainSessionReturnObject($xmlAnsw)
+{
+ $Sessions = [ordered]@{}
+ $Sessions.PSTypeName = "SSOSession"
+
+ $nos = $xmlAnsw.Response.Success.Data.NumberOfSessions
+ $Sessions.Add("NumberOfSessions", $nos) | Out-null
+
+ if ($nos -eq 0) {
+ $Sessions.Add("Session", $null)
+ }
+ elseif ($nos -eq 1) {
+ $data = $xmlAnsw.Response.Success.Data.Session
+ $sHt = GetPSObjectFromXml "Session" $data
+
+ $Sessions.Add("Session", $sHt)
+ }
+ else {
+ $data = $xmlAnsw.Response.Success.Data.Session
+ $sHt_temp = GetPSObjectFromXml "Session" $data
+ $sHt = $sHt_temp.Session
+
+ $Sessions.Add("Session", $sHt)
+ }
+
+ $sObj = New-Object -TypeName PSObject -Prop $Sessions
+
+ $ssoSession = [ordered]@{}
+ $ssoSession.PSTypeName = "SSOSession"
+ $ssoSession.Add("SSOSession", $sObj) | Out-null
+
+ New-Object -TypeName PSObject -Property $ssoSession
+}
+
+# Internal use only
+Function doUpdateLdapEndPointFields($ldapPoint)
+{
+ if ($ldapPoint) {
+ if ($ldapPoint.ldaptype) {
+ renameCustomObjectProperty $ldapPoint "ldaptype" "LdapProtocol"
+ }
+ if ($ldapPoint.refcnt) {
+ renameCustomObjectProperty $ldapPoint "refcnt" "ReferralCount"
+ }
+ }
+}
+
+# Internal use only
+Function SetGetLdapEndpointReturnObject($xmlAnsw, $list)
+{
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "LDAPEndPoint"
+
+ $data = $xmlAnsw.Response.Success.Data
+ $ldapEPData = GetPSObjectFromXml "LDAPEndPoint" $data
+ if ($list) {
+ $ldapPoints = $ldapEPData.EndPoint
+ foreach ($singleLdapPoint in $ldapPoints) {
+ doUpdateLdapEndPointFields $singleLdapPoint
+ }
+ $ht.Add("LDAPEndPoint", $ldapEPData.EndPoint)
+ }
+ else {
+ doUpdateLdapEndPointFields $ldapEPData
+ if ($ldapEPData.server) {
+ $ldapEPData.server = $ldapEPData.server.Trim()
+ }
+ $ht.Add("LDAPEndPoint", $ldapEPData)
+ }
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetInstallTemplateReturnObject($xmlAnsw)
+{
+ $data = $xmlAnsw.Response.Success
+ if ($data) {
+ $lma = $data -replace "\\n", " "
+ Write-Verbose "response: $data"
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "TemplateData"
+ $ht.add("TemplateData", $data)
+ New-Object -TypeName PSObject -Property $ht
+ }
+ else {
+ return $null
+ }
+}
+
+# Internal use only
+Function SetGetTemplateReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "Templates" $xmlAnsw.Response.Success.Data.template
+
+ if ($data) {
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Template"
+ if ($data.template) {
+ $ht.add("Template", $data.template)
+ }
+ else {
+ $ht.add("Template", $data)
+ }
+ New-Object -TypeName PSObject -Property $ht
+ }
+ else {
+ return $null
+ }
+}
+
+# Internal use only
+Function SetExportVSTemplateReturnObject($xmlAnsw)
+{
+ return $null
+}
+
+# Internal use only
+Function SetGetLogStatisticsReturnObject($xmlAnsw, $stats2collect)
+{
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Statistics"
+
+ if ($stats2Collect.VS -eq $true) {
+ if ($xmlAnsw.Response.Success.Data.Vs) {
+ $vsStats = GetPSObjectFromXml "VSStats" $xmlAnsw.Response.Success.Data.Vs
+ $ht.Add("Vs", $vsStats.Vs) | Out-null
+ }
+ }
+
+ if ($stats2Collect.RS -eq $true) {
+ if ($xmlAnsw.Response.Success.Data.Rs) {
+ $rsStats = GetPSObjectFromXml "RSStats" $xmlAnsw.Response.Success.Data.Rs
+ $ht.Add("Rs", $rsStats.Rs) | Out-null
+ }
+ }
+
+ if ($stats2Collect.Totals -eq $true) {
+
+ if ($xmlAnsw.Response.Success.Data.VStotals) {
+ $vsTotalData = GetPSObjectFromXml "VSTStats" $xmlAnsw.Response.Success.Data.VStotals
+ $ht.Add("VStotals", $vsTotalData) | Out-null
+ }
+
+ if ($xmlAnsw.Response.Success.Data.CPU) {
+ $cpuData = GetPSObjectFromXml "CPUStats" $xmlAnsw.Response.Success.Data.CPU
+ $ht.Add("CPU", $cpuData) | Out-null
+ }
+
+ if ($xmlAnsw.Response.Success.Data.Network) {
+ $networkData = GetPSObjectFromXml "NetStats" $xmlAnsw.Response.Success.Data.Network
+ $ht.Add("Network", $networkData) | Out-null
+ }
+
+ if ($xmlAnsw.Response.Success.Data.Memory) {
+ $memoryData = GetPSObjectFromXml "MemStats" $xmlAnsw.Response.Success.Data.Memory
+ $ht.Add("Memory", $memoryData) | Out-null
+ }
+
+ if ($xmlAnsw.Response.Success.Data.TPS) {
+ $tpsData = GetPSObjectFromXml "TpsStats" $xmlAnsw.Response.Success.Data.TPS
+ $ht.Add("TPS", $tpsData) | Out-null
+ }
+ }
+
+ $ct = $xmlAnsw.Response.Success.Data.ChangeTime
+ $ht.Add("ChangeTime", $ct) | Out-null
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetWafRulesReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "WafRules" $xmlAnsw.Response.Success.Data.Rules
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "WafRules"
+ $ht.add("WafRules", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetWafRulesAutoUpdateConfigurationReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "WafConfiguration" $xmlAnsw.Response.Success.Data.WAF
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "WafConfiguration"
+ $ht.add("WafConfiguration", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetWafAuditFilesReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "WafAuditFiles" $xmlAnsw.Response.Success.Data.WAFAuditFiles
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "WafAuditFiles"
+ $ht.add("WafAuditFiles", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGeneralCaseReturnObject($xmlAnsw)
+{
+ return $null
+}
+
+# Internal use only
+Function renameCustomObjectProperty($customPsObject, $oldPropName, $newPropName)
+{
+ $value = $customPsObject.$oldPropName
+ $customPsObject.PSObject.Properties.Remove($oldPropName)
+ $customPsObject | Add-Member -NotePropertyName "$newPropName" -NotePropertyValue $value
+}
+
+# Internal use only
+Function getSelectionCriteriaName($scInternalName)
+{
+ $name = ""
+
+ switch ($scInternalName)
+ {
+ "rr" { $name = "RoundRobin"; break }
+ "wrr" { $name = "WeightedRoundRobin"; break }
+ "fw" { $name = "FixedWeighting"; break }
+ "rsr" { $name = "RealServerLoad"; break }
+ "prx" { $name = "Proximity"; break }
+ "lb" { $name = "LocationBased"; break }
+ "all" { $name = "AllAvailable"; break }
+ }
+ return $name
+}
+
+# Internal use only
+Function UpdateFqdnFieldNames($fqdnData)
+{
+ if ($fqdnData.fqdn) {
+ $Fqdns = $fqdnData.fqdn
+ }
+ else {
+ $Fqdns = $fqdnData
+ }
+
+ foreach ($singleFqdn in $Fqdns) {
+ foreach ($key in Get-Member -InputObject $singleFqdn -MemberType NoteProperty) {
+ switch ($key.Name)
+ {
+ "FullyQualifiedDomainName" {
+ renameCustomObjectProperty $singleFqdn "FullyQualifiedDomainName" "Fqdn"
+ break
+ }
+
+ "failover" {
+ renameCustomObjectProperty $singleFqdn "failover" "Failover"
+ break
+ }
+
+ "publicRequestValue" {
+ renameCustomObjectProperty $singleFqdn "publicRequestValue" "PublicRequest"
+ break
+ }
+
+ "privateRequestValue" {
+ renameCustomObjectProperty $singleFqdn "privateRequestValue" "PrivateRequest"
+ break
+ }
+
+ "FailTime" {
+ renameCustomObjectProperty $singleFqdn "FailTime" "SiteFailureDelay"
+ break
+ }
+
+ "SelectionCriteria" {
+ $value = getSelectionCriteriaName $singleFqdn.SelectionCriteria
+ $singleFqdn.SelectionCriteria = $value
+ break
+ }
+ }
+ }
+ }
+}
+
+# Internal use only
+Function SetGetGeoFqdnReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "GeoFqdn" $xmlAnsw.Response.Success.Data.fqdn
+ UpdateFqdnFieldNames $data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoFqdn"
+ if ($data.fqdn -is [array]) {
+ $ht.add("GeoFqdn", $data.fqdn)
+ }
+ else {
+ $ht.add("GeoFqdn", $data)
+ }
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetGeoStatsReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "GeoStats" $xmlAnsw.Response.Success.Data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoStats"
+ $ht.add("GeoStats", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetGeoClusterReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "GeoCluster" $xmlAnsw.Response.Success.Data.cluster
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoCluster"
+ if ($data.cluster) {
+ $ht.add("GeoCluster", $data.cluster)
+ }
+ else {
+ $ht.add("GeoCluster", $data)
+ }
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetAddGeoClusterReturnObject($xmlAnsw, $ClusterName)
+{
+ $rawData = $xmlAnsw.Response.Success
+ $clusterIp = $($rawData.split(" "))[1]
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoCluster"
+ $ht.add("IPAddress", $clusterIp)
+ $ht.add("Name", $ClusterName)
+
+ $clObj = New-Object -TypeName PSObject -Property $ht
+
+ $cl = [ordered]@{}
+ $cl.PSTypeName = "GeoCluster"
+ $cl.Add("GeoCluster", $clObj) | Out-null
+
+ New-Object -TypeName PSObject -Property $cl
+}
+
+# Internal use only
+Function SetSetGeoClusterReturnObject($xmlAnsw)
+{
+ SetGetGeoClusterReturnObject $xmlAnsw
+}
+
+# Internal use only
+Function SetGetNetworkRouteReturnObject($xmlAnsw)
+{
+ $routeData = $xmlAnsw.Response.Success.Data.Route
+
+ if ($routeData -is [array]) {
+ GetPSObjectFromXml "Route" $routeData
+ }
+ else {
+ $data = GetPSObjectFromXml "Route" $routeData
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Route"
+ $ht.add("Route", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+ }
+}
+
+# Internal use only
+Function SetTestNetworkRouteReturnObject($xmlAnsw)
+{
+ $traceRouteRawData = $xmlAnsw.Response.Success.Data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Traceroute"
+
+ $go = $true
+ $pos2 = 0
+ $hop = 1
+ while ($go -eq $true) {
+ $pos = $traceRouteRawData.IndexOf("#")
+ if ($pos -lt 0) {
+ $go = $false
+ }
+ elseif ($pos2 -gt 0) {
+ $tmp = $traceRouteRawData.Substring(0, $pos)
+ $hopString = "Hop " + $hop
+ $ht.Add($hopString, $tmp)
+ $tmp = $traceRouteRawData.Substring($pos + 1)
+ $traceRouteRawData = $tmp
+ $hop += 1
+ }
+ else {
+ $tmp = $traceRouteRawData.Substring($pos + 1)
+ if (-not ([string]::IsNullOrEmpty($tmp))) {
+ $traceRouteRawData = $tmp
+ $pos2 = $traceRouteRawData.IndexOf("#")
+ $tmp = $traceRouteRawData.Substring(0, $pos2)
+ $ht.TracerouteTo = $tmp
+ $tmp = $traceRouteRawData.Substring($pos2 + 1)
+ $traceRouteRawData = $tmp
+ }
+ }
+ }
+ $trRawObj = New-Object -TypeName PSObject -Property $ht
+
+ $trHt = [ordered]@{}
+ $trHt.PSTypeName = "Traceroute"
+ $trHt.Add("Traceroute", $trRawObj) | Out-null
+
+ New-Object -TypeName PSObject -Property $trHt
+}
+
+# Internal use only
+Function SetAddNetworkVxLANReturnObject($xmlAnsw, $InterfaceId, $vlanFlag)
+{
+ $data = $xmlAnsw.Response.Success
+ $intfId = $data.split()[4] # same answer structure for VLan/VxLan
+
+ $ht = [ordered]@{}
+
+ if ($vlanFlag -eq "vlan") {
+ $lanType = "VLan"
+ $lanIntfLabel = "VLanInterfaceId"
+ }
+ else {
+ $lanType = "VxLan"
+ $lanIntfLabel = "VxLanInterfaceId"
+ }
+
+ $ht.PSTypeName = $lanType
+ $ht.add("NetworkInterfaceId", $InterfaceId)
+ $ht.add($lanIntfLabel, $intfId)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetAddNetworkVLANReturnObject($xmlAnsw, $InterfaceId)
+{
+ SetAddNetworkVxLANReturnObject $xmlAnsw $InterfaceId "vlan"
+}
+
+# Internal use only
+Function SetGetHostsReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "LocalHosts" $xmlAnsw.Response.Success.Data.HostsEntry
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "LocalHosts"
+ $ht.add("LocalHosts", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetVSTotalsReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "TotalVS" $xmlAnsw.Response.Success.Data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "TotalVS"
+ $ht.add("TotalVS", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetVpnConnectionReturnObject($xmlAnsw, $vpnName)
+{
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "VpnConfiguration"
+
+ if ($vpnName) {
+ $check = $xmlAnsw.Response.Success.Data.GetElementsByTagName("name")
+ if ([string]::IsNullOrEmpty($check)) {
+ $newNode = $xmlAnsw.CreateElement("name")
+ $newNodeText = $xmlAnsw.CreateTextNode($vpnName)
+ $newNode.AppendChild($newNodeText) | Out-Null
+
+ $nref = $xmlAnsw.Response.Success.Data.Item("status")
+ $xmlAnsw.Response.Success.Data.InsertBefore($newNode, $nref) | Out-Null
+ }
+ }
+ $data = $xmlAnsw.Response.Success.Data
+ $vpnData = GetPSObjectFromXml "VpnConfiguration" $data
+
+ if ($vpnName) {
+ $ht.Add("VpnConfiguration", $vpnData)
+ }
+ else {
+ $ht.Add("VpnConfiguration", $vpnData.VPN)
+ }
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetInstallLmAddonReturnObject($xmlAnsw)
+{
+ $data = $xmlAnsw.Response.Success
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Package"
+ $ht.add("Package", $data)
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetLmAddOnReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "Package" $xmlAnsw.Response.Success.Data.Packages.Package
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Package"
+
+ if ($data) {
+
+ if ($data.Package) {
+ $ht.add("Package", $data.Package)
+ }
+ else {
+ $ht.add("Package", $data)
+ }
+ }
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetInstallLmPatchReturnObject($xmlAnsw)
+{
+ $data = "Patch successfully installed. Please reboot the LM to apply the new software."
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "PatchData"
+ $ht.add("PatchData", $data)
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetUninstallLmPatchReturnObject($xmlAnsw)
+{
+ $data = "Previous firmware version successfully restored. Please reboot the LM to apply."
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "PatchData"
+ $ht.add("PatchData", $data)
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetLmPreviousFirmwareVersionReturnObject($xmlAnsw)
+{
+ $data = $xmlAnsw.Response.Success.Data.PreviousVersion
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "PreviousVersion"
+
+ if ($data) {
+ $ht.add("PreviousVersion", $data)
+ }
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetAddSdnControllerReturnObject($xmlAnsw)
+{
+ $data = GetPSSdnDataFromXml "Controller" $xmlAnsw.Response.Success.Data.controllers
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Controllers"
+ $ht.add("Controllers", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetSdnControllerReturnObject($xmlAnsw)
+{
+ $data = GetPSSdnDataFromXml "Controller" $xmlAnsw.Response.Success.Data.controllers
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Controllers"
+ $ht.add("Controllers", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetSetSdnControllerReturnObject($xmlAnsw)
+{
+ $data = GetPSSdnDataFromXml "Controller" $xmlAnsw.Response.Success.Data.controllers
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Controllers"
+ $ht.add("Controllers", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetRemoveSdnControllerReturnObject($xmlAnsw)
+{
+ $data = GetPSSdnDataFromXml "Controller" $xmlAnsw.Response.Success.Data.controllers
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Controllers"
+ $ht.add("Controllers", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetAdcRealServerReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "Rs" $xmlAnsw.Response.Success.Data.Rs
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "Rs"
+ $ht.add("Rs", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetSetGeoFQDNSiteAddressReturnObject($xmlAnsw, $SiteAddress)
+{
+ $data = GetPSObjectFromXml "GeoFqdnMap" $xmlAnsw.Response.Success.Data.fqdn
+
+ if ($data) {
+ foreach($map in $data.map) {
+ if ($map.IPAddress -eq $SiteAddress) {
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoFqdnMap"
+ $ht.add("GeoFqdnMap", $map)
+
+ New-Object -TypeName PSObject -Property $ht
+ return
+ }
+ }
+ }
+ return $null
+}
+
+# Internal use only
+Function SetGetGeoCustomLocationReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "GeoCustomLocation" $xmlAnsw.Response.Success.Data.location
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoCustomLocation"
+ if ($data.location) {
+ $ht.add("GeoCustomLocation", $data.location)
+ }
+ else {
+ $ht.add("GeoCustomLocation", $data)
+ }
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetGeoIpRangeReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "GeoIpRange" $xmlAnsw.Response.Success.Data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "IpRange"
+ if ($data.IPAddress) {
+ foreach ($item in $data.IPAddress) {
+ if ($item.Country -eq -1) {
+ $item.Country = ""
+ }
+ }
+ $ht.add("IpRange", $data.IPAddress)
+ }
+ else {
+ if ($data.Country -eq -1) {
+ $data.Country = ""
+ }
+ $ht.add("IpRange", $data)
+ }
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetTestLmGeoEnabledReturnObject($xmlAnsw)
+{
+ $data = $xmlAnsw.Response.Success.Data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoStatus"
+
+ if ($data) {
+ $ht.add("GeoStatus", $data)
+ }
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetGeoPartnerStatusReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "GeoPartners" $xmlAnsw.Response.Success.Data.GeoPartners
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoPartners"
+ if ($data.Partner) {
+ $ht.add("GeoPartners", $data.Partner)
+ }
+ else {
+ $ht.add("GeoPartners", $null)
+ }
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetGeoIPBlacklistDatabaseConfigurationReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "GeoBlacklistDbConf" $xmlAnsw.Response.Success.Data.GeoAcl
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoBlacklistDbConf"
+ $ht.add("GeoBlacklistDbConf", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetGeoIPWhitelistReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "GeoWhitelist" $xmlAnsw.Response.Success.Data.Whitelist
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoWhiteList"
+ $ht.add("GeoWhiteList", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetExportGeoIPWhitelistDatabaseReturnObject($xmlAnsw, $cmdOptions)
+{
+ $data = GetPSObjectFromXml "GeoWhitelist" $xmlAnsw.Response.Success.Data.Whitelist
+
+ $filename = $cmdOptions.filename
+ $forceSwitch = $cmdOptions.force
+
+ $today = Get-Date
+
+ if ($forceSwitch) {
+ Out-File $filename
+ }
+ else {
+ Out-File $filename -NoClobber
+ }
+
+ Add-Content $filename "----------------------------------------------"
+ Add-Content $filename " Whitelisted IPs ($today)"
+ Add-Content $filename "----------------------------------------------"
+
+ if ($data.addr) {
+ foreach ($ip in $data.addr) {
+ Add-Content $filename "$ip"
+ }
+ }
+ return $null
+}
+
+# Internal use only
+Function SetGetGeoDNSSECConfigurationReturnObject($xmlAnsw)
+{
+ $ksk_data = GetPSObjectFromXml "GeoDNSSECKSk" $xmlAnsw.Response.Success.Data.KSK
+ $dnssec_data = GetPSObjectFromXml "GeoDNSSECStatus" $xmlAnsw.Response.Success.Data.DNSSEC
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoDnsSecConfiguration"
+ $ht.add("PublicKey", $ksk_data.PublicKey)
+ $ht.add("DS_SHA1", $ksk_data.DS_SHA1)
+ $ht.add("DS_SHA2", $ksk_data.DS_SHA2)
+ if ($dnssec_data.Enable -eq "Y") {
+ $ht.add("DNSSECStatus", "enabled")
+ }
+ else {
+ $ht.add("DNSSECStatus", "disabled")
+ }
+
+ $dnssecHt = New-Object -TypeName PSObject -Property $ht
+ $dnssecConf = [ordered]@{}
+ $dnssecConf.PSTypeName = "GeoDnsSecConfiguration"
+ $dnssecConf.Add("GeoDnsSecConfiguration", $dnssecHt) | Out-null
+ New-Object -TypeName PSObject -Property $dnssecConf
+}
+
+# Internal use only
+Function SetGetGeoLmMiscParameterReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "GeoMiscParameters" $xmlAnsw.Response.Success.Data
+
+ if ( ([String]::IsNullOrEmpty($data.soa.Zone)) ) {
+ $data.soa | Add-Member -NotePropertyName "Zone" -NotePropertyValue ""
+ }
+
+ if ( ([String]::IsNullOrEmpty($data.soa.SourceOfAuthority)) ) {
+ $data.soa | Add-Member -NotePropertyName "SourceOfAuthority" -NotePropertyValue ""
+ }
+
+ if ( ([String]::IsNullOrEmpty($data.soa.NameSrv)) ) {
+ $data.soa | Add-Member -NotePropertyName "NameSrv" -NotePropertyValue ""
+ }
+
+ if ( ([String]::IsNullOrEmpty($data.soa.SOAEmail)) ) {
+ $data.soa | Add-Member -NotePropertyName "SOAEmail" -NotePropertyValue ""
+ }
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "GeoMiscParameters"
+ $ht.add("GeoMiscParameters", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetVSPacketFilterACLReturnObject($xmlAnsw, $aclType)
+{
+ $data = GetPSObjectFromXml "VsAclData" $xmlAnsw.Response.Success.Data.VS
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "VsAclConfiguration"
+ $ht.add("VS_IP", $data.VS_IP)
+ $ht.add("VS_Port", $data.VS_Port)
+ $ht.add("VS_Protocol", $data.VS_Protocol)
+ switch ($aclType)
+ {
+ "black" {
+ $ht.add("Blacklist", $data.Blacklist.IP)
+ break
+ }
+
+ "white" {
+ $ht.add("Whitelist", $data.WhiteList.IP)
+ break
+ }
+ }
+
+ $vsAclData = New-Object -TypeName PSObject -Property $ht
+ $vsAclConf = [ordered]@{}
+ $vsAclConf.PSTypeName = "VsAclConfiguration"
+ $vsAclConf.Add("VsAclConfiguration", $vsAclData) | Out-null
+
+ New-Object -TypeName PSObject -Property $vsAclConf
+}
+
+# Internal use only
+Function SetNewVSPacketFilterACLReturnObject($xmlAnsw)
+{
+ return $null
+}
+
+# Internal use only
+Function SetRemoveVSPacketFilterACLReturnObject($xmlAnsw)
+{
+ return $null
+}
+
+# Internal use only
+Function SetGetPacketFilterOptionReturnObject($xmlAnsw, $Type)
+{
+ switch ($Type)
+ {
+ "isenabled" {
+ $dataString = "aclstatus"
+ break
+ }
+ "isdrop" {
+ $dataString = "aclmethod"
+ break
+ }
+ "isifblock" {
+ $dataString = "aclblockall"
+ break
+ }
+ }
+ $data = $xmlAnsw.Response.Success.Data.$dataString
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "PacketFilterOption"
+ $ht.add($dataString, $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetGlobalPacketFilterACLReturnObject($xmlAnsw, $aclType)
+{
+ $ht = [ordered]@{}
+ switch ($aclType)
+ {
+ "black" {
+ $ht.PSTypeName = "AclBlacklist"
+ $data = GetPSObjectFromXml "AclData" $xmlAnsw.Response.Success.Data.Blacklist
+ $ht.add("Blacklist", $data.IP)
+ break
+ }
+
+ "white" {
+ $ht.PSTypeName = "AclWhitelist"
+ $data = GetPSObjectFromXml "AclData" $xmlAnsw.Response.Success.Data.Whitelist
+ $ht.add("Whitelist", $data.IP)
+ break
+ }
+ }
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetLmIPConnectionLimitReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "LmIPConnectionLimit" $xmlAnsw.Response.Success.Data.ClientLimit
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "LmIPConnectionLimit"
+ if ($data.ClientLimit) {
+ $ht.add("LmIPConnectionLimit", $data.ClientLimit)
+ }
+ else {
+ $ht.add("LmIPConnectionLimit", $data)
+ }
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetAzureHAConfigurationReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "AzureHAConfiguration" $xmlAnsw.Response.Success.Data.AzureHA
+
+ if ($data.Port) {
+ renameCustomObjectProperty $data "Port" "HealthCheckPort"
+ }
+
+ if ($data.HaPrefered) {
+ renameCustomObjectProperty $data "HaPrefered" "Hapreferred"
+ }
+
+ if ($data.HealthCheckAllInterfaces) {
+ if ($data.HealthCheckAllInterfaces -eq "unset") {
+ $data.HealthCheckAllInterfaces = "no"
+ }
+ }
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "AzureHAConfiguration"
+ $ht.add("AzureHAConfiguration", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetAwsHAConfigurationReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "AwsHAConfiguration" $xmlAnsw.Response.Success.Data.AwsHA
+
+ if ($data.Port) {
+ renameCustomObjectProperty $data "Port" "HealthCheckPort"
+ }
+
+ if ($data.HealthCheckAllInterfaces) {
+ if ($data.HealthCheckAllInterfaces -eq "unset") {
+ $data.HealthCheckAllInterfaces = "no"
+ }
+ }
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "AwsHAConfiguration"
+ $ht.add("AwsHAConfiguration", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetLmCloudHaConfiguration($xmlAnsw)
+{
+ if ($xmlAnsw.Response.Success.Data.AzureHA) {
+ return SetGetAzureHAConfigurationReturnObject $xmlAnsw
+ }
+
+ if ($xmlAnsw.Response.Success.Data.AwsHA) {
+ return SetGetAwsHAConfigurationReturnObject $xmlAnsw
+ }
+
+ Throw "Unknow cloud platform or not a cloud VLM."
+ return
+}
+
+# Internal use only
+Function SetGetLmDebugInformationReturnObject($xmlAnsw, $type)
+{
+ if ($type -eq "slabinfo") {
+ $data = GetPSObjectFromXml $type $xmlAnsw.Response.Success.Data.$type "notrim"
+ if ($data.$type.data) {
+ $data.$type.data = $data.$type.data.split("`n")
+ }
+ }
+ else {
+ $data = $xmlAnsw.Response.Success.Data
+ }
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = $type
+ $ht.add($type, $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetPingHostReturnObject($xmlAnsw)
+{
+ $data = $xmlAnsw.Response.Success
+
+ if ($data) {
+ $StatsPos1 = $data.IndexOf("ping statistics") + "ping statistics --- ".Length
+ $StatsPos2 = $data.IndexOf("received") + "received".Length
+ $trPcksString = $data.Substring($StatsPos1, $StatsPos2 - $StatsPos1)
+ $cPos = $trPcksString.IndexOf(",")
+ $tPackets = $trPcksString.Substring(0, $cPos)
+ $rPackets = $trPcksString.Substring($cPos + 2)
+
+ $PLPos = $data.IndexOf("packet loss") + "packet loss".Length
+ $lossPackets = $data.Substring($StatsPos2 + 2, ($PLPos - $StatsPos2 - 2))
+
+ $timePos = $data.IndexOf("time ")
+ $rttPos = $data.IndexOf("rtt min/avg/max/mdev")
+ $timeStr = $data.Substring($timePos, ($rttPos - $timePos))
+ $rtt = $data.Substring($rttPos)
+
+ $endPingResult = $data.IndexOf(" --- ")
+ $PingResult = $data.Substring(0, $endPingResult)
+
+ $pingData = [ordered]@{}
+
+ $pingData.Add("PingResult", $PingResult)
+ $pingData.Add("PacketsTransmitted", $tPackets)
+ $pingData.Add("PacketsReceived", $rPackets)
+ $pingData.Add("PacketsLoss", $lossPackets)
+ $pingData.Add("Time", $timeStr)
+ $pingData.Add("Rtt", $rtt)
+
+ $PingObject = New-Object -TypeName PSObject -Prop $pingData
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "PingData"
+ $ht.add("PingData", $PingObject)
+
+ New-Object -TypeName PSObject -Property $ht
+ }
+ else {
+ return $null
+ }
+}
+
+# Internal use only
+Function SetGetAslLicenseTypeReturnObject($xmlAnsw)
+{
+ $data = $xmlAnsw.Response.Success
+
+ if (([String]::IsNullOrEmpty($data))) {
+ return $null
+ }
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "AslLicenseType"
+
+ if ($data.Contains("License type information not available")) {
+ $ht.add("License", $data)
+ }
+ elseif ($data -ne "[]") {
+ $TempLicObject = $data | ConvertFrom-Json
+ $LicObject = [ordered]@{}
+ $LicObject.PSTypeName = "LicenseData"
+ $licNumber = $TempLicObject.categories.licenseTypes.Length
+ if (([String]::IsNullOrEmpty($licNumber))) {
+ $licNumber = 1
+ }
+ #$LicObject.Add("OrderID", $OrderId)
+ $LicObject.Add("AvailableLicenses", $licNumber)
+ $LicObject.Add("Licenses", $TempLicObject.categories.licenseTypes)
+
+ $licData = New-Object -TypeName PSObject -Prop $LicObject
+
+ $ht.add("License", $licData.Licenses)
+ $ht.add("AvailableLicenses", $licData.AvailableLicenses)
+ }
+ else {
+ # No licenses available
+ $emptyLicObject = [ordered]@{}
+ $emptyLicObject.PSTypeName = "LicenseData"
+ #$emptyLicObject.Add("OrderID", $OrderId)
+ $emptyLicObject.Add("AvailableLicenses", 0)
+ $emptyLicObject.Add("Licenses", $null)
+ $licData = New-Object -TypeName PSObject -Prop $emptyLicObject
+
+ $ht.add("License", $licData)
+ $ht.add("AvailableLicenses", 0)
+ }
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetGetLmVpnIkeDaemonStatusReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "IkeDaemonStatus" $xmlAnsw.Response.Success.Data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "IkeDaemonStatus"
+ $ht.add("IkeDaemonStatus", $data.status)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetNewLmVpnConnectionReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "NewVpnConfiguration" $xmlAnsw.Response.Success.Data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "NewVpnConfiguration"
+ $ht.add("status", $data.status)
+ $ht.add("defaultLocalIP", $data.defaultLocalIP)
+ $ht.add("defaultLocalSubnets", $data.defaultLocalSubnets)
+ $ht.add("defaultLocalID", $data.defaultLocalID)
+
+ $vpnData = New-Object -TypeName PSObject -Property $ht
+
+ $vpnConf = [ordered]@{}
+ $vpnConf.PSTypeName = "NewVpnConfiguration"
+ $vpnConf.Add("NewVpnConfiguration", $vpnData) | Out-null
+
+ New-Object -TypeName PSObject -Property $vpnConf
+}
+
+# Internal use only
+Function SetNewGlobalPacketFilterACLReturnObject($xmlAnsw)
+{
+ return $null
+}
+
+# Internal use only
+Function SetGetClusterStatusReturnObject($xmlAnsw)
+{
+ $data = GetPSObjectFromXml "ClusterConfiguration" $xmlAnsw.Response.Success.Data
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "ClusterConfiguration"
+
+ $ht.add("ClusterConfiguration", $data.status)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Internal use only
+Function SetNewClusterReturnObject($xmlAnsw)
+{
+ $data = $xmlAnsw.Response.Success
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "NewCluster"
+
+ $ht.add("NewCluster", $data)
+
+ New-Object -TypeName PSObject -Property $ht
+}
+
+# Function "pointers" hashtable: success lm answer handlers
+$successHandlerList = [ordered]@{
+ GeneralCase = (gi function:SetGeneralCaseReturnObject)
+
+ SetInitialPasswd = (gi function:SetGeneralCaseReturnObject)
+
+ GetLicenseAccessKey = (gi function:SetGetLicenseAccessKeyReturnObject)
+ GetLicenseType = (gi function:SetGetLicenseTypeReturnObject)
+ GetLicenseInfo = (gi function:SetGetLicenseInfoReturnObject)
+ RequestLicenseOnPremise = (gi function:SetLicenseOnPremiseReturnObject)
+ GetAslLicenseType = (gi function:SetGetAslLicenseTypeReturnObject)
+
+ NewAdcVS = (gi function:SetAdcVSSettingsReturnObject)
+ SetAdcVS = (gi function:SetAdcVSSettingsReturnObject)
+ GetAdcVS_Single = (gi function:SetAdcVSSettingsReturnObject)
+ GetAdcVS_List = (gi function:SetAdcVSSettingsReturnObject)
+ NewAdcRS = (gi function:SetRSSettingReturnObject)
+ RemoveAdcVS = (gi function:SetGeneralCaseReturnObject)
+ GetVSTotals = (gi function:SetGetVSTotalsReturnObject)
+ GetAdcRealServer = (gi function:SetGetAdcRealServerReturnObject)
+
+ AddAdcContentRule = (gi function:SetAdcContentRuleReturnObject)
+ SetAdcContentRule = (gi function:SetAdcContentRuleReturnObject)
+ GetAdcContentRule = (gi function:SetAdcContentRuleReturnObject)
+
+ GetAdcServiceHealth = (gi function:SetAdcServiceHealthReturnObject)
+ AdcAdaptiveHealthCheck = (gi function:SetAdcAdaptiveHealthCheckReturnObject)
+
+ AdcWafVSRules = (gi function:SetAdcWafVSRulesReturnObject)
+
+ GetAllSecUser = (gi function:SetGetSecUserReturnObject)
+ GetSingleSecUser = (gi function:SetGetSecUserReturnObject)
+
+ GetNetworkInterface = (gi function:SetNetworkInterfaceReturnObject)
+ GetLmNetworkInterface = (gi function:SetGetLmNetworkInterfaceReturnObject)
+
+ GetTlsCertificate = (gi function:SetTLSCertificateReturnObject)
+ GetTlsCipherSet = (gi function:SetGetTLSCipherSetReturnObject)
+ TlsHSM = (gi function:SetTLSHSMReturnObject)
+
+ GetSSODomain = (gi function:SetGetSSODomainReturnObject)
+ GetSSOSamlDomain = (gi function:SetGetSSOSamlDomainReturnObject)
+ GetSSODomainLockedUser = (gi function:SetSSODomainLockUnLockAnswerReturnObject)
+ SetSSODomainLockedUser = (gi function:SetSSODomainLockUnLockAnswerReturnObject)
+ GetSSODomainSession = (gi function:SetGetSSODomainSessionReturnObject)
+
+ GetLdapEndpoint = (gi function:SetGetLdapEndpointReturnObject)
+
+ InstallTemplate = (gi function:SetInstallTemplateReturnObject)
+ GetTemplate = (gi function:SetGetTemplateReturnObject)
+ ExportVSTemplate = (gi function:SetExportVSTemplateReturnObject)
+
+ GetLogStatistics = (gi function:SetGetLogStatisticsReturnObject)
+
+ GetWafRules = (gi function:SetGetWafRulesReturnObject)
+ GetWafRulesAutoUpdateConfiguration = (gi function:SetGetWafRulesAutoUpdateConfigurationReturnObject)
+ GetWafAuditFiles = (gi function:SetGetWafAuditFilesReturnObject)
+
+ GetAllParameters = (gi function:SetGetAllParametersReturnObject)
+
+ GetNetworkRoute = (gi function:SetGetNetworkRouteReturnObject)
+ TestNetworkRoute = (gi function:SetTestNetworkRouteReturnObject)
+
+ AddNetworkVxLAN = (gi function:SetAddNetworkVxLANReturnObject)
+ AddNetworkVLAN = (gi function:SetAddNetworkVLANReturnObject)
+ GetLmVpnIkeDaemonStatus = (gi function:SetGetLmVpnIkeDaemonStatusReturnObject)
+ NewLmVpnConnection = (gi function:SetNewLmVpnConnectionReturnObject)
+ GetVpnConnection = (gi function:SetGetVpnConnectionReturnObject)
+
+ GetHosts = (gi function:SetGetHostsReturnObject)
+
+ AddSdnController = (gi function:SetAddSdnControllerReturnObject)
+ GetSdnController = (gi function:SetGetSdnControllerReturnObject)
+ SetSdnController = (gi function:SetSetSdnControllerReturnObject)
+ RemoveSdnController = (gi function:SetRemoveSdnControllerReturnObject)
+
+ InstallLmPatch = (gi function:SetInstallLmPatchReturnObject)
+ UninstallLmPatch = (gi function:SetUninstallLmPatchReturnObject)
+ GetLmPreviousFirmwareVersion = (gi function:SetGetLmPreviousFirmwareVersionReturnObject)
+
+ InstallLmAddon = (gi function:SetInstallLmAddonReturnObject)
+ GetLmAddOn = (gi function:SetGetLmAddOnReturnObject)
+
+ GetGeoFQDN = (gi function:SetGetGeoFqdnReturnObject)
+ GetGeoCluster = (gi function:SetGetGeoClusterReturnObject)
+ AddGeoCluster = (gi function:SetAddGeoClusterReturnObject)
+ SetGeoCluster = (gi function:SetSetGeoClusterReturnObject)
+ SetGeoFQDNSiteAddress = (gi function:SetSetGeoFQDNSiteAddressReturnObject)
+ GetGeoCustomLocation = (gi function:SetGetGeoCustomLocationReturnObject)
+ GetGeoIpRange = (gi function:SetGetGeoIpRangeReturnObject)
+ TestLmGeoEnabled = (gi function:SetTestLmGeoEnabledReturnObject)
+ GetGeoPartnerStatus = (gi function:SetGetGeoPartnerStatusReturnObject)
+ GetGeoIPBlacklistDatabaseConfiguration = (gi function:SetGetGeoIPBlacklistDatabaseConfigurationReturnObject)
+ GetGeoIPWhitelist = (gi function:SetGetGeoIPWhitelistReturnObject)
+ ExportGeoIPWhitelistDatabase = (gi function:SetExportGeoIPWhitelistDatabaseReturnObject)
+ GetGeoDNSSECConfiguration = (gi function:SetGetGeoDNSSECConfigurationReturnObject)
+ GetGeoLmMiscParameter = (gi function:SetGetGeoLmMiscParameterReturnObject)
+ GetGeoStats = (gi function:SetGetGeoStatsReturnObject)
+
+ GetVSPacketFilterACL = (gi function:SetGetVSPacketFilterACLReturnObject)
+ NewVSPacketFilterACL = (gi function:SetNewVSPacketFilterACLReturnObject)
+ RemoveVSPacketFilterACL = (gi function:SetRemoveVSPacketFilterACLReturnObject)
+ GetPacketFilterOption = (gi function:SetGetPacketFilterOptionReturnObject)
+ GetGlobalPacketFilterACL = (gi function:SetGetGlobalPacketFilterACLReturnObject)
+ NewGlobalPacketFilterACL = (gi function:SetNewGlobalPacketFilterACLReturnObject)
+
+ GetLmIPConnectionLimit = (gi function:SetGetLmIPConnectionLimitReturnObject)
+
+ GetAzureHAConfiguration = (gi function:SetGetAzureHAConfigurationReturnObject)
+ GetAwsHaConfiguration = (gi function:SetGetAwsHAConfigurationReturnObject)
+ GetLmCloudHaConfiguration = (gi function:SetGetLmCloudHaConfiguration)
+
+ GetLmDebugInformation = (gi function:SetGetLmDebugInformationReturnObject)
+ PingHost = (gi function:SetPingHostReturnObject)
+
+ NewCluster = (gi function:SetNewClusterReturnObject)
+ GetClusterStatus = (gi function:SetGetClusterStatusReturnObject)
+}
+
+# Internal use only
+Function HandleSuccessAnswer($Command2ExecClass, $xmlAnsw, $AdditionalData)
+{
+ $SuccessString = "Command successfully executed."
+
+ & $successHandlerList.$Command2ExecClass $xmlAnsw $AdditionalData | Tee-Object -Variable response | Out-null
+
+ setKempAPIReturnObject 200 $SuccessString $response
+}
+
+# Internal use only
+Function SetPingErrorResponse($pingErrorResponse)
+{
+ $StatsPos1 = $pingErrorResponse.IndexOf("ping statistics") + "ping statistics --- ".Length
+ $StatsPos2 = $pingErrorResponse.IndexOf("received") + "received".Length
+ $trPcksString = $pingErrorResponse.Substring($StatsPos1, $StatsPos2 - $StatsPos1)
+
+ $cPos = $trPcksString.IndexOf(",")
+ $tPackets = $trPcksString.Substring(0, $cPos)
+ $rPackets = $trPcksString.Substring($cPos + 2)
+
+ $errStringCheck = $pingErrorResponse.IndexOf("errors")
+ if ($errStringCheck -gt 0) {
+ $ErrorPos = $pingErrorResponse.IndexOf("errors") + "errors,".Length
+ $Errors = $pingErrorResponse.Substring($StatsPos2 + 2, ($ErrorPos - $StatsPos2 - 3))
+ }
+ else {
+ $Errors = ""
+ }
+
+ $PLPos = $pingErrorResponse.IndexOf("packet loss") + "packet loss".Length
+ if ($errStringCheck -gt 0) {
+ $lossPackets = $pingErrorResponse.Substring($ErrorPos + 1, ($PLPos - $ErrorPos - 1))
+ }
+ else {
+ $lossPackets = $pingErrorResponse.Substring($StatsPos2 + 2, ($PLPos - $StatsPos2 - 2))
+ $tmp = $pingErrorResponse.Substring($StatsPos2 + 2)
+ $eTPos = $tmp.IndexOf(", time ") + ", time ".Length
+ $elapsedTime = $tmp.Substring($eTPos)
+ }
+
+ $endPingResult = $pingErrorResponse.IndexOf(" --- ")
+ $PingResult = $pingErrorResponse.Substring(0, $endPingResult)
+
+ $pingData = [ordered]@{}
+
+ $pingData.Add("PingResult", $PingResult)
+ $pingData.Add("PacketsTransmitted", $tPackets)
+ $pingData.Add("PacketsReceived", $rPackets)
+ $pingData.Add("Errors", $Errors)
+ $pingData.Add("PacketsLoss", $lossPackets)
+ $pingData.Add("Time", $elapsedTime)
+
+ New-Object -TypeName PSObject -Prop $pingData
+}
+
+# Internal use only
+Function HandleErrorAnswer($Command2ExecClass, $xmlAnsw)
+{
+ #
+ # FIXME: to change the logic: if the cmd does not need a specific handler,
+ # then the answer will be handled by the default case.
+ #
+ switch ($Command2ExecClass)
+ {
+ { ($_ -in "GeneralCase", "NewAdcVS", "GetAdcVS_Single", "GetAdcVS_List", "SetAdcVS", "NewAdcRS", "VirtualServiceRule", "RealServerRule", "EnableDisableRS", "GetSetAdcRS", "RemoveAdcRS", "AddAdcContentRule", "RemoveAdcContentRule", "SetAdcContentRule", "GetAdcContentRule", "GetAdcServiceHealth","AdcHttpExceptions", "AdcAdaptiveHealthCheck", "AdcWafVSRules", "AddRemoveAdcWafRule", "GetLicenseAccessKey", "GetLicenseType", "GetLicenseInfo", "RequestLicenseOnline", "RequestLicenseOffline", "UpdateLicenseOnline", "UpdateLicenseOffline", "RequestLicenseOnPremise", "GetAllSecUser", "GetSingleSecUser", "GetNetworkInterface", "GetAllParameters", "GetLmNetworkInterface", "GetTlsCertificate", "GetTlsCipherSet", "TlsHSM", "GetSSODomain", "GetSSOSamlDomain", "GetSSODomainLockedUser", "SetSSODomainLockedUser", "GetSSODomainSession", "InstallTemplate", "ExportVSTemplate", "GetTemplate", "GetLogStatistics", "GetWafRules", "GetWafRulesAutoUpdateConfiguration", "GetWafAuditFiles", "GetGeoFQDN", "GetGeoStats", "AddGeoCluster", "SetGeoCluster", "AddNetworkVxLAN", "AddNetworkVLAN", "GetNetworkRoute", "TestNetworkRoute", "GetHosts", "GetVSTotals", "GetLdapEndpoint", "GetVpnConnection", "InstallLmAddon", "GetLmAddOn", "InstallLmPatch", "UninstallLmPatch", "GetLmPreviousFirmwareVersion", "AddSdnController", "SetSdnController", "GetSdnController", "RemoveSdnController", "GetAdcRealServer", "SetGeoFQDNSiteAddress", "GetGeoCustomLocation", "GetGeoIpRange", "TestLmGeoEnabled", "GetGeoPartnerStatus", "GetGeoIPBlacklistDatabaseConfiguration", "GetGeoIPWhitelist", "ExportGeoIPWhitelistDatabase", "GetGeoDNSSECConfiguration", "GetGeoLmMiscParameter", "GetVSPacketFilterACL", "GetPacketFilterOption", "GetGlobalPacketFilterACL", "GetLmIPConnectionLimit", "GetAzureHAConfiguration", "GetAwsHaConfiguration", "GetLmCloudHaConfiguration", "GetLmDebugInformation", "GetAslLicenseType", "GetLmVpnIkeDaemonStatus", "NewLmVpnConnection", "GetClusterStatus", "NewCluster") } {
+ $errMsg = $xmlAnsw.Response.Error
+ }
+
+ { ($_ -in "RemoveAdcVS") } {
+ $errMsg = $xmlAnsw.Response.Error
+ if ($errMsg -and $errMsg.Contains("Unknown VS")) {
+ $errMsg += ". Has it already been deleted?"
+ }
+ }
+
+ { ($_ -in "SetInitialPasswd") } {
+ if ($xmlAnsw.Response.stat -eq 405) {
+ $errMsg = "Method not allowed"
+ }
+ elseif ($xmlAnsw.Response.stat -eq 500) {
+ $errMsg = "Method not allowed"
+ }
+ else {
+ $errMsg = $xmlAnsw.Response.Error
+ }
+ }
+
+ { ($_ -in "GetGeoCluster") } {
+ $errMsg = $xmlAnsw.Response.Error
+ if ($errMsg -and $errMsg.Contains("No geo data found")) { #NOTE: this must be fixed on the LM side
+ $errMsg = "Cluster NOT found."
+ }
+ }
+
+ { ($_ -in "NewVSPacketFilterACL", "NewGlobalPacketFilterACL") } { #NOTE: this must be fixed on the LM side
+ $errMsg = $xmlAnsw.Response.Error
+ if ($errMsg -and $errMsg.Contains("Invalid address")) {
+ $xmlAnsw.Response.stat = "422"
+ if ($errMsg.Contains("+")) {
+ $errMsg = "Invalid Virtual Service."
+ }
+ else {
+ $errMsg = "Invalid ACL address."
+ }
+ }
+ }
+
+ { ($_ -in "RemoveVSPacketFilterACL") } {
+ $errMsg = $xmlAnsw.Response.Error
+ if ($errMsg -and $errMsg.Contains("vipdump")) { #NOTE: this must be fixed on the LM side
+ $errMsg = "Invalid Virtual Service."
+ }
+ }
+
+ { ($_ -in "PingHost") } {
+ $errMsg = "Command Failed"
+ if ($xmlAnsw.Response.Error) {
+ if ($xmlAnsw.Response.Error.Contains("Invalid address format")) {
+ $errMsg += ": Invalid address format"
+ }
+ elseif ($xmlAnsw.Response.Error.Contains("Unknown command")) {
+ $errMsg += ": Unknown command"
+ }
+ else {
+ $pingErrorObject = SetPingErrorResponse $xmlAnsw.Response.Error
+ }
+ }
+ setKempAPIReturnObject $xmlAnsw.Response.stat "$errMsg" $pingErrorObject
+ return
+ }
+
+ default {
+ $errMsg = "[HandleErrorAnswer] Unknown Object class [$Command2ExecClass]"
+ }
+ }
+ setKempAPIReturnObject $xmlAnsw.Response.stat "$errMsg" $null
+}
+
+# Internal use only
+Function isXml($rawData)
+{
+ if ($rawData) {
+ try {
+ $xmlData = [xml]$rawData
+ return $true
+ }
+ catch {
+ return $false
+ }
+ }
+ return $false
+}
+
+# Internal use only
+Function getXmlData($rawData)
+{
+ if ($rawData) {
+ if ( (isXml $rawData) ) {
+ $xmlData = [xml]$rawData
+ return $xmlData
+ }
+ else {
+ try {
+ $rt = $rawData.Response.stat
+ if ($rt -eq 200 -or $rt -ge 400) {
+ return $rawData
+ }
+ else {
+ return $null
+ }
+ }
+ catch {
+ return $null
+ }
+ }
+ return $null
+ }
+ return $null
+}
+
+# Internal use only
+Function HandleLmAnswer
+{
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Command2ExecClass,
+
+ [Parameter(Mandatory=$true)]
+ $LmResponse,
+
+ $AdditionalData
+ )
+
+ $xmlAnsw = getXmlData $LmResponse
+ if ($xmlAnsw) {
+ if ($xmlAnsw.Response.stat -eq 200 -or $xmlAnsw.Response.stat -eq "ok") {
+ # command successfully executed: the answer can be cmdlet specific
+ HandleSuccessAnswer $Command2ExecClass $xmlAnsw $AdditionalData
+ }
+ else {
+ # command failure: the error can be cmdlet specific
+ HandleErrorAnswer $Command2ExecClass $xmlAnsw
+ }
+ }
+ else {
+ $check = checkLmOkResponse $LmResponse
+ if ($check -eq $true) {
+ setKempAPIReturnObject 200 "Command successfully executed." $null
+ }
+ else {
+ # COMMON errors (i.e. Unauthorized)
+ if ($Command2ExecClass -eq "ExportVSTemplate" -and $LmResponse -eq "Unauthorized") {
+ $LmResponse = "The remote server returned an error: (401) Unauthorized."
+ }
+ $errMsg = $LmResponse
+ $errCode = getErrorCode $errMsg
+ setKempAPIReturnObject $errCode "$errMsg" $null
+ }
+ }
+}
+
+# --------------------------------------------------------------------------------------------
+# SendCmdToLm helper functions
+# --------------------------------------------------------------------------------------------
+# Internal use only
+Function validateFile2Upload($file, $Output)
+{
+ if ($file -and -not($Output)) {
+ if ( -not (Test-Path -Path $file) ) {
+ $errStr = "ERROR: The input file does not exist. Please check your input."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+ }
+}
+
+# Internal use only
+Function validateDownloadFileName($Output)
+{
+ if ($Output) {
+ # FIXME To check:
+ # 1) if the containing folder exist
+ # 2) if it's possible to write in that folder
+ #
+ }
+}
+
+# Internal use only
+Function SetSingleParamUrl($LmIp, $LmPort, $Cmd, $ParamName, $ParamValue)
+{
+ $tmpUrl = New-Object Text.StringBuilder
+
+ $tmpUrl.Append("https://$LmIp`:$LmPort/access/$Cmd`?") | Out-Null
+
+ if ($ParamValue) {
+ $tmpUrl.Append("param=$ParamName&value=$ParamValue") | Out-Null
+ }
+ else {
+ if ($ParamName) {
+ $tmpUrl.Append("param=$ParamName") | Out-Null
+ }
+ else {
+ if ($Cmd -eq "Get" -or $Cmd -eq "get") {
+ $errStr = "ERROR: missing parameter name."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+ else {
+ # NOTHING TODO
+ }
+ }
+ }
+ $url = $tmpUrl.ToString() -replace "\&$"
+
+ $urlLen = $url.Length
+ $urlLastChar = $url[$urlLen - 1]
+ if ($urlLastChar -eq "?") {
+ $url = $url.Substring(0, $urlLen - 1)
+ }
+ Write-Verbose "[SetSingleParamUrl] command url: $url"
+
+ return $url
+}
+
+# Internal use only
+Function SetMultipleParamUrl($LmIp, $LmPort, $Cmd, $ParamValuePair)
+{
+ $tmpUrl = New-Object Text.StringBuilder
+ $tmpUrl2Print = New-Object Text.StringBuilder
+
+ $tmpUrl.Append("https://$LmIp`:$LmPort/access/$Cmd`?") | Out-Null
+ $tmpUrl2Print.Append("https://$LmIp`:$LmPort/access/$Cmd`?") | Out-Null
+
+ ForEach ($key in $ParamValuePair.keys) {
+
+ if ($key -eq "password" -or $key -eq "passwd") {
+ Write-Verbose "ParamName=`"$key`" - ParamValue=`"*****`""
+ $tmpUrl2Print.Append("$key=*****&") | Out-Null
+ }
+ else {
+ Write-Verbose "ParamName=`"$key`" - ParamValue=`"$($ParamValuePair[$key])`""
+ $tmpUrl2Print.Append("$key=$($ParamValuePair[$key])&") | Out-Null
+ }
+ $tmpUrl.Append("$key=$($ParamValuePair[$key])&") | Out-Null
+ }
+ $url = $tmpUrl.ToString() -replace "\&$"
+ $url2print = $tmpUrl2Print.ToString() -replace "\&$"
+
+ $urlLen = $url.Length
+ $urlLastChar = $url[$urlLen - 1]
+ if ($urlLastChar -eq "?") {
+ $url = $url.Substring(0, $urlLen - 1)
+ }
+
+ $urlLen = $url2print.Length
+ $urlLastChar = $url2print[$urlLen - 1]
+ if ($urlLastChar -eq "?") {
+ $url2print = $url2print.Substring(0, $urlLen - 1)
+ }
+ Write-Verbose "[SetMultipleParamUrl] command url: $url2print"
+
+ return $url
+}
+
+# Internal use only
+Function SetCmdUrl($PSetName, $LmIp, $LmPort, $Command, $ParameterValuePair, $ParameterName, $ParameterValue)
+{
+ if ($PSetName -eq "SingleParam") {
+ $url = SetSingleParamUrl $LmIp $LmPort $Command $ParameterName $ParameterValue
+ }
+ elseif ($PSetName -eq "MultiParam") {
+ $url = SetMultipleParamUrl $LmIp $LmPort $Command $ParameterValuePair
+ }
+ else {
+ $errStr = "ERROR: NULL parameter set."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+ return $url
+}
+
+# Internal use only
+Function CreateLmHttpsRequest($url, $cred, $loginCert, $loginCertStore)
+{
+ if (([String]::IsNullOrEmpty($url))) {
+ $errStr = "ERROR: the url to connect to is null."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+
+ [System.Net.ServicePointManager]::Expect100Continue = $true
+ [System.Net.ServicePointManager]::MaxServicePointIdleTime = 10000
+ Write-Verbose "setting ServerCertificateValidationCallback to TRUE."
+ [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
+ [System.Net.ServicePointManager]::SecurityProtocol = 'Tls11','Tls12'
+
+ $request = [System.Net.HttpWebRequest]::Create($url)
+ $request.UserAgent = "KempLoadBalancerPowershellModule"
+ $request.KeepAlive = $false
+
+ if (-not ([String]::IsNullOrEmpty($loginCert))) {
+
+ $LCert = Get-LoginCertificate $loginCertStore $loginCert
+ if ($LCert -ne $null) {
+ $tmp = $request.ClientCertificates.Add($LCert)
+ }
+ else {
+ $errStr = "ERROR: Can't find certificate with $SubjectCN."
+ Write-Verbose $errStr
+ Throw $errStr
+ }
+ Write-Verbose "Running the API command using the certificate `"$loginCert`" as login credential."
+ }
+ else {
+ if ($cred) {
+ Write-Verbose "Running the API command using the specified login/password (user: `"$($cred.UserName)`") as login credential."
+ $request.Credentials = $cred
+ }
+ else {
+ Write-Verbose "WARNING: Running the API command with NO credential. Is it OK?"
+ }
+ }
+ return $request
+}
+
+# Internal use only
+Function UploadFile2Lm($File, $request)
+{
+ Write-Verbose "There is a file to upload."
+
+ if (-not (Test-Path $File) ) {
+ Throw "ERROR: the file $File does not exist"
+ return
+ }
+
+ $fd = Get-Item -Path $File
+
+ $datalength = $fd.Length
+ Write-Verbose "File length: $datalength"
+
+ #$request.SendChunked = $true
+ $request.KeepAlive = $false
+ $request.Timeout = 500000
+
+ #$request.protocolversion = [System.Net.HttpVersion]::Version10
+
+ $request.method = "POST"
+ $request.ContentType = "application/x-www-form-urlencoded"
+
+ Write-Verbose "Reading file..."
+
+ $dn = $fd.DirectoryName
+ $fn = $fd.Name
+ $ft = $dn + "\" + $fn
+ Write-Verbose "File to upload: $ft"
+
+ $fileStream = New-Object IO.FileStream($ft, "Open", "Read")
+ $binaryReader = New-Object IO.BinaryReader($fileStream)
+ $data = $binaryReader.ReadBytes([int]$datalength)
+
+ Write-Verbose "Cleaning up readers."
+ $binaryReader.close()
+
+ Write-Verbose "Getting request stream."
+ $stream = $request.GetRequestStream()
+ $binaryWriter = New-Object IO.BinaryWriter($stream)
+
+ $sd = date -Format HH:mm:ss:ms
+ Write-Verbose "START Writing the data to the stream (time: $sd)"
+ $binaryWriter.Write($data, 0, $data.length)
+ $ed = date -Format HH:mm:ss:ms
+ Write-Verbose "END Writing the data to the stream (time: $ed)"
+
+ $binaryWriter.Flush()
+ $binaryWriter.Close()
+}
+
+# Internal use only
+Function SetLoginConnectionErrorAnswer($ExError)
+{
+ $errMsg1 = $ExError.Exception.Message
+ $errMsg2 = $ExError.Exception.InnerException.Message
+
+ if (!$errMsg2) {
+ if ($LmTestServerConnectionFlag -eq $false) {
+ Write-Verbose "Exception Message......: [$errMsg1]."
+ }
+ $response = $ExError.Exception.Response
+ }
+ else {
+ Write-Verbose "Inner Exception Message: [$errMsg2]."
+ $response = $null
+ }
+ Write-Verbose "setting ServerCertificateValidationCallback to NULL."
+ [System.Net.ServicePointManager]::ServerCertificateValidationCallback = $null
+ return $response
+}
+
+# Internal use only
+Function CloseConnectionWithLm($reader, $stream, $filestream, $response)
+{
+ Write-Verbose "setting ServerCertificateValidationCallback to NULL."
+ [System.Net.ServicePointManager]::ServerCertificateValidationCallback = $null
+
+ Write-Verbose "closing connection."
+ if ($reader) {
+ $reader.Close()
+ $reader.Dispose()
+ }
+
+ if ($stream) {
+ $stream.Close()
+ $stream.Dispose()
+ }
+
+ if ($fileStream) {
+ $fileStream.Close()
+ $fileStream.Dispose()
+ }
+
+ if ($response) {
+ $response.Close()
+ $response.Dispose()
+ }
+}
+
+# Internal usage only
+Function WriteOutputFile($response, $fileName)
+{
+ $datalength = $response.ContentLength
+ $reader = $response.GetResponseStream()
+
+ try {
+ $writer = New-Object io.FileStream $fileName, "Create"
+ $buffer = New-Object byte[] 4096
+
+ do {
+ $count = $reader.Read($buffer, 0, $buffer.length)
+ $writer.Write($buffer, 0, $count)
+ } while ($count -gt 0)
+
+ $writer.Flush()
+ $writer.Close()
+ }
+ catch {
+ if ($_.Exception.InnerException) {
+ $errorAnswer = $_.Exception.InnerException
+ }
+ else {
+ $errorAnswer = $_.Exception.Message
+ }
+ Write-Verbose "errorAnswer: $errorAnswer"
+ return $errorAnswer
+ }
+}
+
+# Internal usage only
+Function writeDataFromLm2File($file, $Force, $response)
+{
+ $check = ""
+ $fileCheck = Test-Path -Path $file
+
+ if ($file[0] -eq ".") {
+ if ($file[1] -eq ".") {
+ $d = Get-Location
+ $file = $d.Path + "\" + $file
+ }
+ else {
+ $d = Get-Location
+ $file = $d.Path + $file.Substring(1)
+ }
+ }
+
+ if ($file[1] -ne ":") {
+ $d = Get-Location
+ $file = $d.Path + "\" + $file.Substring(0)
+ }
+
+ Write-Verbose "File to write: $file"
+
+ if (-not $fileCheck) { # The output file does not exist
+ $check = WriteOutputFile $response $file
+ if ($check) {
+ return $check
+ }
+ }
+ else {
+ if ($Force) { # The output file exists and force is true
+ $check = WriteOutputFile $response $file
+ if ($check) {
+ return $check
+ }
+ }
+ else { # The output file exists and force is false
+ $eStr1 = "ERROR: The specified file already exists."
+ $eStr2 = "To use the same filename, either delete the file or use the -Force switch."
+ $errorAnswer = "$eStr1 $eStr2"
+ Write-Verbose "errorAnswer: $errorAnswer"
+ return $errorAnswer
+ }
+ }
+ return ""
+}
+
+# Internal use only
+Function uploadGeoDnssecKeyFiles($url, $privateKeyFile, $publicKeyFile, $creds, $cert, $certStore)
+{
+ [System.Net.ServicePointManager]::Expect100Continue = $true
+ [System.Net.ServicePointManager]::MaxServicePointIdleTime = 10000
+ Write-Verbose "setting ServerCertificateValidationCallback to TRUE."
+ [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
+ [System.Net.ServicePointManager]::SecurityProtocol = 'Tls11','Tls12'
+
+ $pageCoding = "UTF-8"
+ $enc = [System.Text.Encoding]::GetEncoding($pageCoding)
+
+ $pubKF = Get-Item -Path $publicKeyFile
+ $fileBin1 = [System.IO.File]::ReadAllBytes($pubKF.FullName)
+ $fileEnc1 = $enc.GetString($fileBin1)
+
+ $privKF = Get-Item -Path $privateKeyFile
+ $fileBin2 = [System.IO.File]::ReadAllBytes($privKF.FullName)
+ $fileEnc2 = $enc.GetString($fileBin2)
+
+ $LF = "`r`n"
+ $boundary = [System.Guid]::NewGuid().ToString()
+
+ $bodyLines = (
+ "--$boundary",
+ "Content-Disposition: form-data; name=`"publickey`"; filename=`"publickey`"",
+ "Content-Type: application/octet-stream$LF", $fileEnc1,
+ "--$boundary",
+ "Content-Disposition: form-data; name=`"privatekey`"; filename=`"privatekey`"",
+ "Content-Type: application/octet-stream$LF", $fileEnc2,
+ "--$boundary--$LF"
+ ) -join $LF
+
+ $ct = "multipart/form-data; boundary=`"$boundary`""
+ $params = @{
+ Uri = $url
+ Method = "Post"
+ ContentType = $ct
+ Body = $bodyLines
+ }
+ if ($creds) {
+ $params.Add("Credential", $creds)
+ }
+ else {
+ $rCert = Get-LoginCertificate $certStore $cert
+ if ($rCert) {
+ $params.Add("Certificate", $rCert)
+ }
+ else {
+ Throw "ERROR: the provide certificate and/or its location is invalid"
+ return
+ }
+ }
+
+ try {
+ $response = Invoke-RestMethod @params
+ }
+ catch {
+ if ( ($_.Exception.Message) -and
+ ($_.Exception.Message -is [string]) -and
+ (($_.Exception.Message.Contains("Unable to connect")) -or
+ ($_.Exception.Message.Contains("could not be resolved")) -or
+ ($_.Exception.Message.Contains("Unauthorized")))) {
+ $errorAnswer = $_.Exception.Message
+ Write-Verbose "ERROR: $errorAnswer"
+ Write-Verbose "setting ServerCertificateValidationCallback to NULL."
+ [System.Net.ServicePointManager]::ServerCertificateValidationCallback = $null
+ Throw $errorAnswer
+ return
+ }
+ try {
+ $result = $_.Exception.Response.GetResponseStream()
+ }
+ catch {
+ $errorAnswer = $_.Exception.Message
+ Write-Verbose "ERROR: $errorAnswer"
+ Write-Verbose "setting ServerCertificateValidationCallback to NULL."
+ [System.Net.ServicePointManager]::ServerCertificateValidationCallback = $null
+ Throw $errorAnswer
+ return
+ }
+ $reader = New-Object System.IO.StreamReader($result)
+ $reader.BaseStream.Position = 0
+ $reader.DiscardBufferedData()
+ $responseBody = $reader.ReadToEnd();
+ Write-Verbose "ERROR: $responseBody"
+ Write-Verbose "setting ServerCertificateValidationCallback to NULL."
+ [System.Net.ServicePointManager]::ServerCertificateValidationCallback = $null
+ return $responseBody
+ }
+ Write-Verbose "$($response.Innerxml)"
+ Write-Verbose "setting ServerCertificateValidationCallback to NULL."
+ [System.Net.ServicePointManager]::ServerCertificateValidationCallback = $null
+ return $response
+}
+
+# Internal use only
+# This function sends the command to the LM
+Function SendCmdToLm
+{
+ [CmdletBinding(DefaultParameterSetName="SingleParam")]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Command,
+
+ [Parameter(ParameterSetName="SingleParam")]
+ [string]$ParameterName,
+
+ [Parameter(ParameterSetName="SingleParam")]
+ [string]$ParameterValue,
+
+ [Parameter(ParameterSetName="MultiParam")]
+ [hashtable]$ParameterValuePair,
+
+ [Parameter(ParameterSetName="MultiParam")]
+ [string]$File,
+
+ [hashtable]$ConnParams,
+
+ [switch]$Output,
+ [switch]$pTest
+ )
+
+ if ($ConnParams) {
+ if ($ConnParams.ContainsKey("LmIp")) {
+ $LmIp = $ConnParams.Get_Item("LmIp")
+ }
+ if ($ConnParams.ContainsKey("LmPort")) {
+ $LmPort = $ConnParams.Get_Item("LmPort")
+ }
+ if ($ConnParams.ContainsKey("Cred")) {
+ $Credential = $ConnParams.Get_Item("Cred")
+ }
+ if ($ConnParams.ContainsKey("SubjectCN")) {
+ $SubjectCN = $ConnParams.Get_Item("SubjectCN")
+ }
+ if ($ConnParams.ContainsKey("CertLoc")) {
+ $CertLoc = $ConnParams.Get_Item("CertLoc")
+ }
+ }
+
+ if ($script:cred -eq $Credential -and ($SubjectCN -and $script:SubjectCN -ne $SubjectCN) ) {
+ # this is an overwrite of the stored credentials with a local login certificate
+ $Credential = $null
+ }
+
+ if ($script:SubjectCN -eq $SubjectCN -and ($Credential -and $script:cred -ne $Credential) ) {
+ # this is an overwrite of the stored certificate with local credentials
+ $SubjectCN = $null
+ }
+
+ Write-Verbose "Input params are OK, moving on . . ."
+
+ # the following function can throw
+ $url = SetCmdUrl $PsCmdlet.ParameterSetName $LmIp $LmPort $Command $ParameterValuePair $ParameterName $ParameterValue
+
+ if ($pTest) { # Testing purpose: don't remove
+ return $true
+ }
+
+ $response = $null
+ $errorAnswer = $null
+ try {
+ $request = CreateLmHttpsRequest $url $Credential $SubjectCN $CertLoc
+
+ if (($File) -and (-not ($Output))) {
+ UploadFile2Lm $File $request
+ }
+
+ $response = $request.GetResponse()
+ Write-Verbose "Response received."
+
+ $HTTP_STATUS = $response.StatusCode
+ Write-Verbose "HTTP STATUS: $HTTP_STATUS"
+ }
+ catch [Exception] {
+ $err = $_ # we need to save the exception object for further procesing
+ $errorAnswer = SetLoginConnectionErrorAnswer $err
+ }
+
+ finally {
+ if (!$response) {
+ if (!$errorAnswer) {
+ CloseConnectionWithLm $reader $stream $filestream $response
+ Throw $err.Exception.Message
+ }
+ else {
+ $response = $errorAnswer
+ }
+ }
+
+ try {
+ $stream = $response.GetResponseStream()
+ }
+ catch {
+ CloseConnectionWithLm $reader $stream $filestream $response
+ $errorAnswer = $_.Exception.Message
+ Write-Verbose "errorAnswer (2): $errorAnswer"
+ Throw $errorAnswer
+ }
+
+ $found = $false
+ if ($response.contenttype -eq "text/xml") {
+ $Encoding = [System.Text.Encoding]::GetEncoding("utf-8")
+ $reader = New-Object system.io.StreamReader($stream, $Encoding)
+ $result = $reader.REadToEnd()
+
+ if (-not ($Command.Contains("eula"))) {
+ Write-Verbose "result: $result"
+ }
+ Write-Output $result
+
+ $found = $true
+ }
+
+ if (-not ($found) -and
+ ($response.ContentType -eq "application/octet-stream" -or
+ $response.ContentType -eq "application/x509-cert" -or
+ $response.ContentType -eq "application/vnd.tcpdump.pcap" -or
+ $Command -eq "exportvstmplt")) {
+ if ($response.StatusCode -eq 200) {
+ try {
+ $errorAnswer = writeDataFromLm2File $file $Force $response
+ if ($errorAnswer -ne "") {
+ CloseConnectionWithLm $reader $stream $filestream $response
+ Throw $errorAnswer
+ }
+ }
+ catch {
+ CloseConnectionWithLm $reader $stream $filestream $response
+ Throw $errorAnswer
+ }
+ }
+ Write-Output $response.StatusCode
+
+ $found = $true
+ }
+
+ if (-not $found) {
+ $errorString = [string]$err
+ Write-Output $errorString
+ }
+ CloseConnectionWithLm $reader $stream $filestream $response
+ }
+}
+
+# Internal use only
+Function ConvertBoundParameters
+{
+ [CmdletBinding()]
+ Param(
+ [hashtable]$hashtable,
+
+ [switch]$SkipEncoding
+ )
+
+ $propertyTable = @{}
+
+ foreach ($param in $IgnoredParameters) {
+ $hashtable.Remove($param)
+ }
+
+ foreach ($param in $hashtable.keys) {
+ if ($hashtable[$param] -is [bool]) {
+ if ($ParamReplacement.Keys -contains $param) {
+ $paramValue = $hashtable[$param] -as [int]
+ $param = $ParamReplacement[$param]
+ $propertyTable.Add($param, $paramValue)
+ }
+ else {
+ $propertyTable.Add(($param), $hashtable[$param] -as [int])
+ }
+ }
+ else {
+ if ($SkipEncoding -eq $false) {
+ $value = [System.Web.HttpUtility]::UrlEncode($hashtable[$param])
+ }
+ else {
+ $value = $hashtable[$param]
+ }
+
+ if ($param -eq "BondMode") {
+ if ($hashtable[$param].ToLowerInvariant() -eq "802.3ad") {$value = 4}
+ if ($hashtable[$param].ToLowerInvariant() -eq "active-backup") {$value = 1}
+ }
+
+ if ($ParamReplacement.Keys -contains $param) {
+ # Special case: Add the "!" prefix to the RSIndex value.
+ if ($param -eq "RSIndex") {
+ $value = "!" + $value
+ }
+ $param = $ParamReplacement[$param]
+ }
+ $propertyTable.Add($param, $value)
+ }
+ }
+ return $propertyTable
+}
+
+# Internal usage only
+Function CheckLmConnection($LmIp, $LmNewIp, $LmPort)
+{
+ $check = $true
+ $counter = 2
+ $connStatus = $true
+ while ($check) {
+ if (-not (Test-LmServerConnection -ComputerName $LmIp -Port $LmPort)) {
+ $connStatus = $false
+ Start-Sleep -s 5
+ $counter -= 1
+ if ($counter -eq 0) {
+ $check = $false
+ }
+ }
+ else {
+ $connStatus = $true
+ $check = $false
+ }
+ }
+
+ if ($connStatus -eq $false) {
+ $check = $true
+ $counter = 5
+ $LmIp = $($LmNewIp.Split('/'))[0]
+ while ($check) {
+ if (-not (Test-LmServerConnection -ComputerName $LmIp -Port $LmPort)) {
+ Start-Sleep -s 5
+ $counter -= 1
+ if ($counter -eq 0) {
+ $check = $false
+ }
+ }
+ else {
+ $check = $false
+ $connStatus = $true
+ }
+ }
+ }
+
+ if ($connStatus -eq $false) {
+ Throw "ERROR: not able to reconnect to the LM"
+ }
+ else {
+ $LmIp
+ }
+}
+
+# Internal usage only
+Function throwIfEmpty($param)
+{
+ if ( ([String]::IsNullOrEmpty($param)) ) {
+ Throw "ERROR: $param is a required parameter"
+ }
+}
+
+# endregion - UTILITY FUNCTION
+
+
+# ==================================================
+# region - EULA
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Read-LicenseEULA
+{
+ [CmdletBinding()]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $null $null $null $null "skipLoginCheck"
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential
+
+ try {
+ $response = SendCmdToLm -Command "readeula" -ParameterValuePair $params -ConnParams $ConnParams
+ SetEulaResponseObject $response "Eula"
+ }
+ catch {
+ SetEulaErrorResponseObject $_.Exception.Message
+ }
+}
+Export-ModuleMember -function Read-LicenseEULA
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Confirm-LicenseEULA
+{
+ [CmdletBinding()]
+ Param(
+ [ValidateSet("trial", "perm", "free")]
+ [String]$Type = "trial",
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Magic,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $null $null $null $null "skipLoginCheck"
+ $propertyTable = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential
+
+ try {
+ $response = SendCmdToLm -Command "accepteula" -ParameterValuePair $propertyTable -ConnParams $ConnParams
+ SetEulaResponseObject $response "Eula2"
+ }
+ catch {
+ SetEulaErrorResponseObject $_.Exception.Message
+ }
+}
+Export-ModuleMember -function Confirm-LicenseEULA
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Confirm-LicenseEULA2
+{
+ [CmdletBinding()]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Magic,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("yes", "no")]
+ [String]$Accept,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $null $null $null $null "skipLoginCheck"
+ $propertyTable = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential
+
+ try {
+ $response = SendCmdToLm -Command "accepteula2" -ParameterValuePair $propertyTable -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ SetEulaErrorResponseObject $_.Exception.Message
+ }
+}
+Export-ModuleMember -function Confirm-LicenseEULA2
+
+# ==================================================
+# endregion - EULA
+# ==================================================
+
+
+# ==================================================
+# region - LICENSE
+# ==================================================
+
+Function Set-LicenseInitialPassword
+{
+ [CmdletBinding()]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Passwd,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $null $null $null $null "skipLoginCheck"
+ $propertyTable = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential
+
+ try {
+ $response = SendCmdToLm -Command "set_initial_passwd" -ParameterValuePair $propertyTable -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "SetInitialPasswd" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 $errMsg $null
+ }
+}
+Export-ModuleMember -function Set-LicenseInitialPassword
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Request-LicenseOnline
+{
+ [CmdletBinding()]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [string]$KempId = $KempId,
+
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [string]$Password = $Password,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$OrderId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LicenseTypeId,
+
+ [string]$http_proxy
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $null $null $null $null "skipLoginCheck"
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential
+
+ if ($LicenseTypeId) {
+ $params.Remove("LicenseTypeId")
+ $params.Add("licensetypeid", $LicenseTypeId)
+ }
+
+ try {
+ $response = SendCmdToLm -Command "alsilicense" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errorString = $_.Exception.Message
+ $errorCode = GetLicenseCmdErrorCode $errorString
+ setKempAPIReturnObject $errorCode "$errorString" $null
+ }
+}
+Export-ModuleMember -function Request-LicenseOnline
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Request-LicenseOffline
+{
+ [CmdletBinding()]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $null $null $null $null "skipLoginCheck"
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential
+
+ try {
+ $response = SendCmdToLm -Command "license" -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ if ($errMsg -eq "ERROR: The input file does not exist. Please check your input.") {
+ Throw $errMsg
+ }
+ $errorString = $_.Exception.Message
+ $errorCode = GetLicenseCmdErrorCode $errorString
+ setKempAPIReturnObject $errorCode "$errorString" $null
+ }
+}
+Export-ModuleMember -function Request-LicenseOffline
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LicenseAccessKey
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -command "accesskey" -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLicenseAccessKey" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LicenseAccessKey
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LicenseType
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [string]$KempId = $KempId,
+
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [string]$Password = $Password,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$OrderId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$http_proxy,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $null $null $null $null $null "skipLoginCheck"
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -command "alsilicensetypes" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLicenseType" -LMResponse $response -AdditionalData $OrderId
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LicenseType
+
+Function Get-LicenseInfo
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -command "licenseinfo" -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLicenseInfo" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LicenseInfo
+
+Function Update-LicenseOnline
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [string]$KempId = $KempId,
+
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Password = $Password,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$OrderId,
+
+ [string]$http_proxy,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ($OrderId) {
+ $params.Remove("OrderId")
+ $params.Add("orderid", $OrderId)
+ }
+
+ try {
+ $response = SendCmdToLm -command "alsilicense" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ $errCode = GetLicenseCmdErrorCode $errMsg
+ setKempAPIReturnObject $errCode "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Update-LicenseOnline
+
+Function Update-LicenseOffline
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "license" -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ if ($errMsg -eq "ERROR: The input file does not exist. Please check your input.") {
+ Throw $errMsg
+ }
+ $errCode = GetLicenseCmdErrorCode $errMsg
+ setKempAPIReturnObject $errCode "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Update-LicenseOffline
+
+Function Request-LicenseOnPremise
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$aslipaddr,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$aslname,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(1, 65535)]
+ [int]$aslport,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LicenseTypeId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $null $null $null $null $null "skipLoginCheck"
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($LicenseTypeId) {
+ $params.Remove("LicenseTypeId")
+ $params.Add("lic_type_id", $LicenseTypeId)
+ }
+
+ try {
+ $response = SendCmdToLm -Command "aslactivate" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "RequestLicenseOnPremise" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Request-LicenseOnPremise
+
+Function Get-AslLicenseType
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$aslipaddr,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(1, 65535)]
+ [int]$aslport,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$aslname,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $null $null $null $null $null "skipLoginCheck"
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ try {
+ $response = SendCmdToLm -Command "aslgetlicensetypes" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetAslLicenseType" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-AslLicenseType
+
+Function Stop-AslInstance
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "killaslinstance" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Stop-AslInstance
+
+# ==================================================
+# endregion - LICENSE
+# ==================================================
+
+
+# ==================================================
+# region TEMPLATES
+# ==================================================
+
+# Internal use only
+Function setExportVsTemplatesInputParams($VirtualService, $VSIndex, $Port, $Protocol, $params)
+{
+ if ($VirtualService -and $VSIndex) {
+ Throw "Cannot set both parameters VirtualService and VSIndex"
+ }
+
+ if ($VirtualService) {
+ if ($Port -and $Protocol) {
+ $params.Add("vs", $VirtualService)
+ }
+ else {
+ Throw "Cannot set VirtualService without Port and Protocol"
+ }
+ }
+ elseif ($VSIndex) {
+ $params.Add("vs", $VSIndex)
+ return
+ }
+ else {
+ Throw "One parameter VirtualService or VSIndex must be set"
+ }
+
+ if ($Port) {
+ if ($Port -lt 3 -or $Port -gt 65530) {
+ Throw "The port value is less than the minimum allowed value (0) or it is greater than the maximun allowed value (65530)"
+ }
+ if ($Protocol) {
+ $params.Add("port", $Port)
+ $params.Add("prot", $Protocol)
+ }
+ else {
+ Throw "The port/protcol parameters must be specified"
+ }
+ $check = $true
+ }
+ else {
+ if ($protocol) {
+ Throw "The port/protcol parameters must be specified"
+ }
+ }
+}
+
+Function Export-VSTemplate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$Port,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$Protocol,
+
+ [Int32]$VSIndex,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Path,
+ [switch]$Force,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = @{}
+ setExportVsTemplatesInputParams $VirtualService $VSIndex $Port $Protocol $params
+
+ try {
+ $response = SendCmdToLm -Command "exportvstmplt" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "ExportVSTemplate" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Export-VSTemplate, ExportVSTemplate
+
+Function Install-Template
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "uploadtemplate" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "InstallTemplate" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Install-Template, UploadTemplate
+
+Function Remove-Template
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "deltemplate" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-Template, DeleteTemplate
+
+Function Get-Template
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "listtemplates" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetTemplate" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-Template, ListTemplates
+
+# ==================================================
+# endregion TEMPLATES
+# ==================================================
+
+
+# ==================================================
+# region LOGGING
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LogEmailConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params2get = @("EmailEnable", "EmailServer", "EmailPort", "EmailUser", "EmailPassword", "EmailDomain", "EmailSSLMode",
+ "EmailEmergency", "EmailCritical", "EmailError", "EmailWarn", "EmailNotice", "EmailInfo")
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "EmailConfiguration"
+ foreach($param in $params2get) {
+ $params.Add("param", $param)
+
+ $lma = Get-LmParameter @params
+ if ($lma.ReturnCode -eq 200) {
+ $paramValue = $lma.Data.$param
+ $ht.Add($param, $paramValue)
+ }
+ else {
+ return $lma
+ }
+ $params.Remove("param")
+ Start-Sleep -m 200
+ }
+ $tmpObj = New-Object -TypeName PSObject -Property $ht
+
+ $emConf = [ordered]@{}
+ $emConf.PSTypeName = "EmailConfiguration"
+ $emConf.Add("EmailConfiguration", $tmpObj)
+ $emConfObject = New-Object -TypeName PSObject -Property $emConf
+
+ setKempAPIReturnObject 200 "Command successfully executed" $emConfObject
+}
+Export-ModuleMember -function Get-LogEmailConfiguration, Get-EmailOption
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-LogEmailConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$EmailEnable,
+
+ [string]$EmailServer,
+
+ [ValidateRange(3, 65530)]
+ [int]$EmailPort,
+
+ [string]$EmailUser,
+
+ [string]$EmailPassword,
+
+ [string]$EmailDomain,
+
+ [ValidateSet(0, 1, 2, 3)]
+ [Int16]$EmailSSLMode,
+
+ [string]$EmailEmergency,
+
+ [string]$EmailCritical,
+
+ [string]$EmailError,
+
+ [string]$EmailWarn,
+
+ [string]$EmailNotice,
+
+ [string]$EmailInfo,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+
+ foreach($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $paramValue = $parameters2set[$param]
+ $params.Add("value", "$paramValue")
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+ Start-Sleep -m 200
+ }
+
+ Get-LogEmailConfiguration @params
+}
+Export-ModuleMember -function Set-LogEmailConfiguration, Set-EmailOption
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LogSyslogConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params2get = @("SyslogEmergency", "SyslogCritical", "SyslogError", "SyslogWarn", "SyslogNotice", "SyslogInfo", "SyslogPort")
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "SyslogSettings"
+ foreach($param in $params2get) {
+ $params.Add("param", $param)
+
+ $lma = Get-LmParameter @params
+ if ($lma.ReturnCode -eq 200) {
+ $paramValue = $lma.Data.$param
+ $ht.Add($param, $paramValue)
+ }
+ else {
+ return $lma
+ }
+ $params.Remove("param")
+ Start-Sleep -m 200
+ }
+ $tmpObj = New-Object -TypeName PSObject -Property $ht
+
+ $syslogConf = [ordered]@{}
+ $syslogConf.PSTypeName = "SyslogSettings"
+ $syslogConf.Add("SyslogSettings", $tmpObj)
+ $syslogConfObject = New-Object -TypeName PSObject -Property $syslogConf
+
+ setKempAPIReturnObject 200 "Command successfully executed" $syslogConfObject
+}
+Export-ModuleMember -function Get-LogSyslogConfiguration, Get-SyslogOption
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-LogSyslogConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$SyslogCritical,
+ [string]$SyslogEmergency,
+ [string]$SyslogError,
+ [string]$SyslogInfo,
+ [string]$SyslogNotice,
+ [string]$SyslogWarn,
+
+ [UInt16]$SyslogPort,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters
+
+ foreach($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $paramValue = $parameters2set[$param]
+ $params.Add("value", "$paramValue")
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+ Start-Sleep -m 200
+ }
+
+ Get-LogSyslogConfiguration @params
+}
+Export-ModuleMember -function Set-LogSyslogConfiguration, Set-SyslogOption
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LogStatistics
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [switch]$VirtualService,
+ [switch]$RealServer,
+ [switch]$Totals,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ((!$VirtualService) -and (!$Totals) -and (!$RealServer)) {
+ $VirtualService = $true
+ $Totals = $true
+ $RealServer = $true
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $addData = [ordered]@{VS = $VirtualService; RS = $RealServer; Totals = $Totals;}
+
+ $response = SendCmdToLm -Command "stats" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLogStatistics" -LMResponse $response -AdditionalData $addData
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Get-LogStatistics, Get-Statistics
+
+Function Reset-LogStatistics
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $cmd = "logging/resetstats"
+ $response = SendCmdToLm -Command "$Cmd" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Reset-LogStatistics
+
+# ==================================================
+# endregion LOGGING
+# ==================================================
+
+
+# ==================================================
+# region SSO
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-SSODomain
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Domain,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "showdomain" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetSSODomain" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-SSODomain
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-SSODomain
+{
+ [CmdletBinding()]
+ Param(
+ [Parameter(ParameterSetName="Single",ValueFromPipelineByPropertyName=$true)]
+ [Alias("Name")]
+ [string]$Domain,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "adddomain" -ParameterValuePair @{domain = $Domain} -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response = "Command successfully executed (Domain `"$Domain`" created)"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-SSODomain
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-SSODomain
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,ValueFromPipeline=$true)]
+ [Alias("Name")]
+ [string]$Domain,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($Domain, "Remove SSO Domain"))) {
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "deldomain" -ParameterValuePair @{domain = $Domain} -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response = "Command successfully executed (Domain `"$Domain`" deleted)"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+
+ }
+}
+Export-ModuleMember -function Remove-SSODomain
+
+# Internal use only
+Function CheckSetSSODomainLoginFmtParam($logon_fmt, $iparams)
+{
+ # RESTful API mapping
+ if ($logon_fmt -eq "Notspecified") {
+ $iparams.Remove("logon_fmt")
+ $iparams.Add("logon_fmt", "Not specified")
+ }
+
+ if ($logon_fmt -eq "Usernameonly") {
+ $iparams.Remove("logon_fmt")
+ $iparams.Add("logon_fmt", "Username only")
+ }
+
+ if ($logon_fmt2 -eq "Notspecified") {
+ $iparams.Remove("logon_fmt2")
+ $iparams.Add("logon_fmt2", "Not specified")
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-SSODomain
+{
+ [CmdletBinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("Name")]
+ [string]$Domain,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [ValidateSet("Unencrypted", "StartTLS", "LDAPS")]
+ [string]$TLS,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [String[]]$Server,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [String[]]$Server2,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [ValidateSet("LDAP-Unencrypted", "LDAP-StartTLS", "LDAP-LDAPS",
+ "RADIUS", "RADIUS and LDAP-Unencrypted", "RADIUS and LDAP-StartTLS", "RADIUS and LDAP-LDAPS",
+ "RSA-SECURID", "RSA-SECURID and LDAP-Unencrypted", "RSA-SECURID and LDAP-StartTLS", "RSA-SECURID and LDAP-LDAPS",
+ "Certificates", "KCD", "SAML")]
+ [string]$auth_type,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [ValidateRange(0, 999)]
+ [int]$max_failed_auths,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [ValidateRange(60, 86400)]
+ [int]$reset_fail_tout,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [ValidateRange(60, 86400)]
+ [int]$unblock_tout,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [ValidateSet("Notspecified", "Not specified", "Principalname", "Username", "Usernameonly", "Username only")]
+ [string]$logon_fmt,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [ValidateSet("Notspecified", "Not specified", "Principalname", "Username")]
+ [string]$logon_fmt2,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [string]$logon_domain,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("stt")][ValidateSet("idle time", "max duration")]
+ [string]$sess_tout_type,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("stipub")][ValidateRange(60, 86400)]
+ [int]$sess_tout_idle_pub,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("stdpub")][ValidateRange(60, 86400)]
+ [int]$sess_tout_duration_pub,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("stipriv")][ValidateRange(60, 86400)]
+ [int]$sess_tout_idle_priv,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("stdpriv")][ValidateRange(60, 86400)]
+ [int]$sess_tout_duration_priv,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [string]$testuser,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [string]$testpass,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("Secret")]
+ [string]$radius_shared_secret,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("KerberosDomain")]
+ [string]$kerberos_domain,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("SKerberosKDC")]
+ [string]$kerberos_kdc,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("KCDUsername")]
+ [string]$kcd_username,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("KCDPassword")]
+ [string]$kcd_password,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("ServerSide")]
+ [string]$server_side,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("CertCheck")]
+ [string]$cert_check_asi,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("CertCheckCn")]
+ [string]$cert_check_cn,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("LogonTranscode")]
+ [bool]$Logon_Transcode,
+
+ [Parameter(ValueFromPipelineByPropertyName=$true)]
+ [Alias("LdapEndpoint")]
+ [string]$ldap_endpoint,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ CheckSetSSODomainLoginFmtParam $logon_fmt $psboundparameters
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ try {
+ $response = SendCmdToLm -Command "moddomain" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetSSODomain" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-SSODomain
+
+Function Get-SSODomainLockedUser
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$false,ValueFromPipeline=$true)]
+ [Alias("Name")]
+ [string]$Domain,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "showdomainlockedusers" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetSSODomainLockedUser" -LMResponse $response -AdditionalData "showdomainlockedusers"
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ return
+ }
+}
+Export-ModuleMember -function Get-SSODomainLockedUser
+
+Function Set-SSODomainUnlockUser
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,ValueFromPipeline=$true)]
+ [Alias("Name")]
+ [string]$Domain,
+
+ [Parameter(Mandatory=$true,ValueFromPipeline=$true)]
+ [string]$Users,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "unlockdomainusers" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "SetSSODomainLockedUser" -LMResponse $response -AdditionalData "unlockdomainusers"
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ return
+ }
+}
+Export-ModuleMember -function Set-SSODomainUnlockUser
+
+Function Install-SSORSAConfigurationFile
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = @{}
+
+ try {
+ $response = SendCmdToLm -Command "setrsaconfig" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Authentication Manager Config successfully loaded."
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Install-SSORSAConfigurationFile, UploadRSAConfigurationFile
+
+Function Install-SSORSANodeSecretAndPassword
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Password,
+
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = @{}
+ $params.Add("rsanspwd",[System.Web.HttpUtility]::UrlEncode($Password))
+
+ try {
+ $response = SendCmdToLm -Command "setrsanodesecret" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Node Secret successfully loaded."
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Install-SSORSANodeSecretAndPassword, UploadRSANodeSecretAndPassword
+
+Function Get-SSODomainSession
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Alias("Name")]
+ [string]$Domain,
+
+ [Parameter(Mandatory=$false)]
+ [string]$User,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = [ordered]@{}
+ $params.Add("domain", $Domain)
+
+ if (-not ([String]::IsNullOrEmpty($User))) {
+ $params.Add("user", $User)
+ $ssodcmd = "ssodomain/search"
+ }
+ else {
+ $ssodcmd = "ssodomain/queryall"
+ }
+
+ try {
+ $response = SendCmdToLm -Command $ssodcmd -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetSSODomainSession" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Get-SSODomainSession
+
+Function Stop-SSODomainSession
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Domain,
+
+ [Parameter(Mandatory=$false)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Key,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = [ordered]@{}
+ $params.Add("domain", $Domain)
+
+ if (-not ([String]::IsNullOrEmpty($Key))) {
+ $params.Add("key", $Key)
+ $ssodcmd = "ssodomain/killsession"
+ }
+ else {
+ $ssodcmd = "ssodomain/killallsessions"
+ }
+
+ try {
+ $response = SendCmdToLm -Command $ssodcmd -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Stop-SSODomainSession
+
+Function Clear-SSOCache
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "logging/ssoflush" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Clear-SSOCache, FlushSsoCache
+
+# ==================================================
+# endregion SSO
+# ==================================================
+
+
+# ==================================================
+# region NETWORKING
+# ==================================================
+
+# Internal use only
+Function validateIp($ip)
+{
+ $retValue = $false
+
+ if ($ip) {
+ try {
+ $check = [ipaddress]::Parse($ip)
+ if ($check) {
+ $retValue = $true
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ Write-Verbose "ERROR: $errMsg"
+ }
+ }
+
+ return $retValue
+}
+
+Function Get-LmNetworkInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = @{}
+
+ try {
+ $response = SendCmdToLm -Command "listifconfig" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLmNetworkInterface" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmNetworkInterface, ListIfconfig
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-NetworkConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $networkParameters = @("snat", "allowupload", "conntimeout", "keepalive",
+ "multigw", "nonlocalrs", "onlydefaultroutes", "resetclose",
+ "subnetorigin", "subnetoriginating", "tcptimestamp",
+ "routefilter", "dhkeysize", "http_proxy")
+
+ GetLmParameterSet $networkParameters "NetworkConfiguration" $params
+}
+Export-ModuleMember -function Get-NetworkConfiguration, Get-NetworkOptions
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-NetworkConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$SNAT,
+
+ [bool]$AllowUpload,
+
+ [ValidateRange(0, 86400)]
+ [Int64]$ConnTimeout,
+
+ [bool]$KeepAlive,
+
+ [bool]$MultiGW,
+
+ [bool]$NonLocalRS,
+
+ [bool]$OnlyDefaultRoutes,
+
+ [bool]$ResetClose,
+
+ [bool]$SubnetOrigin,
+
+ [bool]$SubnetOriginating,
+
+ [bool]$TCPTimeStamp,
+
+ [bool]$RouteFilter,
+
+ [ValidateRange(512, 4096)]
+ [Int32]$DHKeySize,
+
+ [string]$Http_Proxy,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+ $params2Get = @()
+
+ foreach($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+ Start-Sleep -m 200
+ }
+ GetLmParameterSet $params2Get "Parameters" $params
+}
+Export-ModuleMember -function Set-NetworkConfiguration, Set-NetworkOptions
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-NetworkDNSConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $lma = GetLmParameter "Hamode" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+
+ $hamode = $lma.Data.Hamode
+ if ($hamode -eq 0) {
+ $dnsParameters = @("Hostname", "NamServer", "SearchList")
+ }
+ else {
+ $dnsParameters = @("Hostname", "HA1Hostname", "HA2Hostname", "NamServer", "SearchList")
+ }
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ GetLmParameterSet $dnsParameters "NetworkDNSConfiguration" $params
+}
+Export-ModuleMember -function Get-NetworkDNSConfiguration, Get-DNSConfiguration
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-NetworkDNSConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Hostname,
+
+ [string]$HA1Hostname,
+
+ [string]$HA2Hostname,
+
+ [string]$NameServer,
+
+ [string]$Searchlist,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+ $params2Get = @()
+
+ foreach($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+ Start-Sleep -m 200
+ }
+ GetLmParameterSet $params2Get "Parameters" $params
+}
+Export-ModuleMember -function Set-NetworkDNSConfiguration, Set-DNSConfiguration
+
+Function Update-NetworkDNSCache
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "resolvenow" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Update-NetworkDNSCache, Update-LmDNSCache
+
+# Internal use only
+Function checkGetSnmpParam($type, $key, $param)
+{
+ if ($type -eq "SnmpV3") {
+ if (($key -eq "no") -and
+ ($param -eq "SNMPv3user" -or $param -eq "SNMPv3userpasswd" -or $param -eq "snmpAuthProt" -or $param -eq "snmpPrivProt")) {
+ return $false
+ }
+ else {
+ return $true
+ }
+ }
+
+ if ($type -eq "HaTrap") {
+ if (($key -eq 0) -and ($param -eq "SNMPHaTrap")) {
+ return $false
+ }
+ else {
+ return $true
+ }
+ }
+
+ if ($type -eq "SnmpTrap") {
+ if (($key -eq "no") -and ($param -eq "SNMPv1Sink" -or $param -eq "SNMPv2Sink")) {
+ return $false
+ }
+ else {
+ return $true
+ }
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-NetworkSNMPConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $lma = GetLmParameter "snmpenable" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+
+ $snmpenable = $lma.Data.snmpenable
+ if ($snmpenable -eq "no") {
+ return $lma
+ }
+
+ $lma = GetLmParameter "SNMPv3enable" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $snmpv3enable = $lma.Data.SNMPv3enable
+
+ $lma = GetLmParameter "hamode" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $hamode = $lma.Data.hamode
+
+ $lma = GetLmParameter "SNMPTrapEnable" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $snmptrapenable = $lma.Data.SNMPTrapEnable
+
+ $snmpParams = @("SNMPEnable", "SNMPv3enable", "SNMPv3user", "SNMPv3userpasswd", "snmpAuthProt", "snmpPrivProt",
+ "SNMPClient", "SNMPCommunity", "SNMPContact", "SNMPLocation",
+ "SNMPTrapEnable", "SNMPHaTrap", "SNMPv1Sink", "SNMPv2Sink")
+
+ $snmpConf = [ordered]@{}
+ $snmpConf.PSTypeName = "SNMPConfiguration"
+ foreach ($param in $snmpParams) {
+
+ if ($param -eq "SNMPEnable") {
+ $snmpConf.add($param, $snmpenable)
+ continue
+ }
+
+ if ($param -eq "SNMPv3enable") {
+ $snmpConf.add($param, $snmpv3enable)
+ continue
+ }
+
+ if ($param -eq "SNMPTrapEnable") {
+ $snmpConf.add($param, $snmptrapenable)
+ continue
+ }
+
+ if ((checkGetSnmpParam "SnmpV3" $snmpv3enable $param) -eq $false) {
+ continue
+ }
+
+ if ((checkGetSnmpParam "HaTrap" $hamode $param) -eq $false) {
+ continue
+ }
+
+ if ((checkGetSnmpParam "SnmpTrap" $snmptrapenable $param) -eq $false) {
+ continue
+ }
+
+ $lma = GetLmParameter "$param" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $snmpConf.add($param, $lma.Data.$param)
+
+ Start-Sleep -m 150
+ }
+ $data = New-Object -TypeName PSObject -Property $snmpConf
+ setKempAPIReturnObject 200 "Command successfully executed" $data
+}
+Export-ModuleMember -function Get-NetworkSNMPConfiguration, Get-SNMPOption
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-NetworkSNMPConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$SNMPEnable,
+ [bool]$SNMPv3enable,
+ [string]$SNMPv3user,
+ [string]$SNMPv3userpasswd,
+
+ [ValidateSet("SHA", "MD5")]
+ [string]$snmpAuthProt,
+
+ [ValidateSet("AES", "DES")]
+ [string]$snmpPrivProt,
+
+ [string]$SNMPClient,
+ [string]$SNMPCommunity,
+ [string]$SNMPContact,
+ [string]$SNMPLocation,
+ [bool]$SNMPTrapEnable,
+ [bool]$SNMPHaTrap,
+ [string]$SNMPv1Sink,
+ [string]$SNMPv2Sink,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+
+ foreach ($param in $params.Keys)
+ {
+ $lma = SetLmParameter $param $params[$param] $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ Start-Sleep -m 200
+ }
+
+ $ConnParams2 = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ Get-NetworkSNMPConfiguration @ConnParams2
+}
+Export-ModuleMember -function Set-NetworkSNMPConfiguration, Set-SNMPOption
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-NetworkInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Int16]$InterfaceID = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ if ($InterfaceID -ne -1) {
+ $param = [ordered]@{}
+ $param.Add("iface", $InterfaceID)
+ $response = SendCmdToLm -Command "showiface" -ParameterValuePair $param -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetNetworkInterface" -LMResponse $response $InterfaceID
+ }
+ else {
+ $response = SendCmdToLm -Command "showiface" -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetNetworkInterface" -LMResponse $response $InterfaceID
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-NetworkInterface, Get-Interface
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-NetworkInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Int16]$InterfaceID = 0,
+
+ [string]$IPAddress,
+
+ [Int32]$MTU,
+
+ [bool]$HACheck,
+
+ [bool]$GWIface,
+
+ [bool]$clupdate,
+
+ [bool]$GeoTraffic,
+
+ [ValidateSet("802.3ad", "Active-backup")]
+ [string]$BondMode,
+
+ [string]$Partner,
+
+ [string]$Shared,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params.Remove("iface")
+ foreach($param in $params.Keys) {
+
+ $networkParams = @{iface=$InterfaceID}
+ $networkParams.Add($param, $params[$param])
+
+ $response = SetNetworkInterfaceParam "modiface" $networkParams $ConnParams
+ if ($response.ReturnCode -ne 200) {
+ Write-Verbose "error occurred: $($response.ReturnCode), $($response.Response)"
+ return $response
+ }
+ }
+
+ # The machine can have now a new address
+ # we need to check the connection first
+ Write-Verbose "Checking LM connection . . ."
+ $LoadBalancer = CheckLmConnection $LoadBalancer $IPAddress $LBPort
+ Write-Verbose "Successfully connect to the LM"
+
+ # Get Interface details
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+ $intfDetails
+}
+Export-ModuleMember -function Set-NetworkInterface, Set-Interface
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-NetworkInterfaceAdditionalAddress
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Int16]$InterfaceID,
+ [string]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+
+ $cidr = $intfDetails.Data.Interface.IPAddress.Split("/")[1]
+ if ($Address.IndexOf('/') -eq -1) {
+ $Address += "/$cidr"
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $response = SetNetworkInterfaceParam "addadditional" @{iface=$InterfaceID; addr=$Address} $ConnParams
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+}
+Export-ModuleMember -function New-NetworkInterfaceAdditionalAddress, Add-InterfaceAddress
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-NetworkInterfaceAdditionalAddress
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [Int16]$InterfaceID,
+ [string]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($InterfaceID, "Remove Interface Address"))) {
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $response = SetNetworkInterfaceParam "deladditional" @{iface=$InterfaceID; addr=$Address} $ConnParams
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ # Get Interface details
+ GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ }
+}
+Export-ModuleMember -function Remove-NetworkInterfaceAdditionalAddress, Remove-InterfaceAddress
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-NetworkRoute # TODO to change name to Get-NetworkAdditionalRoute ?????
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "showroute" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetNetworkRoute" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Get-NetworkRoute, Get-Route
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-NetworkRoute
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Destination,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Alias("Mask", "SubnetMask")]
+ [Int16]$CIDR,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Gateway,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ throwIfEmpty $Destination
+ throwIfEmpty $CIDR
+ throwIfEmpty $Gateway
+
+ $DestIP = "$Destination/$CIDR"
+
+ try {
+ $response = SendCmdToLm -Command "addroute" -ParameterValuePair @{dest=$DestIP; gateway=$Gateway} -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ $ConnParams2 = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ Get-NetworkRoute @ConnParams2
+}
+Export-ModuleMember -function New-NetworkRoute, New-Route
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-NetworkRoute # TODO to change name to Remove-NetworkAdditionalRoute ?????
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Destination,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "delroute" -ParameterValuePair @{dest=$Destination} -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ $ConnParams2 = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ Get-NetworkRoute @ConnParams2
+}
+Export-ModuleMember -function Remove-NetworkRoute, Remove-Route
+
+Function Test-NetworkRoute
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ( ([String]::IsNullOrEmpty($Address)) ) {
+ Throw "ERROR: The address parameter is mandatory"
+ }
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "logging/traceroute" -ParameterValuePair @{addr=$Address} -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "TestNetworkRoute" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Test-NetworkRoute
+
+# Internal usage only
+Function reconnectToLm($LoadBalancer, $LBPort, $cycles, $sleepTime)
+{
+ $check = $true
+ $counter = $cycles
+
+ while ($check) {
+ if (-not (Test-LmServerConnection -ComputerName $LoadBalancer -Port $LBPort)) {
+ Start-Sleep -s $sleepTime
+ $counter -= 1
+ if ($counter -eq 0) {
+ return $false
+ }
+ }
+ else {
+ return $true
+ }
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Register-NetworkBondedInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $check = $true
+ try {
+ $response = SendCmdToLm -Command "createbond" -ParameterValuePair @{iface=$InterfaceID} -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $check = reconnectToLm $LoadBalancer $LBPort 12 10
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ if ($errMsg.Contains("Unable to connect to the remote server")) {
+ $check = reconnectToLm $LoadBalancer $LBPort 12 10
+ }
+ else {
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ }
+ if ($check -eq $true) {
+ GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ }
+ else {
+ setKempAPIReturnObject 400 "Unable to connect to the LM" $null
+ }
+}
+Export-ModuleMember -function Register-NetworkBondedInterface, Register-BondedInterface
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Unregister-NetworkBondedInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $check = $true
+ try {
+ $response = SendCmdToLm -Command "unbond" -ParameterValuePair @{iface=$InterfaceID} -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $check = reconnectToLm $LoadBalancer $LBPort 12 10
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ if ($errMsg.Contains("Unable to connect to the remote server")) {
+ $check = reconnectToLm $LoadBalancer $LBPort 12 10
+ }
+ else {
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ }
+ if ($check -eq $true) {
+ GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ }
+ else {
+ setKempAPIReturnObject 400 "Unable to connect to the LM" $null
+ }
+}
+Export-ModuleMember -function Unregister-NetworkBondedInterface, Unregister-BondedInterface
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-NetworkBondedInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [Parameter(Mandatory=$true)]
+ [Int16]$BondID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "addbond" -ParameterValuePair @{iface=$InterfaceID; bond=$BondID} -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+}
+Export-ModuleMember -function New-NetworkBondedInterface, Add-BondedInterface
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-NetworkBondedInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [Parameter(Mandatory=$true)]
+ [Int16]$BondID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "delbond" -ParameterValuePair @{iface=$InterfaceID; bond=$BondID} -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+}
+Export-ModuleMember -function Remove-NetworkBondedInterface, Remove-BondedInterface
+
+# Internal use only
+Function AddNetworkVlanVxLan($cmd2exec, $intfType, $cmdClass, $lanParams, $getParams, $ConnParams)
+{
+ try {
+ $response = SendCmdToLm -Command $cmd2exec -ParameterValuePair $lanParams -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass $cmdClass -LMResponse $response -AdditionalData $lanParams.iface
+ if ($lma.ReturnCode -eq 200) {
+ $intfId = $lma.Data.$intfType
+ $getParams.Add("InterfaceID", $intfId)
+ Get-NetworkInterface @getParams
+ }
+ else {
+ return $lma
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+
+# Internal use only
+Function RemoveNetworkVLanVxLan($cmd2exec, $InterfaceId, $ConnParams)
+{
+ try {
+ $response = SendCmdToLm -Command $cmd2exec -ParameterValuePair @{iface=$InterfaceID} -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-NetworkVLAN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(1, 4095)]
+ [Int16]$VLanId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ $intfDetails
+ return
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $getParams = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $lanParams = [ordered]@{iface = $InterfaceID; vlanid = $VLanId;}
+
+ AddNetworkVlanVxLan "addvlan" "VLanInterfaceId" "AddNetworkVLAN" $lanParams $getParams $ConnParams
+}
+Export-ModuleMember -function New-NetworkVLAN, Add-VLan
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-NetworkVLAN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ $intfDetails
+ return
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ RemoveNetworkVLanVxLan "delvlan" $InterfaceID $ConnParams
+}
+Export-ModuleMember -function Remove-NetworkVLAN, Remove-VLan
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-NetworkVxLAN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(1, 16777214)]
+ [Int32]$VNI,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Addr,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ((($Addr -As [IPAddress]) -As [Bool])) {
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $getParams = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $sep = "."
+ $parts = [System.StringSplitOptions]::RemoveEmptyEntries
+ $AddrParts = $Addr.Split($sep, 4, $parts)
+ [int]$parti = [convert]::ToInt32($AddrParts[0], 10)
+
+ $lanParams = [ordered]@{iface = $InterfaceID; vni = $VNI;}
+ if ($parti -gt 223 -and $parti -lt 240) {
+ $lanParams.Add("group", $Addr)
+ }
+ else {
+ $lanParams.Add("remote", $Addr)
+ }
+
+ AddNetworkVlanVxLan "addvxlan" "VxLanInterfaceId" "AddNetworkVxLAN" $lanParams $getParams $ConnParams
+ }
+ else {
+ $errMsg = "No valid group or remote IP address given"
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function New-NetworkVxLAN, Add-VxLan
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-NetworkVxLAN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intfDetails = GetLmNetworkInterface $InterfaceID $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($intfDetails.ReturnCode -ne 200) {
+ return $intfDetails
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ RemoveNetworkVLanVxLan "delvxlan" $InterfaceID $ConnParams
+}
+Export-ModuleMember -function Remove-NetworkVxLAN, Remove-VxLan
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-HostsEntry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "gethosts" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetHosts" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Get-HostsEntry
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-HostsEntry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$HostIP,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$HostFQDN,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "addhostsentry" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function New-HostsEntry
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-HostsEntry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$HostIP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "delhostsentry" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+Export-ModuleMember -function Remove-HostsEntry
+
+# ==================================================
+# endregion NETWORKING
+# ==================================================
+
+
+# ==================================================
+# region ADC
+# ==================================================
+
+# Internal use only
+Function SetAdcVirtualserviceCheckUserParam($params, $CheckUse1_1)
+{
+ if ($CheckUse1_1 -ne -1) {
+ $params.Remove("CheckUse1_1")
+
+ if ($CheckUse1_1 -eq 1) {
+ $params.Add("CheckUse1.1", 1)
+ }
+ else {
+ $params.Add("CheckUse1.1", 0)
+ }
+ }
+}
+
+# Internal use only
+Function checkAdcVSInputParams($VirtualService, $VSPort, $VSProtocol, $VSIndex, $case)
+{
+ if ($VSIndex -ge 0) {
+ if ($VirtualService) {
+ Throw "The VSIndex and VirtualService parameters are mutually exclusive."
+ }
+ if ($VSPort) {
+ Throw "The VSIndex and Port parameters are mutually exclusive."
+ }
+ if ($VSProtocol) {
+ Throw "The VSIndex and Protocol parameters are mutually exclusive."
+ }
+ $cmdCase = "Index"
+ }
+ elseif ($VirtualService) {
+ if (!$VSPort -or !$VSProtocol) {
+ Throw "The VirtualService, Port and Protocol parameters are mandatory."
+ }
+ $cmdCase = "IPAddress"
+ }
+ else {
+ if ($case -eq 0) {
+ if ($VSPort -or $VSProtocol) {
+ Throw "The VirtualService, Port and Protocol parameters must be used together."
+ }
+ }
+ else {
+ Throw "Either the VirtualService or VSIndex parameter is required."
+ }
+ }
+ $cmdCase
+}
+
+# Internal use only
+Function GeAdcVirtualService($VirtualService, $Port, $Protocol, $VSIndex, $LoadBalancer, $LBPort, $Credential, $SubjectCN, $CertSL)
+{
+ if ($VirtualService -and $Port -and $Protocol) {
+ $params = @{VirtualService=$VirtualService; VSPort=$Port; VSProtocol=$Protocol}
+ }
+ elseif ($VSIndex) {
+ $params = @{VSIndex=$VSIndex}
+ }
+ else {
+ $params = @{}
+ }
+
+ $params.Add("LoadBalancer", $LoadBalancer)
+ if ($LBPort) {
+ $params.Add("LBPort", $LBPort)
+ }
+
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ $params.Add("SubjectCN", $SubjectCN)
+ if (-not ([String]::IsNullOrEmpty($CertSL))) {
+ $params.Add("CertificateStoreLocation", $CertSL)
+ }
+ }
+ else {
+ $params.Add("Credential", $Credential)
+ }
+ Get-AdcVirtualService @params
+}
+
+# Internal use only
+Function checkAdcRSInputParams($RealServer, $RealServerPort, $RSIndex, $nocheck)
+{
+ if ($RSIndex -ge 0) {
+ if ($RealServer) {
+ Throw "The RSIndex and RealServer parameters are mutually exclusive."
+ }
+ if ($RealServerPort) {
+ Throw "The RSIndex and RealServerPort parameters are mutually exclusive."
+ }
+ $cmdCase = "Index"
+ }
+ elseif ($RealServer) {
+ if (!$RealServerPort) {
+ Throw "The RealServer and RealServerPort parameters must be used together."
+ }
+ $cmdCase = "IPAddress"
+ }
+ else {
+ if ($nocheck -eq 1) {
+ $cmdCase = "All"
+ }
+ else {
+ Throw "Either the RealServer or RSIndex parameter is required."
+ }
+ }
+ $cmdCase
+}
+
+# Internal use only
+Function GetAdcRealServerStat($RealServer, $LoadBalancer, $LBPort, $Credential, $SubjectCN, $CertSL)
+{
+ $params = @{LoadBalancer=$LoadBalancer}
+
+ if ($LBPort) {
+ $params.Add("LBPort", $LBPort)
+ }
+
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ $params.Add("SubjectCN", $SubjectCN)
+ if (-not ([String]::IsNullOrEmpty($CertSL))) {
+ $params.Add("CertificateStoreLocation", $CertSL)
+ }
+ }
+ else {
+ $params.Add("Credential", $Credential)
+ }
+ $tmpObject = Get-LogStatistics @params -RealServer
+
+ if ($tmpObject.ReturnCode -eq 200 ) {
+ if (([String]::IsNullOrEmpty($RealServer))) {
+ $rs = [ordered]@{}
+ $rs.PSTypeName = "RealServer"
+ $rs.Add("RealServer", $tmpObject.Data.Rs)
+ $rsObject = New-Object -TypeName PSObject -Property $rs
+ setKempAPIReturnObject 200 "Command successfully executed." $rsObject
+ }
+ else {
+ $rsA = @()
+ foreach($server in $tmpObject.Data.Rs) {
+ if ($server.Addr -eq $RealServer) {
+ $rsA += $server
+ }
+ }
+ if ($rsA.Length -gt 0) {
+ $rs = [ordered]@{}
+ $rs.PSTypeName = "RealServer"
+ $rs.Add("Realserver", $rsA)
+
+ $rsObject = New-Object -TypeName PSObject -Property $rs
+ setKempAPIReturnObject 200 "Command successfully executed." $rsObject
+ }
+ else {
+ setKempAPIReturnObject 400 "Rs `"$RealServer`" not found." $null
+ }
+ }
+ }
+ else {
+ return $tmpObject
+ }
+}
+
+# Internal use only
+Function EnableDisableAdcRealServer($cmd2exec, $params, $ConnParams)
+{
+ try {
+ $response = SendCmdToLm -Command "$cmd2exec" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+}
+
+#
+# Internal use only
+#
+# NOTE: The function handles the cmd to set cache and compression
+# exceptions.
+#
+Function AddRemoveAdcHttpCacheCompressionException($Extension, $Cmd, $ConnParams)
+{
+ foreach ($ext in $Extension) {
+ try {
+ $response = SendCmdToLm -Command "$Cmd" -ParameterValuePair @{param=$ext} -ConnParams $ConnParams
+ $adcServiceHealthConfiguration = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($adcServiceHealthConfiguration.ReturnCode -ne 200) {
+ return $adcServiceHealthConfiguration
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ }
+ setKempAPIReturnObject 200 "Command successfully executed." $null
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-AdcVirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$VirtualService,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [ValidateRange(0, 6)]
+ [Int16]$AddVia,
+
+ [string]$Template,
+
+ [bool]$Cache = $false,
+
+ [string]$CertFile,
+
+ [ValidateSet("tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", "ldap", "none")]
+ [string]$CheckType = "tcp",
+
+ [string]$CheckHost,
+
+ [string]$CheckPattern,
+
+ [string]$CheckUrl,
+
+ [string]$CheckHeaders,
+
+ [string]$LdapEndpoint,
+
+ [string]$MatchLen,
+
+ [ValidateRange(0, 1)]
+ [int]$CheckUse1_1 = -1,
+
+ [Int32]$CheckPort,
+
+ [bool]$EnhancedHealthChecks,
+
+ [Int32]$RsMinimum,
+
+ [ValidateRange(0, 2)]
+ [Int16]$ClientCert = 0,
+
+ [bool]$Compress = $false,
+
+ [string]$Cookie,
+
+ [ValidateRange(0, 100)]
+ [Int16]$CachePercent = 0,
+
+ [string]$DefaultGW,
+
+ [bool]$Enable = $true,
+
+ [string]$ErrorCode = 0,
+
+ [string]$ErrorUrl,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$PortFollow,
+
+ [bool]$ForceL7 = $true,
+
+ [ValidateRange(0, 86400)]
+ [Int32]$Idletime,
+
+ [String[]]$LocalBindAddresses,
+
+ [ValidateSet("gen", "http", "tls", "ts")]
+ [string]$VSType,
+
+ [string]$Nickname,
+
+ [ValidateSet("ssl", "cookie", "active-cookie", "cookie-src", "active-cook-src", "cookie-hash",
+ "url", "query-hash", "host", "header", "super", "super-src", "src", "rdp", "rdp-src",
+ "rdp-sb", "udpsip", "none")]
+ [string]$Persist,
+
+ [ValidateRange(0, 604800)]
+ [Int32]$PersistTimeout,
+
+ [string]$QueryTag,
+
+ [string]$CipherSet,
+
+ [bool]$SSLReencrypt,
+
+ [bool]$SSLReverse,
+
+ [ValidateSet("", "http", "https")]
+ [string]$SSLRewrite,
+
+ [string]$ReverseSNIHostname,
+
+ [ValidateSet("rr", "wrr", "lc", "wlc", "fixed", "adaptive", "sh")]
+ [string]$Schedule,
+
+ [ValidateRange(0, 5)]
+ [Int16]$ServerInit,
+
+ [bool]$SSLAcceleration,
+
+ [string]$StandByAddr,
+
+ [string]$StandByPort,
+
+ [Int32]$TransactionLimit,
+
+ [bool]$Transparent,
+
+ [bool]$SubnetOriginating,
+
+ [bool]$UseforSnat,
+
+ [ValidateSet("0", "1", "2", "4", "8")]
+ [string]$QoS,
+
+ [int32]$CheckUseGet,
+
+ [ValidateRange(0, 7)]
+ [Int16]$Verify,
+
+ [string]$ExtraHdrKey,
+
+ [string]$ExtraHdrValue,
+
+ [string]$AllowedHosts,
+
+ [string]$AllowedDirectories,
+
+ [string]$AllowedGroups,
+
+ [string]$GroupSIDs,
+
+ [string]$SteeringGroups,
+
+ [bool]$IncludeNestedGroups,
+
+ [bool]$DisplayPubPriv,
+
+ [bool]$DisablePasswordForm,
+
+ [string]$Domain,
+
+ [string]$AltDomains,
+
+ [string]$Logoff,
+
+ [ValidateRange(0, 7)]
+ [Int16]$ESPLogs,
+
+ [string]$SMTPAllowedDomains,
+
+ [bool]$ESPEnabled,
+
+ [string]$UserPwdChangeUrl,
+
+ [string]$UserPwdChangeMsg,
+
+ [ValidateRange(0, 2)]
+ [Int16]$SecurityHeaderOptions,
+
+ [ValidateRange(0, 5)]
+ [Int16]$InputAuthMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$OutConf,
+
+ [ValidateRange(0, 3)]
+ [Int16]$OutputAuthMode,
+
+ [ValidateRange(0, 1)]
+ [Int16]$StartTLSMode,
+
+ [string]$ExtraPorts,
+
+ [string]$AltAddress,
+
+ [bool]$MultiConnect,
+
+ [string]$SingleSignOnDir,
+
+ [string]$OCSPVerify,
+
+ [Int32]$FollowVSID,
+
+ [ValidateRange(0, 14)]
+ [int]$TlsType = 0,
+
+ [string]$CheckPostData,
+
+ [string]$CheckCodes,
+
+ [string]$PreProcPrecedence,
+
+ [Int16]$PreProcPrecedencePos,
+
+ [string]$RequestPrecedence,
+
+ [Int16]$RequestPrecedencePos,
+
+ [string]$ResponsePrecedence,
+
+ [Int16]$ResponsePrecedencePos,
+
+ [string]$RsRulePrecedence,
+
+ [Int16]$RsRulePrecedencePos,
+
+ [bool]$NeedHostName,
+
+ [string]$CopyHdrFrom = "",
+
+ [string]$CopyHdrTo = "",
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ SetAdcVirtualserviceCheckUserParam $params $CheckUse1_1
+
+ try {
+ $response = SendCmdToLm -Command "addvs" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "NewAdcVS" -LMResponse $response -AdditionalData $true
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-AdcVirtualService, New-VirtualService
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-AdcVirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [String]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 0
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ if ($VirtualService -or $VSIndex -ge 0) {
+ $CmdClass = "GetAdcVS_Single"
+ $response = SendCmdToLm -Command "showvs" -ParameterValuePair $params -ConnParams $ConnParams
+ $adata = $true
+ }
+ else {
+ $CmdClass = "GetAdcVS_List"
+ $response = SendCmdToLm -Command "listvs" -ParameterValuePair $params -ConnParams $ConnParams
+ $adata = $false
+ }
+ HandleLmAnswer -Command2ExecClass $CmdClass -LMResponse $response -AdditionalData $adata
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-AdcVirtualService, Get-VirtualService
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-AdcVirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [Int16]$AddVia,
+
+ [bool]$Cache,
+
+ [string]$CertFile,
+
+ [ValidateSet("tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", "ldap", "none")]
+ [string]$CheckType,
+
+ [string]$CheckHost,
+
+ [string]$CheckPattern,
+
+ [string]$CheckUrl,
+
+ [string]$CheckHeaders,
+
+ [string]$LdapEndpoint,
+
+ [string]$MatchLen,
+
+ [ValidateRange(0, 1)]
+ [int]$CheckUse1_1 = -1,
+
+ [Int32]$CheckPort,
+
+ [bool]$EnhancedHealthChecks,
+
+ [Int32]$RsMinimum,
+
+ [ValidateRange(0, 2)]
+ [Int16]$ClientCert,
+
+ [bool]$Compress,
+
+ [string]$Cookie,
+
+ [ValidateRange(0, 100)]
+ [Int16]$CachePercent,
+
+ [string]$DefaultGW,
+
+ [bool]$Enable,
+
+ [string]$ErrorCode,
+
+ [string]$ErrorUrl,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$PortFollow,
+
+ [bool]$ForceL7,
+
+ [ValidateRange(0, 86400)]
+ [Int32]$Idletime,
+
+ [String[]]$LocalBindAddresses,
+
+ [ValidateSet("gen", "http", "tls", "ts")]
+ [string]$VSType,
+
+ [string]$Nickname,
+
+ [ValidateSet("none", "ssl", "cookie", "active-cookie", "cookie-src", "active-cook-src", "cookie-hash", "url",
+ "query-hash", "host", "header", "super", "super-src", "src", "rdp", "rdp-src", "rdp-sb", "udpsip")]
+ [string]$Persist,
+
+ [ValidateRange(0, 604800)]
+ [Int32]$PersistTimeout,
+
+ [string]$QueryTag,
+
+ [string]$CipherSet,
+
+ [bool]$SSLReencrypt,
+
+ [bool]$SSLReverse,
+
+ [ValidateSet("", "http", "https")]
+ [string]$SSLRewrite,
+
+ [string]$ReverseSNIHostname,
+
+ [ValidateSet("rr", "wrr", "lc", "wlc", "fixed", "adaptive", "sh")]
+ [string]$Schedule,
+
+ [ValidateRange(0, 5)]
+ [Int16]$ServerInit,
+
+ [bool]$SSLAcceleration,
+
+ [string]$StandByAddr,
+
+ [string]$StandByPort,
+
+ [Int32]$TransactionLimit,
+
+ [bool]$Transparent,
+
+ [bool]$SubnetOriginating,
+
+ [bool]$UseforSnat,
+
+ [ValidateSet("0", "1", "2", "4", "8")]
+ [string]$QoS,
+
+ [int32]$CheckUseGet,
+
+ [ValidateRange(0, 7)]
+ [Int16]$Verify,
+
+ [string]$ExtraHdrKey,
+
+ [string]$ExtraHdrValue,
+
+ [string]$AllowedHosts,
+
+ [string]$AllowedDirectories,
+
+ [string]$AllowedGroups,
+
+ [string]$GroupSIDs,
+
+ [string]$SteeringGroups,
+
+ [bool]$IncludeNestedGroups,
+
+ [bool]$DisplayPubPriv,
+
+ [bool]$DisablePasswordForm,
+
+ [string]$Domain,
+
+ [string]$AltDomains,
+
+ [string]$Logoff,
+
+ [ValidateRange(0, 7)]
+ [Int16]$ESPLogs,
+
+ [string]$SMTPAllowedDomains,
+
+ [bool]$ESPEnabled,
+
+ [string]$UserPwdChangeUrl,
+
+ [string]$UserPwdChangeMsg,
+
+ [ValidateRange(0, 2)]
+ [Int16]$SecurityHeaderOptions,
+
+ [ValidateRange(0, 5)]
+ [Int16]$InputAuthMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$OutConf,
+
+ [ValidateRange(0, 3)]
+ [Int16]$OutputAuthMode,
+
+ [ValidateRange(0, 1)]
+ [Int16]$StartTLSMode,
+
+ [string]$ExtraPorts,
+
+ [string]$AltAddress,
+
+ [bool]$MultiConnect,
+
+ [string]$SingleSignOnDir,
+
+ [string]$OCSPVerify,
+
+ [Int32]$FollowVSID,
+
+ [ValidateRange(0, 14)]
+ [int]$TlsType = 0,
+
+ [string]$CheckPostData,
+
+ [string]$CheckCodes,
+
+ [string]$PreProcPrecedence,
+
+ [Int16]$PreProcPrecedencePos,
+
+ [string]$RequestPrecedence,
+
+ [Int16]$RequestPrecedencePos,
+
+ [string]$ResponsePrecedence,
+
+ [Int16]$ResponsePrecedencePos,
+
+ [string]$RsRulePrecedence,
+
+ [Int16]$RsRulePrecedencePos,
+
+ [bool]$NeedHostName,
+
+ [string]$CopyHdrFrom,
+
+ [string]$CopyHdrTo,
+
+ [string]$ServerFbaPath,
+
+ [string]$ServerFbaPost,
+
+ [bool]$Intercept,
+
+ [bool]$AllowHTTP2,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$InterceptOpts,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$InterceptRules,
+
+ [ValidateRange(0, 100000)]
+ [int32]$AlertThreshold,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+
+ if ($ServerFbaPost -and -not ($ServerFbaPath) ) {
+ setKempAPIReturnObject 400 "ERROR: ServerFbaPath must be set in order to use ServerFbaPost parameter" $null
+ return
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ SetAdcVirtualserviceCheckUserParam $params $CheckUse1_1
+
+ try {
+ $response = SendCmdToLm -Command "modvs" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "SetAdcVS" -LMResponse $response -AdditionalData $true
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-AdcVirtualService, Set-VirtualService
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-AdcVirtualService
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(ParameterSetName="IPAddress",ValueFromPipelineByPropertyName=$true)]
+ [Parameter(ParameterSetName="Credential")]
+ [Parameter(ParameterSetName="Certificate")]
+ [string]$VirtualService,
+
+ [Parameter(ParameterSetName="IPAddress",ValueFromPipelineByPropertyName=$true)]
+ [Parameter(ParameterSetName="Credential")]
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [Parameter(ParameterSetName="IPAddress",ValueFromPipelineByPropertyName=$true)]
+ [Parameter(ParameterSetName="Credential")]
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(ParameterSetName="Index",ValueFromPipelineByPropertyName=$true)]
+ [Parameter(ParameterSetName="Credential")]
+ [Parameter(ParameterSetName="Certificate")]
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+
+ $virtServ = GeAdcVirtualService $VirtualService $VSPort $VSProtocol $VSIndex $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($virtServ.ReturnCode -ne 200) {
+ if ($virtServ.Response -and $virtServ.Response.Contains("Unknown VS")) {
+ $virtServ.Response += ". Has it already been deleted?"
+ }
+ return $virtServ
+ }
+
+ switch ($cmdCase)
+ {
+ "IPAddress" {
+ $params = @{vs=$VirtualService; port=$VSPort; prot=$VSProtocol}
+ }
+
+ "Index" {
+ # NOTE: for SubVs we need to use the index only
+ if ($virtServ.Data.VS.VSAddress) {
+ $VirtualService = $virtServ.Data.VS.VSAddress
+ $Port = $virtServ.Data.VS.VSPort
+ $Protocol = $virtServ.Data.VS.Protocol
+
+ $params = @{vs=$VirtualService; port=$Port; prot=$Protocol}
+ }
+ else {
+ $params = @{vs=$VSIndex}
+ }
+ }
+
+ default {
+ Throw "Unknown error."
+ }
+ }
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess("$($VirtualService)/$($VSPort)/$($VSProtocol)", "Remove Virtual Service"))) {
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "delvs" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "RemoveAdcVS" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+ }
+}
+Export-ModuleMember -function Remove-AdcVirtualService, Remove-VirtualService
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-AdcSubVirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = [ordered]@{}
+ if ($cmdCase -eq "IPAddress") {
+ $params.Add("vs", $VirtualService)
+ $params.Add("port", $VSPort)
+ $params.Add("prot", $VSProtocol)
+ }
+ else {
+ $params.Add("vs", $VSIndex)
+ }
+ $params.Add("createsubvs", "")
+
+ try {
+ $response = SendCmdToLm -Command "modvs" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "NewAdcVS" -LMResponse $response -AdditionalData $true
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-AdcSubVirtualService
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-AdcSubVirtualService
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$SubVSIndex,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ([String]::IsNullOrEmpty($SubVSIndex) -or $SubVSIndex -le 0) {
+ Throw "ERROR: VSIndex is a required parameter"
+ }
+
+ $params = [ordered]@{VSIndex=$SubVSIndex}
+ $params.Add("Force", $Force)
+
+ $params.Add("LoadBalancer", $LoadBalancer)
+ if ($LBPort) {
+ $params.Add("LBPort", $LBPort)
+ }
+
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ if (-not ([String]::IsNullOrEmpty($CertSL))) {
+ $params.Add("SubjectCN", $SubjectCN)
+ $params.Add("CertificateStoreLocation", $CertSL)
+ }
+ else {
+ $params.Add("SubjectCN", $SubjectCN)
+ }
+ }
+ else {
+ $params.Add("Credential", $Credential)
+ }
+ Remove-AdcVirtualService @params
+ }
+}
+Export-ModuleMember -function Remove-AdcSubVirtualService
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-AdcSubVirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$SubVSIndex,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ([String]::IsNullOrEmpty($SubVSIndex) -or $SubVSIndex -le 0) {
+ Throw "ERROR: VSIndex is a required parameter"
+ }
+
+ $params = [ordered]@{VSIndex=$SubVSIndex}
+
+ $params.Add("LoadBalancer", $LoadBalancer)
+ if ($LBPort) {
+ $params.Add("LBPort", $LBPort)
+ }
+
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ if (-not ([String]::IsNullOrEmpty($CertSL))) {
+ $params.Add("SubjectCN", $SubjectCN)
+ $params.Add("CertificateStoreLocation", $CertSL)
+ }
+ else {
+ $params.Add("SubjectCN", $SubjectCN)
+ }
+ }
+ else {
+ $params.Add("Credential", $Credential)
+ }
+ Get-AdcVirtualService @params
+}
+Export-ModuleMember -function Get-AdcSubVirtualService
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-AdcSubVirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$SubVSIndex,
+
+ [Int16]$AddVia,
+
+ [ValidateSet("tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", "ldap", "none")]
+ [string]$CheckType,
+
+ [string]$CheckHost,
+
+ [string]$CheckPattern,
+
+ [string]$CheckUrl,
+
+ [string]$CheckHeaders,
+
+ [string]$LdapEndpoint,
+
+ [string]$MatchLen,
+
+ [ValidateRange(0, 1)]
+ [int]$CheckUse1_1 = -1,
+
+ [Int32]$CheckPort,
+
+ [bool]$EnhancedHealthChecks,
+
+ [Int32]$RsMinimum,
+
+ [string]$Cookie,
+
+ [bool]$Enable,
+
+ [string]$ErrorCode,
+
+ [string]$ErrorUrl,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$PortFollow,
+
+ [bool]$ForceL7,
+
+ [ValidateRange(0, 86400)]
+ [Int32]$Idletime,
+
+ [String[]]$LocalBindAddresses,
+
+ [ValidateSet("gen", "http", "tls", "ts")]
+ [string]$VSType,
+
+ [string]$Nickname,
+
+ [ValidateSet("none", "ssl", "cookie", "active-cookie", "cookie-src", "active-cook-src", "cookie-hash", "url",
+ "query-hash", "host", "header", "super", "super-src", "src", "rdp", "rdp-src", "rdp-sb", "udpsip")]
+ [string]$Persist,
+
+ [ValidateRange(0, 604800)]
+ [Int32]$PersistTimeout,
+
+ [string]$QueryTag,
+
+ [ValidateSet("rr", "wrr", "lc", "wlc", "fixed", "adaptive", "sh")]
+ [string]$Schedule,
+
+ [ValidateRange(0, 5)]
+ [Int16]$ServerInit,
+
+ [string]$StandByAddr,
+
+ [string]$StandByPort,
+
+ [Int32]$TransactionLimit,
+
+ [bool]$Transparent,
+
+ [bool]$SubnetOriginating,
+
+ [ValidateSet("0", "1", "2", "4", "8")]
+ [string]$QoS,
+
+ [int32]$CheckUseGet,
+
+ [ValidateRange(0, 7)]
+ [Int16]$Verify,
+
+ [string]$ExtraHdrKey,
+
+ [string]$ExtraHdrValue,
+
+ [string]$AllowedHosts,
+
+ [string]$AllowedDirectories,
+
+ [string]$AllowedGroups,
+
+ [string]$GroupSIDs,
+
+ [string]$SteeringGroups,
+
+ [bool]$IncludeNestedGroups,
+
+ [bool]$DisplayPubPriv,
+
+ [bool]$DisablePasswordForm,
+
+ [string]$Domain,
+
+ [string]$AltDomains,
+
+ [string]$Logoff,
+
+ [ValidateRange(0, 7)]
+ [Int16]$ESPLogs,
+
+ [string]$SMTPAllowedDomains,
+
+ [bool]$ESPEnabled,
+
+ [string]$UserPwdChangeUrl,
+
+ [string]$UserPwdChangeMsg,
+
+ [ValidateRange(0, 2)]
+ [Int16]$SecurityHeaderOptions,
+
+ [ValidateRange(0, 5)]
+ [Int16]$InputAuthMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$OutConf,
+
+ [ValidateRange(0, 3)]
+ [Int16]$OutputAuthMode,
+
+ [ValidateRange(0, 1)]
+ [Int16]$StartTLSMode,
+
+ [bool]$MultiConnect,
+
+ [string]$SingleSignOnDir,
+
+ [string]$OCSPVerify,
+
+ [Int32]$FollowVSID,
+
+ [ValidateRange(0, 14)]
+ [int]$TlsType = 0,
+
+ [string]$CheckPostData,
+
+ [string]$CheckCodes,
+
+ [string]$PreProcPrecedence,
+
+ [Int16]$PreProcPrecedencePos,
+
+ [string]$RequestPrecedence,
+
+ [Int16]$RequestPrecedencePos,
+
+ [string]$ResponsePrecedence,
+
+ [Int16]$ResponsePrecedencePos,
+
+ [string]$RsRulePrecedence,
+
+ [Int16]$RsRulePrecedencePos,
+
+ [bool]$NeedHostName,
+
+ [string]$CopyHdrFrom,
+
+ [string]$CopyHdrTo,
+
+ [string]$ServerFbaPath,
+
+ [string]$ServerFbaPost,
+
+ [bool]$Intercept,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$InterceptOpts,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$InterceptRules,
+
+ [ValidateRange(0, 100000)]
+ [int32]$AlertThreshold,
+
+ [ValidateRange(1, 65530)]
+ [Int32]$Weight,
+
+ [ValidateRange(0, 100000)]
+ [Int64]$Limit = 0,
+
+ [bool]$Critical,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ([String]::IsNullOrEmpty($SubVSIndex) -or $SubVSIndex -le 0) {
+ Throw "ERROR: VSIndex is a required parameter"
+ }
+
+ if ($ServerFbaPost -and -not ($ServerFbaPath) ) {
+ setKempAPIReturnObject 400 "ERROR: ServerFbaPath must be set in order to use ServerFbaPost parameter" $null
+ return
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $params.Remove("SubVSIndex")
+ $params.Add("vs", $SubVSIndex)
+
+ SetAdcVirtualserviceCheckUserParam $params $CheckUse1_1
+
+ try {
+ $response = SendCmdToLm -Command "modvs" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "SetAdcVS" -LMResponse $response -AdditionalData $true
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-AdcSubVirtualService
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-AdcRealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(3, 65530)]
+ [Int32]$RealServerPort,
+
+ [ValidateRange(1, 65530)]
+ [Int32]$Weight,
+
+ [ValidateSet("nat", "route")]
+ [string]$Forward = "nat",
+
+ [bool]$Enable = $true,
+
+ [bool]$Non_Local = $false,
+
+ [ValidateRange(0, 100000)]
+ [Int64]$Limit = 0,
+
+ [bool]$Critical,
+
+ [ValidateRange(0, 65535)]
+ [Int32]$Follow,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addrs" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "NewAdcRS" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-AdcRealServer, New-RealServer
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-AdcRealServer
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RealServerPort,
+
+ [Int32]$RSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+ checkAdcRSInputParams $RealServer $RealServerPort $RSIndex | Out-Null
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($RealServer, "Remove Real Server"))) {
+
+ try {
+ $response = SendCmdToLm -Command "delrs" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+ }
+}
+Export-ModuleMember -function Remove-AdcRealServer, Remove-RealServer
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-AdcRealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RealServerPort,
+
+ [Int32]$RSIndex = -1,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$NewPort,
+
+ [ValidateRange(1, 65530)]
+ [Int32]$Weight,
+
+ [ValidateSet("nat", "route")]
+ [string]$Forward = "nat",
+
+ [bool]$Enable = $true,
+
+ [ValidateRange(0, 100000)]
+ [Int64]$Limit = 0,
+
+ [bool]$Critical,
+
+ [ValidateRange(0, 65535)]
+ [Int32]$Follow,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+ checkAdcRSInputParams $RealServer $RealServerPort $RSIndex | Out-Null
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "modrs" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-AdcRealServer, Set-RealServer
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-AdcRealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [String]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [Int32]$RSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $vsParamsCheck = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+ $rsParamsCheck = checkAdcRSInputParams $RealServer $RSPort $RSIndex 1
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = [ordered]@{}
+
+ # default values
+ $cmd2exec = "showrs"
+ $Command2ExecClass = "GetAdcRealServer"
+
+ if ($vsParamsCheck -eq "IPAddress") {
+ $params.Add("vs", $VirtualService)
+ $params.Add("port", $VSPort)
+ $params.Add("prot", $VSProtocol)
+ }
+ else {
+ $params.Add("vs", $VSIndex)
+ }
+
+ if ($rsParamsCheck -eq "IPAddress") {
+ $params.Add("rs", $RealServer)
+ $params.Add("rsport", $RSPort)
+ }
+ elseif ($rsParamsCheck -eq "Index") {
+ $params.Add("rs", "!$RSIndex")
+ }
+ else {
+ # to get all the RS that belong to the specified VS
+ $cmd2exec = "showvs"
+ $Command2ExecClass = "GetAdcVS_Single"
+ }
+
+ try {
+ $response = SendCmdToLm -Command $cmd2exec -ParameterValuePair $params -ConnParams $ConnParams
+
+ $handleLmAnswerParams = [ordered]@{}
+ $handleLmAnswerParams.Add("Command2ExecClass", $Command2ExecClass)
+ $handleLmAnswerParams.Add("LMResponse", $response)
+
+ if ($rsParamsCheck -eq "All") {
+ $handleLmAnswerParams.Add("AdditionalData", $true)
+ }
+
+ $lma = HandleLmAnswer @handleLmAnswerParams
+
+ if ($rsParamsCheck -ne "All") {
+ return $lma
+ }
+ else {
+ $rsData = $lma.Data.VS.Rs
+
+ $rsConf = [ordered]@{}
+ $rsConf.PSTypeName = "Rs"
+ $rsConf.Add("Rs", $rsData) | Out-null
+ $rsObj = New-Object -TypeName PSObject -Property $rsConf
+
+ setKempAPIReturnObject 200 "Command successfully executed." $rsObj
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-AdcRealServer, Get-RealServer
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Enable-AdcRealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RSIpAddress,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RSFqdn,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ([String]::IsNullOrEmpty($RSIpaddress)) {
+ Throw "ERROR: RSIpAddress is a mandatory parameter. Please check your input"
+ }
+
+ $params = @{rs=$RSIpaddress}
+
+ if ($RSPort) {
+ $params.Add("port", $RSPort) | Out-null
+ }
+
+ if ($RSFqdn) {
+ $params.Add("dnsname", $RSFqdn) | Out-null
+ }
+ EnableDisableAdcRealServer "enablers" $params $ConnParams
+}
+Export-ModuleMember -function Enable-AdcRealServer, Enable-RealServer
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Disable-AdcRealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RSIpaddress,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RSFqdn,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ([String]::IsNullOrEmpty($RSIpaddress)) {
+ Throw "ERROR: RSIpAddress is a mandatory parameter. Please check your input"
+ }
+
+ $params = @{rs=$RSIpaddress}
+
+ if ($RSPort) {
+ $params.Add("port", $RSPort) | Out-null
+ }
+
+ if ($RSFqdn) {
+ $params.Add("dnsname", $RSFqdn) | Out-null
+ }
+ EnableDisableAdcRealServer "disablers" $params $ConnParams
+}
+Export-ModuleMember -function Disable-AdcRealServer, Disable-RealServer
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-AdcVirtualServiceRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("pre", "response", "request")]
+ [string]$RuleType,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $Command = ""
+ switch ($RuleType)
+ {
+ "pre" {$Command = "addprerule"}
+ "response" {$Command = "addresponserule"}
+ "request" {$Command = "addrequestrule"}
+ }
+
+ try {
+ $response = SendCmdToLm -Command $Command -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-AdcVirtualServiceRule
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-AdcVirtualServiceRule
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("pre", "response", "request")]
+ [string]$RuleType,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $Command = ""
+ switch ($RuleType)
+ {
+ "pre" {$Command = "delprerule"}
+ "response" {$Command = "delresponserule"}
+ "request" {$Command = "delrequestrule"}
+ }
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($RuleName, "Remove Virtual Server Rule"))) {
+ try {
+ $response = SendCmdToLm -Command $Command -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+}
+Export-ModuleMember -function Remove-AdcVirtualServiceRule, Remove-VirtualServerRule, Remove-AdcVirtualServerRule
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-AdcVirtualServiceResponseBodyRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int32]$VSIndex,
+
+ [Parameter(Mandatory=$true)]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ($VSIndex -le 0) {
+ Throw "ERROR: VSIndex must be greater than 0."
+ return
+ }
+
+ if ([String]::IsNullOrEmpty($RuleName)) {
+ Throw "ERROR: Rule name is a mandatory parameter. Please check your input"
+ return
+ }
+
+ try {
+ $response = SendCmdToLm -Command "addresponsebodyrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-AdcVirtualServiceResponseBodyRule
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-AdcVirtualServiceResponseBodyRule
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int32]$VSIndex,
+
+ [Parameter(Mandatory=$true)]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ($VSIndex -le 0) {
+ Throw "ERROR: VSIndex must be greater than 0."
+ return
+ }
+
+ if ([String]::IsNullOrEmpty($RuleName)) {
+ Throw "ERROR: Rule name is a mandatory parameter. Please check your input"
+ return
+ }
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($RuleName, "Remove Response Body Rule"))) {
+ try {
+ $response = SendCmdToLm -Command "delresponsebodyrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+}
+Export-ModuleMember -function Remove-AdcVirtualServiceResponseBodyRule
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-AdcRealServerRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [Int32]$RSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+ checkAdcRSInputParams $RealServer $RSPort $RSIndex | Out-Null
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "addrsrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-AdcRealServerRule, New-RealServerRule
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-AdcRealServerRule
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [Int32]$RSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $cmdCase = checkAdcVSInputParams $VirtualService $VSPort $VSProtocol $VSIndex 1
+ checkAdcRSInputParams $RealServer $RSPort $RSIndex | Out-Null
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($RuleName, "Remove Real Server Rule"))) {
+ try {
+ $response = SendCmdToLm -Command "delrsrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+}
+Export-ModuleMember -function Remove-AdcRealServerRule, Remove-RealServerRule
+
+Function New-AdcContentRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [string]$RuleName,
+
+ [ValidateSet("regex", "prefix", "postfix")]
+ [string]$MatchType = "regex",
+
+ [bool]$IncHost = $false,
+
+ [bool]$NoCase = $false,
+
+ [bool]$Negate = $false,
+
+ [bool]$IncQuery = $false,
+
+ [string]$Header,
+
+ [string]$Pattern,
+
+ [string]$Replacement,
+
+ [ValidateRange(0, 5)]
+ [Int32]$Type, # TODO: to change Type to RuleType. Pay attention to the mapping
+ # to add values range
+ # EVEN BETTER: set the RuleType to string as in Get-AdcContentRule with the
+ # same values and maps the string type to the corrispondent integer value.
+
+ [ValidateRange(0, 1)]
+ [int]$MustFail,
+
+ [ValidateRange(0, 9)]
+ [int]$OnlyOnFlag,
+
+ [ValidateRange(0, 9)]
+ [int]$SetFlagOnMatch,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($params.ContainsKey("rule")) {
+ $params.Remove("rule")
+ $params.Add("Name", $RuleName)
+ }
+ elseif ($params.ContainsKey("RuleName")) {
+ $params.Remove("RuleName")
+ $params.Add("Name", $RuleName)
+ }
+ else {
+ Throw "[New-AdcContentRule] ERROR: The parameter RuleName is mandatory."
+ }
+
+ if ($params.ContainsKey("MustFail")) {
+ $params.Remove("MustFail")
+ $params.Add("mustfail", $MustFail)
+ }
+ if ($params.ContainsKey("OnlyOnFlag")) {
+ $params.Remove("OnlyOnFlag")
+ $params.Add("onlyonflag", $OnlyOnFlag)
+ }
+ if ($params.ContainsKey("SetFlagOnMatch")) {
+ $params.Remove("SetFlagOnMatch")
+ $params.Add("setonmatch", $SetFlagOnMatch)
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "addrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "AddAdcContentRule" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-AdcContentRule, New-Rule
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-AdcContentRule
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true, ValueFromPipeline=$true)]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($Name, "Remove Content Rule"))) {
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "delrule" -ParameterValuePair @{name=$RuleName} -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+}
+Export-ModuleMember -function Remove-AdcContentRule, Remove-Rule
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-AdcContentRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [string]$RuleName,
+
+ [ValidateSet("regex", "prefix", "postfix")]
+ [string]$MatchType = "regex",
+
+ [bool]$IncHost,
+
+ [bool]$NoCase,
+
+ [bool]$Negate,
+
+ [bool]$IncQuery,
+
+ [string]$Header,
+
+ [string]$Pattern,
+
+ [string]$Replacement,
+
+ [ValidateRange(0, 5)]
+ [Int32]$Type, # TODO: to change Type to RuleType. Pay attention to the mapping
+ # to add values range
+ # EVEN BETTER: set the RuleType to string as in Get-AdcContentRule with the
+ # same values and maps the string type to the corrispondent integer value.
+
+ [ValidateRange(0, 1)]
+ [int]$MustFail,
+
+ [ValidateRange(0, 9)]
+ [int]$OnlyOnFlag,
+
+ [ValidateRange(0, 9)]
+ [int]$SetFlagOnMatch,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($params.ContainsKey("rule")) {
+ $params.Remove("rule")
+ $params.Add("Name", $RuleName)
+ }
+ elseif ($params.ContainsKey("RuleName")) {
+ $params.Remove("RuleName")
+ $params.Add("Name", $RuleName)
+ }
+ else {
+ Throw "[Set-AdcContentRule] ERROR: The parameter RuleName is mandatory."
+ }
+
+ if ($params.ContainsKey("MustFail")) {
+ $params.Remove("MustFail")
+ $params.Add("mustfail", $MustFail)
+ }
+ if ($params.ContainsKey("OnlyOnFlag")) {
+ $params.Remove("OnlyOnFlag")
+ $params.Add("onlyonflag", $OnlyOnFlag)
+ }
+ if ($params.ContainsKey("SetFlagOnMatch")) {
+ $params.Remove("SetFlagOnMatch")
+ $params.Add("setonmatch", $SetFlagOnMatch)
+ }
+
+ #
+ # TODO: Investigate if it should be better to retrieve the rule type
+ # to check the rule type against the pattern parameter.
+ # From the Official REST-apis documentation:
+ # Unless modifying/adding an AddHeaderRule, the pattern parameter must be supplied.
+ #
+ # PRO
+ # 1) checking if the rule exists before performing the set
+ # 2) checking if the pattern parameter is required or not.
+ #
+ # CON
+ # 1) the command requires 2 REST api calls on success.
+ #
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "modrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "SetAdcContentRule" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-AdcContentRule, Set-Rule
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-AdcContentRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$RuleName,
+
+ [ValidateSet("MatchContentRule", "AddHeaderRule", "DeleteHeaderRule", "ReplaceHeaderRule", "ModifyUrlRule", "ReplaceBodyRule")]
+ [string]$RuleType,
+
+ [switch]$All,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = @{}
+ if ($All) {
+ if (([String]::IsNullOrEmpty($RuleName)) -and ([String]::IsNullOrEmpty($RuleType))) {
+ Write-Verbose "ALL case"
+ }
+ else {
+ Throw "[Get-AdcContentRule] ERROR: only one option can be set."
+ }
+ }
+ else {
+ if (-not ([String]::IsNullOrEmpty($RuleName)) -and ([String]::IsNullOrEmpty($RuleType))) {
+ Write-Verbose "Name case"
+ $params.Add("name", $RuleName)
+ }
+ elseif (-not ([String]::IsNullOrEmpty($RuleType)) -and ([String]::IsNullOrEmpty($RuleName))) {
+ Write-Verbose "Type case"
+ $TypeNumber = $SystemRuleType[$RuleType]
+ $params.Add("type", $TypeNumber)
+ }
+ else {
+ Throw "[Get-AdcContentRule] ERROR: only one option can be set."
+ }
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "showrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetAdcContentRule" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-AdcContentRule, Get-Rule
+
+# Internal use only
+Function mapInternalL7NamesToExt($L7ConfHt, $paramName, $paramValue)
+{
+ $alwaysCheckPersistHtValues = [ordered]@{"0" = "No"; "1" = "Yes"; "2" = "Yes - Accept Changes"}
+ $additionalL7HeaderHtValues = [ordered]@{"0" = "X-ClientSide"; "1" = "X-Forwarded-For"; "2" = "None"}
+ $100ContinueHandlingHtValues = [ordered]@{"0" = "RFC-2616 Compliant"; "1" = "Require 100-Continue"; "2" = "RFC-7231 Compliant"}
+
+ switch ($paramName)
+ {
+ "localbind" { $L7ConfHt.Add("ScalingOver64KConnections", $paramValue); break }
+
+ "alwayspersist" {
+ $persistValue = $alwaysCheckPersistHtValues[$paramValue]
+ $L7ConfHt.Add("AlwaysCheckPersist", $persistValue)
+ break
+ }
+
+ "addcookieport" { $L7ConfHt.Add("AddPortToActiveCookie", $paramValue); break }
+
+ "rfcconform" { $L7ConfHt.Add("RFCConform", $paramValue); break }
+
+ "closeonerror" { $L7ConfHt.Add("CloseOnError", $paramValue); break }
+
+ "addvia" { $L7ConfHt.Add("AddViaHeaderInCacheResponses", $paramValue); break }
+
+ "rsarelocal" { $L7ConfHt.Add("RSAreLocal", $paramValue); break }
+
+ "droponfail" { $L7ConfHt.Add("DropOnRSFail", $paramValue); break }
+
+ "dropatdrainend" { $L7ConfHt.Add("DropAtDrainEnd", $paramValue); break }
+
+ "transparent" { $L7ConfHt.Add("Transparent", $paramValue); break }
+
+ "authtimeout" { $L7ConfHt.Add("L7AuthTimeoutSecs", $paramValue); break }
+
+ "clienttokentimeout" { $L7ConfHt.Add("L7ClientTokenTimeoutSecs", $paramValue); break }
+
+ "finalpersist" { $L7ConfHt.Add("L7ConnectionDrainTimeoutSecs", $paramValue); break }
+
+ "addforwardheader" {
+ $addForwardHeaderValue = $additionalL7HeaderHtValues[$paramValue]
+ $L7ConfHt.Add("AdditionalL7Header", $addForwardHeaderValue);
+ break
+ }
+
+ "expect100" {
+ $Expect100Value = $100ContinueHandlingHtValues[$paramValue]
+ $L7ConfHt.Add("OneHundredContinueHandling", $Expect100Value);
+ break
+ }
+
+ "allowemptyposts" { $L7ConfHt.Add("AllowEmptyPosts", $paramValue); break }
+
+ "AllowEmptyHttpHeaders" { $L7ConfHt.Add("AllowEmptyHttpHeaders", $paramValue); break }
+
+ "ForceFullRSMatch" { $L7ConfHt.Add("ForceCompleteRSMatch", $paramValue); break }
+
+ "slowstart" { $L7ConfHt.Add("SlowStart", $paramValue); break }
+
+ "ShareSubVSPersist" { $L7ConfHt.Add("ShareSubVSPersistance", $paramValue); break }
+ }
+}
+
+# Internal use only
+Function mapL7ConfigName($paramsHT, $psName, $psValue)
+{
+ $alwaysCheckPersistHtValues = [ordered]@{"No" = 0; "Yes" = 1; "Yes - Accept Changes" = 2}
+ $additionalL7HeaderHtValues = [ordered]@{"X-ClientSide" = 0; "X-Forwarded-For" = 1; "None" = 2}
+ $100ContinueHandlingHtValues = [ordered]@{"RFC-2616 Compliant" = 0; "Require 100-Continue" = 1; "RFC-7231 Compliant" = 2}
+
+ switch ($psName)
+ {
+ "AlwaysCheckPersist" {
+ $persistValue = $alwaysCheckPersistHtValues[$psValue]
+ $paramsHT.Remove("AlwaysCheckPersist")
+ $paramsHT.Add("alwayspersist", $persistValue)
+ break
+ }
+
+ "AdditionalL7Header" {
+ $addForwardHeaderValue = $additionalL7HeaderHtValues[$psValue]
+ $paramsHT.Remove("AdditionalL7Header")
+ $paramsHT.Add("addforwardheader", $addForwardHeaderValue)
+ break
+ }
+
+ "OneHundredContinueHandling" {
+ $Expect100Value = $100ContinueHandlingHtValues[$psValue]
+ $paramsHT.Remove("OneHundredContinueHandling")
+ $paramsHT.Add("expect100", $Expect100Value)
+ break
+ }
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-AdcL7Configuration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ # NOTE: add new parameters in the WUI same order
+ $l7ConfParameters = @("localbind", "alwayspersist", "addcookieport", "rfcconform",
+ "closeonerror", "addvia", "rsarelocal", "droponfail",
+ "dropatdrainend", "transparent", "authtimeout", "clienttokentimeout", "finalpersist",
+ "addforwardheader", "expect100", "allowemptyposts", "AllowEmptyHttpHeaders",
+ "ForceFullRSMatch", "slowstart", "ShareSubVSPersist")
+
+ $l7ConfSettings = [ordered]@{}
+ $l7ConfSettings.PSTypeName = "AdcL7Settings"
+ foreach ($param in $l7ConfParameters) {
+ $lma = GetLmParameter "$param" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $paramValue = $lma.Data.$param
+ mapInternalL7NamesToExt $l7ConfSettings $param $paramValue
+
+ Start-Sleep -m 150
+ }
+ $data = New-Object -TypeName PSObject -Property $l7ConfSettings
+
+ $l7ConfConf = [ordered]@{}
+ $l7ConfConf.PSTypeName = "AdcL7Configuration"
+ $l7ConfConf.add("AdcL7Configuration", $data)
+ $l7ConfObject = New-Object -TypeName PSObject -Property $l7ConfConf
+
+ setKempAPIReturnObject 200 "Command successfully executed" $l7ConfObject
+}
+Export-ModuleMember -function Get-AdcL7Configuration, Get-L7Configuration
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-AdcL7Configuration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$ScalingOver64KConnections,
+
+ [ValidateSet("No", "Yes", "Yes - Accept Changes")]
+ [string]$AlwaysCheckPersist,
+
+ [bool]$AddPortToActiveCookie,
+
+ [bool]$RFCConform,
+
+ [bool]$CloseOnError,
+
+ [bool]$AddViaHeaderInCacheResponses,
+
+ [bool]$RSAreLocal,
+
+ [bool]$DropOnRSFail,
+
+ [bool]$DropAtDrainEnd,
+
+ [bool]$Transparent,
+
+ [ValidateRange(30, 300)]
+ [Int16]$L7AuthTimeoutSecs,
+
+ [ValidateRange(60, 300)]
+ [Int16]$L7ClientTokenTimeoutSecs,
+
+ [int]$L7ConnectionDrainTimeoutSecs,
+
+ [ValidateSet("X-ClientSide", "X-Forwarded-For", "None")]
+ [string]$AdditionalL7Header,
+
+ [ValidateSet("RFC-2616 Compliant", "Require 100-Continue", "RFC-7231 Compliant")]
+ [string]$OneHundredContinueHandling,
+
+ [bool]$AllowEmptyPosts,
+
+ [bool]$AllowEmptyHttpHeaders,
+
+ [bool]$ForceCompleteRSMatch,
+
+ [ValidateRange(0, 600)]
+ [Int16]$SlowStart,
+
+ [bool]$ShareSubVSPersistance,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ if ($AlwaysCheckPersist) {
+ mapL7ConfigName $params "AlwaysCheckPersist" $AlwaysCheckPersist
+ }
+
+ if ($AdditionalL7Header) {
+ mapL7ConfigName $params "AdditionalL7Header" $AdditionalL7Header
+ }
+
+ if ($OneHundredContinueHandling) {
+ mapL7ConfigName $params "OneHundredContinueHandling" $OneHundredContinueHandling
+ }
+
+ foreach ($entry in $params.Keys) {
+ $lma = SetLmParameter $entry $params[$entry] $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ Start-Sleep -m 150
+ }
+
+ $getParams = [ordered]@{LoadBalancer=$LoadBalancer; LBPort=$LBPort}
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ $getParams.Add("SubjectCN", $SubjectCN)
+ if (-not ([String]::IsNullOrEmpty($CertificateStoreLocation))) {
+ $getParams.Add("CertificateStoreLocation", $CertificateStoreLocation)
+ }
+ }
+ else {
+ $getParams.Add("Credential", $Credential)
+ }
+ Get-AdcL7Configuration @getParams
+}
+Export-ModuleMember -function Set-AdcL7Configuration, Set-L7Configuration
+
+Function Get-AdcL7LogInsightSplitConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ param(
+ [validatenotnullorempty()]
+ [string]$LoadBalancer = $loadbalanceraddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $paramName = "logsplitinterval"
+ $lma = GetLmParameter "$paramName" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ $rc = $lma.ReturnCode
+ $rs = $lma.Response
+ setKempAPIReturnObject $rc $rs $null
+ return
+ }
+
+ $AdcL7LogInsightSplitSettings = [ordered]@{}
+ $AdcL7LogInsightSplitSettings.PSTypeName = "Adc L7 LogInsightSplit Configuration"
+
+ $paramValue = $lma.Data.$paramName
+ $AdcL7LogInsightSplitSettings.add($paramName, $paramValue)
+
+ $data = New-Object -TypeName PSObject -Property $AdcL7LogInsightSplitSettings
+ setKempAPIReturnObject 200 "Command successfully executed" $data
+}
+Export-ModuleMember -function Get-AdcL7LogInsightSplitConfiguration, Get-LogSplitInterval
+
+Function Set-AdcL7LogInsightSplitConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$logsplitinterval,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ foreach ($entry in $params.Keys) {
+ $lma = SetLmParameter $entry $params[$entry] $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ $rc = $lma.ReturnCode
+ $rs = $lma.Response
+ setKempAPIReturnObject $rc $rs $null
+ return
+ }
+ Start-Sleep -m 150
+ }
+
+ $getParams = [ordered]@{LoadBalancer=$LoadBalancer; LBPort=$LBPort}
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ $getParams.Add("SubjectCN", $SubjectCN)
+ if (-not ([String]::IsNullOrEmpty($CertificateStoreLocation))) {
+ $getParams.Add("CertificateStoreLocation", $CertificateStoreLocation)
+ }
+ }
+ else {
+ $getParams.Add("Credential", $Credential)
+ }
+ Get-AdcL7LogInsightSplitConfiguration @getParams
+}
+Export-ModuleMember -function Set-AdcL7LogInsightSplitConfiguration, Set-LogSplitInterval
+
+Function Get-AdcServiceHealth
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "showhealth" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetAdcServiceHealth" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-AdcServiceHealth, Get-ServiceHealth
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-AdcServiceHealth
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateRange(9, 120)]
+ [Int16]$CheckInterval,
+
+ [ValidateRange(4, 60)]
+ [Int16]$ConnectTimeout,
+
+ [ValidateRange(2, 15)]
+ [Int16]$RetryCount,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($CheckInterval) {
+ # not possible use the ParamReplacement array to replace CheckInterval with
+ # RetryInterval because CheckInterval is used also by Misc (see GEO).
+ $params.Remove("CheckInterval")
+ $params.Add("RetryInterval", $CheckInterval)
+ }
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ try {
+ $response = SendCmdToLm -Command "modhealth" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetAdcServiceHealth" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-AdcServiceHealth, Set-ServiceHealth
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-AdcHttpCompressionException
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,ValueFromPipeline=$true)]
+ [ValidatePattern({^\.})]
+ [String[]]$Extension,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ AddRemoveAdcHttpCacheCompressionException $Extension "addnocompress" $ConnParams
+ }
+}
+Export-ModuleMember -function New-AdcHttpCompressionException, Add-NoCompressExtension
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-AdcHttpCompressionException
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,ValueFromPipeline=$true)]
+ [ValidatePattern({^\.})]
+ [String[]]$Extension,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ AddRemoveAdcHttpCacheCompressionException $Extension "delnocompress" $ConnParams
+ }
+}
+Export-ModuleMember -function Remove-AdcHttpCompressionException, Remove-NoCompressExtension
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-AdcHttpCacheException
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true, ValueFromPipeline=$true)]
+ [ValidatePattern({^\.})]
+ [String[]]$Extension,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ AddRemoveAdcHttpCacheCompressionException $Extension "addnocache" $ConnParams
+ }
+}
+Export-ModuleMember -function New-AdcHttpCacheException, Add-NoCacheExtension
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-AdcHttpCacheException
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true, ValueFromPipeline=$true)]
+ [ValidatePattern({^\.})]
+ [String[]]$Extension,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ AddRemoveAdcHttpCacheCompressionException $Extension "delnocache" $ConnParams
+ }
+}
+Export-ModuleMember -function Remove-AdcHttpCacheException, Remove-NoCacheExtension
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-AdcAdaptiveHealthCheck
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "showadaptive" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "AdcAdaptiveHealthCheck" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-AdcAdaptiveHealthCheck, Get-AdaptiveCheck
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-AdcAdaptiveHealthCheck
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$AdaptiveURL,
+ [Int32]$AdaptivePort,
+ [ValidateRange(10, 60)]
+ [Int32]$AdaptiveInterval,
+ [Int16]$MinPercent,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "modadaptive" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "AdcAdaptiveHealthCheck" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-AdcAdaptiveHealthCheck, Set-AdaptiveCheck
+
+Function New-AdcVsWafRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VS,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(Mandatory=$true)]
+ [string]$Rule,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Enablerules,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Disablerules,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "vsaddwafrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-AdcVsWafRule, VSAddWafRule
+
+Function Remove-AdcVsWafRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VS,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Rule,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "vsremovewafrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-AdcVsWafRule, VSRemoveWafRule
+
+Function Get-AdcVsWafRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VS,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Rule,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ # NOTE: The Rule parameter string should have the following syntax:
+ # C/string for Custom rule
+ # Z/string for Application Generic rule
+ # A/string for Application Specific rule
+ # G/string for Generic rule
+ #
+ # Example: G/ip_reputation
+ #
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "vslistwafruleids" -ParameterValuePair $params -ConnParams $ConnParams
+ $ruleName = $Rule.Split("/")[1]
+ HandleLmAnswer -Command2ExecClass "AdcWafVSRules" -LMResponse $response -AdditionalData $ruleName
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-AdcVsWafRule, VSListWafRuleIds
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-AdcTotalVirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "vstotals" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetVSTotals" -LMResponse $response -AdditionalData $true
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-AdcTotalVirtualService
+
+# ==================================================
+# endregion ADC
+# ==================================================
+
+
+# ==================================================
+# region SECURITY
+# ==================================================
+
+Function Enable-SecAPIAccess
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65535)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params.Add("param", "enableapi")
+ $params.Add("value", "yes")
+
+ $response = Set-LmParameter @params
+
+ if ($response.ReturnCode -eq 200) {
+ setKempAPIReturnObject 200 "The API is enabled" $null
+ }
+ else {
+ $errCode = $response.ReturnCode
+ $errMsg = $response.Response
+ setKempAPIReturnObject $errCode "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Enable-SecAPIAccess
+
+Function Disable-SecAPIAccess
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65535)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params.Add("param", "enableapi")
+ $params.Add("value", "no")
+
+ $response = Set-LmParameter @params
+
+ if ($response.ReturnCode -eq 200) {
+ setKempAPIReturnObject 200 "The API is disabled" $null
+ }
+ else {
+ if ($response.Response.Contains("(404) Not Found.")) {
+ setKempAPIReturnObject 400 "The API is already disabled" $null
+ }
+ else {
+ return $response
+ }
+ }
+}
+Export-ModuleMember -function Disable-SecAPIAccess
+
+Function Test-SecAPIAccess
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65535)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params.Add("param", "version")
+
+ $response = Get-LmParameter @params
+ if ($response.ReturnCode -eq 200) {
+ setKempAPIReturnObject 200 "The API is enabled" $response.Data
+ }
+ else {
+ if ($response.Response.Contains("(404) Not Found.")) {
+ setKempAPIReturnObject 400 "The API is NOT enabled" $null
+ }
+ else {
+ return $response
+ }
+ }
+}
+Export-ModuleMember -function Test-SecAPIAccess
+
+Function New-SecUser
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$User,
+
+ [String]$Password,
+
+ [bool]$Radius,
+
+ [switch]$NoPassword,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ($Password -and ($NoPassword -eq $true) ) {
+ Throw "ERROR: Password and No Password are mutually exclusive"
+ return
+ }
+
+ if ($NoPassword -eq $false -and ([String]::IsNullOrEmpty($Password)) ) {
+ Throw "ERROR: Password can't be null"
+ return
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($NoPassword -eq $true) {
+ $params.Remove("NoPassword")
+ $params.Add("nopass", "yes")
+ }
+
+ try {
+ $response = SendCmdToLm -Command "useraddlocal" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-SecUser
+
+Function Remove-SecUser
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$User,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($Name, "Remove the user $User?"))) {
+ try {
+ $response = SendCmdToLm -Command "userdellocal" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+}
+Export-ModuleMember -function Remove-SecUser
+
+Function Get-SecUser
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$User,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ try {
+ if ( ([String]::IsNullOrEmpty($User)) ) {
+ $response = SendCmdToLm -Command "userlist" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetAllSecUser" -LMResponse $response
+ }
+ else {
+ $response = SendCmdToLm -Command "usershow" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetSingleSecUser" -LMResponse $response
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-SecUser
+
+# Internal use only
+Function mapSecRemoteAccessParamsName($params)
+{
+ foreach ($key in Get-Member -InputObject $params -MemberType NoteProperty) {
+ switch ($key.Name)
+ {
+ "SSHPreAuth" {
+ renameCustomObjectProperty $params "SSHPreAuth" "SSHPreAuthBanner"
+ break
+ }
+
+ "multihomedwui" {
+ renameCustomObjectProperty $params "multihomedwui" "MultiHomedWui"
+ break
+ }
+
+ "tethering" {
+ renameCustomObjectProperty $params "tethering" "AllowUpdateChecks"
+ break
+ }
+
+ <#
+ "geo_ssh_iface" {
+ renameCustomObjectProperty $params "geo_ssh_iface" "GeoInterfaceId"
+ break
+ }
+ #>
+ }
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-SecRemoteAccess
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $parameters = @("sshaccess", "sshiface", "sshport", "sshpreauth"
+ "wuiaccess", "multihomedwui", "enableapi",
+ "tethering", "geoclients", "geopartners", "geosshport", "geo_ssh_iface")
+
+ $lma = GetLmParameterSet $parameters "SecRemoteAccessSettings" $params
+
+ if ($lma.Data.SecRemoteAccessSettings) {
+ mapSecRemoteAccessParamsName $lma.Data.SecRemoteAccessSettings
+ }
+
+ $lma
+}
+Export-ModuleMember -function Get-SecRemoteAccess
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-SecRemoteAccess
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$SSHAccess,
+
+ [string]$SSHIface,
+
+ [ValidateRange(3, 65530)]
+ [Int]$SSHPort,
+
+ [string]$SSHPreAuthBanner,
+
+ [bool]$WUIAccess,
+
+ [bool]$MultiHomedWui,
+
+ [bool]$EnableAPI,
+
+ [bool]$AllowUpdateChecks,
+
+ [String]$GeoClients,
+
+ [String]$GeoPartners,
+
+ [ValidateRange(3, 65530)]
+ [Int]$GeoSSHPort,
+
+ #[int32]$GeoInterfaceId,
+ [int32]$geo_ssh_iface,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+
+ if ($parameters2set.ContainsKey("EnableAPI")) {
+ $errMsg = "EnableAPI parameter is deprecated. Please use Enable/Disable-SecAPIAccess cmdlets"
+ setKempAPIReturnObject 400 $errMsg $null
+ return
+ }
+
+ if ($parameters2set.ContainsKey("GeoClients")) {
+ $parameters2set["GeoClients"] = $GeoClients.replace(" ", "")
+ }
+
+ if ($parameters2set.ContainsKey("GeoPartners")) {
+ $parameters2set["GeoPartners"] = $GeoPartners.replace(" ", "")
+ }
+
+ $params2Get = @()
+ foreach ($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+
+ Start-Sleep -m 200
+ }
+ $lma = GetLmParameterSet $params2Get "Parameters" $params
+
+ if ($lma.Data.Parameters) {
+ mapSecRemoteAccessParamsName $lma.Data.Parameters
+ }
+
+ $lma
+}
+Export-ModuleMember -function Set-SecRemoteAccess
+
+# Internal use only
+Function mapSecAdminAccessParamsName($params)
+{
+ foreach ($key in Get-Member -InputObject $params -MemberType NoteProperty) {
+ switch ($key.Name)
+ {
+ "wuiiface" {
+ renameCustomObjectProperty $params "wuiiface" "WuiNetworkInterfaceId"
+ break
+ }
+
+ "wuiport" {
+ renameCustomObjectProperty $params "wuiport" "WuiPort"
+ break
+ }
+
+ "admingw" {
+ renameCustomObjectProperty $params "admingw" "WuiDefaultGateway"
+ break
+ }
+ }
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-SecAdminAccess
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $secRemAccParams = @("wuiiface", "wuiport", "admingw")
+ $lma = GetLmParameterSet $secRemAccParams "SecAdminAccessConfiguration" $params
+ if ($lma.Data.SecAdminAccessConfiguration) {
+ mapSecAdminAccessParamsName $lma.Data.SecAdminAccessConfiguration
+ }
+ $lma
+}
+Export-ModuleMember -function Get-SecAdminAccess
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-SecAdminAccess
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(0, 99)]
+ [Int32]$WuiNetworkInterfaceId = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(3, 65530)]
+ [int32]$WuiPort = -1,
+
+ [string]$WuiDefaultGateway,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ($WuiNetworkInterfaceId -lt 0) {
+ Throw "ERROR: the WuiNetworkInterfaceId parameter is mandatory"
+ return
+ }
+
+ if ($WuiPort -lt 0) {
+ Throw "ERROR: the WuiPort parameter is mandatory"
+ return
+ }
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $response = Get-NetworkInterface @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $interfaceDetails = $response.Data.Interface
+ $intfCheck = checkInterface $interfaceDetails $WuiNetworkInterfaceId
+ if ($intfCheck -eq $false) {
+ setKempAPIReturnObject 401 "The interface id [$WuiNetworkInterfaceId] is out of range." $null
+ return
+ }
+ Write-Verbose "(new) interface id [$WuiNetworkInterfaceId]"
+ $currIntfId = getCurrentIntfId $interfaceDetails $LoadBalancer
+ Write-Verbose "current interface id [$currIntfId]"
+
+ try {
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $CmdParams = [ordered]@{
+ wuiiface = $WuiNetworkInterfaceId
+ wuiport = $WuiPort
+ }
+
+ if ($WuiDefaultGateway) {
+ $CmdParams.Add("wuidefaultgateway", $WuiDefaultGateway)
+ }
+
+ $response = SendCmdToLm -Command "setadminaccess" -ParameterValuePair $CmdParams -ConnParams $ConnParams
+ $tmp = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($tmp.ReturnCode -ne 200) {
+ return $tmp
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+
+ if ($currIntfId -eq $WuiNetworkInterfaceId) {
+ $reconnectIP = $LoadBalancer
+ $newIntfIdx = $currIntfId
+ Write-Verbose "Interface id has not changed: connect with the same IP [$reconnectIP]"
+ }
+ else {
+ $reconnectIP = getIpFromCidrNotation $interfaceDetails[$WuiNetworkInterfaceId].IPAddress
+ $newIntfIdx = $WuiNetworkInterfaceId
+ $params.Remove("LoadBalancer")
+ $params.Add("LoadBalancer", $reconnectIP)
+ Write-Verbose "Interface id has changed: connect with the new IP [$reconnectIP]"
+ }
+
+ if ($LBPort -eq $WuiPort) {
+ $reconnectPort = $LBPort
+ Write-Verbose "The LM https port has not changed: [$reconnectPort]"
+ }
+ else {
+ $reconnectPort = $WuiPort
+ $params.Remove("LBPort")
+ $params.Add("LBPort", $reconnectPort)
+ Write-Verbose "The LM https port has changed: [$reconnectPort]"
+ }
+
+ $wait = $true
+ $counter = 1
+ $maxStep = 10
+ $sleepTime = 10
+ while ($wait -eq $true) {
+ Write-Verbose "reconnecting to the LM . . . (step $counter, max step $maxStep)"
+ if (-not (Test-LmServerConnection -ComputerName $reconnectIP -Port $reconnectPort)) {
+ $counter += 1
+ if ($counter -eq $maxStep) {
+ setKempAPIReturnObject 401 "ERROR: Unable to re-connect to the LM. Reboot the LM." $null
+ return
+ }
+ Start-Sleep -s $sleepTime
+ }
+ else {
+ $wait = $false
+ }
+ }
+
+ $secRemAccParams = @("wuiiface", "wuiport", "admingw")
+ $lma = GetLmParameterSet $secRemAccParams "SecAdminAccessConfiguration" $params
+ if ($lma.Data.SecAdminAccessConfiguration) {
+ mapSecAdminAccessParamsName $lma.Data.SecAdminAccessConfiguration
+ }
+ $lma
+}
+Export-ModuleMember -function Set-SecAdminAccess, Set-AdminAccess
+
+# Internal use only
+Function mapOutLoginMethodName($loginMethodData)
+{
+ if ($loginMethodData) {
+ renameCustomObjectProperty $loginMethodData "adminclientaccess" "LoginMethod"
+ $numericLoginMethodValue = $loginMethodData.LoginMethod
+
+ $item = $loginMethodHT.GetEnumerator() | ? {$_.Value -eq $numericLoginMethodValue}
+ $loginMethodName = $item.Name
+
+ $loginMethodData.LoginMethod = $loginMethodName
+ }
+}
+
+Function Get-SecRemoteAccessLoginMethod
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $lma = GetLmParameter "adminclientaccess" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ mapOutLoginMethodName $lma.Data
+ $lma
+}
+Export-ModuleMember -function Get-SecRemoteAccessLoginMethod
+
+Function Set-SecRemoteAccessLoginMethod
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("PasswordOnly", "PasswordorClientCertificate", "ClientCertificateRequired", "ClientCertificateRequiredOCSP")]
+ [string]$LoginMethod,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ SetLmParameter "adminclientaccess" $loginMethodHT[$loginMethod] $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+}
+Export-ModuleMember -function Set-SecRemoteAccessLoginMethod
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-SecWuiAuthentication
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $parameters = @("radiusserver", "radiusport", "radiussecret", "radiusrevalidateinterval",
+ "radiusbackupserver", "radiusbackupport", "radiusbackupsecret",
+ "wuildapep", "sessionlocalauth", "sessionauthmode")
+
+ GetLmParameterSet $parameters "SecWuiAuthenticationConfiguration" $params
+}
+Export-ModuleMember -function Get-SecWuiAuthentication, Get-WUIAuth
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-SecWuiAuthentication
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$RADIUSServer,
+
+ [ValidateRange(3, 65530)]
+ [Int64]$RADIUSPort,
+
+ [string]$RADIUSSecret,
+
+ [string]$RADIUSBackupServer,
+
+ [ValidateRange(3, 65530)]
+ [Int64]$RADIUSBackupPort,
+
+ [string]$RADIUSBackupSecret,
+
+ [int]$RADIUSRevalidateInterval,
+
+ [string]$WuiLdapEp,
+
+ [bool]$SessionLocalAuth,
+
+ [ValidateSet(7, 22, 23, 262, 263, 278, 279, 772, 773, 774, 775, 788, 789, 790, 791)]
+ [Int16]$SessionAuthMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+
+ $params2Get = @()
+ foreach ($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+
+ Start-Sleep -m 200
+ }
+ GetLmParameterSet $params2Get "Parameters" $params
+}
+Export-ModuleMember -function Set-SecWuiAuthentication, Set-WUIAuth
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-SecAdminWuiConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $parameters = @("WUITLSProtocols", "WUICipherset",
+ "sessioncontrol", "sessionbasicauth", "sessionmaxfailattempts",
+ "sessionidletime", "sessionconcurrent", "wuipreauth")
+
+ GetLmParameterSet $parameters "SecAdminWuiConfiguration" $params
+}
+Export-ModuleMember -function Get-SecAdminWuiConfiguration, Get-WUISetting
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-SecAdminWuiConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateRange(0, 14)]
+ [int]$WUITLSProtocols,
+
+ [ValidateSet("Default", "Default_NoRc4", "BestPractices", "Intermediate_compatibility", "Backward_compatibility", "WUI", "FIPS", "Legacy")]
+ [string]$WUICipherset,
+
+ [bool]$sessioncontrol,
+
+ [bool]$sessionbasicauth,
+
+ [ValidateRange(1, 999)]
+ [Int16]$sessionmaxfailattempts,
+
+ [ValidateRange(60, 86400)]
+ [Int32]$sessionidletime,
+
+ [ValidateRange(0, 9)]
+ [Int16]$sessionconcurrent,
+
+ [string]$wuipreauth,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+
+ $params2Get = @()
+ foreach ($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+
+ Start-Sleep -m 200
+ }
+ GetLmParameterSet $params2Get "Parameters" $params
+}
+Export-ModuleMember -function Set-SecAdminWuiConfiguration, Set-WUISetting
+
+Function New-SecUserCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$User,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$Passphrase,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = [ordered]@{
+ user = $User
+ }
+
+ if ($Passphrase) {
+ $params.Add("passphrase", [System.Web.HttpUtility]::UrlEncode($Passphrase))
+ }
+
+ try {
+ $response = SendCmdToLm -Command "usernewcert" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-SecUserCertificate
+
+Function Export-SecUserCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$User,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Path,
+ [switch]$Force,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "userdownloadcert" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Export-SecUserCertificate
+
+Function Remove-SecUserCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$User,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "userdelcert" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-SecUserCertificate
+
+Function Set-SecSystemUserPassword
+{
+ [CmdletBinding()]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$CurrentPassword,
+
+ [Parameter(Mandatory=$true)]
+ [String]$NewPassword,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "usersetsyspassword" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-SecSystemUserPassword, UserSetSystemPassword
+
+Function Set-SecUserPermission
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$User,
+
+ [Parameter(Mandatory=$true)]
+ [String]$Permissions,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "usersetperms" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-SecUserPermission, UserSetPermissions
+
+Function Set-SecUserPassword
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$User,
+
+ [Parameter(Mandatory=$true)]
+ [String]$Password,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(0, 1)]
+ [int]$Radius,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "userchangelocpass" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-SecUserPassword, UserChangeLocalPassword
+
+# ==================================================
+# endregion SECURITY
+# ==================================================
+
+
+# ==================================================
+# region SYSTEM
+# ==================================================
+
+# Internal use only
+Function SetScriptConnectionParams($Address, $LBPort)
+{
+ $cString = "Unless overridden using a local"
+ $lmIpString = "$cString -LoadBalancer parameter, all commands will now be directed to"
+ $lmPortString = "$cString -HTTPS Port parameter, all commands will now use HTTPS Port"
+
+ $lmCurrentIp = ""
+ if ($script:LoadBalancerAddress) {
+ $lmCurrentIp = $script:LoadBalancerAddress
+ $script:LoadBalancerAddress = $null
+ }
+
+ $lmCurrentHttpsPort = $null
+ if ($script:LBAccessPort) {
+ $lmCurrentHttpsPort = $script:LBAccessPort
+ $script:LBAccessPort = $null
+ }
+
+ $connCheck = Test-LmServerConnection -ComputerName $Address -Port $LBPort
+ if ($connCheck -eq $true) {
+ $script:LoadBalancerAddress = $Address
+ $script:LBAccessPort = $LBPort
+ }
+ else {
+ if (-not ([String]::IsNullOrEmpty($lmCurrentIp))) {
+ $script:LoadBalancerAddress = $lmCurrentIp
+ }
+ if ($lmCurrentHttpsPort) {
+ $script:LBAccessPort = $lmCurrentHttpsPort
+ }
+ Throw "ERROR: Unable to resolve or connect to $Address`:$LBPort"
+ return
+ }
+ Write-Verbose "$lmIpString $($script:LoadBalancerAddress)"
+ Write-Verbose "$lmPortString $($script:LBAccessPort)."
+}
+
+# Internal use only
+Function SetScriptLoginCertParams($SubjectCN, $CertificateStoreLocation, $currentCertStoreLoc, $cString)
+{
+ $lmLoginCertString = "$cString -SubjectCN parameter, all commands will now use"
+ $lmLoginCertLocString = "$cString -CertificateStoreLocation parameter, all commands will now use"
+
+ $temp_SubjectCN = $SubjectCN
+
+ if (-not ([String]::IsNullOrEmpty($CertificateStoreLocation))) {
+ $temp_CertificateStoreLocation = $CertificateStoreLocation
+ }
+ else {
+ if (-not ([String]::IsNullOrEmpty($currentCertStoreLoc))) {
+ $temp_CertificateStoreLocation = $currentCertStoreLoc
+ }
+ else {
+ $temp_CertificateStoreLocation = "Cert:\CurrentUser\My"
+ }
+ }
+
+ # test if the login certificate exists
+ $LCert = Get-LoginCertificate $temp_CertificateStoreLocation $temp_SubjectCN
+ if ($LCert -ne $null) {
+ $script:SubjectCN = $temp_SubjectCN
+ $script:CertificateStoreLocation = $temp_CertificateStoreLocation
+
+ $script:cred = $null
+ }
+ else {
+ Throw "ERROR: Can't find certificate `"$temp_SubjectCN`" in the `"$temp_CertificateStoreLocation`" store."
+ return
+ }
+ Write-Verbose "$lmLoginCertString `"$($script:SubjectCN)`" as login certificate."
+ Write-Verbose "$lmLoginCertLocString `"$($script:CertificateStoreLocation)`" as certificate location."
+ Write-Verbose "Previous credential settings has been removed."
+}
+
+# Internal use only
+Function SetScriptLoginCredParams($Credential, $cString)
+{
+ $lmCredString = "$cString -Credential parameter, all commands will now use"
+
+ $script:SubjectCN = $null
+ $script:CertificateStoreLocation = $null
+ $script:cred = $Credential
+
+ Write-Verbose "$lmCredString `"$($script:cred.Username)`" as user."
+ Write-Verbose "Previous certificate settings have been removed."
+}
+
+# Internal use only
+Function SetBackScriptLoginMethod($currentSubjectCN, $currentCertStoreLoc, $currentCred)
+{
+ if ($currentSubjectCN) {
+ $script:SubjectCN = $currentSubjectCN
+
+ if ($currentCertStoreLoc) {
+ $script:CertStoreLoc = $currentCertStoreLoc
+ }
+ $loginMethod = "certificate"
+ }
+
+ if ($currentCred) {
+ $script:cred = $currentCred
+ $loginMethod = "credential"
+ }
+ return $loginMethod
+}
+
+# Internal use only
+Function SetScriptLoginMethod($SubjectCN, $CertificateStoreLocation, $Credential)
+{
+ $cString = "Unless overridden using a local"
+
+ $currentSubjectCN = ""
+ if ($script:SubjectCN) {
+ $currentSubjectCN = $script:SubjectCN
+ $script:SubjectCN = $null
+ }
+
+ $currentCertStoreLoc = ""
+ if ($script:CertStoreLoc) {
+ $currentCertStoreLoc = $script:CertStoreLoc
+ $script:CertStoreLoc = $null
+ }
+
+ $currentCred = ""
+ if ($script:cred) {
+ $currentCred = $script:cred
+ $script:cred = $null
+ }
+
+ if (-not ([String]::IsNullOrEmpty($SubjectCN))) {
+ SetScriptLoginCertParams $SubjectCN $CertificateStoreLocation $currentCertStoreLoc $cString
+ return "certificate"
+ }
+ elseif ($Credential -ne [System.Management.Automation.PSCredential]::Empty) {
+ SetScriptLoginCredParams $Credential $cString
+ return "credential"
+ }
+ else {
+ $loginMethod = SetBackScriptLoginMethod $currentSubjectCN $currentCertStoreLoc $currentCred
+ return $loginMethod
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Initialize-LmConnectionParameters
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = 443,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = [System.Management.Automation.PSCredential]::Empty,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $null,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $null
+ )
+
+ if ( ([String]::IsNullOrEmpty($Address)) ) {
+ Throw "ERROR: The parameter `"Address`" is mandatory"
+ return
+ }
+
+ $netAssembly = [Reflection.Assembly]::GetAssembly([System.Net.Configuration.SettingsSection])
+ if ($netAssembly) {
+ $bindingFlags = [Reflection.BindingFlags] "Static,GetProperty,NonPublic"
+ $settingsType = $netAssembly.GetType("System.Net.Configuration.SettingsSectionInternal")
+
+ $instance = $settingsType.InvokeMember("Section", $bindingFlags, $null, $null, @())
+ if ($instance) {
+ $bindingFlags = "NonPublic","Instance"
+ $useUnsafeHeaderParsingField = $settingsType.GetField("useUnsafeHeaderParsing", $bindingFlags)
+ if ($useUnsafeHeaderParsingField) {
+ $useUnsafeHeaderParsingField.SetValue($instance, $true)
+ }
+ }
+ }
+
+ $connectionData = [ordered]@{}
+ $connectionData.PSTypeName = "ConnectionData"
+
+ SetScriptConnectionParams $Address $LBPort
+
+ $connectionData.Add("LoadBalancer", $script:LoadBalancerAddress)
+ $connectionData.Add("HttpsPort", $script:LBAccessPort)
+ $connectionDataObject = New-Object -TypeName PSObject -Property $connectionData
+
+ $loginData = [ordered]@{}
+ $loginData.PSTypeName = "LoginData"
+
+ $response = SetScriptLoginMethod $SubjectCN $CertificateStoreLocation $Credential
+ if ($response -eq "certificate") {
+ $loginData.Add("SubjectCN", $script:SubjectCN)
+ $loginData.Add("CertificateStoreLocation", $script:CertificateStoreLocation)
+ }
+ elseif ($response -eq "credential") {
+ $loginData.Add("Credential", $script:cred)
+ }
+ else {
+ Write-Verbose "Login method not set or un-changed"
+ }
+ $loginDataObject = New-Object -TypeName PSObject -Property $loginData
+
+ $connLoginData = [ordered]@{}
+ $connLoginData.PSTypeName = "ConnectionLoginData"
+ $connLoginData.Add("Connection", $connectionDataObject)
+ $connLoginData.Add("Login", $loginDataObject)
+ $connLoginDataObject = New-Object -TypeName PSObject -Property $connLoginData
+
+ setKempAPIReturnObject 200 "Command successfully executed." $connLoginDataObject
+}
+Export-ModuleMember -function Initialize-LmConnectionParameters, Initialize-LoadBalancer
+
+Function Test-LmServerConnection
+{
+ [CmdletBinding()]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$ComputerName,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$Port
+ )
+
+ $params = [ordered]@{
+ param = "version"
+ LoadBalancer = $ComputerName
+ LBPort = $Port
+ }
+
+ if (-not ([String]::IsNullOrEmpty($script:SubjectCN))) {
+ $params["SubjectCN"] = $script:SubjectCN
+ if (-not ([String]::IsNullOrEmpty($script:CertificateStoreLocationn))) {
+ $params["CertificateStoreLocation"] = $script:CertificateStoreLocationn
+ }
+ }
+ elseif ($script:cred -ne $null) {
+ $params["Credential"] = $script:cred
+ }
+ else {
+ $fpasswd = ConvertTo-SecureString "invalidpassword" -AsPlainText -Force
+ $fcreds = New-Object System.Management.Automation.PSCredential("bal", $fpasswd)
+ $params["Credential"] = $fcreds
+ }
+
+ try {
+ $LmTestServerConnectionFlag = $true
+ Write-Verbose -Message "Connecting to $ComputerName on $Port . . ."
+ $LmResponse = Get-LmParameter @params
+ $rc = $LmResponse.ReturnCode
+ $rs = $LmResponse.Response
+ Write-Verbose "ret code [$rc]"
+ Write-Verbose "ret resp [$rs]"
+ if ( ($rc -eq 200) -or
+ ($rc -eq 401 -and $rs.Contains("(401) Unauthorized")) -or
+ ($rc -eq 401 -and $rs.Contains("(401)")) -or
+ ($rc -eq 400 -and $rs.Contains("(401) Unauthorized")) -or
+ ($rc -eq 400 -and $rs.Contains("(401)")) -or
+ ($rc -eq 405 -and $rs.Contains("Unknown command")) -or
+ ($rc -eq 405) ) {
+ # the LM is up and running
+ $LmTestServerConnectionFlag = $false
+ Write-Verbose -Message "OK, the LM Server is up and running"
+ return $true
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ $LmTestServerConnectionFlag = $false
+ Write-Verbose -Message "ERROR: Exception caught [$errMsg]"
+ }
+ return $false
+}
+Export-ModuleMember -function Test-LmServerConnection, Test-ServerConnection
+
+# ==================================================
+# endregion SYSTEM
+# ==================================================
+
+
+# ==================================================
+# region GET-SET
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LmAllParameters
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = @{}
+
+ try {
+ $response = SendCmdToLm -Command "getall" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetAllParameters" -LMResponse $response -AdditionalData "AllParameters"
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmAllParameters, Get-AllParameters
+
+Function Get-LmParameter
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Param,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "get" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetAllParameters" -LMResponse $response -AdditionalData "Parameter"
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmParameter, Get-Parameter
+
+Function Set-LmParameter
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Param,
+
+ [Parameter(Mandatory=$true)]
+ [AllowEmptyString()]
+ [String]$Value = "",
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "set" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmParameter, Set-Parameter
+
+# ==================================================
+# endregion GET-SET
+# ==================================================
+
+
+# ==================================================
+# region TLS
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-TlsCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Name,
+
+ [string]$Password,
+
+ [switch]$Replace,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = [ordered]@{cert=$name; replace="0"}
+ if ($Replace) {
+ $params["replace"]="1"
+ }
+
+ if ($Password) {
+ $params.Add("password",[System.Web.HttpUtility]::UrlEncode($Password))
+ }
+
+ try {
+ $response = SendCmdToLm -Command "addcert" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-TlsCertificate, New-Certificate
+
+Function Get-TlsCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$CertName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ if (([String]::IsNullOrEmpty($CertName))) {
+ $response = SendCmdToLm -Command "listcert" -ParameterValuePair $params -ConnParams $ConnParams
+ }
+ else {
+ $params.Remove("CertName")
+ $params.Add("cert", $CertName)
+ $response = SendCmdToLm -Command "readcert" -ParameterValuePair $params -ConnParams $ConnParams
+ }
+ HandleLmAnswer -Command2ExecClass "GetTlsCertificate" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-TlsCertificate, ListCert
+
+Function Remove-TlsCertificate
+{
+ [cmdletbinding(SupportsShouldProcess=$true,ConfirmImpact="High",DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($Name, "Remove Certificate")))
+ {
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = @{cert=$Name}
+
+ try {
+ $response = SendCmdToLm -Command "delcert" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+}
+Export-ModuleMember -function Remove-TlsCertificate, Remove-Certificate
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+#
+# NOTE: If the input parameter Path is not set,
+# the default location where the cmdlet
+# tries to save the TlsCertificate is:
+#
+# $($Env:SystemRoot)\Temp
+#
+# If the above folder does not exist or it is not
+# accessible (permissions) the cmdlet will fail.
+#
+Function Backup-TlsCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateLength(6, 64)]
+ [string]$Password,
+
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{}
+ $params.Add("password", [System.Web.HttpUtility]::UrlEncode($Password))
+
+ if (-not ($Path)) {
+ $Path = "$($Env:SystemRoot)\Temp\CertificateBackup_$(Get-Date -format yyyy-MM-dd_HH-mm-ss)"
+ }
+ Write-Verbose "Path = $Path"
+
+ try {
+ $response = SendCmdToLm -Command "backupcert" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Backup-TlsCertificate, Backup-Certificate
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Restore-TlsCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateLength(6, 64)]
+ [string]$Password,
+
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("Full", "VS", "Third")]
+ [string]$Type,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{}
+ $params.Add("password", [System.Web.HttpUtility]::UrlEncode($Password))
+ $params.Add("Type", $Type.ToLower())
+
+ try {
+ $response = SendCmdToLm -Command "restorecert" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Restore-TlsCertificate, Restore-Certificate
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-TlsIntermediateCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Name,
+
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ #
+ # TODO: the structure of this command is the same of addcert (New-TlsCertificate).
+ # To avoid code duplication, set a common function accepting among the input
+ # parameters, the command to execute (addcert/addintermediate).
+ #
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = [ordered]@{cert=$name; replace="0"}
+ if ($Replace) {
+ $params["replace"]="1"
+ }
+
+ if ($Password) {
+ $params.Add("password",[System.Web.HttpUtility]::UrlEncode($Password))
+ }
+
+ try {
+ $response = SendCmdToLm -Command "addintermediate" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-TlsIntermediateCertificate, New-IntermediateCertificate
+
+Function Get-TlsIntermediateCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$CertName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ if (([String]::IsNullOrEmpty($CertName))) {
+ $response = SendCmdToLm -Command "listintermediate" -ParameterValuePair $params -ConnParams $ConnParams
+ }
+ else {
+ $params.Remove("CertName")
+ $params.Add("cert", $CertName)
+ $response = SendCmdToLm -Command "readintermediate" -ParameterValuePair $params -ConnParams $ConnParams
+ }
+ HandleLmAnswer -Command2ExecClass "GetTlsCertificate" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-TlsIntermediateCertificate
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-TlsIntermediateCertificate
+{
+ [cmdletbinding(SupportsShouldProcess=$true,ConfirmImpact="High",DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($Name, "Remove Certificate")))
+ {
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = @{cert=$Name}
+
+ try {
+ $response = SendCmdToLm -Command "delintermediate" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+}
+Export-ModuleMember -function Remove-TlsIntermediateCertificate, Remove-IntermediateCertificate
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-TlsCipherSet
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "getcipherset" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetTlsCipherSet" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-TlsCipherSet, GetCipherset
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-TlsCipherSet
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Value,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "modifycipherset" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-TlsCipherSet, ModifyCipherset
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-TlsCipherSet
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "delcipherset" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-TlsCipherSet, DelCipherset
+
+Function Get-TlsHSM
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "showhsm" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "TlsHSM" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-TlsHSM, HSMShow
+
+Function Set-TlsHSM
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [String]$Sethsm,
+ [String]$Safeaddr,
+ [String]$Clpass,
+ [bool]$Enable,
+ [String]$Cavhsmaddr,
+ [String]$Cavhsmpasswd,
+ [String]$Cavhsmuser,
+ [bool]$Cavhsmenable,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "hsmconfig" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "TlsHSM" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-TlsHSM, HSMConfigure
+
+Function New-TlsHSMClientCert
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Clcertname,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (-not ($Path)) {
+ $Path = "$($Env:SystemRoot)\Temp\LMBackup_$(Get-Date -format yyyy-MM-dd_HH-mm-ss)"
+ }
+ else {
+ if ($Path.EndsWith("\\") -or $Path.EndsWith("/")) {
+ $Path = $Path + $Clcertname + ".pem"
+ }
+ else {
+ $Path = $Path + "\\" + $Clcertname + ".pem"
+ }
+ }
+ Write-Verbose "Path = $Path"
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "hsmgenclientcert" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-TlsHSMClientCert, HSMGenerateClientCert
+
+Function Import-TlsHSMCACert
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "hsmuploadca" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Import-TlsHSMCACert, HSMUploadCACert
+
+# ==================================================
+# endregion TLS
+# ==================================================
+
+
+# ==================================================
+# region WAF
+# ==================================================
+
+# Internal use only
+Function validatePath($Path, $FileName)
+{
+ if ( ([String]::IsNullOrEmpty($Path)) ) {
+ Throw "ERROR: Path is NULL"
+ return
+ }
+
+ if ($Path -and ( ($Path[-1] -eq "/") -or ($Path[-1] -eq "\") ) ) {
+ # Path is a folder
+ if ($FileName) {
+ $Path += $FileName
+ }
+ else {
+ Throw "ERROR: $Path is not a valid path."
+ return
+ }
+ }
+
+ $folder = Split-Path -Path $Path
+ if ($folder -and (-not (Test-Path $folder))) {
+ Throw "ERROR: $folder is not a valid path."
+ return
+ }
+
+ if ((Test-Path $Path) -and (Test-Path $Path -PathType Container)) {
+ Throw "ERROR: $Path is a folder."
+ return
+ }
+
+ Write-Verbose "Path = $Path"
+ return $Path
+}
+
+Function Get-WafRules
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "listwafrules" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetWafRules" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-WafRules, ListWafRules
+
+Function New-WafCustomRuleData
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($Path) {
+ $params.Remove("Path")
+ $Filename = Split-Path $Path -leaf
+ if ($Filename) {
+ $params.Add("filename", $Filename)
+ }
+ else {
+ Throw "ERROR: Malformed file name"
+ return
+ }
+ }
+ else {
+ Throw "ERROR: Path is a mandatory parameter"
+ return
+ }
+
+ try {
+ $response = SendCmdToLm -Command "addwafcustomdata" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-WafCustomRuleData, AddWafCustomData
+
+Function Export-WafCustomRuleData
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RuleDataName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (-not ($Path)) {
+ $Path = "$($Env:SystemRoot)\Temp\WafCustomRuleData_$(Get-Date -format yyyy-MM-dd_HH-mm-ss)"
+ }
+ $Path = validatePath $Path $RuleDataName
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $params.Remove("Path")
+ $params.Remove("RuleDataName")
+ $params.Add("filename", $RuleDataName)
+
+ try {
+ $response = SendCmdToLm -Command "downloadwafcustomdata" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Export-WafCustomRuleData, DownloadWafCustomData
+
+Function Uninstall-WafCustomRuleData
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Filename,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "delwafcustomdata" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Uninstall-WafCustomRuleData, DelWafCustomData
+
+Function New-WafCustomRuleSet
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($Path) {
+ $params.Remove("Path")
+ $Filename = Split-Path $Path -leaf
+ if ($Filename) {
+ $params.Add("filename", $Filename)
+ }
+ else {
+ Throw "ERROR: Malformed file name"
+ return
+ }
+ }
+ else {
+ Throw "ERROR: Path is a mandatory parameter"
+ return
+ }
+
+ try {
+ $response = SendCmdToLm -Command "addwafcustomrule" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-WafCustomRuleSet, AddWafCustomRule
+
+Function Uninstall-WafCustomRuleSet
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Filename,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "delwafcustomrule" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Uninstall-WafCustomRuleSet, DelWafCustomRule
+
+Function Export-WafCustomRuleSet
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RuleSetName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (-not ($Path)) {
+ $Path = "$($Env:SystemRoot)\Temp\WafCustomRuleSet_$(Get-Date -format yyyy-MM-dd_HH-mm-ss)"
+ }
+ $Path = validatePath $Path $RuleSetName
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $params.Remove("Path")
+ $params.Remove("RuleSetName")
+ $params.Add("filename", $RuleSetName)
+
+ try {
+ $response = SendCmdToLm -Command "downloadwafcustomrule" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Export-WafCustomRuleSet, DownloadWafCustomRule
+
+Function Enable-WafRemoteLogging
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RemoteURI,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Username,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Passwd,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "enablewafremotelogging" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Enable-WafRemoteLogging, EnableWafRemoteLogging
+
+Function Disable-WafRemoteLogging
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "disablewafremotelogging" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Disable-WafRemoteLogging, DisableWafRemoteLogging
+
+Function Set-WafLogFormat
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("native", "json")]
+ [string]$LogFormat,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "setwaflogformat" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-WafLogFormat
+
+Function Get-WafAuditFiles
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "listwafauditfiles" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetWafAuditFiles" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-WafAuditFiles, ListWafAuditFiles
+
+Function Export-WafAuditLog
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$AuditFile,
+
+ [string]$Filter,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($Path) {
+ $params.Remove("Path")
+ }
+ $params.Remove("AuditFile")
+ $params.Add("File", $AuditFile)
+
+ if (-not ($Path)) {
+ $Path = "$($Env:SystemRoot)\Temp\wafaudit_$(Get-Date -format yyyy-MM-dd_HH-mm-ss).log"
+ }
+ $Path = validatePath $Path $AuditFile
+
+ try {
+ $response = SendCmdToLm -Command "downloadwafauditlog" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Export-WafAuditLog, DownloadWafAuditLog
+
+Function Export-WafChangeLog
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($Path) {
+ $params.Remove("Path")
+ }
+
+ if (-not ($Path)) {
+ $Path = "$($Env:SystemRoot)\Temp\WAF_changes_$(Get-Date -format yyyy-MM-dd_HH-mm-ss).log"
+ }
+ $Path = validatePath $Path
+
+ try {
+ $response = SendCmdToLm -Command "getwafchangelog" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Export-WafChangeLog, GetWafChangeLog
+
+Function Install-WafRulesDatabase
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "maninstallwafrules" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Install-WafRulesDatabase, ManInstallWafRules
+
+Function Update-WafRulesDatabase
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "downloadwafrules" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Update-WafRulesDatabase, DownloadWafRules
+
+Function Get-WafRulesAutoUpdateConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "getwafsettings" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetWafRulesAutoUpdateConfiguration" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-WafRulesAutoUpdateConfiguration, GetWafSettings
+
+Function Set-WafRulesAutoUpdateConfiguration
+{
+ Param(
+ [Parameter(ParameterSetName="AutoUpdate", Mandatory=$True)]
+ [switch]$DatabaseAutoUpdate,
+
+ [Parameter(ParameterSetName="AutoInstall")]
+ [switch]$DatabaseAutoInstall,
+
+ [Parameter(ParameterSetName="AutoInstall")]
+ [ValidateRange(0, 23)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$DatabaseInstallTimeHour,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $tempPT = ConvertBoundParameters -hashtable $psboundparameters
+ $params = $tempPT.GetEnumerator() | sort-object -Property Name
+
+ try {
+ ForEach ($h in $params) {
+ switch($($h.Name))
+ {
+ "DatabaseAutoUpdate" {
+ $cmd2do = "setwafautoupdate"
+ if ($($h.Value) -eq $true) {
+ $dbUpdateParam = @{"Enable" = 1}
+ }
+ else {
+ $dbUpdateParam = @{"Enable" = 0}
+ }
+ break
+ }
+ "DatabaseAutoInstall" {
+ $cmd2do = "enablewafautoinstall"
+ if ($($h.Value) -eq $true) {
+ $dbUpdateParam = @{"Enable" = 1}
+ }
+ else {
+ $dbUpdateParam = @{"Enable" = 0}
+ }
+ break
+ }
+ "DatabaseInstallTimeHour" {
+ $cmd2do = "setwafinstalltime"
+ $dbUpdateParam = @{"Hour" = $($h.Value)}
+ break
+ }
+ }
+
+ if ($cmd2do -eq $null) {
+ continue
+ }
+
+ $xmlAnswer = SendCmdToLm -Command $cmd2do -ParameterValuePair $dbUpdateParam -ConnParams $ConnParams
+ $response = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $xmlAnswer
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+ $cmd2do = $null
+ }
+ setKempAPIReturnObject 200 "Command successfully executed" $null
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-WafRulesAutoUpdateConfiguration
+
+# ==================================================
+# endregion WAF
+# ==================================================
+
+
+# ==================================================
+# region GEO
+# ==================================================
+
+# Internal use only
+Function SetSelectionCriteria($params, $SelectionCriteria)
+{
+ switch ($SelectionCriteria)
+ {
+ "RoundRobin" {$ss = "rr"}
+ "WeightedRoundRobin" {$ss = "wrr"}
+ "FixedWeighting" {$ss = "fw"}
+ "RealServerLoad" {$ss = "rsr"}
+ "Proximity" {$ss = "prx"}
+ "LocationBased" {$ss = "lb"}
+ "AllAvailable" {$ss = "all"}
+ }
+ $params.Remove("SelectionCriteria")
+ $params.Add("SelectionCriteria", $ss)
+}
+
+# Internal use only
+Function getPublicPrivateRequestIdFromString($case, $ppReqString)
+{
+ $id = -1
+ if ($case -eq "Public") {
+ switch ($ppReqString)
+ {
+ "PublicSitesOnly" {$id = 0}
+ "PreferPublicSites" {$id = 1}
+ "PreferPrivateSites" {$id = 2}
+ "AllSites" {$id = 3}
+ }
+ }
+ elseif ($case -eq "Private") {
+ switch ($ppReqString)
+ {
+ "PrivateSitesOnly" {$id = 0}
+ "PreferPrivateSites" {$id = 1}
+ "PreferPublicSites" {$id = 2}
+ "AllSites" {$id = 3}
+ }
+ }
+ else {
+ Throw "ERROR: unknow request string"
+ return
+ }
+ return $id
+}
+
+# Internal use only
+Function getCheckerValueFromString($checkerString)
+{
+ switch ($checkerString)
+ {
+ "None" {
+ $checker = "none"
+ break
+ }
+ "Icmp Ping" {
+ $checker = "icmp"
+ break
+ }
+ "Tcp Connect" {
+ $checker = "tcp"
+ break
+ }
+ "Cluster Checks" {
+ $checker = "clust"
+ break
+ }
+ }
+ return $checker
+}
+
+Function New-GeoFQDN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "addfqdn" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Added FQDN $FQDN"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-GeoFQDN, Add-GeoFQDN, AddFQDN
+
+Function Remove-GeoFQDN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ try {
+ $response = SendCmdToLm -Command "delfqdn" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoFQDN, DeleteFQDN
+
+Function Get-GeoFQDN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ if ($FQDN -eq "") {
+ $cmd2exec = "listfqdns"
+ }
+ else {
+ $cmd2exec = "showfqdn"
+ }
+ $response = SendCmdToLm -Command $cmd2exec -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoFQDN" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoFQDN, ListFQDNs
+
+Function Set-GeoFQDN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [ValidateSet("RoundRobin", "WeightedRoundRobin", "FixedWeighting", "RealServerLoad", "Proximity", "LocationBased", "AllAvailable")]
+ [String]$SelectionCriteria,
+
+ [ValidateRange(0, 1440)]
+ [Int32]$SiteFailureDelay = -1,
+
+ [ValidateSet("auto", "manual")]
+ [String]$SiteRecoveryMode,
+
+ [ValidateSet("PublicSitesOnly", "PreferPublicSites", "PreferPrivateSites", "AllSites")]
+ [string]$PublicRequest,
+
+ [ValidateSet("PrivateSitesOnly", "PreferPrivateSites", "PreferPublicSites", "AllSites")]
+ [string]$PrivateRequest,
+
+ [bool]$Failover,
+
+ [bool]$LocalSettings,
+
+ [ValidateRange(1, 86400)]
+ [Int32]$localttl,
+
+ [ValidateRange(0, 86400)]
+ [Int32]$localsticky,
+
+ [bool]$UnanimousChecks,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ if ($PublicRequest) {
+ $PublicRequestValue = getPublicPrivateRequestIdFromString "Public" $PublicRequest
+ $params.Remove("PublicRequest")
+ $params.Add("PublicRequestValue", $PublicRequestValue)
+ }
+
+ if ($PrivateRequest) {
+ $PrivateRequestValue = getPublicPrivateRequestIdFromString "Private" $PrivateRequest
+ $params.Remove("PrivateRequest")
+ $params.Add("PrivateRequestValue", $PrivateRequestValue)
+ }
+
+ if ($SiteFailureDelay -ge 0) {
+ $params.Remove("SiteFailureDelay")
+ $params.Add("FailTime", $SiteFailureDelay)
+ }
+
+ if ($SelectionCriteria) {
+ SetSelectionCriteria $params $SelectionCriteria
+ }
+
+ try {
+ $response = SendCmdToLm -Command "modfqdn" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoFQDN" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoFQDN, ModifyFQDN
+
+Function New-GeoCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addcluster" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response -AdditionalData $ClusterName
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-GeoCluster, AddCluster
+
+Function Remove-GeoCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "delcluster" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoCluster, DeleteCluster
+
+Function Get-GeoCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ if ($ClusterIp) {
+ $cmd2exec = "showcluster"
+ }
+ else {
+ $cmd2exec = "listclusters"
+ }
+ $response = SendCmdToLm -Command $cmd2exec -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoCluster" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoCluster, ShowCluster, ListClusters
+
+Function Set-GeoCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [String]$ClusterName,
+
+ [ValidateSet("default", "remoteLM", "localLM")]
+ [String]$Type,
+
+ [ValidateSet("none", "tcp", "icmp")]
+ [String]$Checker,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$CheckerPort,
+
+ [String]$Enable,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ if ($Type -eq "remoteLM" -or $Type -eq "localLM") {
+ $params.Remove("Checker")
+ }
+
+ try {
+ $response = SendCmdToLm -Command "modcluster" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "SetGeoCluster" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoCluster, ModifyCluster
+
+Function Set-GeoClusterCoordinates
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$LatSecs,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$LongSecs,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "clustchangeloc" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Cluster location updated"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoClusterCoordinates, ClusterChangeLocation
+
+Function New-GeoFQDNSiteAddress
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [string]$Cluster,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addmap" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Added site $SiteAddress to FQDN $FQDN"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-GeoFQDNSiteAddress, AddMap
+
+Function Remove-GeoFQDNSiteAddress
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "delmap" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Deleted site $SiteAddress from FQDN $FQDN"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoFQDNSiteAddress, DeleteMap
+
+Function Set-GeoFQDNSiteAddress
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [ValidateSet("None", "Icmp Ping", "Tcp Connect", "Cluster Checks")]
+ [String]$Checker,
+
+ [Int32]$Weight,
+
+ [String]$Enable,
+
+ [String]$Cluster,
+
+ [String]$Mapaddress,
+
+ [String]$Mapport,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($checker) {
+ $siteChecker = getCheckerValueFromString $Checker
+ $params.Remove("Checker")
+ $params.Add("Checker", $siteChecker)
+ }
+ if ($Cluster) {
+ $params.Remove("clust")
+ $params.Add("Cluster", $Cluster)
+ }
+
+ try {
+ $response = SendCmdToLm -Command "modmap" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "SetGeoFQDNSiteAddress" -LMResponse $response -AdditionalData $SiteAddress
+ if ($lma.ReturnCode -eq 200) {
+ if ($lma.Data.GeoFqdnMap.Checker) {
+ $lma.Data.GeoFqdnMap.Checker = $Checker
+ }
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoFQDNSiteAddress, ModifyMap
+
+Function Set-GeoFQDNSiteCheckerAddress
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$CheckerIP,
+
+ [Parameter(Mandatory=$true,Position=3)]
+ [ValidateNotNullOrEmpty()]
+ [String]$CheckerPort,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ # get fqdn to verify
+ $getParams = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $getParams.Add("FQDN", $FQDN)
+ $lma = Get-GeoFQDN @getParams
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+
+ if ($lma.Data.GeoFqdn.Map) {
+ # OK: at least one mapping has been defined
+ $foundMapping = $null
+ if ($lma.Data.GeoFqdn.Map -is [array]) {
+ foreach($map in $lma.Data.GeoFqdn.Map) {
+ if ($map.IPAddress -eq $SiteAddress) {
+ $foundMapping = $map
+ break
+ }
+ }
+ }
+ else {
+ if ($lma.Data.GeoFqdn.Map.IPAddress -eq $SiteAddress) {
+ $foundMapping = $lma.Data.GeoFqdn.Map
+ }
+ }
+
+ if ($foundMapping) {
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ switch ($foundMapping.Checker)
+ {
+ "none" {
+ $errMsg = "ERROR: checker type is set to None"
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ "icmp" {
+ if ($CheckerPort) {
+ $params.Remove("CheckerPort")
+ }
+ $params.Add("port", "") #TODO: to investigate
+ break
+ }
+ "tcp" {
+ if ($CheckerPort) {
+ $params.Remove("CheckerPort")
+ $params.Add("port", $CheckerPort)
+ }
+ break
+ }
+ "clust" {
+ $errMsg = "ERROR: checker type is set to `'Cluster Checks`'"
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ }
+ try {
+ $response = SendCmdToLm -Command "changecheckeraddr" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ Get-GeoFQDN @getParams
+ return
+ }
+ return $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ }
+ else {
+ $errMsg = "ERROR: the site `'$siteAddress`' does not exist"
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ }
+ $errMsg = "ERROR: no mapping found"
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+}
+Export-ModuleMember -function Set-GeoFQDNSiteCheckerAddress, ChangeCheckerAddr
+
+# Internal use only
+Function checkGeoFqdnCountryInput($CountryCode, $CustomLocation, $IsContinent)
+{
+ if (!$CountryCode -and !$CustomLocation) {
+ Throw "A country code or custom location must be provided."
+ }
+
+ if ($CountryCode -and !$IsContinent) {
+ Throw "Please indicate if country code refers to a continent."
+ }
+
+ if (!$CountryCode -and $IsContinent) {
+ Throw "IsContinent parameter requires a country code."
+ }
+}
+
+Function Set-GeoFQDNSiteCountry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress, # was IP
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CountryCode,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$IsContinent,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CustomLocation,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ checkGeoFqdnCountryInput $CountryCode $CustomLocation $IsContinent
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addcountry" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Country/Continent updated."
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoFQDNSiteCountry, AddCountry
+
+Function Remove-GeoFQDNSiteCountry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CountryCode,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$IsContinent,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CustomLocation,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ checkGeoFqdnCountryInput $CountryCode $CustomLocation $IsContinent
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "removecountry" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Country/Continent updated."
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoFQDNSiteCountry, RemoveCountry
+
+Function Set-GeoFQDNSiteCoordinates
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$Lat,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$Long,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "changemaploc" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Map location updated."
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoFQDNSiteCoordinates, ChangeMapLocation
+
+Function New-GeoCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Location,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addcustomlocation" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-GeoCustomLocation, AddCustomLocation
+
+Function Remove-GeoCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Location,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $params.Remove("location")
+ $params.Add("clName", $Location)
+
+ try {
+ $response = SendCmdToLm -Command "deletecustomlocation" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoCustomLocation, DeleteCustomLocation
+
+Function Get-GeoCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "listcustomlocation" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoCustomLocation" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoCustomLocation, ListCustomLocation
+
+Function Set-GeoCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$clOldName,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$clNewName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ( ([String]::IsNullOrEmpty($clOldName)) -or ([String]::IsNullOrEmpty($clNewName)) ) {
+ Throw "ERROR: clOlName and clNewName are both mandatory"
+ return
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "editcustomlocation" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoCustomLocation, EditCustomLocation
+
+Function New-GeoIpRange
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addip" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " IP range added"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-GeoIpRange, AddIP
+
+Function Remove-GeoIpRange
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "delip" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " IP range deleted"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoIpRange, DeleteIP
+
+Function Get-GeoIpRange
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ if ($IP) {
+ $cmd = "showip"
+ }
+ else {
+ $cmd = "listips"
+ }
+ $response = SendCmdToLm -Command $cmd -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoIpRange" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoIpRange, ListIPs, ShowIP
+
+Function Set-GeoIPRangeCoordinates
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$Lat,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$Long,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "modiploc" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " IP range location updated"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoIPRangeCoordinates, ModifyIPLocation
+
+Function Remove-GeoIPRangeCoordinates
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "deliploc" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " IP range location updated"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoIPRangeCoordinates, DeleteIPLocation
+
+Function Set-GeoIPRangeCountry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [Parameter(Mandatory=$true)]
+ [String]$CountryCode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addipcountry" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " IP range country updated"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoIPRangeCountry, AddIPCountry
+
+Function Remove-GeoIPRangeCountry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,Position=0)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "removeipcountry" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " IP range country updated"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoIPRangeCountry, RemoveIPCountry, RemoveIPCountryCustom, Remove-GeoIPRangeCustomLocation
+
+Function Set-GeoIPRangeCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [Parameter(Mandatory=$true)]
+ [String]$CustomLoc,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addipcountry" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " IP range country updated"
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoIPRangeCustomLocation, AddIPCountryCustom
+
+Function Get-GeoPartnerStatus
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "getgeopartnerstatus" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoPartnerStatus" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoPartnerStatus
+
+Function Get-GeoIPBlacklistDatabaseConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ <#
+ $ErrorActionPreference = "Stop"
+ #>
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoacl/getsettings" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoIPBlacklistDatabaseConfiguration" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoIPBlacklistDatabaseConfiguration
+
+Function Set-GeoIPBlacklistDatabaseConfiguration
+{
+ Param(
+ [Parameter(ParameterSetName="Update", Mandatory=$True)]
+ [switch]$DatabaseAutoUpdate,
+
+ [Parameter(ParameterSetName="Install")]
+ [switch]$DatabaseAutoInstall,
+
+ [Parameter(ParameterSetName="Install")]
+ [ValidateRange(0, 23)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$DatabaseInstallTimeHour,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ <#
+ $ErrorActionPreference = "Stop"
+ #>
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $tempParamsHt = ConvertBoundParameters -hashtable $psboundparameters
+ $paramsHt = $tempParamsHt.GetEnumerator() | sort-object -Property Name
+ foreach ($param in $paramsHt)
+ {
+ switch ($($param.Name))
+ {
+ "DatabaseAutoUpdate" {
+ $cmd2do = "geoacl/setautoupdate"
+ if($($param.Value) -eq $true) {
+ $dbUpdateParam = @{"enable" = 1}
+ }
+ else {
+ $dbUpdateParam = @{"enable" = 0}
+ }
+ break
+ }
+
+ "DatabaseAutoInstall" {
+ $cmd2do = "geoacl/setautoinstall"
+ if($($param.Value) -eq $true) {
+ $dbUpdateParam = @{"enable" = 1}
+ }
+ else {
+ $dbUpdateParam = @{"enable" = 0}
+ }
+ break
+ }
+
+ "DatabaseInstallTimeHour" {
+ $cmd2do = "geoacl/setinstalltime"
+ $dbUpdateParam = @{"hour" = $($param.Value)}
+ break
+ }
+ }
+
+ if ($cmd2do -eq $null) {
+ continue
+ }
+
+ try {
+ $response = SendCmdToLm -Command $cmd2do -ParameterValuePair $dbUpdateParam -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+
+ $cmd2do = $null
+ }
+ setKempAPIReturnObject 200 "Command successfully executed." $null
+}
+Export-ModuleMember -function Set-GeoIPBlacklistDatabaseConfiguration
+
+Function Update-GeoIPBlacklistDatabase
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ <#
+ $ErrorActionPreference = "Stop"
+ #>
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoacl/updatenow" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " Download of new GEO IP Blacklist data successfully completed."
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Update-GeoIPBlacklistDatabase
+
+Function Install-GeoIPBlacklistDatabase
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ <#
+ $ErrorActionPreference = "Stop"
+ #>
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoacl/installnow" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Install-GeoIPBlacklistDatabase
+
+Function Export-GeoIPBlacklistDatabase
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$filename,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ <#
+ $ErrorActionPreference = "Stop"
+ #>
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $filename = validatePath $filename
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoacl/downloadlist" -ParameterValuePair $params -File $filename -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Export-GeoIPBlacklistDatabase
+
+Function Export-GeoIPBlacklistDatabaseChanges
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$filename,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ <#
+ $ErrorActionPreference = "Stop"
+ #>
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $filename = validatePath $filename
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoacl/downloadchanges" -ParameterValuePair $params -File $filename -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Export-GeoIPBlacklistDatabaseChanges
+
+Function New-GeoIPWhitelist
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Addr,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ <#
+ $ErrorActionPreference = "Stop"
+ #>
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoacl/addcustom" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " $Addr was successfully added to GEO ACL white list."
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-GeoIPWhitelist
+
+Function Get-GeoIPWhitelist
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoacl/listcustom" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoIPWhitelist" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoIPWhitelist
+
+Function Remove-GeoIPWhitelist
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Addr,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ <#
+ $ErrorActionPreference = "Stop"
+ #>
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoacl/removecustom" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ $lma.Response += " $Addr was successfully removed from GEO ACL white list."
+ }
+ $lma
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoIPWhitelist
+
+Function Export-GeoIPWhitelistDatabase
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$filename,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ <#
+ $ErrorActionPreference = "Stop"
+ #>
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $filename = validatePath $filename
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoacl/listcustom" -ParameterValuePair $params -ConnParams $ConnParams
+ $addDataHt = [ordered]@{"filename" = $filename; "force" = $Force}
+ HandleLmAnswer -Command2ExecClass "ExportGeoIPWhitelistDatabase" -LMResponse $response -AdditionalData $addDataHt
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ if ($errMsg.Contains(" already exists.")) {
+ $errMsg = "ERROR: The specified file already exists. To use the same filename, either delete the file or use the -Force switch"
+ }
+ Write-Verbose "errMsg: $errMsg"
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Export-GeoIPWhitelistDatabase
+
+Function Set-GeoDNSSECStatus
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("enabled", "disabled")]
+ [string]$status,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{}
+ if ($status -eq "enabled") {
+ $params.Add("Enable", 1)
+ }
+ elseif ($status -eq "disabled") {
+ $params.Add("Enable", 0)
+ }
+ else {
+ Throw "ERROR: not allowed value for parameter status"
+ }
+
+ try {
+ $response = SendCmdToLm -Command "geosetdnssec" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoDNSSECStatus
+
+Function New-GeoDNSSECKeySigningKey
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateSet("RSASHA256", "RSASHA512", "NSEC3RSASHA1")]
+ [String]$SigningAlgorithm,
+
+ [ValidateSet("1024", "2048", "4096")]
+ [int]$SigningKeySize,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{}
+
+ if ($SigningAlgorithm) {
+ $params.Remove("SigningAlgorithm")
+ $params.Add("algorithm", $SigningAlgorithm)
+ }
+
+ if ($SigningKeySize) {
+ $params.Remove("SigningKeySize")
+ $params.Add("keysize", $SigningKeySize)
+ }
+
+ try {
+ $response = SendCmdToLm -Command "geogenerateksk" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-GeoDNSSECKeySigningKey
+
+Function Import-GeoDNSSECKeySigningKey
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$privateKeyFile,
+
+ [Parameter(Mandatory=$true)]
+ [string]$publicKeyFile,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ validateFile2Upload $privateKeyFile $null
+ validateFile2Upload $publicKeyFile $null
+
+ try {
+ if ( ([String]::IsNullOrEmpty($LBPort)) ) {
+ $LBPort = 443
+ }
+ $url = "https://$LoadBalancer`:$LBPort/access/geoimportksk"
+ Write-Verbose "url: $url"
+ $response = uploadGeoDnssecKeyFiles $url $privateKeyFile $publicKeyFile $Credential $SubjectCN $CertificateStoreLocation
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $rc = 400
+ $errMsg = $_.Exception.Message
+ if ($errMsg -and $errMsg.Contains("Unauthorized")) {
+ $rc = 401
+ }
+ setKempAPIReturnObject $rc "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Import-GeoDNSSECKeySigningKey
+
+Function Remove-GeoDNSSECKeySigningKey
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geodeleteksk" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GeoDNSSECKeySigningKey
+
+Function Get-GeoDNSSECConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geoshowdnssec" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoDNSSECConfiguration" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoDNSSECConfiguration
+
+Function Get-GeoMiscParameter
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "listparams" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoLmMiscParameter" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoMiscParameter, ListMiscParameters
+
+Function Set-GeoMiscParameter
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [String]$SourceOfAuthority,
+
+ [String]$NameSrv,
+
+ [String]$SOAEmail,
+
+ [ValidateRange(1, 86400)]
+ [int]$TTL,
+
+ [ValidateRange(0, 86400)]
+ [int]$Persist,
+
+ [ValidateRange(9, 3600)]
+ [int]$CheckInterval,
+
+ [ValidateRange(4, 60)]
+ [int]$ConnTimeout,
+
+ [ValidateRange(2, 10)]
+ [int]$RetryAttempts,
+
+ [String]$Zone,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "modparams" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoLmMiscParameter" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-GeoMiscParameter, ModifyMiscParameters
+
+Function Update-GeoDatabase
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "locdataupdate" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Update-GeoDatabase, LocationDataUpdate
+
+Function Enable-LmGeoPack
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "enablegeo" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Enable-LmGeoPack, EnableGEO
+
+Function Disable-LmGeoPack
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "disablegeo" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Disable-LmGeoPack, DisableGEO
+
+Function Test-LmGeoEnabled
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "isgeoenabled" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "TestLmGeoEnabled" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Test-LmGeoEnabled, IsGEOEnabled
+
+<#
+Function Get-GeoStatistics
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "geostats" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGeoStats" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GeoStatistics
+#>
+
+# ==================================================
+# endregion GEO
+# ==================================================
+
+
+# ==================================================
+# region LDAP
+# ==================================================
+
+Function Get-LdapEndpoint
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ if ($Name) {
+ $cmd = "showldapendpoint"
+ $list = $false
+ }
+ else {
+ $cmd = "showldaplist"
+ $list = $true
+ }
+ $response = SendCmdToLm -Command $cmd -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLdapEndpoint" -LMResponse $response -AdditionalData $list
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LdapEndpoint
+
+# Internal use only
+Function mapLdapProtocol($ldapParams, $LdapProtocol)
+{
+ if ($LdapProtocol) {
+ if ($ldapParams.ContainsKey("LdapProtocol")) {
+ $ldapParams.Remove("LdapProtocol")
+ }
+ $value = 0
+ switch ($LdapProtocol)
+ {
+ "Unencrypted" {
+ $value = 0
+ break
+ }
+ "StartTLS" {
+ $value = 1
+ break
+ }
+ "LDAPS" {
+ $value = 2
+ break
+ }
+ }
+ $ldapParams.Add("ldaptype", $value)
+ }
+}
+
+Function New-LdapEndpoint
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [String]$Server,
+
+ [ValidateSet("Unencrypted", "StartTLS", "LDAPS")]
+ [string]$LdapProtocol,
+
+ [ValidateRange(10, 86400)]
+ [Int16]$VInterval = 60,
+
+ [ValidateRange(0, 10)]
+ [Int16]$ReferralCount = 0,
+
+ [String]$AdminUser,
+
+ [String]$AdminPass,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ mapLdapProtocol $params $LdapProtocol
+
+ try {
+ $response = SendCmdToLm -Command "addldapendpoint" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-LdapEndpoint
+
+Function Set-LdapEndpoint
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [String]$Server,
+
+ [ValidateSet("Unencrypted", "StartTLS", "LDAPS")]
+ [string]$LdapProtocol,
+
+ [ValidateRange(10, 86400)]
+ [Int16]$VInterval = 60,
+
+ [ValidateRange(0, 10)]
+ [Int16]$ReferralCount = 0,
+
+ [String]$AdminUser,
+
+ [String]$AdminPass,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ mapLdapProtocol $params $LdapProtocol
+
+ try {
+ $response = SendCmdToLm -Command "modifyldapendpoint" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LdapEndpoint
+
+Function Remove-LdapEndpoint
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "deleteldapendpoint" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-LdapEndpoint
+
+# ==================================================
+# endregion LDAP
+# ==================================================
+
+
+# ==================================================
+# region BACKUP
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Backup-LmConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+ [switch]$Force,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (-not ($Path)) {
+ $Path = "$($Env:SystemRoot)\Temp\LMBackup_$(Get-Date -format yyyy-MM-dd_HH-mm-ss)"
+ }
+ Write-Verbose "Path = $Path"
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "backup" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Backup-LmConfiguration, Backup-LoadBalancer
+
+# Internal use only
+Function getRestoreBackupTypeInt($BackupStringType)
+{
+ switch ($BackupStringType) {
+ "Base" { $type = 1 }
+ "Base + VS" { $type = 3 }
+ "Base + Geo" { $type = 5 }
+ "VS" { $type = 2 }
+ "VS + Geo" { $type = 6 }
+ "Geo" { $type = 4 }
+ "SSO/LDAP" { $type = 8 }
+ "All" { $type = 7 }
+ }
+ return $type
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Restore-LmConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("Base", "Base + VS", "Base + Geo", "VS", "VS + Geo", "Geo", "SSO/LDAP", "All")]
+ [string]$Type,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{}
+
+ $TypeInt = getRestoreBackupTypeInt $Type
+
+ $params.Add("Type", $TypeInt)
+
+ try {
+ $response = SendCmdToLm -Command "restore" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Restore-LmConfiguration, Restore-LoadBalancer
+
+# Internal use only
+Function mapBackupSecureInt($paramsHt, $backupsecure)
+{
+ if ($paramsHt) {
+
+ if ($backupsecure -eq "no") {
+ $paramsHt.Add("BackupMethod", "Ftp")
+ }
+ else {
+ $paramsHt.Add("BackupMethod", "SCP")
+ }
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LmBackupConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $bckParams = @("backupenable", "backuphour", "backupminute", "backupday", "backupsecure",
+ "backupuser", "backuppassword", "backuphost", "backuppath")
+
+ $bckSettings = [ordered]@{}
+ $bckSettings.PSTypeName = "BackupConfiguration"
+ foreach ($param in $bckParams) {
+ $lma = GetLmParameter "$param" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $paramValue = $lma.Data.$param
+ if ($param -eq "backupsecure") {
+ mapBackupSecureInt $bckSettings $paramValue
+ }
+ else {
+ $bckSettings.Add($param, $paramValue)
+ }
+
+ Start-Sleep -m 200
+ }
+ $data = New-Object -TypeName PSObject -Property $bckSettings
+
+ $bckConfiguration = [ordered]@{}
+ $bckConfiguration.PSTypeName = "BackupConfiguration"
+ $bckConfiguration.add("BackupConfiguration", $data)
+ $bckObject = New-Object -TypeName PSObject -Property $bckConfiguration
+
+ setKempAPIReturnObject 200 "Command successfully executed" $bckObject
+}
+Export-ModuleMember -function Get-LmBackupConfiguration, Get-BackupOption
+
+# Internal use only
+Function mapBackupSecureString($paramsHt, $BackupMethod)
+{
+ if ($paramsHt -and $paramsHt.ContainsKey("BackupMethod")) {
+ $paramsHt.Remove("BackupMethod")
+
+ if ($BackupMethod -eq "Ftp") {
+ $paramsHt.Add("backupsecure", 0)
+ }
+ else {
+ $paramsHt.Add("backupsecure", 1)
+ }
+ }
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-LmBackupConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateSet("yes", "no")]
+ [string]$BackupEnable,
+
+ [ValidateRange(0, 23)]
+ [Int16]$BackupHour,
+
+ [ValidateRange(0, 59)]
+ [Int16]$BackupMinute,
+
+ [ValidateRange(0, 7)]
+ [Int16]$BackupDay,
+
+ [ValidateSet("Ftp", "SCP")]
+ [string]$BackupMethod,
+
+ [string]$BackupUser,
+
+ [string]$BackupPassword,
+
+ [string]$BackupHost,
+
+ [string]$BackupPath,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params.Add("param", "backupenable")
+ $response = Get-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+ $params.Remove("param")
+
+ $params2Get = @("backupenable")
+ if ($response.Data.backupenable -eq "yes") {
+ if ($BackupEnable -and $BackupEnable -eq "no") {
+ # OK: set only the backupenable
+ $params.Add("param", "backupenable")
+ $params.Add("value", $BackupEnable)
+ $lma = Set-LmParameter @params
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $params.Remove("param")
+ $params.Remove("value")
+ }
+ else {
+ # OK: set all the parametes
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+ $parameters2set.Remove("backupenable")
+ mapBackupSecureString $parameters2set $BackupMethod
+ $lma = SetParameterSet $parameters2set $params ([ref]$params2Get)
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ }
+ }
+ else {
+ if ($BackupEnable -and $BackupEnable -eq "yes") {
+ # OK: set all the parametes
+ $params.Add("param", "backupenable")
+ $params.Add("value", $BackupEnable)
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+ $params.Remove("param")
+ $params.Remove("value")
+
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+ $parameters2set.Remove("backupenable")
+ mapBackupSecureString $parameters2set $BackupMethod
+ $lma = SetParameterSet $parameters2set $params ([ref]$params2Get)
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ }
+ else {
+ # ERROR: cannot set the parametes
+ setKempAPIReturnObject 400 "ERROR: cannot set backup parameter(s) when backup is disabled" $null
+ return
+ }
+ }
+ $response = GetLmParameterSet $params2Get "Parameters" $params
+ if ($response.ReturnCode -eq 200) {
+ if ($response.Data.Parameters.backupsecure) {
+ if ($response.Data.Parameters.backupsecure -eq "no") {
+ $response.Data.Parameters.backupsecure = "Ftp"
+ }
+ else {
+ $response.Data.Parameters.backupsecure = "SCP"
+ }
+ }
+ }
+ $response
+}
+Export-ModuleMember -function Set-LmBackupConfiguration, Set-BackupOption
+
+Function Set-LmBackupSecureIdentity
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = @{}
+
+ $currFolder = Split-Path -Path $Path
+ if (-not (Test-Path -Path $currFolder)) {
+ Throw "ERROR: the folder $currFolder does not exist"
+ }
+ $currFolder = Convert-Path $currFolder
+
+ $fileToUpload = $currFolder + "\IdentityFile.txt"
+ $tmpFile = $currFolder + "\IdentityFile_temp.txt"
+
+ if (Test-Path -Path $fileToUpload) {
+ Remove-Item $fileToUpload
+ }
+
+ if (Test-Path -Path $tmpFile) {
+ Remove-Item $tmpFile
+ }
+
+ try {
+ $privKeyFileContent = Get-Content -Raw $Path
+ $privKeyFileContentBytes = [System.Text.Encoding]::UTF8.GetBytes($privKeyFileContent)
+ $privKeyFileContentEncoded = [System.Convert]::ToBase64String($privKeyFileContentBytes)
+ $secureString = "param=backupident&value=" + $privKeyFileContentEncoded
+ Set-Content -Value $secureString -Path $tmpFile
+ $txt = (Get-Content -Raw $tmpFile) -replace "`r`n",""
+ [io.file]::WriteAllText($fileToUpload, $txt)
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+
+ try {
+ $response = SendCmdToLm -Command "set" -ParameterValuePair $params -File $fileToUpload -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+
+ if (-not ($PSBoundParameters['Debug'])) {
+ Remove-Item $tmpFile
+ Remove-Item $fileToUpload
+ }
+
+ $lma
+}
+Export-ModuleMember -function Set-LmBackupSecureIdentity
+
+# ==================================================
+# endregion BACKUP
+# ==================================================
+
+
+# ==================================================
+# region VPN
+# ==================================================
+
+Function New-LmVpnConnection
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams2 = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "createvpncon" -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "NewLmVpnConnection" -LMResponse $response
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $ConnParams2.Add("Name", $Name)
+ Get-LmVpnConnection @ConnParams2
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-LmVpnConnection, CreateVpnConnection
+
+Function Remove-LmVpnConnection
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "deletevpncon" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-LmVpnConnection, DeleteVpnConnection
+
+Function Get-LmVpnConnection
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ if ($Name) {
+ $cmd = "getvpnstatus"
+ }
+ else {
+ $cmd = "listvpns"
+ }
+ $response = SendCmdToLm -Command "$cmd" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetVpnConnection" -LMResponse $response -AdditionalData $Name
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmVpnConnection, ListVpns
+
+Function Set-LmVpnAddrs
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalIp,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalSubnets,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteIp,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteSubnets,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "setvpnaddr" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetVpnConnection" -LMResponse $response -AdditionalData $Name
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmVpnAddrs, SetVpnAddrs
+
+Function Set-LmVpnLocalIp
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalIp,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "setvpnlocalip" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmVpnLocalIp, SetVpnLocalIp
+
+Function Set-LmVpnLocalSubnet
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalSubnets,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "setvpnlocalsubnets" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmVpnLocalSubnet, SetVpnLocalSubnets
+
+Function Set-LmVpnRemoteIp
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteIp,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "setvpnremoteip" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmVpnRemoteIp, SetVpnRemoteIp
+
+Function Set-LmVpnRemoteSubnet
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteSubnets,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "setvpnremotesubnets" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmVpnRemoteSubnet, SetVpnRemoteSubnets
+
+Function Set-LmVpnSecret
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalId,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteId,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Key,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "setvpnsecret" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmVpnSecret, SetVpnSecret
+
+Function Start-LmVpnConnection
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "startvpncon" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Start-LmVpnConnection, StartVpnConnection
+
+Function Stop-LmVpnConnection
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "stopvpncon" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Stop-LmVpnConnection, StopVpnConnection
+
+Function Start-LmVpnIkeDaemon
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "startikedaemon" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Start-LmVpnIkeDaemon, StartIkeDaemon
+
+Function Stop-LmVpnIkeDaemon
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "stopikedaemon" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Stop-LmVpnIkeDaemon, StopIkeDaemon
+
+Function Get-LmVpnIkeDaemonStatus
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "statusikedaemon" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLmVpnIkeDaemonStatus" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmVpnIkeDaemonStatus, StatusIkeDaemon
+
+Function Set-LmVpnPfsEnable
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "setvpnpfsenable" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmVpnPfsEnable, SetVpnPfsEnable
+
+Function Set-LmVpnPfsDisable
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "setvpnpfsdisable" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmVpnPfsDisable, SetVpnPfsDisable
+
+# ==================================================
+# endregion VPN
+# ==================================================
+
+
+# ==================================================
+# region SAML
+# ==================================================
+
+# Internal use only
+Function checkOutputFile($strFileName = "strFileName is mandatory, please provide a value.")
+{
+ if (([String]::IsNullOrEmpty($strFileName))) {
+ return $false
+ }
+
+ if ($strFileName -eq "strFileName is mandatory, please provide a value.") {
+ return $false
+ }
+
+ $parent = Split-Path -Path $strFileName -Parent
+ if (([String]::IsNullOrEmpty($parent))) {
+ return $false
+ }
+
+ if (Test-Path $parent) {
+ # File exists
+ return $true
+ }
+ else {
+ # File does not exist
+ return $false
+ }
+}
+
+# Internal use only
+Function SetSAMLSPEntityParameter($params, $IdpEntityId, $IdpSsoUrl, $IdpLogoffUrl, $IdpCert, $SpEntityId, $SpCert)
+{
+ $count = 0
+ if (-not ([String]::IsNullOrEmpty($IdpEntityId))) {
+ $params.Add("idp_entity_id", $IdpEntityId)
+ $count += 1
+ }
+ if (-not ([String]::IsNullOrEmpty($IdpSsoUrl))) {
+ $params.Add("idp_sso_url", $IdpSsoUrl)
+ $count += 1
+ }
+ if (-not ([String]::IsNullOrEmpty($IdpLogoffUrl))) {
+ $params.Add("idp_logoff_url", $IdpLogoffUrl)
+ $count += 1
+ }
+ if (-not ([String]::IsNullOrEmpty($IdpCert))) {
+ $params.Add("idp_cert", $IdpCert)
+ $count += 1
+ }
+ if (-not ([String]::IsNullOrEmpty($SpEntityId))) {
+ $params.Add("sp_entity_id", $SpEntityId)
+ $count += 1
+ }
+ if (-not ([String]::IsNullOrEmpty($SpCert))) {
+ $params.Add("sp_cert", $SpCert)
+ $count += 1
+ }
+ return $count
+}
+
+Function Install-SAMLIdpMetafile
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Domain,
+
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation $Path
+
+ $getParams = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $getParams.Add("domain", $Domain)
+ $lma = Get-SSODomain @getParams
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+
+ if ($lma.Data.Domain.auth_type -ne "SAML") {
+ $errMsg = "The supplied Domain `"$Domain`" authentication protocol is not SAML: auth_type: $($lma.Data.Domain.auth_type)"
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "uploadsamlidpmd" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -eq 200) {
+ # Get SAML domain
+ Get-SSODomain @getParams
+ }
+ else {
+ return $lma
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Install-SAMLIdpMetafile
+
+Function Set-SAMLSPEntity
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Domain,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$IdpEntityId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$IdpSsoUrl,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$IdpLogoffUrl,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$IdpCert,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$SpEntityId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$SpCert,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $getParams = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $getParams.Add("domain", $Domain)
+ $lma = Get-SSODomain @getParams
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+
+ if ($lma.Data.Domain.auth_type -ne "SAML") {
+ $errMsg = "The supplied Domain `"$Domain`" authentication protocol is not SAML: auth_type: $($lma.Data.Domain.auth_type)"
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ $count = SetSAMLSPEntityParameter $params $IdpEntityId $IdpSsoUrl $IdpLogoffUrl $IdpCert $SpEntityId $SpCert
+ if ($count -eq 0) {
+ setKempAPIReturnObject 401 "ERROR: you need to set at least one parameter other than Domain" $null
+ }
+
+ try {
+ $response = SendCmdToLm -Command "moddomain" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetSSOSamlDomain" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-SAMLSPEntity
+
+Function Get-SAMLDomain
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Domain,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "showdomain" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ if ($Domain) {
+ $lma = HandleLmAnswer -Command2ExecClass "GetSSOSamlDomain" -LMResponse $response
+
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+
+ if ($lma.Data.Domain.auth_type -ne "SAML") {
+ $errMsg = "The supplied Domain `"$Domain`" authentication protocol is not SAML: auth_type: $($lma.Data.SamlDomain.auth_type)"
+ setKempAPIReturnObject 400 $errMsg $null
+ return
+ }
+ return $lma
+ }
+ else {
+ $lma = HandleLmAnswer -Command2ExecClass "GetSSODomain" -LMResponse $response
+ $domains = $lma.Data.Domain
+ if ($domains) {
+ $samlDomains = @()
+ foreach ($singleDomain in $domains) {
+ if ($singleDomain.auth_type -eq "SAML") {
+ $samlDomains += $singleDomain
+ }
+ }
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "SSODomain"
+ $ht.add("Domain", $samlDomains)
+ $samlDomainsObject = New-Object -TypeName PSObject -Property $ht
+ setKempAPIReturnObject 200 "Command successfully executed." $samlDomainsObject
+ }
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-SAMLDomain
+
+Function Export-SAMLSPCert
+{
+ [cmdletbinding(SupportsShouldProcess=$true, DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Domain,
+
+ [Parameter(Mandatory=$true)]
+ [string]$CertificateFilePath,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $getParams = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $getParams.Add("domain", $Domain)
+ $lma = Get-SSODomain @getParams
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+
+ if ($lma.Data.Domain.auth_type -ne "SAML") {
+ $errMsg = "The supplied Domain `"$Domain`" authentication protocol is not SAML: auth_type: $($lma.Data.Domain.auth_type)"
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+
+ $fileCheck = checkOutputFile $CertificateFilePath
+ if ($fileCheck -eq $false) {
+ setKempAPIReturnObject 401 "The destination folder does not exist." $null
+ return
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ if (($Force) -or $PsCmdlet.ShouldProcess($CertificateFilePath, "Overwrite")) {
+
+ try {
+ $response = SendCmdToLm -Command "downloadsamlspcert" -ParameterValuePair $params -File $CertificateFilePath -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+
+ }
+ }
+}
+Export-ModuleMember -function Export-SAMLSPCert
+
+# ==================================================
+# endregion SAML
+# ==================================================
+
+
+# ==================================================
+# region ADDON
+# ==================================================
+
+Function Install-LmAddon
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation $Path
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addaddon" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "InstallLmAddon" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Install-LmAddon, UploadAddon
+
+Function Remove-LmAddon
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "deladdon" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-LmAddon, DeleteAddon
+
+Function Get-LmAddOn
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "listaddon" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLmAddOn" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmAddOn, ListAddons
+
+# ==================================================
+# endregion ADDON
+# ==================================================
+
+
+# ==================================================
+# region PATCH
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Install-LmPatch
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation $Path
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "installpatch" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "InstallLmPatch" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Install-LmPatch, Install-Patch
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Uninstall-LmPatch
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "restorepatch" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "UninstallLmPatch" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Uninstall-LmPatch, Restore-Patch
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Restart-Lm
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Shutdown,
+ [switch]$Force,
+ [int]$SleepTime,
+ [int]$Cycles
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ $cmd = $null
+ if ($Shutdown) {
+ $cmd = "shutdown"
+ }
+ else {
+ $cmd = "reboot"
+ }
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($cmd, "$cmd on $LoadBalancer"))) {
+
+ try {
+ $response = SendCmdToLm -Command $cmd -ParameterValuePair $params -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ if ($cmd -eq "reboot") {
+ if ( ([String]::IsNullOrEmpty($SleepTime)) ) {
+ $SleepTime = 12
+ }
+ if ( ([String]::IsNullOrEmpty($Cycles)) ) {
+ $Cycles = 8
+ }
+ Start-Sleep -s 10
+ $check = reconnectToLm $LoadBalancer $LBPort $Cycles $SleepTime
+ if ($check) {
+ # the LM is back
+ return $lma
+ }
+ else {
+ # the LM is not back in time
+ setKempAPIReturnObject 400 "the LM is not back yet" $null
+ return
+ }
+ }
+ else {
+ # SHUTDOWN case
+ return $lma
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+ }
+}
+Export-ModuleMember -function Restart-Lm, Restart-LoadBalancer
+
+Function Get-LmPreviousFirmwareVersion
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "getpreviousversion" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLmPreviousFirmwareVersion" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmPreviousFirmwareVersion
+
+# ==================================================
+# endregion PATCH
+# ==================================================
+
+
+# ==================================================
+# region DATE-TIME
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LmDateTimeConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ # Don't get NTPKeySecret - no valid data is returned
+ $params2get = @("NTPHost", "NTPKeyType", "NTPKeyId", "Time", "ActiveTime", "BootTime", "TimeZone")
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "DateTimeConfiguration"
+ foreach($param in $params2get) {
+ $params.Add("param", $param)
+
+ $lma = Get-LmParameter @params
+ if ($lma.ReturnCode -eq 200) {
+ $paramValue = $lma.Data.$param
+ if ($param -eq "NTPKeyType" -and $paramValue -eq "M") {
+ $paramValue = "MD5"
+ }
+ if ($param -eq "NTPKeyType" -and $paramValue -eq "SHA") {
+ $paramValue = "SHA-1"
+ }
+ $ht.Add($param, $paramValue)
+ }
+ else {
+ return $lma
+ }
+ $params.Remove("param")
+ Start-Sleep -m 200
+ }
+ $tmpObj = New-Object -TypeName PSObject -Property $ht
+
+ $emConf = [ordered]@{}
+ $emConf.PSTypeName = "DateTimeConfiguration"
+ $emConf.Add("DateTimeConfiguration", $tmpObj)
+ $emConfObject = New-Object -TypeName PSObject -Property $emConf
+
+ setKempAPIReturnObject 200 "Command successfully executed" $emConfObject
+}
+Export-ModuleMember -function Get-LmDateTimeConfiguration, Get-DateTimeOption
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-LmDateTimeConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$NTPHost,
+
+ [string]$TimeZone,
+
+ [ValidateRange(1, 100)]
+ [int]$NTPKeyId,
+
+ [string]$NTPKeySecret,
+
+ [ValidateSet("SHA-1", "MD5")]
+ [string]$NTPKeyType,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+
+ if ($NTPKeyType -and $NTPKeyType -eq "MD5") {
+ $parameters2set["NTPKeyType"] = "M"
+ }
+
+ if ($NTPKeyType -and $NTPKeyType -eq "SHA-1") {
+ $parameters2set["NTPKeyType"] = "SHA"
+ }
+
+ $params2Get = @()
+ foreach ($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+
+ Start-Sleep -m 200
+ }
+ $lma = GetLmParameterSet $params2Get "Parameters" $params
+ if ($lma.ReturnCode -eq 200) {
+ if ($lma.Data.Parameters.NTPKeyType) {
+ if ($lma.Data.Parameters.NTPKeyType -eq "M") {
+ $lma.Data.Parameters.NTPKeyType = "MD5"
+ }
+ else {
+ $lma.Data.Parameters.NTPKeyType = "SHA-1"
+ }
+ }
+ }
+ $lma
+}
+Export-ModuleMember -function Set-LmDateTimeConfiguration, Set-DateTimeOption
+
+Function Get-LmWuiSetting
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $parameters = @("hoverhelp", "motd", "wuidisplaylines")
+ <#
+ NOTE: missing parameters
+ - eula
+ - EnableHistoricalGraphs
+ - Collect All Statistics
+ #>
+
+ GetLmParameterSet $parameters "WuiSetting" $params
+}
+Export-ModuleMember -function Get-LmWuiSetting
+
+Function Set-LmWuiSetting
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$hoverhelp,
+
+ [string]$motd,
+
+ [ValidateRange(10, 100)]
+ [int]$wuidisplaylines,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+
+ $params2Get = @()
+ foreach ($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+
+ Start-Sleep -m 200
+ }
+ GetLmParameterSet $params2Get "Parameters" $params
+}
+Export-ModuleMember -function Set-LmWuiSetting
+
+# ==================================================
+# endregion DATE-TIME
+# ==================================================
+
+
+# ==================================================
+# region SDN
+# ==================================================
+
+Function New-SdnController
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IPV4,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$Port,
+
+ [Int32]$Clid,
+
+ [Boolean]$Https,
+
+ [String]$User,
+
+ [String]$Password,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "addsdncontroller" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "AddSdnController" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-SdnController, AddSDNController
+
+Function Remove-SdnController
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Int32]$Clid,
+
+ [Int32]$Cid,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "delsdncontroller" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "RemoveSdnController" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-SdnController, DeleteSDNController
+
+Function Set-SdnController
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$Cid,
+
+ [Int32]$Clid,
+
+ [String]$IPV4,
+
+ [Int32]$Port,
+
+ [Boolean]$Https,
+
+ [String]$User,
+
+ [String]$Password,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "modsdncontroller" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "SetSdnController" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-SdnController, ModifySDNController
+
+Function Get-SdnController
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "getsdncontroller" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetSdnController" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-SdnController, GetSDNController
+
+# ==================================================
+# endregion SDN
+# ==================================================
+
+
+# ==================================================
+# region FILTER
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-VSPacketFilterACL
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$VirtualService,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("black", "white")]
+ [String]$Type,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{
+ "listvs" = $Type
+ "vsip" = $VirtualService
+ "vsport" = $VSPort
+ "vsprot" = $VSProtocol
+ }
+
+ try {
+ $response = SendCmdToLm -Command "aclcontrol" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetVSPacketFilterACL" -LMResponse $response -AdditionalData $Type
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-VSPacketFilterACL
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-VSPacketFilterACL
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$VirtualService,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("black", "white")]
+ [String]$Type,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$AclAddress,
+
+ [String]$AclComment,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{
+ "addvs" = $Type
+ "vsip" = $VirtualService
+ "vsport" = $VSPort
+ "vsprot" = $VSProtocol
+ "addr" = $AclAddress
+ }
+ if ($AclComment) {
+ $params.Add("comment", [System.Uri]::EscapeDataString($AclComment))
+ }
+
+ try {
+ $response = SendCmdToLm -Command "aclcontrol" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "NewVSPacketFilterACL" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-VSPacketFilterACL
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-VSPacketFilterACL
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$VirtualService,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("black", "white")]
+ [String]$Type,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$AclAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{
+ "delvs" = $Type
+ "vsip" = $VirtualService
+ "vsport" = $VSPort
+ "vsprot" = $VSProtocol
+ "addr" = $AclAddress
+ }
+
+ try {
+ $response = SendCmdToLm -Command "aclcontrol" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "RemoveVSPacketFilterACL" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-VSPacketFilterACL
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-PacketFilterOptionACL
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ <#
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("enable", "drop", "ifblock")]
+ [String]$Option,
+ #>
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $parameters = @("isenabled", "isdrop", "isifblock")
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "PacketFilterOption"
+ foreach ($param in $parameters)
+ {
+ try {
+ $response = SendCmdToLm -Command "aclcontrol/$param" -ParameterName $null -ConnParams $ConnParams
+ $lma = HandleLmAnswer -Command2ExecClass "GetPacketFilterOption" -LMResponse $response -AdditionalData $param
+ if ($lma.ReturnCode -eq 200) {
+ $ht.add($lma.Data.PSObject.Properties.Name, $lma.Data.PSObject.Properties.Value)
+ }
+ else {
+ return $lma
+ }
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ return
+ }
+ }
+ $pfoObject = New-Object -TypeName PSObject -Property $ht
+
+ $pfHt = [ordered]@{}
+ $pfHt.PSTypeName = "PacketFilterConfiguration"
+ $pfHt.Add("PacketFilterConfiguration", $pfoObject)
+ $pfcObject = New-Object -TypeName PSObject -Property $pfHt
+
+ setKempAPIReturnObject $lma.ReturnCode $lma.Response $pfcObject
+}
+Export-ModuleMember -function Get-PacketFilterOptionACL
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-PacketFilterOptionACL
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("enable", "drop", "ifblock")]
+ [String]$Option,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [bool]$Value,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $param = [ordered]@{}
+ $param.Add($Option, $Value -as [int])
+
+ try {
+ $response = SendCmdToLm -Command "aclcontrol" -ParameterValuePair $param -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-PacketFilterOptionACL
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-GlobalPacketFilterACL
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("black", "white")]
+ [String]$Type,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $param = [ordered]@{"list" = $Type}
+
+ try {
+ $response = SendCmdToLm -Command "aclcontrol" -ParameterValuePair $param -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetGlobalPacketFilterACL" -LMResponse $response -AdditionalData $Type
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-GlobalPacketFilterACL
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-GlobalPacketFilterACL
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("black", "white")]
+ [String]$Type,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Address,
+
+ [String]$Comment,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{
+ "add" = $Type
+ "addr" = $Address
+ }
+ if ($Comment) {
+ $params.Add("comment", [System.Uri]::EscapeDataString($Comment))
+ }
+
+ try {
+ $response = SendCmdToLm -Command "aclcontrol" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "NewGlobalPacketFilterACL" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-GlobalPacketFilterACL
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-GlobalPacketFilterACL
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("black", "white")]
+ [String]$Type,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = [ordered]@{
+ "del" = $Type
+ "addr" = $Address
+ }
+
+ try {
+ $response = SendCmdToLm -Command "aclcontrol" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-GlobalPacketFilterACL
+
+# ==================================================
+# endregion FILTER
+# ==================================================
+
+
+# ==================================================
+# region AFE
+# ==================================================
+
+# Internal use only
+Function getIntrusionDetectionLevelString($paranoiaLevel)
+{
+ switch ($paranoiaLevel)
+ {
+ 0 {
+ $plString = "Low"
+ break
+ }
+
+ 1 {
+ $plString = "Default"
+ break
+ }
+
+ 2 {
+ $plString = "High"
+ break
+ }
+
+ 3 {
+ $plString = "Paranoid"
+ break
+ }
+ }
+ return $plString
+}
+
+# Internal use only
+Function getIntrusionDetectionLevel($IDLString)
+{
+ switch ($IDLString)
+ {
+ "Low" {
+ $level = 0
+ break
+ }
+
+ "Default" {
+ $level = 1
+ break
+ }
+
+ "High" {
+ $level = 2
+ break
+ }
+
+ "Paranoid" {
+ $level = 3
+ break
+ }
+ }
+ return $level
+}
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LmAFEConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ # NOTE Missing params:
+ # extensions not cached
+ # extensions not compressed
+ $parameters = @("Cachesize", "HostCache", "Paranoia", "LimitInput")
+
+ $lma = GetLmParameterSet $parameters "LmAFEConfiguration" $params
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $lma.Data.LmAFEConfiguration.Paranoia = getIntrusionDetectionLevelString $lma.Data.LmAFEConfiguration.Paranoia
+ renameCustomObjectProperty $lma.Data.LmAFEConfiguration "Paranoia" "DetectionLevel"
+ $lma
+}
+Export-ModuleMember -function Get-LmAFEConfiguration, Get-AFEConfiguration
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-LmAFEConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateRange(1, 409)]
+ [Int]$CacheSize,
+
+ [bool]$HostCache,
+
+ [ValidateSet("Low", "Default", "High", "Paranoid")]
+ [string]$DetectionLevel,
+
+ [ValidateRange(0, 100000)]
+ [Int64]$LimitInput,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+ if ($DetectionLevel) {
+ $paranoiaLevel = getIntrusionDetectionLevel $DetectionLevel
+ $parameters2set.Remove("DetectionLevel")
+ $parameters2set.Add("paranoia", $paranoiaLevel)
+ }
+
+ if ($parameters2set.Count -eq 0) {
+ setKempAPIReturnObject 200 "Command successfully executed." $null
+ return
+ }
+
+ $params2Get = @()
+ foreach ($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+
+ Start-Sleep -m 200
+ }
+ $lma = GetLmParameterSet $params2Get "Parameters" $params
+ if ($lma.Data.Parameters.Paranoia) {
+ $lma.Data.Parameters.Paranoia = getIntrusionDetectionLevelString $lma.Data.Parameters.Paranoia
+ renameCustomObjectProperty $lma.Data.Parameters "Paranoia" "DetectionLevel"
+ }
+ $lma
+}
+Export-ModuleMember -function Set-LmAFEConfiguration, Set-AFEConfiguration
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Update-AFEIDSRules
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateScript({Test-Path -Path $_})]
+ [ValidateNotNullOrEmpty()]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "updatedetect" -ParameterValuePair $params -File $Path -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Update-AFEIDSRules, Update-IDSRules
+
+# ==================================================
+# endregion AFE
+# ==================================================
+
+
+# ==================================================
+# region CONNLIMIT
+# ==================================================
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LmIPConnectionLimit
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "afeclientlimitlist" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLmIPConnectionLimit" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmIPConnectionLimit, AfeClientLimitList
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function New-LmIPConnectionLimit
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$L7addr,
+
+ [Parameter(Mandatory=$true)]
+ [int32]$L7limit,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "afeclientlimitadd" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-LmIPConnectionLimit, AfeClientLimitAdd
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Remove-LmIPConnectionLimit
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$L7addr,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "afeclientlimitdel" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-LmIPConnectionLimit, AfeClientLimitDelete
+
+# ==================================================
+# endregion CONNLIMIT
+# ==================================================
+
+
+# ==================================================
+# region HA
+# ==================================================
+
+# Internal use only
+Function GetHaModeString($HaMode)
+{
+ switch ($HaMode)
+ {
+ 0 { $HaModeStringValue = "No HA mode" }
+ 1 { $HaModeStringValue = "HA First" }
+ 2 { $HaModeStringValue = "HA Second" }
+ 3 { $HaModeStringValue = "Cloud HA" }
+ 4 { $HaModeStringValue = "N+M Cluster" }
+
+ default { $HaModeStringValue = "HA mode UNKNOWN" }
+ }
+ return $HaModeStringValue
+}
+
+# Internal use only
+Function ConvertHaModeStringToInt($HaMode)
+{
+ switch ($HaMode)
+ {
+ "SingleMode" {
+ $HaModeIntValue = 0
+ break
+ }
+
+ "HA First" {
+ $HaModeIntValue = 1
+ break
+ }
+
+ "HA Second" {
+ $HaModeIntValue = 2
+ break
+ }
+
+ default {
+ $HaModeIntValue = -1
+ break
+ }
+ }
+ return $HaModeIntValue
+}
+
+# Internal use only
+Function GetPreferredServerString($prefServer)
+{
+ switch ($prefServer)
+ {
+ 0 { $prefServerString = "No Preferred Host" }
+ 1 { $prefServerString = "Prefer First HA" }
+ 2 { $prefServerString = "Prefer Second HA" }
+
+ default { $prefServerString = "Prefer UNKNOWN" }
+ }
+ return $prefServerString
+}
+
+Function Get-LmHAMode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $lma = GetLmParameter "Hamode" $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+
+ $HaModeValue = $lma.Data.hamode
+ if ($HaModeValue -ge 0 -and $HaModeValue -le 4) {
+ $HaModeDescription = GetHaModeString $HaModeValue
+ $tmp = [ordered]@{}
+ $tmp.Add("HaMode", $HaModeValue)
+ $tmp.Add("HaDescription", $HaModeDescription)
+ $dataObj = New-Object -TypeName PSObject -Prop $tmp
+
+ $haConf = [ordered]@{}
+ $haConf.Add("HAConf", $dataObj)
+ $haObj = New-Object -TypeName PSObject -Prop $haConf
+
+ setKempAPIReturnObject 200 "Command successfully executed" $haObj
+ }
+ else {
+ Write-Verbose "ERROR: invalid HA mode value [$HaModeValue]"
+ setKempAPIReturnObject 401 "ERROR: invalid HA mode value" $null
+ }
+}
+Export-ModuleMember -function Get-LmHAMode
+
+Function Set-LmHAMode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("SingleMode", "HA First", "HA Second")]
+ [string]$HaMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $intHaMode = ConvertHaModeStringToInt $HaMode
+ if ($intHaMode -lt 0) {
+ setKempAPIReturnObject 401 "System error: not allowed HA mode value [$intHaMode]" $null
+ return
+ }
+
+ SetLmParameter "hamode" $intHaMode $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+}
+Export-ModuleMember -function Set-LmHAMode
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LmHAConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $lma = Get-LmHAMode @params
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+
+ if ($lma.Data.HAConf.HaMode -le 0 -or $lma.Data.HAConf.HaMode -ge 3) {
+ setKempAPIReturnObject 401 "ERROR: The LoadMaster is not in HA mode." $null
+ return
+ }
+
+ $params2get = @("hamode", "hatimeout", "hawait", "havhid", "haprefered", "haif", "hal4update", "hal7update", "MCast", "Vmac")
+
+ $ht = [ordered]@{}
+ $ht.PSTypeName = "HAConfiguration"
+ foreach($param in $params2get) {
+ $params.Add("param", $param)
+
+ $lma = Get-LmParameter @params
+ if ($lma.ReturnCode -eq 200) {
+ $paramValue = $lma.Data.$param
+ if ($param -eq "hamode") {
+ $ht.Add($param, (GetHaModeString $paramValue))
+ }
+ elseif ($param -eq "haprefered") {
+ $ht.Add($param, (GetPreferredServerString $paramValue))
+ }
+ elseif ($param -eq "hatimeout") {
+ $ht.Add($param, (($paramValue -as [int])*3))
+ }
+ else {
+ $ht.Add($param, $paramValue)
+ }
+ }
+ else {
+ return $lma
+ }
+ $params.Remove("param")
+ Start-Sleep -m 200
+ }
+ $tmpObj = New-Object -TypeName PSObject -Property $ht
+
+ $haConf = [ordered]@{}
+ $haConf.PSTypeName = "HAConfiguration"
+ $haConf.Add("HAConfiguration", $tmpObj)
+ $emConfObject = New-Object -TypeName PSObject -Property $haConf
+
+ setKempAPIReturnObject 200 "Command successfully executed" $emConfObject
+}
+Export-ModuleMember -function Get-LmHAConfiguration, Get-HAOption
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Set-LmHAConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateSet(3, 6, 9, 12, 15)]
+ [Int16]$hatimeout,
+
+ [ValidateRange(0, 180)]
+ [Int16]$hawait,
+
+ [ValidateRange(1, 255)]
+ [Int16]$havhid,
+
+ [ValidateSet("No Preferred Host", "Prefer First HA", "Prefer Second HA")]
+ [string]$haprefered,
+
+ [Int16]$haif,
+
+ [bool]$hal4update,
+
+ [bool]$hal7update,
+
+ [Int16]$MCast,
+
+ [bool]$Vmac,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+
+ if ($hatimeout) {
+ $parameters2set["hatimeout"] = $hatimeout/3
+ }
+ if ($haprefered) {
+ $parameters2set["haprefered"] = $preferredServerHT[$haprefered]
+ }
+
+ $params2Get = @()
+ foreach ($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+
+ Start-Sleep -m 200
+ }
+ $lma = GetLmParameterSet $params2Get "Parameters" $params
+ if ($lma.ReturnCode -eq 200) {
+ if ($lma.Data.Parameters.hatimeout) {
+ $lma.Data.Parameters.hatimeout = ($lma.Data.Parameters.hatimeout -as [int])*3
+ }
+ if ($lma.Data.Parameters.haprefered -ge 0) {
+ $lma.Data.Parameters.haprefered = GetPreferredServerString $lma.Data.Parameters.haprefered
+ }
+ }
+ $lma
+}
+Export-ModuleMember -function Set-LmHAConfiguration, Set-HAOption
+
+Function Set-LmAzureHAMode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("master", "slave", "single")]
+ [string]$HAMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "azurehamode" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmAzureHAMode, Set-AzureHAMode
+
+Function Get-LmAzureHAConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "getazurehaparams" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetAzureHAConfiguration" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmAzureHAConfiguration, Get-AzureHAOption
+
+Function Set-LmAzureHAConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$Partner,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$HealthCheckPort,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(0, 1)]
+ [int]$Hapreferred,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("no", "yes")]
+ [string]$HealthCheckAllInterfaces = "no",
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (!$Partner -and !$HealthCheckPort) {
+ Throw "ERROR: Partner and/or Hcp must be provided."
+ }
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($HealthCheckPort) {
+ $params.Remove("HealthCheckPort")
+ $params.Add("Hcp", $HealthCheckPort)
+ }
+ if ($Hapreferred -eq 0 -or $Hapreferred -eq 1) {
+ $params.Remove("Hapreferred")
+ $params.Add("Haprefered", $Hapreferred)
+ }
+ else {
+ Throw "ERROR: Value for Hapreferred ($Hapreferred) out of range."
+ return
+ }
+ if ($HealthCheckAllInterfaces) {
+ $params.Remove("HealthCheckAllInterfaces")
+ if ($HealthCheckAllInterfaces -eq "yes") {
+ $params.Add("hcai", 1)
+ }
+ else {
+ $params.Add("hcai", 0)
+ }
+ }
+
+ try {
+ $response = SendCmdToLm -Command "azurehaparam" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmAzureHAConfiguration, Set-AzureHAOption
+
+Function Set-LmAwsHAMode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("master", "slave", "single")]
+ [string]$HAMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "awshamode" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmAwsHAMode, Set-AwsHAMode
+
+Function Get-LmAwsHAConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "getawshaparams" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetAwsHaConfiguration" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmAwsHAConfiguration, Get-AwsHAOption
+
+Function Set-LmAwsHAConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$Partner,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$HealthCheckPort,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(0, 1)]
+ [int]$haprefered,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("no", "yes")]
+ [string]$HealthCheckAllInterfaces = "no",
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if (!$Partner -and !$HealthCheckPort) {
+ Throw "ERROR: Partner and/or HealthCheckPort must be provided."
+ }
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ if ($HealthCheckPort) {
+ $params.Remove("HealthCheckPort")
+ $params.Add("Hcp", $HealthCheckPort)
+ }
+
+ if ($HealthCheckAllInterfaces) {
+ $params.Remove("HealthCheckAllInterfaces")
+ if ($HealthCheckAllInterfaces -eq "yes") {
+ $params.Add("hcai", 1)
+ }
+ else {
+ $params.Add("hcai", 0)
+ }
+ }
+
+ try {
+ $response = SendCmdToLm -Command "awshaparam" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Set-LmAwsHAConfiguration, Set-AwsHAOption
+
+Function Get-LmCloudHaConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "getCloudHaParams" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLmCloudHaConfiguration" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmCloudHaConfiguration
+
+# ==================================================
+# endregion HA
+# ==================================================
+
+
+# ==================================================
+# region DIAGNOSTIC
+# ==================================================
+
+Function Get-LmDebugInformation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateSet("ps", "meminfo", "ifconfig", "netstat", "interrupts", "partitions", "cpuinfo", "df", "lspci", "lsmod", "slabinfo")]
+ [string]$Param,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ $cmd = "logging/$Param"
+
+ try {
+ $response = SendCmdToLm -Command $cmd -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetLmDebugInformation" -LMResponse $response -AdditionalData $Param
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-LmDebugInformation
+
+#.ExternalHelp Kemp.LoadBalancer.Powershell-Help.xml
+Function Get-LmDebugConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ # NOTE: to verify
+ # - Enable L7 Debug Traces
+ # - Perform an l7adm
+ # - Enable WAF Debug Logging
+ # - Enable TSO
+ # - Enable Bind Debug Traces
+ # - Include Netstat in Backups
+ # - Reset Statistic Counters
+ # - Flush OCSPD Cache
+ # - SSO LDAP server timeout
+ # - Stop IPsec IKE Daemon
+ # - Perform an IPsec Status
+ # - Enable IKE Debug Level Logs
+ $parameters = @("irqbalance", "linearesplogs", "netconsole", "netconsoleinterface")
+
+ GetLmParameterSet $parameters "LmDebugConfiguration" $params
+}
+Export-ModuleMember -function Get-LmDebugConfiguration, Get-DebugOption
+
+Function Set-LmDebugConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$irqbalance,
+
+ [bool]$linearesplogs,
+
+ [string]$netconsole,
+
+ [Int16]$netconsoleinterface,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $parameters2set = ConvertBoundParameters -hashtable $psboundparameters -SkipEncoding
+
+ $params2Get = @()
+ foreach ($param in $parameters2set.Keys) {
+
+ $params.Add("param", $param)
+ $params.Add("value", $parameters2set[$param])
+ $params2Get += $param
+
+ $response = Set-LmParameter @params
+ if ($response.ReturnCode -ne 200) {
+ return $response
+ }
+
+ $params.Remove("param")
+ $params.Remove("value")
+
+ Start-Sleep -m 200
+ }
+ GetLmParameterSet $params2Get "Parameters" $params
+}
+Export-ModuleMember -function Set-LmDebugConfiguration, Set-DebugOption
+
+# Internal use only
+Function CheckPingInputParameters($Address2Ping, $PingClass, $Interface, $params)
+{
+ if (([String]::IsNullOrEmpty($Address2Ping))) {
+ Throw "ERROR: Address to ping is NULL"
+ }
+ $params.Remove("Address")
+ $params.Add("addr", $Address)
+
+ if (([String]::IsNullOrEmpty($PingClass))) {
+ Throw "ERROR: Ping class is NULL"
+ }
+
+ if ($PingClass -ne "ping" -and $PingClass -ne "ping6") {
+ Throw "ERROR: Not allowed Ping Class ($PingClass)"
+ }
+ if ($PingClass -ne "") {
+ $params.Remove("PingClass")
+ }
+
+ if ($Interface) {
+ $params.Remove("Interface")
+ $params.Add("intf", $Interface)
+ }
+}
+
+Function Ping-Host
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Address,
+
+ [ValidateSet("ping", "ping6")]
+ [string]$PingClass = "ping",
+
+ [string]$Interface = $null,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ if ($Interface) {
+ $ConnParams2 = getConnParameters_2 $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $lma = Get-LmNetworkInterface @ConnParams2
+ if ($lma.ReturnCode -ne 200) {
+ return $lma
+ }
+ $check = $false
+ $intfs = $lma.Data.Interface.name
+ foreach($item in $intfs) {
+ if ($item -eq $Interface) {
+ $check = $true
+ break
+ }
+ }
+ if ($check -eq $false) {
+ setKempAPIReturnObject 400 "Invalid interface ($Interface)" $null
+ return
+ }
+ }
+
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+ CheckPingInputParameters $Address $PingClass $Interface $params
+
+ $cmd = "logging/$PingClass"
+ try {
+ $response = SendCmdToLm -Command $cmd -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "PingHost" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Ping-Host
+
+Function Trace-TcpTraffic
+{
+ [cmdletbinding(SupportsShouldProcess=$true, DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(1, 200000)]
+ [int]$MaxPackets,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(1, 600)]
+ [int]$MaxTime,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Interface,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Port,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$TcpOptions,
+
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+
+ PROCESS
+ {
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = [ordered]@{}
+ if($MaxPackets){
+ $params.Add("maxpackets", $MaxPackets)
+ }
+ if($MaxTime){
+ $params.Add("maxtime", $MaxTime)
+ }
+ if($Interface){
+ $params.Add("interface", $Interface)
+ }
+ if($Port){
+ $params.Add("port", $Port)
+ }
+ if($Address){
+ $params.Add("address", $Address)
+ }
+ if($TcpOptions){
+ $params.Add("tcpoptions", $TcpOptions)
+ }
+
+ if (-not ($Path))
+ {
+ $defaultFolder = "$($Env:SystemRoot)\Temp"
+ if (Test-Path -Path $defaultFolder) {
+ $Path = "$defaultFolder\tcpdump_$(Get-Date -format yyyy-MM-dd_HH-mm-ss).pcap"
+ }
+ else {
+ Throw "ERROR: the default folder $($Env:SystemRoot)\Temp does not exist"
+ }
+ }
+ else {
+ $folder = Split-Path -Path $path
+ if (-not (Test-Path -Path $folder)) {
+ Throw "ERROR: the folder $folder does not exist"
+ }
+ }
+ Write-Verbose "output file: $Path"
+
+ if (($Force) -or ($PsCmdlet.ShouldProcess($Path, "Output File Overwrite"))) {
+
+ try {
+ $response = SendCmdToLm -Command "tcpdump" -ParameterValuePair $params -File $Path -Output -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+ }
+ }
+}
+Export-ModuleMember -function Trace-TcpTraffic, DoTcpDump
+
+# ==================================================
+# endregion DIAGNOSTIC
+# ==================================================
+
+
+# ==================================================
+# region N+M
+# ==================================================
+
+Function Get-ClusterStatus
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "cluster/status" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GetClusterStatus" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Get-ClusterStatus, NMClusterStatus
+
+Function New-Cluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SharedAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "cluster/create" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "NewCluster" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-Cluster, NMClusterCreate
+
+Function New-ClusterNode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "cluster/addnode" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function New-ClusterNode, NMAddNode
+
+Function Join-Cluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "cluster/joincluster" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Join-Cluster, NMJoinCluster
+
+Function Enable-ClusterNode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$NodeId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "cluster/enablenode" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Enable-ClusterNode, NMEnableNode
+
+Function Disable-ClusterNode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$NodeId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "cluster/disablenode" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Disable-ClusterNode, NMDisableNode
+
+Function Remove-ClusterNode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$NodeId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ validateCommonInputParams $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+ $ConnParams = getConnParameters $LoadBalancer $LBPort $Credential $SubjectCN $CertificateStoreLocation
+
+ $params = ConvertBoundParameters -hashtable $psboundparameters
+
+ try {
+ $response = SendCmdToLm -Command "cluster/deletenode" -ParameterValuePair $params -ConnParams $ConnParams
+ HandleLmAnswer -Command2ExecClass "GeneralCase" -LMResponse $response
+ }
+ catch {
+ $errMsg = $_.Exception.Message
+ setKempAPIReturnObject 400 "$errMsg" $null
+ }
+}
+Export-ModuleMember -function Remove-ClusterNode, NMDeleteNode
+
+# ==================================================
+# endregion N+M
+# ==================================================
+
+# SIG # Begin signature block
+# MIIcBQYJKoZIhvcNAQcCoIIb9jCCG/ICAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDxEUOyu6sFPsEg
+# ZCXvb1aCktk70TRZoG1OX0Aerr8s7aCCCtswggVWMIIEPqADAgECAhAZGjLLdZyX
+# uM+sEY3VEn9JMA0GCSqGSIb3DQEBCwUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UE
+# ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+# cmsxOjA4BgNVBAsTMShjKSAyMDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+# cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGlj
+# IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHNTAeFw0xNDAzMDQw
+# MDAwMDBaFw0yNDAzMDMyMzU5NTlaMIGRMQswCQYDVQQGEwJVUzEdMBsGA1UEChMU
+# U3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5l
+# dHdvcmsxQjBABgNVBAMTOVN5bWFudGVjIENsYXNzIDMgRXh0ZW5kZWQgVmFsaWRh
+# dGlvbiBDb2RlIFNpZ25pbmcgQ0EgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEP
+# ADCCAQoCggEBANAYAu7too0IWGMPJtfdInuI9uTH7DsmGHjTx6QgU42DfKU/fqXI
+# K0ffDfWm2cMdJZNgz3zc6gMsvnh/XEhtpwLZSfih6+uaYXyfwCbW3BXYuBB8ILpe
+# 9Cj2qOqnXHzGnJCQNDy2Iqz+ugw6HtZehLZb8KOBcHiKjUZSe/zbSfMpExF0T40W
+# s8LjoC3HAwSdzMNy4Q4M+wKO8SYXe26u+Lczi6ZhS0Xf8iVEx/ewmCM23Ch5Cuib
+# coio2Oiue38KZEWl8FeSmncGRR7rn+hm83p9koFfAC0euPZWE1piDbdHoY9y74Ne
+# guCUmOGspa2GN+Cn07qxPnrrRajxwUR94gMCAwEAAaOCAW0wggFpMBIGA1UdEwEB
+# /wQIMAYBAf8CAQAwLwYDVR0fBCgwJjAkoCKgIIYeaHR0cDovL3Muc3ltY2IuY29t
+# L3BjYTMtZzUuY3JsMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMDMA4GA1UdDwEB/wQE
+# AwIBBjAuBggrBgEFBQcBAQQiMCAwHgYIKwYBBQUHMAGGEmh0dHA6Ly9zLnN5bWNk
+# LmNvbTBfBgNVHSAEWDBWMFQGBFUdIAAwTDAjBggrBgEFBQcCARYXaHR0cHM6Ly9k
+# LnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGRoXaHR0cHM6Ly9kLnN5bWNiLmNv
+# bS9ycGEwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5bWFudGVjUEtJLTEtNjI5
+# MB0GA1UdDgQWBBQWZt5KNONQpxGGA7FsqcaszVlumzAfBgNVHSMEGDAWgBR/02Wn
+# wt3su/AwCfNDOfoCrzMxMzANBgkqhkiG9w0BAQsFAAOCAQEAP1sZ8/oT1XU4Klru
+# n1qgTKkdxcyU7t4V/vUQbqQbpWSDVBhYxAsooYXDTnTl/4l8/tXtPLpxn1YCJo8W
+# Koj+sKMnIs5L4jiOAKY6hl+d5T6o3mRJQXRBIf0HyIQX2h1lMILLJk851gQnpIGx
+# S0nDI4t+AjIYJ7erC/MYcrak7mcGbzimWI3g8X5dpGDGqOVQX+DouuKPmVi2taCo
+# dvGi8RyIQXJ+UpebCjaZjVD3Aes85/AiauU1jGM2ihqx2WdmX5ca76ggnfAvumzO
+# 2ZSFAPFY8X3JfCK1B10CxuYLv6uTk/8nGI4zNn5XNPHDrwTBhPFWs+iHgzb40wox
+# 3G4sbTCCBX0wggRloAMCAQICEAnjhjYs/6dOuAUymxv+wPcwDQYJKoZIhvcNAQEL
+# BQAwgZExCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlv
+# bjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazFCMEAGA1UEAxM5U3lt
+# YW50ZWMgQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIENvZGUgU2lnbmluZyBD
+# QSAtIEcyMB4XDTE3MTAxOTAwMDAwMFoXDTE5MTAxOTIzNTk1OVowgf4xEzARBgsr
+# BgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAgwIRGVsYXdhcmUxGTAXBgsr
+# BgEEAYI3PAIBAQwITmV3IFlvcmsxHTAbBgNVBA8TFFByaXZhdGUgT3JnYW5pemF0
+# aW9uMRAwDgYDVQQFEwc1MDg0MDMyMQswCQYDVQQGEwJVUzERMA8GA1UECAwITmV3
+# IFlvcmsxETAPBgNVBAcMCE5ldyBZb3JrMR8wHQYDVQQKDBZLRU1QIFRlY2hub2xv
+# Z2llcyBJbmMuMQswCQYDVQQLDAJRQTEfMB0GA1UEAwwWS0VNUCBUZWNobm9sb2dp
+# ZXMgSW5jLjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPaExXaYUBkx
+# Rx66WM67RJs7wYzxOrp45d15G1+/YKR++bLt3lq4a2GyAMeAQ64ORVAh7A/6mvGM
+# vmI0EnvDHIEd01DkuvPuTLWYm8qlQ9YEIDr9yGx91m3KTfXv9rI2yomdEYRogn/k
+# Hccj6aHw8zqfmW58raX1L8BpJZCm/POfXF2zdbQoLdwV1GBC1On/lrdgmrdy8yhU
+# Q1BayPtJyFcr+6PEXdAK6wUkMRr3VMBCxuisYDmpQkCuMJLKx/p6a0SueJ6WMbsW
+# 4FgOPrsEa568KIDzfrBo8PyLVz9GhK/CNCitSkcNjnRv7rjxDBY+UVskcrHR9FkZ
+# zvj89+xJe4cCAwEAAaOCAWAwggFcMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeA
+# MCsGA1UdHwQkMCIwIKAeoByGGmh0dHA6Ly9zdy5zeW1jYi5jb20vc3cuY3JsMGAG
+# A1UdIARZMFcwVQYFZ4EMAQMwTDAjBggrBgEFBQcCARYXaHR0cHM6Ly9kLnN5bWNi
+# LmNvbS9jcHMwJQYIKwYBBQUHAgIwGQwXaHR0cHM6Ly9kLnN5bWNiLmNvbS9ycGEw
+# FgYDVR0lAQH/BAwwCgYIKwYBBQUHAwMwHwYDVR0jBBgwFoAUFmbeSjTjUKcRhgOx
+# bKnGrM1ZbpswHQYDVR0OBBYEFHbptFBo4Z3aXxd30+dWUKYVSK7VMFgGCCsGAQUF
+# BwEBBEwwSjAfBggrBgEFBQcwAYYTaHR0cDovL3N3LnN5bWNkLmNvbTAnBggrBgEF
+# BQcwAoYbaHR0cDovL3N3MS5zeW1jYi5jb20vc3cuY3J0MA0GCSqGSIb3DQEBCwUA
+# A4IBAQCs9haqQM48HDVuu/2TI5HzuzHuX4hoQamrXtEK/bT36U2wEUr08q9nDCgE
+# a4a9zfrLvnmtt+Qo9Eow7Qe46SkGSLOu/CHUdC1tZFSaqBFdZfPJO5UuYQ5wiJbQ
+# Jp3dsVn1GyzmdrnYLlvyQ/b2/qDWmf8GA8gcnhtJQkGU0hPV8OUCaEnt3ia5ZHSp
+# BF0lxbXTRQBb7qLIsz+OyJdOBVa5T3UN7Ghga2LMMUCoZg6xTNtTPuQBOAx7QnEL
+# m0jvnkSdedx/JvxkIO+BKocCaWc/KBnNNRmVqkN6esIHzu1Q+yeYZZNEUVQaNfPa
+# TlDzUq3bSqBaYy8bbNjUn8eW2C+kMYIQgDCCEHwCAQEwgaYwgZExCzAJBgNVBAYT
+# AlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3lt
+# YW50ZWMgVHJ1c3QgTmV0d29yazFCMEAGA1UEAxM5U3ltYW50ZWMgQ2xhc3MgMyBF
+# eHRlbmRlZCBWYWxpZGF0aW9uIENvZGUgU2lnbmluZyBDQSAtIEcyAhAJ44Y2LP+n
+# TrgFMpsb/sD3MA0GCWCGSAFlAwQCAQUAoHwwEAYKKwYBBAGCNwIBDDECMAAwGQYJ
+# KoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQB
+# gjcCARUwLwYJKoZIhvcNAQkEMSIEIH3OOR0Nq3FXwsiHufkZVcu8TDURdzHPk1ED
+# taxvfRo7MA0GCSqGSIb3DQEBAQUABIIBADM15FKWDZ9CYkgMznW0p5hrBn+Ocska
+# Vkb7YXWsuLkiUv//4qvgMXyRPP8bD61um5WLHdw7p9X9G9oYNblkT4BI0O12otav
+# c//JEYunImdAuPPT+++f52LHIf9pyU+atTdwnWa5q/lUp5T9CHwJm8GMrysgqGxy
+# yD79tbiKxnX96z+dNp5Q0Yc4M2F5zT6ReS5vcrSMpmBIRvjnvWyI4IkZfVtX0oTv
+# j8F4MzKgvXSFOb8B0Thkp4QUVe820w96XYt87K7/NYifiKvxNDVtVZJaastm2+a3
+# aYx4tf4m5vegsoD36uyswKFep65gvxRkX7Vhj95o/XWIfeKIfIeWVHOhgg4sMIIO
+# KAYKKwYBBAGCNwMDATGCDhgwgg4UBgkqhkiG9w0BBwKggg4FMIIOAQIBAzENMAsG
+# CWCGSAFlAwQCATCB/wYLKoZIhvcNAQkQAQSgge8EgewwgekCAQEGC2CGSAGG+EUB
+# BxcDMCEwCQYFKw4DAhoFAAQUO9p03sbKyVMx22hRaDY5e7E9uqkCFQDIrHRpliZw
+# 3yq805DfTOdZpaAdgBgPMjAxNzExMzAxODIwMzVaMAMCAR6ggYakgYMwgYAxCzAJ
+# BgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UE
+# CxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazExMC8GA1UEAxMoU3ltYW50ZWMgU0hB
+# MjU2IFRpbWVTdGFtcGluZyBTaWduZXIgLSBHMqCCCoswggU4MIIEIKADAgECAhB7
+# BbHUSWhRRPfJidKcGZ0SMA0GCSqGSIb3DQEBCwUAMIG9MQswCQYDVQQGEwJVUzEX
+# MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0
+# IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y
+# IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh
+# bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE2MDExMjAwMDAwMFoX
+# DTMxMDExMTIzNTk1OVowdzELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVj
+# IENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMSgw
+# JgYDVQQDEx9TeW1hbnRlYyBTSEEyNTYgVGltZVN0YW1waW5nIENBMIIBIjANBgkq
+# hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1mdWVVPnYxyXRqBoutV87ABrTxxrDKP
+# BWuGmicAMpdqTclkFEspu8LZKbku7GOz4c8/C1aQ+GIbfuumB+Lef15tQDjUkQbn
+# QXx5HMvLrRu/2JWR8/DubPitljkuf8EnuHg5xYSl7e2vh47Ojcdt6tKYtTofHjmd
+# w/SaqPSE4cTRfHHGBim0P+SDDSbDewg+TfkKtzNJ/8o71PWym0vhiJka9cDpMxTW
+# 38eA25Hu/rySV3J39M2ozP4J9ZM3vpWIasXc9LFL1M7oCZFftYR5NYp4rBkyjyPB
+# MkEbWQ6pPrHM+dYr77fY5NUdbRE6kvaTyZzjSO67Uw7UNpeGeMWhNwIDAQABo4IB
+# dzCCAXMwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwZgYDVR0g
+# BF8wXTBbBgtghkgBhvhFAQcXAzBMMCMGCCsGAQUFBwIBFhdodHRwczovL2Quc3lt
+# Y2IuY29tL2NwczAlBggrBgEFBQcCAjAZGhdodHRwczovL2Quc3ltY2IuY29tL3Jw
+# YTAuBggrBgEFBQcBAQQiMCAwHgYIKwYBBQUHMAGGEmh0dHA6Ly9zLnN5bWNkLmNv
+# bTA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vcy5zeW1jYi5jb20vdW5pdmVyc2Fs
+# LXJvb3QuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMIMCgGA1UdEQQhMB+kHTAbMRkw
+# FwYDVQQDExBUaW1lU3RhbXAtMjA0OC0zMB0GA1UdDgQWBBSvY9bKo06FcuCnvEHz
+# KaI4f4B1YjAfBgNVHSMEGDAWgBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG
+# 9w0BAQsFAAOCAQEAdeqwLdU0GVwyRf4O4dRPpnjBb9fq3dxP86HIgYj3p48V5kAp
+# reZd9KLZVmSEcTAq3R5hF2YgVgaYGY1dcfL4l7wJ/RyRR8ni6I0D+8yQL9YKbE4z
+# 7Na0k8hMkGNIOUAhxN3WbomYPLWYl+ipBrcJyY9TV0GQL+EeTU7cyhB4bEJu8LbF
+# +GFcUvVO9muN90p6vvPN/QPX2fYDqA/jU/cKdezGdS6qZoUEmbf4Blfhxg726K/a
+# 7JsYH6q54zoAv86KlMsB257HOLsPUqvR45QDYApNoP4nbRQy/D+XQOG/mYnb5DkU
+# vdrk08PqK1qzlVhVBH3HmuwjA42FKtL/rqlhgTCCBUswggQzoAMCAQICEFRY8qrX
+# QdZEvISpe6CWUuYwDQYJKoZIhvcNAQELBQAwdzELMAkGA1UEBhMCVVMxHTAbBgNV
+# BAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVz
+# dCBOZXR3b3JrMSgwJgYDVQQDEx9TeW1hbnRlYyBTSEEyNTYgVGltZVN0YW1waW5n
+# IENBMB4XDTE3MDEwMjAwMDAwMFoXDTI4MDQwMTIzNTk1OVowgYAxCzAJBgNVBAYT
+# AlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3lt
+# YW50ZWMgVHJ1c3QgTmV0d29yazExMC8GA1UEAxMoU3ltYW50ZWMgU0hBMjU2IFRp
+# bWVTdGFtcGluZyBTaWduZXIgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+# AQoCggEBAJnz/NgECQOG+ddcppPAQnzqfGPPXQDijvPAkN+PKfUY6pS3kuXXsKBz
+# gejpCptKfAH/nY+kOacO6kX0Igw6cO05RYvkxRtc8EVoRiQFY3abHPyebCqxVuWK
+# f1JxrvI11UYjBhzPSC0dtM242XYjjhz/Pr+7BlxpB6ZlDvhern0u7U2uNe/J1wBC
+# /SiVDp9dckIJvMPaRNLtzEeE5PzKLaxYvq73rtlEDQi3wnfWGkNw0W4D3lKSxBAI
+# cdm6IlXyH7ztm5074l4dTIP/lw97C+dVg07SDeu+1+yubke5n9+l1lG8BFXt/ydw
+# TMntKksT4bG5TA/JAe5VZV9pAnhmyz8CAwEAAaOCAccwggHDMAwGA1UdEwEB/wQC
+# MAAwZgYDVR0gBF8wXTBbBgtghkgBhvhFAQcXAzBMMCMGCCsGAQUFBwIBFhdodHRw
+# czovL2Quc3ltY2IuY29tL2NwczAlBggrBgEFBQcCAjAZGhdodHRwczovL2Quc3lt
+# Y2IuY29tL3JwYTBABgNVHR8EOTA3MDWgM6Axhi9odHRwOi8vdHMtY3JsLndzLnN5
+# bWFudGVjLmNvbS9zaGEyNTYtdHNzLWNhLmNybDAWBgNVHSUBAf8EDDAKBggrBgEF
+# BQcDCDAOBgNVHQ8BAf8EBAMCB4AwdwYIKwYBBQUHAQEEazBpMCoGCCsGAQUFBzAB
+# hh5odHRwOi8vdHMtb2NzcC53cy5zeW1hbnRlYy5jb20wOwYIKwYBBQUHMAKGL2h0
+# dHA6Ly90cy1haWEud3Muc3ltYW50ZWMuY29tL3NoYTI1Ni10c3MtY2EuY2VyMCgG
+# A1UdEQQhMB+kHTAbMRkwFwYDVQQDExBUaW1lU3RhbXAtMjA0OC01MB0GA1UdDgQW
+# BBQJtcH+lnKXKUOayeACuq74/S+69jAfBgNVHSMEGDAWgBSvY9bKo06FcuCnvEHz
+# KaI4f4B1YjANBgkqhkiG9w0BAQsFAAOCAQEAF7MKiOlcWl4gazsKFbJsxamKMofT
+# sfQcU66Fvj+b/9e8t5SFtMdSfpTove1hstSnmeTDyZPBNT0L6GgKXVaYvbEiO9FE
+# ete/8G1RMorVI984ATf24lMreisRj7dNbHozAxt8awmUF7vk21jUIRNl5+zRJcos
+# dZqcf/zJuypoq8R9tM+jyWyn2cQAnIkKd5H0TaL7MTuGbvbmH1ADhpu/y0Kr5nab
+# cloRAYrG76VvlefdrrrmImXwGFkbEcnNgLfYl0cfQgj4rHEfsEZTs9Sy1aOrUHVI
+# EheCrc/gQU8yfs2VHL+Rigg9pKdnApbfJEyl0EHAgmCjihcyS9O8z6S0jDGCAlow
+# ggJWAgEBMIGLMHcxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jw
+# b3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEoMCYGA1UE
+# AxMfU3ltYW50ZWMgU0hBMjU2IFRpbWVTdGFtcGluZyBDQQIQVFjyqtdB1kS8hKl7
+# oJZS5jALBglghkgBZQMEAgGggaQwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEE
+# MBwGCSqGSIb3DQEJBTEPFw0xNzExMzAxODIwMzVaMC8GCSqGSIb3DQEJBDEiBCDe
+# QyWQBG7AmTZlssJvGcCR03/RUwUt34BxII2lDbpOtTA3BgsqhkiG9w0BCRACLzEo
+# MCYwJDAiBCDPesF60Efs1f3DaCIDGxLU7weLbytMXmukH4/yz0utZzALBgkqhkiG
+# 9w0BAQEEggEAIy6SGuj7sDp/l0nxKSv1xDCrXuy/1AyPTlDsbor23A5G+i4sqS8x
+# Lowa13v4A4yxUjcj+O3JuOVfori5x3ODgc3/M3TKMsZ6pvrcQqnnQedH/fAJLXJO
+# ZPYKBaXLtq/KEk38Kzjr/Pag2urBGsmBf2pJeqje0zY6TTBZFsXYFQWi3UGaAbe8
+# 2W3yhutMy6KIcRuUpLx03PEUNSUoByWloqZRpYATQUKPZ0mTIvlJhPIaRXV3m81Y
+# do0ps5FHOrqGV049YCSZ3B/zSWSH/LLgx8zk4ZwSsW8waIiZ4KvGDV8hRSHIBDaC
+# 4/SSwYW8kVlf9JwBrhDhOvBB0yYvIzd06Q==
+# SIG # End signature block
diff --git a/Kemp/modules/Kemp.LoadBalancer.Powershell/deprecated.psm1 b/Kemp/modules/Kemp.LoadBalancer.Powershell/deprecated.psm1
new file mode 100644
index 0000000..9db3ff5
--- /dev/null
+++ b/Kemp/modules/Kemp.LoadBalancer.Powershell/deprecated.psm1
@@ -0,0 +1,7771 @@
+#
+# $Id: fcarpin $ Fabrizio Carpin
+#
+
+$warning = "WARNING: This function is deprecated. Please use"
+
+# ==================================================
+# region TEMPLATES
+# ==================================================
+Function ExportVSTemplate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$Port,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$Protocol,
+
+ [Int32]$VSIndex,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Path,
+ [switch]$Force,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Export-VSTemplate"
+}
+Export-ModuleMember -function ExportVSTemplate
+
+Function UploadTemplate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Install-Template"
+}
+Export-ModuleMember -function UploadTemplate
+
+Function DeleteTemplate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-Template"
+}
+Export-ModuleMember -function DeleteTemplate
+
+Function ListTemplates
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-Template"
+}
+Export-ModuleMember -function ListTemplates
+# ==================================================
+# endregion TEMPLATES
+# ==================================================
+
+
+# ==================================================
+# region LOGGING
+# ==================================================
+Function Get-EmailOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LogEmailConfiguration"
+}
+Export-ModuleMember -function Get-EmailOption
+
+Function Set-EmailOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$EmailEnable,
+
+ [string]$EmailServer,
+
+ [ValidateRange(3, 65530)]
+ [int]$EmailPort,
+
+ [string]$EmailUser,
+
+ [string]$EmailPassword,
+
+ [string]$EmailDomain,
+
+ [ValidateSet(0, 1, 2, 3)]
+ [Int16]$EmailSSLMode,
+
+ [string]$EmailEmergency,
+
+ [string]$EmailCritical,
+
+ [string]$EmailError,
+
+ [string]$EmailWarn,
+
+ [string]$EmailNotice,
+
+ [string]$EmailInfo,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LogEmailConfiguration"
+}
+Export-ModuleMember -function Set-EmailOption
+
+Function Get-SyslogOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LogSyslogConfiguration"
+}
+Export-ModuleMember -function Get-SyslogOption
+
+Function Set-SyslogOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$SyslogCritical,
+ [string]$SyslogEmergency,
+ [string]$SyslogError,
+ [string]$SyslogInfo,
+ [string]$SyslogNotice,
+ [string]$SyslogWarn,
+
+ [UInt16]$SyslogPort,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LogSyslogConfiguration"
+}
+Export-ModuleMember -function Set-SyslogOption
+
+Function Get-Statistics
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [switch]$VirtualService,
+ [switch]$RealServer,
+ [switch]$Totals,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LogStatistics"
+}
+Export-ModuleMember -function Get-Statistics
+# ==================================================
+# endregion LOGGING
+# ==================================================
+
+
+# ==================================================
+# region SSO
+# ==================================================
+Function UploadRSAConfigurationFile
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Install-SSORSAConfigurationFile"
+}
+Export-ModuleMember -function UploadRSAConfigurationFile
+
+Function UploadRSANodeSecretAndPassword
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Password,
+
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Install-SSORSANodeSecretAndPassword"
+}
+Export-ModuleMember -function UploadRSANodeSecretAndPassword
+
+Function FlushSsoCache
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Clear-SSOCache"
+}
+Export-ModuleMember -function FlushSsoCache
+# ==================================================
+# endregion SSO
+# ==================================================
+
+
+# ==================================================
+# region NETWORKING
+# ==================================================
+Function ListIfconfig
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmNetworkInterface"
+}
+Export-ModuleMember -function ListIfconfig
+
+Function Get-NetworkOptions
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-NetworkConfiguration"
+}
+Export-ModuleMember -function Get-NetworkOptions
+
+Function Set-NetworkOptions
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$SNAT,
+
+ [bool]$AllowUpload,
+
+ [ValidateRange(0, 86400)]
+ [Int64]$ConnTimeout,
+
+ [bool]$KeepAlive,
+
+ [bool]$MultiGW,
+
+ [bool]$NonLocalRS,
+
+ [bool]$OnlyDefaultRoutes,
+
+ [bool]$ResetClose,
+
+ [bool]$SubnetOrigin,
+
+ [bool]$SubnetOriginating,
+
+ [bool]$TCPTimeStamp,
+
+ [bool]$RouteFilter,
+
+ [ValidateRange(512, 4096)]
+ [Int32]$DHKeySize,
+
+ [string]$Http_Proxy,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-NetworkConfiguration"
+}
+Export-ModuleMember -function Set-NetworkOptions
+
+Function Get-DNSConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-NetworkDNSConfiguration"
+}
+Export-ModuleMember -function Get-DNSConfiguration
+
+Function Set-DNSConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Hostname,
+
+ [string]$HA1Hostname,
+
+ [string]$HA2Hostname,
+
+ [string]$NameServer,
+
+ [string]$Searchlist,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-NetworkDNSConfiguration"
+}
+Export-ModuleMember -function Set-DNSConfiguration
+
+Function Update-LmDNSCache
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Update-NetworkDNSCache"
+}
+Export-ModuleMember -function Update-LmDNSCache
+
+Function Get-SNMPOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-NetworkSNMPConfiguration"
+}
+Export-ModuleMember -function Get-SNMPOption
+
+Function Set-SNMPOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$SNMPEnable,
+ [bool]$SNMPv3enable,
+ [string]$SNMPv3user,
+ [string]$SNMPv3userpasswd,
+
+ [ValidateSet("SHA", "MD5")]
+ [string]$snmpAuthProt,
+
+ [ValidateSet("AES", "DES")]
+ [string]$snmpPrivProt,
+
+ [string]$SNMPClient,
+ [string]$SNMPCommunity,
+ [string]$SNMPContact,
+ [string]$SNMPLocation,
+ [bool]$SNMPTrapEnable,
+ [bool]$SNMPHaTrap,
+ [string]$SNMPv1Sink,
+ [string]$SNMPv2Sink,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-NetworkSNMPConfiguration"
+}
+Export-ModuleMember -function Set-SNMPOption
+
+Function Get-Interface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Int16]$InterfaceID = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-NetworkInterface"
+}
+Export-ModuleMember -function Get-Interface
+
+Function Set-Interface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Int16]$InterfaceID = 0,
+
+ [string]$IPAddress,
+
+ [Int32]$MTU,
+
+ [bool]$HACheck,
+
+ [bool]$GWIface,
+
+ [bool]$clupdate,
+
+ [bool]$GeoTraffic,
+
+ [ValidateSet("802.3ad", "Active-backup")]
+ [string]$BondMode,
+
+ [string]$Partner,
+
+ [string]$Shared,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-NetworkInterface"
+}
+Export-ModuleMember -function Set-Interface
+
+Function Add-InterfaceAddress
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Int16]$InterfaceID,
+ [string]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-NetworkInterfaceAdditionalAddress"
+}
+Export-ModuleMember -function Add-InterfaceAddress
+
+Function Remove-InterfaceAddress
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [Int16]$InterfaceID,
+ [string]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Remove-NetworkInterfaceAdditionalAddress"
+}
+Export-ModuleMember -function Remove-InterfaceAddress
+
+Function Get-Route
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-NetworkRoute"
+}
+Export-ModuleMember -function Get-Route
+
+Function New-Route
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Destination,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Alias("Mask", "SubnetMask")]
+ [Int16]$CIDR,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Gateway,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-NetworkRoute"
+}
+Export-ModuleMember -function New-Route
+
+Function Remove-Route
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Destination,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-NetworkRoute"
+}
+Export-ModuleMember -function Remove-Route
+
+Function Register-BondedInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Register-NetworkBondedInterface"
+}
+Export-ModuleMember -function Register-BondedInterface
+
+Function Unregister-BondedInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Unregister-NetworkBondedInterface"
+}
+Export-ModuleMember -function Unregister-BondedInterface
+
+Function Add-BondedInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [Parameter(Mandatory=$true)]
+ [Int16]$BondID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-NetworkBondedInterface"
+}
+Export-ModuleMember -function Add-BondedInterface
+
+Function Remove-BondedInterface
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [Parameter(Mandatory=$true)]
+ [Int16]$BondID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-NetworkBondedInterface"
+}
+Export-ModuleMember -function Remove-BondedInterface
+
+Function Add-VLan
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(1, 4095)]
+ [Int16]$VLanId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-NetworkVLAN"
+}
+Export-ModuleMember -function Add-VLan
+
+Function Remove-VLan
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-NetworkVLAN"
+}
+Export-ModuleMember -function Remove-VLan
+
+Function Add-VxLan
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(1, 16777214)]
+ [Int32]$VNI,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Addr,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-NetworkVxLAN"
+}
+Export-ModuleMember -function Add-VxLan
+
+Function Remove-VxLan
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [Int16]$InterfaceID,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-NetworkVxLAN"
+}
+Export-ModuleMember -function Remove-VxLan
+# ==================================================
+# endregion NETWORKING
+# ==================================================
+
+
+# ==================================================
+# region ADC
+# ==================================================
+Function New-VirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$VirtualService,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [ValidateRange(0, 6)]
+ [Int16]$AddVia,
+
+ [string]$Template,
+
+ [bool]$Cache = $false,
+
+ [string]$CertFile,
+
+ [ValidateSet("tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", "ldap", "none")]
+ [string]$CheckType = "tcp",
+
+ [string]$CheckHost,
+
+ [string]$CheckPattern,
+
+ [string]$CheckUrl,
+
+ [string]$CheckHeaders,
+
+ [string]$LdapEndpoint,
+
+ [string]$MatchLen,
+
+ [ValidateRange(0, 1)]
+ [int]$CheckUse1_1 = -1,
+
+ [Int32]$CheckPort,
+
+ [bool]$EnhancedHealthChecks,
+
+ [Int32]$RsMinimum,
+
+ [ValidateRange(0, 2)]
+ [Int16]$ClientCert = 0,
+
+ [bool]$Compress = $false,
+
+ [string]$Cookie,
+
+ [ValidateRange(0, 100)]
+ [Int16]$CachePercent = 0,
+
+ [string]$DefaultGW,
+
+ [bool]$Enable = $true,
+
+ [string]$ErrorCode = 0,
+
+ [string]$ErrorUrl,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$PortFollow,
+
+ [bool]$ForceL7 = $true,
+
+ [ValidateRange(0, 86400)]
+ [Int32]$Idletime,
+
+ [String[]]$LocalBindAddresses,
+
+ [ValidateSet("gen", "http", "tls", "ts")]
+ [string]$VSType,
+
+ [string]$Nickname,
+
+ [ValidateSet("ssl", "cookie", "active-cookie", "cookie-src", "active-cook-src", "cookie-hash",
+ "url", "query-hash", "host", "header", "super", "super-src", "src", "rdp", "rdp-src",
+ "rdp-sb", "udpsip", "none")]
+ [string]$Persist,
+
+ [ValidateRange(0, 604800)]
+ [Int32]$PersistTimeout,
+
+ [string]$QueryTag,
+
+ [string]$CipherSet,
+
+ [bool]$SSLReencrypt,
+
+ [bool]$SSLReverse,
+
+ [ValidateSet("", "http", "https")]
+ [string]$SSLRewrite,
+
+ [string]$ReverseSNIHostname,
+
+ [ValidateSet("rr", "wrr", "lc", "wlc", "fixed", "adaptive", "sh")]
+ [string]$Schedule,
+
+ [ValidateRange(0, 5)]
+ [Int16]$ServerInit,
+
+ [bool]$SSLAcceleration,
+
+ [string]$StandByAddr,
+
+ [string]$StandByPort,
+
+ [Int32]$TransactionLimit,
+
+ [bool]$Transparent,
+
+ [bool]$SubnetOriginating,
+
+ [bool]$UseforSnat,
+
+ [ValidateSet("0", "1", "2", "4", "8")]
+ [string]$QoS,
+
+ [int32]$CheckUseGet,
+
+ [ValidateRange(0, 7)]
+ [Int16]$Verify,
+
+ [string]$ExtraHdrKey,
+
+ [string]$ExtraHdrValue,
+
+ [string]$AllowedHosts,
+
+ [string]$AllowedDirectories,
+
+ [string]$AllowedGroups,
+
+ [string]$GroupSIDs,
+
+ [bool]$IncludeNestedGroups,
+
+ [bool]$DisplayPubPriv,
+
+ [bool]$DisablePasswordForm,
+
+ [string]$Domain,
+
+ [string]$AltDomains,
+
+ [string]$Logoff,
+
+ [ValidateRange(0, 7)]
+ [Int16]$ESPLogs,
+
+ [string]$SMTPAllowedDomains,
+
+ [bool]$ESPEnabled,
+
+ [string]$UserPwdChangeUrl,
+
+ [string]$UserPwdChangeMsg,
+
+ [ValidateRange(0, 5)]
+ [Int16]$InputAuthMode,
+
+ [ValidateRange(0, 2)]
+ [Int16]$OutputAuthMode,
+
+ [ValidateRange(0, 1)]
+ [Int16]$StartTLSMode,
+
+ [string]$ExtraPorts,
+
+ [string]$AltAddress,
+
+ [bool]$MultiConnect,
+
+ [string]$SingleSignOnDir,
+
+ [string]$OCSPVerify,
+
+ [Int32]$FollowVSID,
+
+ [bool]$TlsType = $false,
+
+ [string]$CheckPostData,
+
+ [string]$CheckCodes,
+
+ [string]$PreProcPrecedence,
+
+ [Int16]$PreProcPrecedencePos,
+
+ [string]$RequestPrecedence,
+
+ [Int16]$RequestPrecedencePos,
+
+ [string]$ResponsePrecedence,
+
+ [Int16]$ResponsePrecedencePos,
+
+ [string]$RsRulePrecedence,
+
+ [Int16]$RsRulePrecedencePos,
+
+ [bool]$NeedHostName,
+
+ [string]$CopyHdrFrom = "",
+
+ [string]$CopyHdrTo = "",
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-AdcVirtualService"
+}
+Export-ModuleMember -function New-VirtualService
+
+Function Get-VirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [String]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-AdcVirtualService"
+}
+Export-ModuleMember -function Get-VirtualService
+
+Function Set-VirtualService
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [Int16]$AddVia,
+
+ [bool]$Cache,
+
+ [string]$CertFile,
+
+ [ValidateSet("tcp", "icmp", "https", "http", "smtp", "nntp", "ftp", "telnet", "pop3", "imap", "rdp", "ldap", "none")]
+ [string]$CheckType,
+
+ [string]$CheckHost,
+
+ [string]$CheckPattern,
+
+ [string]$CheckUrl,
+
+ [string]$CheckHeaders,
+
+ [string]$LdapEndpoint,
+
+ [string]$MatchLen,
+
+ [ValidateRange(0, 1)]
+ [int]$CheckUse1_1 = -1,
+
+ [Int32]$CheckPort,
+
+ [bool]$EnhancedHealthChecks,
+
+ [Int32]$RsMinimum,
+
+ [ValidateRange(0, 2)]
+ [Int16]$ClientCert,
+
+ [bool]$Compress,
+
+ [string]$Cookie,
+
+ [ValidateRange(0, 100)]
+ [Int16]$CachePercent,
+
+ [string]$DefaultGW,
+
+ [bool]$Enable,
+
+ [string]$ErrorCode,
+
+ [string]$ErrorUrl,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$PortFollow,
+
+ [bool]$ForceL7,
+
+ [ValidateRange(0, 86400)]
+ [Int32]$Idletime,
+
+ [String[]]$LocalBindAddresses,
+
+ [ValidateSet("gen", "http", "tls", "ts")]
+ [string]$VSType,
+
+ [string]$Nickname,
+
+ [ValidateSet("none", "ssl", "cookie", "active-cookie", "cookie-src", "active-cook-src", "cookie-hash", "url",
+ "query-hash", "host", "header", "super", "super-src", "src", "rdp", "rdp-src", "rdp-sb", "udpsip")]
+ [string]$Persist,
+
+ [ValidateRange(0, 604800)]
+ [Int32]$PersistTimeout,
+
+ [string]$QueryTag,
+
+ [string]$CipherSet,
+
+ [bool]$SSLReencrypt,
+
+ [bool]$SSLReverse,
+
+ [ValidateSet("", "http", "https")]
+ [string]$SSLRewrite,
+
+ [string]$ReverseSNIHostname,
+
+ [ValidateSet("rr", "wrr", "lc", "wlc", "fixed", "adaptive", "sh")]
+ [string]$Schedule,
+
+ [ValidateRange(0, 5)]
+ [Int16]$ServerInit,
+
+ [bool]$SSLAcceleration,
+
+ [string]$StandByAddr,
+
+ [string]$StandByPort,
+
+ [Int32]$TransactionLimit,
+
+ [bool]$Transparent,
+
+ [bool]$SubnetOriginating,
+
+ [bool]$UseforSnat,
+
+ [ValidateSet("0", "1", "2", "4", "8")]
+ [string]$QoS,
+
+ [int32]$CheckUseGet,
+
+ [ValidateRange(0, 7)]
+ [Int16]$Verify,
+
+ [string]$ExtraHdrKey,
+
+ [string]$ExtraHdrValue,
+
+ [string]$AllowedHosts,
+
+ [string]$AllowedDirectories,
+
+ [string]$AllowedGroups,
+
+ [string]$GroupSIDs,
+
+ [bool]$IncludeNestedGroups,
+
+ [bool]$DisplayPubPriv,
+
+ [bool]$DisablePasswordForm,
+
+ [string]$Domain,
+
+ [string]$AltDomains,
+
+ [string]$Logoff,
+
+ [ValidateRange(0, 7)]
+ [Int16]$ESPLogs,
+
+ [string]$SMTPAllowedDomains,
+
+ [bool]$ESPEnabled,
+
+ [string]$UserPwdChangeUrl,
+
+ [string]$UserPwdChangeMsg,
+
+ [ValidateRange(0, 5)]
+ [Int16]$InputAuthMode,
+
+ [ValidateRange(0, 1)]
+ [Int16]$OutputAuthMode,
+
+ [ValidateRange(0, 1)]
+ [Int16]$StartTLSMode,
+
+ [string]$ExtraPorts,
+
+ [string]$AltAddress,
+
+ [bool]$MultiConnect,
+
+ [string]$SingleSignOnDir,
+
+ [string]$OCSPVerify,
+
+ [Int32]$FollowVSID,
+
+ [bool]$TlsType = $false,
+
+ [string]$CheckPostData,
+
+ [string]$CheckCodes,
+
+ [string]$PreProcPrecedence,
+
+ [Int16]$PreProcPrecedencePos,
+
+ [string]$RequestPrecedence,
+
+ [Int16]$RequestPrecedencePos,
+
+ [string]$ResponsePrecedence,
+
+ [Int16]$ResponsePrecedencePos,
+
+ [string]$RsRulePrecedence,
+
+ [Int16]$RsRulePrecedencePos,
+
+ [bool]$NeedHostName,
+
+ [string]$CopyHdrFrom,
+
+ [string]$CopyHdrTo,
+
+ [string]$ServerFbaPath,
+
+ [string]$ServerFbaPost,
+
+ [bool]$Intercept,
+
+ [bool]$AllowHTTP2,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$InterceptOpts,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$InterceptRules,
+
+ [ValidateRange(0, 100000)]
+ [int32]$AlertThreshold,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-AdcVirtualService"
+}
+Export-ModuleMember -function Set-VirtualService
+
+Function Remove-VirtualService
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(ParameterSetName="IPAddress",ValueFromPipelineByPropertyName=$true)]
+ [Parameter(ParameterSetName="Credential")]
+ [Parameter(ParameterSetName="Certificate")]
+ [string]$VirtualService,
+
+ [Parameter(ParameterSetName="IPAddress",ValueFromPipelineByPropertyName=$true)]
+ [Parameter(ParameterSetName="Credential")]
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [Parameter(ParameterSetName="IPAddress",ValueFromPipelineByPropertyName=$true)]
+ [Parameter(ParameterSetName="Credential")]
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(ParameterSetName="Index",ValueFromPipelineByPropertyName=$true)]
+ [Parameter(ParameterSetName="Credential")]
+ [Parameter(ParameterSetName="Certificate")]
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Remove-AdcVirtualService"
+}
+Export-ModuleMember -function Remove-VirtualService
+
+Function New-RealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(3, 65530)]
+ [Int32]$RealServerPort,
+
+ [ValidateRange(1, 65530)]
+ [Int32]$Weight,
+
+ [ValidateSet("nat", "route")]
+ [string]$Forward = "nat",
+
+ [bool]$Enable = $true,
+
+ [bool]$Non_Local = $false,
+
+ [ValidateRange(0, 100000)]
+ [Int64]$Limit = 0,
+
+ [bool]$Critical,
+
+ [ValidateRange(0, 65535)]
+ [Int32]$Follow,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-AdcRealServe"
+}
+Export-ModuleMember -function New-RealServer
+
+Function Remove-RealServer
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RealServerPort,
+
+ [Int32]$RSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Remove-AdcRealServer"
+}
+Export-ModuleMember -function Remove-RealServer
+
+Function Set-RealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RealServerPort,
+
+ [Int32]$RSIndex = -1,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$NewPort,
+
+ [ValidateRange(1, 65530)]
+ [Int32]$Weight,
+
+ [ValidateSet("nat", "route")]
+ [string]$Forward = "nat",
+
+ [bool]$Enable = $true,
+
+ [ValidateRange(0, 100000)]
+ [Int64]$Limit = 0,
+
+ [bool]$Critical,
+
+ [ValidateRange(0, 65535)]
+ [Int32]$Follow,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-AdcRealServer"
+}
+Export-ModuleMember -function Set-RealServer
+
+Function Get-RealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [String]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [Int32]$RSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-AdcRealServer"
+}
+Export-ModuleMember -function Get-RealServer
+
+Function Enable-RealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RSIpAddress,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RSFqdn,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Enable-AdcRealServer"
+}
+Export-ModuleMember -function Enable-RealServer
+
+Function Disable-RealServer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RSIpaddress,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RSFqdn,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Disable-AdcRealServer"
+}
+Export-ModuleMember -function Disable-RealServer
+
+Function Remove-AdcVirtualServerRule
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("pre", "response", "request")]
+ [string]$RuleType,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Remove-AdcVirtualServiceRule"
+}
+Export-ModuleMember -function Remove-AdcVirtualServerRule
+
+Function Remove-VirtualServerRule
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("pre", "response", "request")]
+ [string]$RuleType,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Remove-AdcVirtualServiceRule"
+}
+Export-ModuleMember -function Remove-VirtualServerRule
+
+Function New-RealServerRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [Int32]$RSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-AdcRealServerRule"
+}
+Export-ModuleMember -function New-RealServerRule
+
+Function Remove-RealServerRule
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$VirtualService,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$VSPort,
+
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Int32]$VSIndex = -1,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$RealServer,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$RSPort,
+
+ [Int32]$RSIndex = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Remove-AdcRealServerRule"
+}
+Export-ModuleMember -function Remove-RealServerRule
+
+Function New-Rule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [string]$RuleName,
+
+ [ValidateSet("regex", "prefix", "postfix")]
+ [string]$MatchType = "regex",
+
+ [bool]$IncHost = $false,
+
+ [bool]$NoCase = $false,
+
+ [bool]$Negate = $false,
+
+ [bool]$IncQuery = $false,
+
+ [string]$Header,
+
+ [string]$Pattern,
+
+ [string]$Replacement,
+
+ [ValidateRange(0, 5)]
+ [Int32]$Type, # TODO: to change Type to RuleType. Pay attention to the mapping
+ # to add values range
+ # EVEN BETTER: set the RuleType to string as in Get-AdcContentRule with the
+ # same values and maps the string type to the corrispondent integer value.
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-AdcContentRule"
+}
+Export-ModuleMember -function New-Rule
+
+Function Remove-Rule
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true, ValueFromPipeline=$true)]
+ [string]$RuleName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Remove-AdcContentRule"
+}
+Export-ModuleMember -function Remove-Rule
+
+Function Set-Rule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [Parameter(Mandatory=$true)]
+ [string]$RuleName,
+
+ [ValidateSet("regex", "prefix", "postfix")]
+ [string]$MatchType = "regex",
+
+ [bool]$IncHost,
+
+ [bool]$NoCase,
+
+ [bool]$Negate,
+
+ [bool]$IncQuery,
+
+ [string]$Header,
+
+ [string]$Pattern,
+
+ [string]$Replacement,
+
+ [ValidateRange(0, 5)]
+ [Int32]$Type, # TODO: to change Type to RuleType. Pay attention to the mapping
+ # to add values range
+ # EVEN BETTER: set the RuleType to string as in Get-AdcContentRule with the
+ # same values and maps the string type to the corrispondent integer value.
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-AdcContentRule"
+}
+Export-ModuleMember -function Set-Rule
+
+Function Get-Rule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$RuleName,
+
+ [ValidateSet("MatchContentRule", "AddHeaderRule", "DeleteHeaderRule", "ReplaceHeaderRule", "ModifyUrlRule", "ReplaceBodyRule")]
+ [string]$RuleType,
+
+ [switch]$All,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-AdcContentRule"
+}
+Export-ModuleMember -function Get-Rule
+
+Function Get-L7Configuration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-AdcL7Configuration"
+}
+Export-ModuleMember -function Get-L7Configuration
+
+Function Set-L7Configuration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$ScalingOver64KConnections,
+
+ [ValidateSet("No", "Yes", "Yes - Accept Changes")]
+ [string]$AlwaysCheckPersist,
+
+ [bool]$AddPortToActiveCookie,
+
+ [bool]$RFCConform,
+
+ [bool]$CloseOnError,
+
+ [bool]$AddViaHeaderInCacheResponses,
+
+ [bool]$RSAreLocal,
+
+ [bool]$DropOnRSFail,
+
+ [bool]$DropAtDrainEnd,
+
+ [ValidateRange(30, 300)]
+ [Int16]$L7AuthTimeoutSecs,
+
+ [ValidateRange(60, 300)]
+ [Int16]$L7ClientTokenTimeoutSecs,
+
+ [int]$L7ConnectionDrainTimeoutSecs,
+
+ [ValidateSet("X-ClientSide", "X-Forwarded-For", "None")]
+ [string]$AdditionalL7Header,
+
+ [ValidateSet("RFC-2616 Compliant", "Require 100-Continue", "RFC-7231 Compliant")]
+ [string]$OneHundredContinueHandling,
+
+ [bool]$AllowEmptyPosts,
+
+ [bool]$AllowEmptyHttpHeaders,
+
+ [bool]$ForceCompleteRSMatch,
+
+ [ValidateRange(0, 600)]
+ [Int16]$SlowStart,
+
+ [bool]$ShareSubVSPersistance,
+
+ #[bool]$Transparent, # FIXME: still available?
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-AdcL7Configuration"
+}
+Export-ModuleMember -function Set-L7Configuration
+
+Function Get-LogSplitInterval
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ param(
+ [validatenotnullorempty()]
+ [string]$LoadBalancer = $loadbalanceraddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-AdcL7LogInsightSplitConfiguration"
+}
+Export-ModuleMember -function Get-LogSplitInterval
+
+Function Set-LogSplitInterval
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$logsplitinterval,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-AdcL7LogInsightSplitConfiguration"
+}
+Export-ModuleMember -function Set-LogSplitInterval
+
+Function Get-ServiceHealth
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-AdcServiceHealth"
+}
+Export-ModuleMember -function Get-ServiceHealth
+
+Function Set-ServiceHealth
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateRange(9, 120)]
+ [Int16]$CheckInterval,
+
+ [ValidateRange(4, 60)]
+ [Int16]$ConnectTimeout,
+
+ [ValidateRange(2, 15)]
+ [Int16]$RetryCount,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-AdcServiceHealth"
+}
+Export-ModuleMember -function Set-ServiceHealth
+
+Function Add-NoCompressExtension
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,ValueFromPipeline=$true)]
+ [ValidatePattern({^\.})]
+ [String[]]$Extension,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-AdcHttpCompressionException"
+}
+Export-ModuleMember -function Add-NoCompressExtension
+
+Function Remove-NoCompressExtension
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,ValueFromPipeline=$true)]
+ [ValidatePattern({^\.})]
+ [String[]]$Extension,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-AdcServiceHealth"
+}
+Export-ModuleMember -function Remove-NoCompressExtension
+
+Function Add-NoCacheExtension
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true, ValueFromPipeline=$true)]
+ [ValidatePattern({^\.})]
+ [String[]]$Extension,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-AdcHttpCacheException"
+}
+Export-ModuleMember -function Add-NoCacheExtension
+
+Function Remove-NoCacheExtension
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true, ValueFromPipeline=$true)]
+ [ValidatePattern({^\.})]
+ [String[]]$Extension,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-AdcHttpCacheException"
+}
+Export-ModuleMember -function Remove-NoCacheExtension
+
+Function Get-AdaptiveCheck
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-AdcAdaptiveHealthCheck"
+}
+Export-ModuleMember -function Get-AdaptiveCheck
+
+Function Set-AdaptiveCheck
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$AdaptiveURL,
+ [Int32]$AdaptivePort,
+ [ValidateRange(10, 60)]
+ [Int32]$AdaptiveInterval,
+ [Int16]$MinPercent,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-AdcAdaptiveHealthCheck"
+}
+Export-ModuleMember -function Set-AdaptiveCheck
+
+Function VSAddWafRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VS,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(Mandatory=$true)]
+ [string]$Rule,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Enablerules,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Disablerules,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-AdcVsWafRule"
+}
+Export-ModuleMember -function VSAddWafRule
+
+Function VSRemoveWafRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VS,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Rule,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-AdcVsWafRule"
+}
+Export-ModuleMember -function VSRemoveWafRule
+
+Function VSListWafRuleIds
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VS,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$VSPort,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [ValidateSet("tcp", "udp")]
+ [string]$VSProtocol,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Rule,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-AdcVsWafRule"
+}
+Export-ModuleMember -function VSListWafRuleIds
+# ==================================================
+# endregion ADC
+# ==================================================
+
+
+# ==================================================
+# region SECURITY
+# ==================================================
+Function Set-AdminAccess
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(0, 99)]
+ [Int32]$WuiNetworkInterfaceId = -1,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(3, 65530)]
+ [int32]$WuiPort = -1,
+
+ [string]$WuiDefaultGateway,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-SecAdminAccess"
+}
+Export-ModuleMember -function Set-AdminAccess
+
+Function Get-WUIAuth
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-SecWuiAuthentication"
+}
+Export-ModuleMember -function Get-WUIAuth
+
+Function Set-WUIAuth
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$RADIUSServer,
+
+ [ValidateRange(3, 65530)]
+ [Int64]$RADIUSPort,
+
+ [string]$RADIUSSecret,
+
+ [string]$RADIUSBackupServer,
+
+ [ValidateRange(3, 65530)]
+ [Int64]$RADIUSBackupPort,
+
+ [string]$RADIUSBackupSecret,
+
+ [int]$RADIUSRevalidateInterval,
+
+ [string]$WuiLdapEp,
+
+ [bool]$SessionLocalAuth,
+
+ [ValidateSet(7, 22, 23, 262, 263, 278, 279, 772, 773, 774, 775, 788, 789, 790, 791)]
+ [Int16]$SessionAuthMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-SecWuiAuthentication"
+}
+Export-ModuleMember -function Set-WUIAuth
+
+Function Get-WUISetting
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-SecAdminWuiConfiguration"
+}
+Export-ModuleMember -function Get-WUISetting
+
+Function Set-WUISetting
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateRange(0, 14)]
+ [int]$WUITLSProtocols,
+
+ [ValidateSet("Default", "Default_NoRc4", "BestPractices", "Intermediate_compatibility", "Backward_compatibility", "WUI", "FIPS", "Legacy")]
+ [string]$WUICipherset,
+
+ [bool]$sessioncontrol,
+
+ [bool]$sessionbasicauth,
+
+ [ValidateRange(1, 999)]
+ [Int16]$sessionmaxfailattempts,
+
+ [ValidateRange(60, 86400)]
+ [Int32]$sessionidletime,
+
+ [ValidateRange(0, 9)]
+ [Int16]$sessionconcurrent,
+
+ [string]$wuipreauth,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-SecAdminWuiConfiguration"
+}
+Export-ModuleMember -function Set-WUISetting
+
+Function UserSetSystemPassword
+{
+ [CmdletBinding()]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$CurrentPassword,
+
+ [Parameter(Mandatory=$true)]
+ [String]$NewPassword,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred
+ )
+ Write-Output "$warning Set-SecSystemUserPassword"
+}
+Export-ModuleMember -function UserSetSystemPassword
+
+Function UserSetPermissions
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$User,
+
+ [Parameter(Mandatory=$true)]
+ [String]$Permissions,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-SecUserPermission"
+}
+Export-ModuleMember -function UserSetPermissions
+
+Function UserChangeLocalPassword
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$User,
+
+ [Parameter(Mandatory=$true)]
+ [String]$Password,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateRange(0, 1)]
+ [int]$Radius,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-SecUserPassword"
+}
+Export-ModuleMember -function UserChangeLocalPassword
+# ==================================================
+# endregion SECURITY
+# ==================================================
+
+
+# ==================================================
+# region SYSTEM
+# ==================================================
+Function Initialize-LoadBalancer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = 443,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = [System.Management.Automation.PSCredential]::Empty,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $null,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $null
+ )
+ Write-Output "$warning Initialize-LmConnectionParameters"
+}
+Export-ModuleMember -function Initialize-LoadBalancer
+
+Function Test-ServerConnection
+{
+ [CmdletBinding()]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$ComputerName,
+
+ [ValidateRange(3, 65530)]
+ [Int32]$Port
+ )
+ Write-Output "$warning Test-LmServerConnection"
+}
+Export-ModuleMember -function Test-ServerConnection
+# ==================================================
+# endregion SYSTEM
+# ==================================================
+
+
+# ==================================================
+# region GET-SET
+# ==================================================
+Function Get-AllParameters
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmAllParameters"
+}
+Export-ModuleMember -function Get-AllParameters, Get-AllParameters
+
+Function Get-Parameter
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Param,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmParameter"
+}
+Export-ModuleMember -function Get-Parameter
+
+Function Set-Parameter
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Param,
+
+ [Parameter(Mandatory=$true)]
+ [AllowEmptyString()]
+ [String]$Value = "",
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+
+ )
+ Write-Output "$warning Set-LmParameter"
+}
+Export-ModuleMember -function Set-Parameter
+
+# ==================================================
+# endregion GET-SET
+# ==================================================
+
+
+# ==================================================
+# region TLS
+# ==================================================
+Function New-Certificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Name,
+
+ [string]$Password,
+
+ [switch]$Replace,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-TlsCertificate"
+}
+Export-ModuleMember -function New-Certificate
+
+Function ListCert
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$CertName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-TlsCertificate"
+}
+Export-ModuleMember -function ListCert
+
+Function Remove-Certificate
+{
+ [cmdletbinding(SupportsShouldProcess=$true,ConfirmImpact="High",DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Remove-TlsCertificate"
+}
+Export-ModuleMember -function Remove-Certificate
+
+Function Backup-Certificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateLength(6, 64)]
+ [string]$Password,
+
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Backup-TlsCertificate"
+}
+Export-ModuleMember -function Backup-Certificate
+
+Function Restore-Certificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateLength(6, 64)]
+ [string]$Password,
+
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("Full", "VS", "Third")]
+ [string]$Type,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Restore-TlsCertificate"
+}
+Export-ModuleMember -function Restore-Certificate
+
+Function New-IntermediateCertificate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Name,
+
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-TlsIntermediateCertificate"
+}
+Export-ModuleMember -function New-IntermediateCertificate
+
+Function Remove-IntermediateCertificate
+{
+ [cmdletbinding(SupportsShouldProcess=$true,ConfirmImpact="High",DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Remove-TlsIntermediateCertificate"
+}
+Export-ModuleMember -function Remove-IntermediateCertificate
+
+Function GetCipherset
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-TlsCipherSet"
+}
+Export-ModuleMember -function GetCipherset
+
+Function ModifyCipherset
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Value,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-TlsCipherSet"
+}
+Export-ModuleMember -function ModifyCipherset
+
+Function DelCipherset
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-TlsCipherSet"
+}
+Export-ModuleMember -function DelCipherset
+
+Function HSMShow
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-TlsHSM"
+}
+Export-ModuleMember -function HSMShow
+
+Function HSMConfigure
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [String]$Sethsm,
+ [String]$Safeaddr,
+ [String]$Clpass,
+ [bool]$Enable,
+ [String]$Cavhsmaddr,
+ [String]$Cavhsmpasswd,
+ [String]$Cavhsmuser,
+ [bool]$Cavhsmenable,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-TlsHSM"
+}
+Export-ModuleMember -function HSMConfigure
+
+Function HSMGenerateClientCert
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Clcertname,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning New-TlsHSMClientCert"
+}
+Export-ModuleMember -function HSMGenerateClientCert
+
+Function HSMUploadCACert
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-TlsHSMCACert"
+}
+Export-ModuleMember -function HSMUploadCACert
+# ==================================================
+# endregion TLS
+# ==================================================
+
+
+# ==================================================
+# region WAF
+# ==================================================
+Function ListWafRules
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-WafRules"
+}
+Export-ModuleMember -function ListWafRules
+
+Function AddWafCustomData
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-WafCustomRuleData"
+}
+Export-ModuleMember -function AddWafCustomData
+
+Function DownloadWafCustomData
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RuleDataName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Export-WafCustomRuleData"
+}
+Export-ModuleMember -function DownloadWafCustomData
+
+Function DelWafCustomData
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Filename,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Uninstall-WafCustomRuleData"
+}
+Export-ModuleMember -function DelWafCustomData
+
+Function AddWafCustomRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-WafCustomRuleSet"
+}
+Export-ModuleMember -function AddWafCustomRule
+
+Function DelWafCustomRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Filename,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Uninstall-WafCustomRuleSet"
+}
+Export-ModuleMember -function DelWafCustomRule
+
+Function DownloadWafCustomRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RuleSetName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Export-WafCustomRuleSet"
+}
+Export-ModuleMember -function DownloadWafCustomRule
+
+Function EnableWafRemoteLogging
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$RemoteURI,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Username,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Passwd,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Enable-WafRemoteLogging"
+}
+Export-ModuleMember -function EnableWafRemoteLogging
+
+Function DisableWafRemoteLogging
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Disable-WafRemoteLogging"
+}
+Export-ModuleMember -function DisableWafRemoteLogging
+
+Function ListWafAuditFiles
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-WafAuditFiles"
+}
+Export-ModuleMember -function ListWafAuditFiles
+
+Function DownloadWafAuditLog
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$AuditFile,
+
+ [string]$Filter,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Export-WafAuditLog"
+}
+Export-ModuleMember -function DownloadWafAuditLog
+
+Function GetWafChangeLog
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Export-WafChangeLog"
+}
+Export-ModuleMember -function GetWafChangeLog
+
+Function ManInstallWafRules
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Install-WafRulesDatabase"
+}
+Export-ModuleMember -function ManInstallWafRules
+
+Function DownloadWafRules
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Update-WafRulesDatabase"
+}
+Export-ModuleMember -function DownloadWafRules
+
+Function GetWafSettings
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-WafRulesAutoUpdateConfiguration"
+}
+Export-ModuleMember -function GetWafSettings
+# ==================================================
+# endregion WAF
+# ==================================================
+
+
+# ==================================================
+# region GEO
+# ==================================================
+Function AddFQDN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-GeoFQDN"
+}
+Export-ModuleMember -function AddFQDN
+
+Function Add-GeoFQDN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-GeoFQDN"
+}
+Export-ModuleMember -function Add-GeoFQDN
+
+Function DeleteFQDN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoFQDN"
+}
+Export-ModuleMember -function DeleteFQDN
+
+Function ListFQDNs
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-GeoFQDN"
+}
+Export-ModuleMember -function ListFQDNs
+
+Function ModifyFQDN
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [ValidateSet("RoundRobin", "WeightedRoundRobin", "FixedWeighting", "RealServerLoad", "Proximity", "LocationBased", "AllAvailable")]
+ [String]$SelectionCriteria,
+
+ [ValidateRange(0, 1440)]
+ [Int32]$SiteFailureDelay = -1,
+
+ [ValidateSet("auto", "manual")]
+ [String]$SiteRecoveryMode,
+
+ [ValidateSet("PublicSitesOnly", "PreferPublicSites", "PreferPrivateSites", "AllSites")]
+ [string]$PublicRequest,
+
+ [ValidateSet("PrivateSitesOnly", "PreferPrivateSites", "PreferPublicSites", "AllSites")]
+ [string]$PrivateRequest,
+
+ [String]$Failover,
+
+ [bool]$LocalSettings,
+
+ [ValidateRange(1, 86400)]
+ [Int32]$localttl,
+
+ [ValidateRange(0, 86400)]
+ [Int32]$localsticky,
+
+ [bool]$UnanimousChecks,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoFQDN"
+}
+Export-ModuleMember -function ModifyFQDN
+
+Function AddCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-GeoCluster"
+}
+Export-ModuleMember -function AddCluster
+
+Function DeleteCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoCluster"
+}
+Export-ModuleMember -function DeleteCluster
+
+Function Get-GeoCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-GeoCluster"
+}
+Export-ModuleMember -function ListClusters
+
+Function ShowCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-GeoCluster"
+}
+Export-ModuleMember -function ShowCluster
+
+Function ModifyCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [String]$ClusterName,
+
+ [ValidateSet("default", "remoteLM", "localLM")]
+ [String]$Type,
+
+ [ValidateSet("none", "tcp", "icmp")]
+ [String]$Checker,
+
+ [Int32]$CheckerPort,
+
+ [String]$Enable,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoCluster"
+}
+Export-ModuleMember -function ModifyCluster
+
+Function ClusterChangeLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$ClusterIp,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$LatSecs,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$LongSecs,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoClusterCoordinates"
+}
+Export-ModuleMember -function ClusterChangeLocation
+
+Function AddMap
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [string]$Cluster,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-GeoFQDNSiteAddress"
+}
+Export-ModuleMember -function AddMap
+
+Function DeleteMap
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoFQDNSiteAddress"
+}
+Export-ModuleMember -function DeleteMap
+
+Function ModifyMap
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [ValidateSet("None", "Icmp Ping", "Tcp Connect", "Cluster Checks")]
+ [String]$Checker,
+
+ [Int32]$Weight,
+
+ [String]$Enable,
+
+ [String]$Cluster,
+
+ [String]$Mapaddress,
+
+ [String]$Mapport,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoFQDNSiteAddress"
+}
+Export-ModuleMember -function ModifyMap
+
+Function ChangeCheckerAddr
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$CheckerIP,
+
+ [Parameter(Mandatory=$true,Position=3)]
+ [ValidateNotNullOrEmpty()]
+ [String]$CheckerPort,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoFQDNSiteCheckerAddress"
+}
+Export-ModuleMember -function ChangeCheckerAddr
+
+Function AddCountry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress, # was IP
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CountryCode,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$IsContinent,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CustomLocation,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoFQDNSiteCountry"
+}
+Export-ModuleMember -function AddCountry
+
+Function RemoveCountry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CountryCode,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$IsContinent,
+
+ [ValidateNotNullOrEmpty()]
+ [String]$CustomLocation,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoFQDNSiteCountry"
+}
+Export-ModuleMember -function RemoveCountry
+
+Function ChangeMapLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$FQDN,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SiteAddress,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$Lat,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$Long,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoFQDNSiteCoordinates"
+}
+Export-ModuleMember -function ChangeMapLocation
+
+Function AddCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Location,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-GeoCustomLocation"
+}
+Export-ModuleMember -function AddCustomLocation
+
+Function DeleteCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$Location,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoCustomLocation"
+}
+Export-ModuleMember -function DeleteCustomLocation
+
+Function ListCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-GeoCustomLocation"
+}
+Export-ModuleMember -function ListCustomLocation
+
+Function EditCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$clOldName,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [string]$clNewName,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoCustomLocation"
+}
+Export-ModuleMember -function EditCustomLocation
+
+Function AddIP
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-GeoIpRange"
+}
+Export-ModuleMember -function AddIP
+
+Function DeleteIP
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoIpRange"
+}
+Export-ModuleMember -function DeleteIP
+
+Function ShowIP
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-GeoIpRange"
+}
+Export-ModuleMember -function ShowIP
+
+Function ListIPs
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-GeoIpRange"
+}
+Export-ModuleMember -function ListIPs
+
+Function ModifyIPLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$Lat,
+
+ [Parameter(Mandatory=$true)]
+ [Int32]$Long,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoIPRangeCoordinates"
+}
+Export-ModuleMember -function ModifyIPLocation
+
+Function DeleteIPLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoIPRangeCoordinates"
+}
+Export-ModuleMember -function DeleteIPLocation
+
+Function AddIPCountry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [Parameter(Mandatory=$true)]
+ [String]$CountryCode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoIPRangeCountry"
+}
+Export-ModuleMember -function AddIPCountry
+
+Function RemoveIPCountryCustom
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,Position=0)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoIPRangeCountry"
+}
+Export-ModuleMember -function RemoveIPCountryCustom
+
+Function Remove-GeoIPRangeCustomLocation
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,Position=0)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoIPRangeCountry"
+}
+Export-ModuleMember -function Remove-GeoIPRangeCustomLocation
+
+Function RemoveIPCountry
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true,Position=0)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-GeoIPRangeCountry"
+}
+Export-ModuleMember -function RemoveIPCountry
+
+Function AddIPCountryCustom
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IP,
+
+ [Parameter(Mandatory=$true)]
+ [String]$CustomLoc,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoIPRangeCustomLocation"
+}
+Export-ModuleMember -function AddIPCountryCustom
+
+Function ListMiscParameters
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-GeoMiscParameter"
+}
+Export-ModuleMember -function ListMiscParameters
+
+Function ModifyMiscParameters
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [String]$SourceOfAuthority,
+ [String]$NameSrv,
+ [String]$SOAEmail,
+ [String]$TTL,
+ [String]$Persist,
+ [String]$CheckInterval,
+ [String]$ConnTimeout,
+ [String]$RetryAttempts,
+ [String]$Zone,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-GeoMiscParameter"
+}
+Export-ModuleMember -function ModifyMiscParameters
+
+Function LocationDataUpdate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Update-GeoDatabase"
+}
+Export-ModuleMember -function LocationDataUpdate
+
+Function EnableGEO
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Update-GeoDatabase"
+}
+Export-ModuleMember -function EnableGEO
+
+Function DisableGEO
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Disable-LmGeoPack"
+}
+Export-ModuleMember -function DisableGEO
+
+Function IsGEOEnabled
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Disable-LmGeoPack"
+}
+Export-ModuleMember -function IsGEOEnabled
+# ==================================================
+# endregion GEO
+# ==================================================
+
+
+# ==================================================
+# region BACKUP
+# ==================================================
+Function Backup-LoadBalancer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+ [switch]$Force,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Backup-LmConfiguration"
+}
+Export-ModuleMember -function Backup-LoadBalancer
+
+Function Restore-LoadBalancer
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("Base", "Base + VS", "Base + Geo", "VS", "VS + Geo", "Geo", "SSO/LDAP", "All")]
+ [string]$Type,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Restore-LmConfiguration"
+}
+Export-ModuleMember -function Restore-LoadBalancer
+
+Function Get-BackupOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmBackupConfiguration"
+}
+Export-ModuleMember -function Get-BackupOption
+
+Function Set-BackupOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateSet("yes", "no")]
+ [string]$BackupEnable,
+
+ [ValidateRange(0, 23)]
+ [Int16]$BackupHour,
+
+ [ValidateRange(0, 59)]
+ [Int16]$BackupMinute,
+
+ [ValidateRange(0, 7)]
+ [Int16]$BackupDay,
+
+ [ValidateSet("Ftp", "SCP")]
+ [string]$BackupMethod,
+
+ [string]$BackupUser,
+
+ [string]$BackupPassword,
+
+ [string]$BackupHost,
+
+ [string]$BackupPath,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmBackupConfiguration"
+}
+Export-ModuleMember -function Set-BackupOption
+# ==================================================
+# endregion BACKUP
+# ==================================================
+
+
+# ==================================================
+# region VPN
+# ==================================================
+Function CreateVpnConnection
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-LmVpnConnection"
+}
+Export-ModuleMember -function CreateVpnConnection
+
+Function DeleteVpnConnection
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-LmVpnConnection"
+}
+Export-ModuleMember -function DeleteVpnConnection
+
+Function ListVpns
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmVpnConnection"
+}
+Export-ModuleMember -function ListVpns
+
+Function SetVpnAddrs
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalIp,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalSubnets,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteIp,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteSubnets,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmVpnAddrs"
+}
+Export-ModuleMember -function SetVpnAddrs
+
+Function SetVpnLocalIp
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalIp,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmVpnLocalIp"
+}
+Export-ModuleMember -function SetVpnLocalIp
+
+Function SetVpnLocalSubnets
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalSubnets,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmVpnLocalIp"
+}
+Export-ModuleMember -function SetVpnLocalSubnets
+
+Function SetVpnRemoteIp
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteIp,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmVpnRemoteIp"
+}
+Export-ModuleMember -function SetVpnRemoteIp
+
+Function SetVpnRemoteSubnets
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteSubnets,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmVpnRemoteSubnet"
+}
+Export-ModuleMember -function SetVpnRemoteSubnets
+
+Function SetVpnSecret
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$LocalId,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$RemoteId,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Key,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmVpnSecret"
+}
+Export-ModuleMember -function SetVpnSecret
+
+Function StartVpnConnection
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Start-LmVpnConnection"
+}
+Export-ModuleMember -function StartVpnConnection
+
+Function StopVpnConnection
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Stop-LmVpnConnection"
+}
+Export-ModuleMember -function StopVpnConnection
+
+Function StartIkeDaemon
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Start-LmVpnIkeDaemon"
+}
+Export-ModuleMember -function StartIkeDaemon
+
+Function StopIkeDaemon
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Stop-LmVpnIkeDaemon"
+}
+Export-ModuleMember -function StopIkeDaemon
+
+Function StatusIkeDaemon
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmVpnIkeDaemonStatus"
+}
+Export-ModuleMember -function StatusIkeDaemon
+
+Function SetVpnPfsEnable
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmVpnPfsEnable"
+}
+Export-ModuleMember -function SetVpnPfsEnable
+
+Function SetVpnPfsDisable
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmVpnPfsDisable"
+}
+Export-ModuleMember -function SetVpnPfsDisable
+# ==================================================
+# endregion VPN
+# ==================================================
+
+
+# ==================================================
+# region ADDON
+# ==================================================
+Function UploadAddon
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Install-LmAddon"
+}
+Export-ModuleMember -function UploadAddon
+
+Function DeleteAddon
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Name,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-LmAddon"
+}
+Export-ModuleMember -function DeleteAddon
+
+Function ListAddons
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmAddOn"
+}
+Export-ModuleMember -function ListAddons
+# ==================================================
+# endregion ADDON
+# ==================================================
+
+
+# ==================================================
+# region PATCH
+# ==================================================
+Function Install-Patch
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateScript({Test-Path $_})]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Install-LmPatch"
+}
+Export-ModuleMember -function Install-Patch
+
+Function Restore-Patch
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Uninstall-LmPatch"
+}
+Export-ModuleMember -function Restore-Patch
+
+Function Restart-LoadBalancer
+{
+ [cmdletbinding(SupportsShouldProcess=$true, ConfirmImpact="High", DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Shutdown,
+ [switch]$Force,
+ [int]$SleepTime,
+ [int]$Cycles
+ )
+ Write-Output "$warning Restart-Lm"
+}
+Export-ModuleMember -function Restart-LoadBalancer
+# ==================================================
+# endregion PATCH
+# ==================================================
+
+
+# ==================================================
+# region DATE-TIME
+# ==================================================
+Function Get-DateTimeOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmDateTimeConfiguration"
+}
+Export-ModuleMember -function Get-DateTimeOption
+
+Function Set-DateTimeOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [string]$NTPHost,
+
+ [string]$TimeZone,
+
+ [ValidateRange(1, 100)]
+ [int]$NTPKeyId,
+
+ [string]$NTPKeySecret,
+
+ [ValidateSet("SHA-1", "MD5")]
+ [string]$NTPKeyType,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmDateTimeConfiguration"
+}
+Export-ModuleMember -function Set-DateTimeOption
+# ==================================================
+# endregion DATE-TIME
+# ==================================================
+
+
+# ==================================================
+# region SDN
+# ==================================================
+Function AddSDNController
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$IPV4,
+
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$Port,
+
+ [Int32]$Clid,
+
+ [Boolean]$Https,
+
+ [String]$User,
+
+ [String]$Password,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-SdnController"
+}
+Export-ModuleMember -function AddSDNController
+
+Function DeleteSDNController
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Int32]$Clid,
+
+ [Int32]$Cid,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-SdnController"
+}
+Export-ModuleMember -function DeleteSDNController
+
+Function ModifySDNController
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$Cid,
+
+ [Int32]$Clid,
+
+ [String]$IPV4,
+
+ [Int32]$Port,
+
+ [Boolean]$Https,
+
+ [String]$User,
+
+ [String]$Password,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-SdnController"
+}
+Export-ModuleMember -function ModifySDNController
+
+Function GetSDNController
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-SdnController"
+}
+Export-ModuleMember -function GetSDNController
+# ==================================================
+# endregion SDN
+# ==================================================
+
+
+# ==================================================
+# region AFE
+# ==================================================
+Function Get-AFEConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmAFEConfiguration"
+}
+Export-ModuleMember -function Get-AFEConfiguration
+
+Function Set-AFEConfiguration
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateRange(1, 409)]
+ [Int]$CacheSize,
+
+ [bool]$HostCache,
+
+ [ValidateSet("Low - Only logging, no rejection", "Default - Only Critical problems are rejected", "High - Serious and Critical problems are rejected", "Paranoid - All problems detected are rejected")]
+ [string]$DetectionLevel,
+
+ [ValidateRange(0, 100000)]
+ [Int64]$LimitInput,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmAFEConfiguration"
+}
+Export-ModuleMember -function Set-AFEConfiguration
+
+Function Update-IDSRule
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateScript({Test-Path -Path $_})]
+ [ValidateNotNullOrEmpty()]
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Update-AFEIDSRules"
+}
+Export-ModuleMember -function Update-IDSRule
+# ==================================================
+# endregion AFE
+# ==================================================
+
+
+# ==================================================
+# region CONNLIMIT
+# ==================================================
+Function AfeClientLimitList
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmIPConnectionLimit"
+}
+Export-ModuleMember -function AfeClientLimitList
+
+Function AfeClientLimitAdd
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$L7addr,
+
+ [Parameter(Mandatory=$true)]
+ [int32]$L7limit,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-LmIPConnectionLimit"
+}
+Export-ModuleMember -function AfeClientLimitAdd
+
+Function AfeClientLimitDelete
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [String]$L7addr,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-LmIPConnectionLimit"
+}
+Export-ModuleMember -function AfeClientLimitDelete
+# ==================================================
+# endregion CONNLIMIT
+# ==================================================
+
+
+# ==================================================
+# region CLUSTER
+# ==================================================
+Function Get-HAOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmHAConfiguration"
+}
+Export-ModuleMember -function Get-HAOption
+
+Function Set-HAOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateSet(3, 6, 9, 12, 15)]
+ [Int16]$hatimeout,
+
+ [ValidateRange(0, 180)]
+ [Int16]$hawait,
+
+ [ValidateRange(1, 255)]
+ [Int16]$havhid,
+
+ [ValidateSet("No Preferred Host", "Prefer First HA", "Prefer Second HA")]
+ [string]$haprefered,
+
+ [Int16]$haif,
+
+ [bool]$hal4update,
+
+ [bool]$hal7update,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmHAConfiguration"
+}
+Export-ModuleMember -function Set-HAOption
+
+Function Set-AzureHAMode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("master", "slave", "single")]
+ [string]$HAMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmAzureHAMode"
+}
+Export-ModuleMember -function Set-AzureHAMode
+
+Function Get-AzureHAOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmAzureHAConfiguration"
+}
+Export-ModuleMember -function Get-AzureHAOption
+
+Function Set-AzureHAOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$Partner,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Hcp,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(0, 1)]
+ [int]$haprefered,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmAzureHAConfiguration"
+}
+Export-ModuleMember -function Set-AzureHAOption
+
+Function Set-AwsHAMode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateSet("master", "slave", "single")]
+ [string]$HAMode,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmAwsHAMode"
+}
+Export-ModuleMember -function Set-AwsHAMode
+
+Function Get-AwsHAOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmAwsHAConfiguration"
+}
+Export-ModuleMember -function Get-AwsHAOption
+
+Function Set-AwsHAOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$Partner,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$HealthCheckPort,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(0, 1)]
+ [int]$haprefered,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmAwsHAConfiguration"
+}
+Export-ModuleMember -function Set-AwsHAOption
+# ==================================================
+# endregion CLUSTER
+# ==================================================
+
+
+# ==================================================
+# region DIAGNOSTIC
+# ==================================================
+Function Get-DebugOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-LmDebugConfiguration"
+}
+Export-ModuleMember -function Get-DebugOption
+
+Function Set-DebugOption
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [bool]$transparent,
+
+ [bool]$irqbalance,
+
+ [bool]$linearesplogs,
+
+ [string]$netconsole,
+
+ [Int16]$netconsoleinterface,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Set-LmDebugConfiguration"
+}
+Export-ModuleMember -function Set-DebugOption
+
+Function DoTcpDump
+{
+ [cmdletbinding(SupportsShouldProcess=$true, DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(1, 200000)]
+ [int]$MaxPackets,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(1, 600)]
+ [int]$MaxTime,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Interface,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Port,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$TcpOptions,
+
+ [string]$Path,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN,
+
+ [switch]$Force
+ )
+ Write-Output "$warning Trace-TcpTraffic"
+}
+Export-ModuleMember -function DoTcpDump
+# ==================================================
+# endregion DIAGNOSTIC
+# ==================================================
+
+
+# ==================================================
+# region N+M
+# ==================================================
+Function NMClusterStatus
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Get-ClusterStatus"
+}
+Export-ModuleMember -function NMClusterStatus
+
+Function NMClusterCreate
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$SharedAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-Cluster"
+}
+Export-ModuleMember -function NMClusterCreate
+
+Function NMAddNode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [String]$Address,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning New-ClusterNode"
+}
+Export-ModuleMember -function NMAddNode
+
+Function NMJoinCluster
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Join-Cluster"
+}
+Export-ModuleMember -function NMJoinCluster
+
+Function NMEnableNode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$NodeId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Enable-ClusterNode"
+}
+Export-ModuleMember -function NMEnableNode
+
+Function NMDisableNode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$NodeId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Disable-ClusterNode"
+}
+Export-ModuleMember -function NMDisableNode
+
+Function NMDeleteNode
+{
+ [cmdletbinding(DefaultParameterSetName='Credential')]
+ Param(
+ [Parameter(Mandatory=$true)]
+ [ValidateNotNullOrEmpty()]
+ [Int32]$NodeId,
+
+ [ValidateNotNullOrEmpty()]
+ [string]$LoadBalancer = $LoadBalancerAddress,
+
+ [ValidateNotNullOrEmpty()]
+ [ValidateRange(3, 65530)]
+ [int]$LBPort = $LBAccessPort,
+
+ [Parameter(ParameterSetName="Credential")]
+ [ValidateNotNullOrEmpty()]
+ [System.Management.Automation.Credential()]$Credential = $script:cred,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$CertificateStoreLocation = $script:CertificateStoreLocation,
+
+ [Parameter(ParameterSetName="Certificate")]
+ [ValidateNotNullOrEmpty()]
+ [String]$SubjectCN = $script:SubjectCN
+ )
+ Write-Output "$warning Remove-ClusterNode"
+}
+Export-ModuleMember -function NMDeleteNode
+# ==================================================
+# endregion N+M
+# ==================================================
+
+# SIG # Begin signature block
+# MIIcDQYJKoZIhvcNAQcCoIIb/jCCG/oCAQExDzANBglghkgBZQMEAgEFADB5Bgor
+# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
+# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDproCmbHORq7dN
+# rCvi71htoutFNbUcZ1oxnmMNGCABJaCCCuMwggVWMIIEPqADAgECAhAZGjLLdZyX
+# uM+sEY3VEn9JMA0GCSqGSIb3DQEBCwUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UE
+# ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+# cmsxOjA4BgNVBAsTMShjKSAyMDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+# cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGlj
+# IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHNTAeFw0xNDAzMDQw
+# MDAwMDBaFw0yNDAzMDMyMzU5NTlaMIGRMQswCQYDVQQGEwJVUzEdMBsGA1UEChMU
+# U3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5l
+# dHdvcmsxQjBABgNVBAMTOVN5bWFudGVjIENsYXNzIDMgRXh0ZW5kZWQgVmFsaWRh
+# dGlvbiBDb2RlIFNpZ25pbmcgQ0EgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEP
+# ADCCAQoCggEBANAYAu7too0IWGMPJtfdInuI9uTH7DsmGHjTx6QgU42DfKU/fqXI
+# K0ffDfWm2cMdJZNgz3zc6gMsvnh/XEhtpwLZSfih6+uaYXyfwCbW3BXYuBB8ILpe
+# 9Cj2qOqnXHzGnJCQNDy2Iqz+ugw6HtZehLZb8KOBcHiKjUZSe/zbSfMpExF0T40W
+# s8LjoC3HAwSdzMNy4Q4M+wKO8SYXe26u+Lczi6ZhS0Xf8iVEx/ewmCM23Ch5Cuib
+# coio2Oiue38KZEWl8FeSmncGRR7rn+hm83p9koFfAC0euPZWE1piDbdHoY9y74Ne
+# guCUmOGspa2GN+Cn07qxPnrrRajxwUR94gMCAwEAAaOCAW0wggFpMBIGA1UdEwEB
+# /wQIMAYBAf8CAQAwLwYDVR0fBCgwJjAkoCKgIIYeaHR0cDovL3Muc3ltY2IuY29t
+# L3BjYTMtZzUuY3JsMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMDMA4GA1UdDwEB/wQE
+# AwIBBjAuBggrBgEFBQcBAQQiMCAwHgYIKwYBBQUHMAGGEmh0dHA6Ly9zLnN5bWNk
+# LmNvbTBfBgNVHSAEWDBWMFQGBFUdIAAwTDAjBggrBgEFBQcCARYXaHR0cHM6Ly9k
+# LnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGRoXaHR0cHM6Ly9kLnN5bWNiLmNv
+# bS9ycGEwKQYDVR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5bWFudGVjUEtJLTEtNjI5
+# MB0GA1UdDgQWBBQWZt5KNONQpxGGA7FsqcaszVlumzAfBgNVHSMEGDAWgBR/02Wn
+# wt3su/AwCfNDOfoCrzMxMzANBgkqhkiG9w0BAQsFAAOCAQEAP1sZ8/oT1XU4Klru
+# n1qgTKkdxcyU7t4V/vUQbqQbpWSDVBhYxAsooYXDTnTl/4l8/tXtPLpxn1YCJo8W
+# Koj+sKMnIs5L4jiOAKY6hl+d5T6o3mRJQXRBIf0HyIQX2h1lMILLJk851gQnpIGx
+# S0nDI4t+AjIYJ7erC/MYcrak7mcGbzimWI3g8X5dpGDGqOVQX+DouuKPmVi2taCo
+# dvGi8RyIQXJ+UpebCjaZjVD3Aes85/AiauU1jGM2ihqx2WdmX5ca76ggnfAvumzO
+# 2ZSFAPFY8X3JfCK1B10CxuYLv6uTk/8nGI4zNn5XNPHDrwTBhPFWs+iHgzb40wox
+# 3G4sbTCCBYUwggRtoAMCAQICECeDjyzMAJ09C7Adbyi1uUkwDQYJKoZIhvcNAQEL
+# BQAwgZExCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlv
+# bjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazFCMEAGA1UEAxM5U3lt
+# YW50ZWMgQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIENvZGUgU2lnbmluZyBD
+# QSAtIEcyMB4XDTE2MTAwNTAwMDAwMFoXDTE3MTAwNTIzNTk1OVowgdYxEzARBgsr
+# BgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVsYXdhcmUxHTAbBgNV
+# BA8TFFByaXZhdGUgT3JnYW5pemF0aW9uMRAwDgYDVQQFEwc1MDg0MDMyMQswCQYD
+# VQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxETAPBgNVBAcMCE5ldyBZb3JrMR8w
+# HQYDVQQKDBZLRU1QIFRlY2hub2xvZ2llcyBJbmMuMR8wHQYDVQQDDBZLRU1QIFRl
+# Y2hub2xvZ2llcyBJbmMuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
+# zUcerldV4VKZ+xPtYfy3/HwbSLJu8HS2urs4QUEF41PJYl50P/+ePYKpuOcksc2l
+# n45YO5/zrKTcjgzxMxJhrNDDAelPeZjiDlkidj6a79msxMXjRzIAI8A4b5SpKBKc
+# 7GVANCt0HZlEWjYegiaVjA6fRJFTRuJVr+K1fc1M79mgARNPCLOuy21N7d+MNvOl
+# nfBlvRGJZC2CQeeXHjhh/q8RdPmVqXliG8zkIIX+wq+kyVSO1ngYsDJZ4iMmjpCA
+# QzdT564zK8potK4fjPblYDiiEtUR1wGg6g4l2X18Mci21of4RbWBKQ/hxQm6oprA
+# XBraFsYnwwwt8QSl9+UtmQIDAQABo4IBkDCCAYwwLgYDVR0RBCcwJaAjBggrBgEF
+# BQcIA6AXMBUME1VTLURFTEFXQVJFLTUwODQwMzIwCQYDVR0TBAIwADAOBgNVHQ8B
+# Af8EBAMCB4AwKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3N3LnN5bWNiLmNvbS9z
+# dy5jcmwwYAYDVR0gBFkwVzBVBgVngQwBAzBMMCMGCCsGAQUFBwIBFhdodHRwczov
+# L2Quc3ltY2IuY29tL2NwczAlBggrBgEFBQcCAjAZDBdodHRwczovL2Quc3ltY2Iu
+# Y29tL3JwYTAWBgNVHSUBAf8EDDAKBggrBgEFBQcDAzAfBgNVHSMEGDAWgBQWZt5K
+# NONQpxGGA7FsqcaszVlumzAdBgNVHQ4EFgQUu/UpUEJhq9Dx+3CC/n6LPC3FyRYw
+# WAYIKwYBBQUHAQEETDBKMB8GCCsGAQUFBzABhhNodHRwOi8vc3cuc3ltY2QuY29t
+# MCcGCCsGAQUFBzAChhtodHRwOi8vc3cxLnN5bWNiLmNvbS9zdy5jcnQwDQYJKoZI
+# hvcNAQELBQADggEBAF/gxzrK67CSW740OGSXAC4/NzRVcP5RmONNEXIjmYEowtgN
+# UtXAns9olC+uzborP1Pq7MvZKMC0CW5P8GsloeqVGjRQ2IPFiEvLAagQO5HVzDMA
+# NZeuTNS5At5i+MkqkW+sLoVH+tBVDhbn17sH2mX0wXid4NCOojyVA1FarE0gup+v
+# XjhwBlXQPRU2K49cmd6dryN1GGufmiXJC25fggZ+2lc0A+j1mBfN9lsMVe7ZYgvW
+# o1WyWM/K66ga8FC9MIpv2tzVQc5Oy0UysQtnHykfRuAA5yXHaiXejx2uF5/5LWR1
+# s53Zchz0LXsZ+ndn4Utg0e2T9iRyuW7Sw7jek4sxghCAMIIQfAIBATCBpjCBkTEL
+# MAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYD
+# VQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMUIwQAYDVQQDEzlTeW1hbnRlYyBD
+# bGFzcyAzIEV4dGVuZGVkIFZhbGlkYXRpb24gQ29kZSBTaWduaW5nIENBIC0gRzIC
+# ECeDjyzMAJ09C7Adbyi1uUkwDQYJYIZIAWUDBAIBBQCgfDAQBgorBgEEAYI3AgEM
+# MQIwADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4w
+# DAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgTWpulaW38EfEXNeVA1fN7aFp
+# SKe1UWvCrZzj5nHvoBIwDQYJKoZIhvcNAQEBBQAEggEAa+FCIrOPR8sC+zW/IcXY
+# 0xRkJTlKobcyIXBSH0UMIWNRVuBYwxeBRGxiqiz5KAQctQn4otz7K+aCkBo/Am2S
+# cFuLkVKdhHQwpFWykuEtApgd1GG1jE1aCAZ2g2TTwzjnQDtg9Eah60MpzJe6xr4Q
+# WyDqbclITMgq8vtVkvRSrmFF3i5FjZpQUL2P2uBD62X9aSrsmbo1GVHIGk6+hrwZ
+# Px2hLlWJmrnKWa499kxH3Vroy9i6x5rSzSqjnDO+pPBrSCputzbFmW5e5CFVB1qh
+# f9fFmA8SxRoq/peUU/ZuBn2y95U89ELMg7e48dc60T9BBShw4034J02IxkD6iliz
+# aqGCDiwwgg4oBgorBgEEAYI3AwMBMYIOGDCCDhQGCSqGSIb3DQEHAqCCDgUwgg4B
+# AgEDMQ0wCwYJYIZIAWUDBAIBMIH/BgsqhkiG9w0BCRABBKCB7wSB7DCB6QIBAQYL
+# YIZIAYb4RQEHFwMwITAJBgUrDgMCGgUABBQxGASFalxI+VWDHJNvgB4WzOE3jQIV
+# APgqvBCcWXGiLkinDGW+Q62VwJNrGA8yMDE3MDYwMjE3MTIyOVowAwIBHqCBhqSB
+# gzCBgDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9u
+# MR8wHQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMTEwLwYDVQQDEyhTeW1h
+# bnRlYyBTSEEyNTYgVGltZVN0YW1waW5nIFNpZ25lciAtIEcyoIIKizCCBTgwggQg
+# oAMCAQICEHsFsdRJaFFE98mJ0pwZnRIwDQYJKoZIhvcNAQELBQAwgb0xCzAJBgNV
+# BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp
+# Z24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDIwMDggVmVyaVNpZ24sIElu
+# Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE4MDYGA1UEAxMvVmVyaVNpZ24g
+# VW5pdmVyc2FsIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTYwMTEy
+# MDAwMDAwWhcNMzEwMTExMjM1OTU5WjB3MQswCQYDVQQGEwJVUzEdMBsGA1UEChMU
+# U3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5l
+# dHdvcmsxKDAmBgNVBAMTH1N5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0Ew
+# ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7WZ1ZVU+djHJdGoGi61Xz
+# sAGtPHGsMo8Fa4aaJwAyl2pNyWQUSym7wtkpuS7sY7Phzz8LVpD4Yht+66YH4t5/
+# Xm1AONSRBudBfHkcy8utG7/YlZHz8O5s+K2WOS5/wSe4eDnFhKXt7a+Hjs6Nx23q
+# 0pi1Oh8eOZ3D9Jqo9IThxNF8ccYGKbQ/5IMNJsN7CD5N+Qq3M0n/yjvU9bKbS+GI
+# mRr1wOkzFNbfx4Dbke7+vJJXcnf0zajM/gn1kze+lYhqxdz0sUvUzugJkV+1hHk1
+# inisGTKPI8EyQRtZDqk+scz51ivvt9jk1R1tETqS9pPJnONI7rtTDtQ2l4Z4xaE3
+# AgMBAAGjggF3MIIBczAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIB
+# ADBmBgNVHSAEXzBdMFsGC2CGSAGG+EUBBxcDMEwwIwYIKwYBBQUHAgEWF2h0dHBz
+# Oi8vZC5zeW1jYi5jb20vY3BzMCUGCCsGAQUFBwICMBkaF2h0dHBzOi8vZC5zeW1j
+# Yi5jb20vcnBhMC4GCCsGAQUFBwEBBCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL3Mu
+# c3ltY2QuY29tMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9zLnN5bWNiLmNvbS91
+# bml2ZXJzYWwtcm9vdC5jcmwwEwYDVR0lBAwwCgYIKwYBBQUHAwgwKAYDVR0RBCEw
+# H6QdMBsxGTAXBgNVBAMTEFRpbWVTdGFtcC0yMDQ4LTMwHQYDVR0OBBYEFK9j1sqj
+# ToVy4Ke8QfMpojh/gHViMB8GA1UdIwQYMBaAFLZ3+mlIR59TEtXC6gcydgfRlwcZ
+# MA0GCSqGSIb3DQEBCwUAA4IBAQB16rAt1TQZXDJF/g7h1E+meMFv1+rd3E/zociB
+# iPenjxXmQCmt5l30otlWZIRxMCrdHmEXZiBWBpgZjV1x8viXvAn9HJFHyeLojQP7
+# zJAv1gpsTjPs1rSTyEyQY0g5QCHE3dZuiZg8tZiX6KkGtwnJj1NXQZAv4R5NTtzK
+# EHhsQm7wtsX4YVxS9U72a433Snq+8839A9fZ9gOoD+NT9wp17MZ1LqpmhQSZt/gG
+# V+HGDvbor9rsmxgfqrnjOgC/zoqUywHbnsc4uw9Sq9HjlANgCk2g/idtFDL8P5dA
+# 4b+ZidvkORS92uTTw+orWrOVWFUEfcea7CMDjYUq0v+uqWGBMIIFSzCCBDOgAwIB
+# AgIQVFjyqtdB1kS8hKl7oJZS5jANBgkqhkiG9w0BAQsFADB3MQswCQYDVQQGEwJV
+# UzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFu
+# dGVjIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMTH1N5bWFudGVjIFNIQTI1NiBUaW1l
+# U3RhbXBpbmcgQ0EwHhcNMTcwMTAyMDAwMDAwWhcNMjgwNDAxMjM1OTU5WjCBgDEL
+# MAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYD
+# VQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMTEwLwYDVQQDEyhTeW1hbnRlYyBT
+# SEEyNTYgVGltZVN0YW1waW5nIFNpZ25lciAtIEcyMIIBIjANBgkqhkiG9w0BAQEF
+# AAOCAQ8AMIIBCgKCAQEAmfP82AQJA4b511ymk8BCfOp8Y89dAOKO88CQ348p9Rjq
+# lLeS5dewoHOB6OkKm0p8Af+dj6Q5pw7qRfQiDDpw7TlFi+TFG1zwRWhGJAVjdpsc
+# /J5sKrFW5Yp/UnGu8jXVRiMGHM9ILR20zbjZdiOOHP8+v7sGXGkHpmUO+F6ufS7t
+# Ta4178nXAEL9KJUOn11yQgm8w9pE0u3MR4Tk/MotrFi+rveu2UQNCLfCd9YaQ3DR
+# bgPeUpLEEAhx2boiVfIfvO2bnTviXh1Mg/+XD3sL51WDTtIN677X7K5uR7mf36XW
+# UbwEVe3/J3BMye0qSxPhsblMD8kB7lVlX2kCeGbLPwIDAQABo4IBxzCCAcMwDAYD
+# VR0TAQH/BAIwADBmBgNVHSAEXzBdMFsGC2CGSAGG+EUBBxcDMEwwIwYIKwYBBQUH
+# AgEWF2h0dHBzOi8vZC5zeW1jYi5jb20vY3BzMCUGCCsGAQUFBwICMBkaF2h0dHBz
+# Oi8vZC5zeW1jYi5jb20vcnBhMEAGA1UdHwQ5MDcwNaAzoDGGL2h0dHA6Ly90cy1j
+# cmwud3Muc3ltYW50ZWMuY29tL3NoYTI1Ni10c3MtY2EuY3JsMBYGA1UdJQEB/wQM
+# MAoGCCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIHgDB3BggrBgEFBQcBAQRrMGkwKgYI
+# KwYBBQUHMAGGHmh0dHA6Ly90cy1vY3NwLndzLnN5bWFudGVjLmNvbTA7BggrBgEF
+# BQcwAoYvaHR0cDovL3RzLWFpYS53cy5zeW1hbnRlYy5jb20vc2hhMjU2LXRzcy1j
+# YS5jZXIwKAYDVR0RBCEwH6QdMBsxGTAXBgNVBAMTEFRpbWVTdGFtcC0yMDQ4LTUw
+# HQYDVR0OBBYEFAm1wf6WcpcpQ5rJ4AK6rvj9L7r2MB8GA1UdIwQYMBaAFK9j1sqj
+# ToVy4Ke8QfMpojh/gHViMA0GCSqGSIb3DQEBCwUAA4IBAQAXswqI6VxaXiBrOwoV
+# smzFqYoyh9Ox9BxTroW+P5v/17y3lIW0x1J+lOi97WGy1KeZ5MPJk8E1PQvoaApd
+# Vpi9sSI70UR617/wbVEyitUj3zgBN/biUyt6KxGPt01sejMDG3xrCZQXu+TbWNQh
+# E2Xn7NElyix1mpx//Mm7KmirxH20z6PJbKfZxACciQp3kfRNovsxO4Zu9uYfUAOG
+# m7/LQqvmdptyWhEBisbvpW+V592uuuYiZfAYWRsRyc2At9iXRx9CCPiscR+wRlOz
+# 1LLVo6tQdUgSF4Ktz+BBTzJ+zZUcv5GKCD2kp2cClt8kTKXQQcCCYKOKFzJL07zP
+# pLSMMYICWjCCAlYCAQEwgYswdzELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFu
+# dGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3Jr
+# MSgwJgYDVQQDEx9TeW1hbnRlYyBTSEEyNTYgVGltZVN0YW1waW5nIENBAhBUWPKq
+# 10HWRLyEqXugllLmMAsGCWCGSAFlAwQCAaCBpDAaBgkqhkiG9w0BCQMxDQYLKoZI
+# hvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTE3MDYwMjE3MTIyOVowLwYJKoZIhvcN
+# AQkEMSIEIOw2a6U50/47tGXS4vTeEw645pE3ZGClFmSZdIAZBwjpMDcGCyqGSIb3
+# DQEJEAIvMSgwJjAkMCIEIM96wXrQR+zV/cNoIgMbEtTvB4tvK0xea6Qfj/LPS61n
+# MAsGCSqGSIb3DQEBAQSCAQB6HE9H+Hy0EB+bAyTu3NlzLqTMMpcpBSroC+ntHCDh
+# uBTmbn8qPjSqQRRTFLXvHH5kuVzUseHX2LOhADDOze29Nh2H8ibzRnFap3aGOy6n
+# nyb1vcumA7OT8GdXCJhEXo2uBBOvAA4qozxiv40tGb9VR1jtjO3WckhxOUg3KXnY
+# CVx/4HD4+yutxhLQ/Z7L2Q4zDxVjArjoW0vFX1sr6eNfWEQ776x9zym/7hi3rzAG
+# vvn5yqtAMBmv1yIssa+YAFHQCfRWTq7CZmpifXJQweH8AXkPycBSloUpqklpNPUA
+# ydgpD7Wy2KWu8OrLCehNdotebYawEkpYo2AnyDM+l9D3
+# SIG # End signature block
diff --git a/LICENSE b/LICENSE
index 58a1d1b..d41c0bd 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,3 +1,232 @@
-Additional permission under GNU GPL version 3 section 7
+GNU GENERAL PUBLIC LICENSE
+Version 3, 29 June 2007
-If you modify this Program, or any covered work, by linking or combining it with [name of library] (or a modified version of that library), containing parts covered by the terms of [name of library's license], the licensors of this Program grant you additional permission to convey the resulting work. Corresponding Source for a non-source form of such a combination shall include the source code for the parts of [name of library] used as well as that of the covered work.
+Copyright © 2007 Free Software Foundation, Inc.
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The GNU General Public License is a free, copyleft license for software and other kinds of works.
+
+The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
+
+To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
+
+Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
+
+Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+TERMS AND CONDITIONS
+
+0. Definitions.
+
+“This License” refers to version 3 of the GNU General Public License.
+
+“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
+
+“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
+
+To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
+
+A “covered work” means either the unmodified Program or a work based on the Program.
+
+To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
+
+To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
+
+An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
+
+1. Source Code.
+The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
+
+A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
+
+The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
+
+The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same work.
+
+2. Basic Permissions.
+All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
+
+3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
+
+When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
+
+4. Conveying Verbatim Copies.
+You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
+
+5. Conveying Modified Source Versions.
+You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
+
+ c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
+
+A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
+
+6. Conveying Non-Source Forms.
+You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
+
+ d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
+
+A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
+
+“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
+
+The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
+
+Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
+
+7. Additional Terms.
+“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
+
+All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
+
+8. Termination.
+You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
+
+However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
+
+Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
+
+9. Acceptance Not Required for Having Copies.
+You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
+
+10. Automatic Licensing of Downstream Recipients.
+Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
+
+An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
+
+11. Patents.
+A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
+
+A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
+
+In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
+
+A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
+
+12. No Surrender of Others' Freedom.
+If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
+
+13. Use with the GNU Affero General Public License.
+Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
+
+14. Revised Versions of this License.
+The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
+
+Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
+
+15. Disclaimer of Warranty.
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+16. Limitation of Liability.
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+17. Interpretation of Sections 15 and 16.
+If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
+
+You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see .
+
+The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read .
diff --git a/Microsoft Azure/Azure-Migrate-Test.ps1 b/Microsoft Azure/Azure-Migrate-Test.ps1
new file mode 100644
index 0000000..ad2fb06
--- /dev/null
+++ b/Microsoft Azure/Azure-Migrate-Test.ps1
@@ -0,0 +1,92 @@
+[CmdletBinding()]
+
+param (
+
+ [Parameter(Mandatory = $false)]
+
+ [string]
+
+ $SubsID,
+
+ [Parameter(Mandatory = $false)]
+
+ [string]
+
+ $FilePath = "$Env:USERPROFILE\Desktop\AzureMoveResourcesReport.docx"
+
+)
+
+Import-Module Az
+Import-Module PSWriteWord
+
+
+if ($SubsID) {
+
+ Connect-AzAccount -Subscription $SubsID | Out-Null
+
+}
+
+else {
+
+ Connect-AzAccount | Out-Null
+
+}
+
+$WordDocument = New-WordDocument $FilePath
+
+#$res = Invoke-WebRequest -Uri https://raw.githubusercontent.com/tfitzmac/resource-capabilities/master/move-support-resources.csv -Method Get
+#$list = Convertfrom-csv -InputObject $res.Content
+
+$list = Import-Csv -Path "move-support-resources.csv"
+
+$resGroups = Get-AzResourceGroup
+
+foreach ($group in $resGroups) {
+
+ $resObjs = Get-AzResource -ResourceGroupName $group.ResourceGroupName
+
+ Add-WordText -WordDocument $WordDocument -Text "`nResources Group: $($group.ResourceGroupName)" -FontSize 20 -Color Blue -Supress $True
+ Add-WordLine -WordDocument $WordDocument -LineColor Blue -LineType double -Supress $True
+
+ foreach ($obj in $resObjs) {
+
+ $resName = $obj.Name
+
+ $resType = $obj.ResourceType
+
+ $resID = $obj.ResourceId
+
+ $resList = $list -match $obj.ResourceType
+
+ if ($resList) {
+
+ $i = [int]$resList[0].'Move Subscription'
+
+ if ($i -ne 1) {
+
+ Write-Host "`nOBJECT CAN _NOT_ BE MIGRATED: $resName has type $resType ($resID)" -ForegroundColor Yellow -BackgroundColor DarkRed
+ Add-WordText -WordDocument $WordDocument -Text "`nOBJECT CAN _NOT_ BE MIGRATED: $resName has type $resType ($resID)" -FontSize 12 -Color Red -Supress $True
+
+ }
+
+ else {
+
+ Write-Host "`nOBJECT SUPPORTED FOR MIGRATION: $resName has type $resType ($resID)" -ForegroundColor Green
+ Add-WordText -WordDocument $WordDocument -Text "`nOBJECT SUPPORTED FOR MIGRATION: $resName has type $resType ($resID)" -FontSize 12 -Color Green -Supress $True
+
+ }
+
+ }
+
+ else {
+
+ Write-Host "UNKNOWN OBJECT's TYPE: $resName has type $resType ($resID)" -ForegroundColor DarkRed -BackgroundColor Yellow
+ Add-WordText -WordDocument $WordDocument -Text "UNKNOWN OBJECT's TYPE: $resName has type $resType ($resID)" -FontSize 12 -Color Yellow -Supress $True
+
+ }
+
+ }
+
+}
+
+Save-WordDocument $WordDocument -Language 'en-US' -Supress $True -OpenDocument:$true
\ No newline at end of file
diff --git a/Microsoft Azure/Get-Storagelength.ps1 b/Microsoft Azure/Get-Storagelength.ps1
new file mode 100644
index 0000000..28dfe71
--- /dev/null
+++ b/Microsoft Azure/Get-Storagelength.ps1
@@ -0,0 +1,30 @@
+#Reprise d'un exemple officiel pour calculer la taile d'un conteneur Blob sur Azure
+#Attention les opérations de lecture sont facturables !
+
+# these are for the storage account to be used
+$resourceGroup = ""
+$storageAccountName = ""
+$containerName = ""
+
+# get a reference to the storage account and the context
+$storageAccount = Get-AzStorageAccount `
+ -ResourceGroupName $resourceGroup `
+ -Name $storageAccountName
+$ctx = $storageAccount.Context
+
+# get a list of all of the blobs in the container
+$listOfBLobs = Get-AzStorageBlob -Container $ContainerName -Context $ctx
+
+# zero out our total
+$length = 0
+
+# this loops through the list of blobs and retrieves the length for each blob
+# and adds it to the total
+$listOfBlobs | ForEach-Object { $length = $length + $_.Length }
+
+# output the blobs and their sizes and the total
+Write-Host "List of Blobs and their size (length)"
+Write-Host " "
+$listOfBlobs | select Name, Length
+Write-Host " "
+Write-Host "Total Length = " $length
\ No newline at end of file
diff --git a/Microsoft Azure/README.md b/Microsoft Azure/README.md
new file mode 100644
index 0000000..74a5ad1
--- /dev/null
+++ b/Microsoft Azure/README.md
@@ -0,0 +1 @@
+# Microsoft Azure
diff --git a/MsSQL/script.ps1 b/MsSQL/script.ps1
new file mode 100644
index 0000000..ab71b7a
--- /dev/null
+++ b/MsSQL/script.ps1
@@ -0,0 +1,61 @@
+Function QuerySQLServer([string]$DBServer, [string]$DBName, [string]$Query) {
+ Try {
+ $ErrorActionPreference = "Stop"
+
+ $resultsDataTable = New-Object System.Data.DataTable
+
+ $cn = new-object System.Data.SqlClient.SqlConnection("Data Source=$DBServer;Integrated Security=SSPI;Initial Catalog=$DBName")
+ $cn.open()
+
+ $cmd = new-object "System.Data.SqlClient.SqlCommand" ($Query , $cn)
+ $reader = $cmd.ExecuteReader()
+
+ $resultsDataTable.Load($reader)
+
+ $cn.Close()
+
+ return $resultsDataTable
+ }
+ Catch {
+ write-host $_.Exception.Message
+ $_.Exception.Message >> "d:\error.log"
+ }
+ Finally {
+ $ErrorActionPreference = "Continue"
+ }
+}
+
+cls
+
+$bReturnOK = $TRUE
+$bReturnCritical = $FALSE
+$bReturnWarning = $FALSE
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$strCritical = ""
+$strWarning = ""
+$DataTexte = ""
+
+$ComputerName = $env:COMPUTERNAME
+
+$Liste = QuerySQLServer "$ComputerName" "dhb_prd" "SELECT A.session_id, Db_Name(database_id) AS [database], DateDiff(MINUTE, A.connect_time, GetDate()) AS [Connected (mins)], num_reads, num_writes, login_name, Text AS SQL FROM sys.dm_exec_connections AS A INNER JOIN sys.dm_exec_sessions AS B ON A.session_id = B.session_id INNER JOIN sys.sysprocesses AS s ON s.spid = A.session_id OUTER APPLY::fn_get_sql(sql_handle)"
+$Liste | Format-Table | Out-String|% {Write-Host $_}
+
+$DataTexte = $Liste.login_name
+
+If ($bReturnCritical) {
+ write-output $strCritical
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateCritical
+}
+Elseif ($bReturnWarning) {
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateWarning
+}
+Else {
+ write-output "OK - Nombre de requete en cours : $DataTexte | 'NbrequetesEnCours'=$DataTexte "
+ exit $returnStateOK
+}
\ No newline at end of file
diff --git a/MySQL/scripts.ps1 b/MySQL/scripts.ps1
new file mode 100644
index 0000000..7db306a
--- /dev/null
+++ b/MySQL/scripts.ps1
@@ -0,0 +1,71 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date :
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+[void][system.reflection.Assembly]::LoadFrom("C:\Program Files (x86)\MySQL\MySQL Connector NET 8.0.32\Assemblies\v4.5.2\MySql.Data.dll")
+
+# Bibliothèques de fonctions requises
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = ".log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+Start-Transcript -Path $sLogFile -NoClobber
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#--------------------------------------------------------[Debut Du Script]---------------------------------------------------------
+
+$Mysqlhost= "10.78.56.51"
+$Mysqluser= "toor"
+$Mysqlpass= "jN7VKeR3jjexMLzG"
+$Mysqldatabase= "bugtracker"
+
+$Connection = [MySql.Data.MySqlClient.MySqlConnection]@{ConnectionString="server=$Mysqlhost;uid=$Mysqluser;pwd=$Mysqlpass;database=$Mysqldatabase"}
+$Connection.Open()
+$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
+$sql.Connection = $Connection
+
+$sql.CommandText = "SELECT id,summary FROM mantis_bug_table where summary like '%Opcon%'"
+$myreader = $sql.ExecuteReader()
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
+
+
+
diff --git a/NRPE/Check-AD-Accounts-Lock.ps1 b/NRPE/Check-AD-Accounts-Lock.ps1
new file mode 100644
index 0000000..8e3ba0e
--- /dev/null
+++ b/NRPE/Check-AD-Accounts-Lock.ps1
@@ -0,0 +1,119 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date : 17/11/2022
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+[CmdletBinding()]
+Param(
+ [string]$action = "LockedOut",
+ [string]$searchBase = "",
+ [string]$searchScope = "Subtree",
+ [int]$maxWarn = 5,
+ [int]$maxCrit = 10
+)
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = "Check-AD-Account-Lock.log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+Start-Transcript -Path $sLogFile -NoClobber
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#--------------------------------------------------------[Debut Du Script]---------------------------------------------------------
+
+# check that powershell ActiveDirectory module is present
+If(Get-Module -Name "ActiveDirectory" -ListAvailable) {
+ Try {
+ Import-Module -Name ActiveDirectory
+ }
+ Catch {
+ Write-Host "CRITICAL: Missing PowerShell ActiveDirectory module"
+ exit 2
+ }
+}
+Else {
+ Write-Host "CRITICAL: Missing PowerShell ActiveDirectory module"
+ exit 2
+}
+
+# check params if provided
+If($action -notmatch "^(AccountDisabled|AccountExpired|AccountExpiring|AccountInactive|LockedOut|PasswordExpired|PasswordNeverExpires)$") {
+ Write-Host "CRITICAL: action parameter can only be AccountDisabled,AccountExpired,AccountExpiring,AccountInactive,LockedOut,PasswordExpired,PasswordNeverExpires. Provided $action"
+ exit 2
+}
+
+If($searchScope -notmatch "^(Base|OneLevel|Subtree)$") {
+ Write-Host "CRITICAL: searchScope parameter can only be Base,OneLevel,Subtree. Provided $searchScope"
+ exit 2
+}
+
+If(($searchBase -ne "") -and $searchBase -ne ((Get-ADDomain).DistinguishedName)) {
+ $search=Get-ADObject -Filter 'ObjectClass -eq "OrganizationalUnit" -and DistinguishedName -eq $searchBase'
+
+ If ($search.Count -ne 1) {
+ Write-Host "CRITICAL: SearchBase not found or duplicate. Provided $searchBase"
+ exit 2
+ }
+}
+Else {
+ $searchBase=(Get-ADDomain).DistinguishedName
+}
+
+$command="Search-ADAccount -"+$action+" -SearchBase '"+$searchBase+"' -SearchScope "+$searchScope
+$result=invoke-expression $command
+
+If($result.Count -gt $maxCrit) {
+ $state="CRITICAL"
+ $exitcode=2
+}
+Elseif($result.Count -gt $maxWarn) {
+ $state="WARNING"
+ $exitcode=1
+}
+Else {
+ $state="OK"
+ $exitcode=0
+}
+
+$output=$state+": "+$result.Count+" "+$action+"|"+$action+"="+$result.Count+";"+$maxWarn+";"+$maxCrit
+Write-Host $output
+exit $exitcode
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
\ No newline at end of file
diff --git a/NRPE/Check-NetLbfoTeamMember.ps1 b/NRPE/Check-NetLbfoTeamMember.ps1
new file mode 100644
index 0000000..5a78d83
--- /dev/null
+++ b/NRPE/Check-NetLbfoTeamMember.ps1
@@ -0,0 +1,76 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date :
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+# Bibliothèques de fonctions requises
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = ".log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+Start-Transcript -Path $sLogFile -NoClobber
+
+# Initial state
+$ExitCode = 0
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#--------------------------------------------------------[Debut Du Script]---------------------------------------------------------
+
+# Get the status
+$LbfoTeamMemberOutput = Get-NetLbfoTeamMember | Select-Object Name,FailureReason,Team
+$LbfoTeamMemberCount = (Get-NetLbfoTeamMember).Count
+
+# Normal state : AdministrativeDecision / NoFailure
+Foreach($Member in $LbfoTeamMemberOutput) {
+ If(!(($Member.FailureReason -eq "NoFailure") -or ($Member.FailureReason -eq "AdministrativeDecision"))) {
+ $ExitCode = 2
+ Write-Output "CRITICAL: Member $($Member.Name) of the team $($Member.Team) state is $($Member.FailureReason)"
+ }
+}
+
+# Evaluate final exit code result for all passed checks.
+If ($ExitCode -eq 0) {
+ Write-Output "OK: Members ($LbfoTeamMemberCount) of all LBFO teams are OK"
+}
+
+exit $ExitCode
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
\ No newline at end of file
diff --git a/NRPE/Check-Port-TCP.ps1 b/NRPE/Check-Port-TCP.ps1
new file mode 100644
index 0000000..0645deb
--- /dev/null
+++ b/NRPE/Check-Port-TCP.ps1
@@ -0,0 +1,99 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date :
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+[CmdletBinding()]
+Param(
+ [Parameter(Mandatory=$True,Position=1)]
+ [int]$PortSearch
+ )
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = ".log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+Start-Transcript -Path $sLogFile -NoClobber
+
+$bReturnOK = $TRUE
+$bReturnCritical = $FALSE
+$bReturnWarning = $FALSE
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$strCritical = ""
+$strWarning = ""
+$DataTexte = ""
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#--------------------------------------------------------[Debut Du Script]---------------------------------------------------------
+
+$ListPort = Get-NetTCPConnection
+
+Foreach ($Port in $ListPort) {
+ If ($Port.LocalPort -eq $PortSearch) {
+ $DataTexte = "Service avec $PortSearch fonctionnel"
+ $bReturnCritical = $False
+ break
+ }
+ Else {
+ $bReturnCritical = $TRUE
+ $strCritical = "Critique"
+ $DataTexte = "Service avec $PortSearch non fonctionnel"
+ }
+}
+
+If ($bReturnCritical) {
+ write-output $strCritical
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateCritical
+}
+Elseif ($bReturnWarning) {
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateWarning
+}
+Else {
+ write-output "OK" "|" $DataTexte
+ exit $returnStateOK
+}
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
\ No newline at end of file
diff --git a/NRPE/Check-WSUS.ps1 b/NRPE/Check-WSUS.ps1
new file mode 100644
index 0000000..b67b598
--- /dev/null
+++ b/NRPE/Check-WSUS.ps1
@@ -0,0 +1,137 @@
+###############################################################################
+# Windows PowerShell Skript to get WSUS statistics
+# output readable by NRPE for Nagios monitoring
+#
+# FORK FROM: http://www.monitoring-portal.org/wbb/index.php?page=Thread&threadID=16424
+###############################################################################
+
+
+# Variables - set these to fit your needs
+###############################################################################
+# The server name of your WSUS server
+$serverName = 'localhost'
+
+# use SSL connection?
+$useSecureConnection = $False
+
+# the port number of your WSUS IIS website
+$portNumber = 8530
+
+# warn if a computer has not contacted the server for ... days
+$daysBeforeWarn = 14
+
+
+
+# Script - don't change anything below this line!
+###############################################################################
+
+# load WSUS framework
+[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
+
+# connect to specified WSUS server
+# see here for information of the IUpdateServer class
+# -> http://msdn.microsoft.com/en-us/library/microsoft.updateservices.administration.iupdateserver(VS.85).aspx
+$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($serverName, $useSecureConnection, $portNumber)
+
+# get general status information
+# see here for more infos about the properties of GetStatus()
+# -> http://msdn.microsoft.com/en-us/library/microsoft.updateservices.administration.updateserverstatus_properties(VS.85).aspx
+$status = $wsus.GetStatus()
+$totalComputers = $status.ComputerTargetCount
+
+# computers with errors
+$computerTargetScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope
+$computerTargetScope.IncludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::Failed
+$computersWithErrors = $wsus.GetComputerTargetCount($computerTargetScope)
+
+# computers with needed updates
+$computerTargetScope.IncludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::NotInstalled -bor [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::InstalledPendingReboot -bor [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::Downloaded
+$computerTargetScope.ExcludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::Failed
+$computersNeedingUpdates = $wsus.GetComputerTargetCount($computerTargetScope)
+
+# computers without status
+$computerTargetScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope
+$computerTargetScope.IncludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::Unknown
+$computerTargetScope.ExcludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::Failed -bor [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::NotInstalled -bor [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::InstalledPendingReboot -bor [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::Downloaded
+$computersWithoutStatus = $wsus.GetComputerTargetCount($computerTargetScope)
+
+
+
+# computers that are OK
+$computersOK = $totalComputers - $computersWithErrors - $computersNeedingUpdates - $computersWithoutStatus
+
+
+
+# needed, but not approved updates
+$updateScope = new-object Microsoft.UpdateServices.Administration.UpdateScope
+$updateScope.ApprovedStates = [Microsoft.UpdateServices.Administration.ApprovedStates]::NotApproved
+$updateServerStatus = $wsus.GetUpdateStatus($updateScope, $False)
+$updatesNeededByComputersNotApproved = $updateServerStatus.UpdatesNeededByComputersCount
+
+# computers that did not contact the server in $daysBeforeWarn days
+$timeSpan = new-object TimeSpan($daysBeforeWarn, 0, 0, 0)
+$computersNotContacted = $wsus.GetComputersNotContactedSinceCount([DateTime]::UtcNow.Subtract($timeSpan))
+
+# computers in the "not assigned" group
+$computerTargetScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope
+$computersNotAssigned = $wsus.GetComputerTargetGroup([Microsoft.UpdateServices.Administration.ComputerTargetGroupId]::UnassignedComputers).GetComputerTargets().Count
+
+# output and return code
+# 0: OK
+# 1: WARNING
+# 2: CRITICAL
+# 3: UNKNOWN
+$returnCode = 0
+$output = ''
+
+if ($computersNeedingUpdates -gt 0) {
+ $returnCode = 1
+ $output = "$computersNeedingUpdates PC Desactualizadas"
+}
+
+if ($computersWithErrors -gt 0) {
+ $returnCode = 2
+ if ($output -ne '') {
+ $output = $output + ', '
+ }
+ $output = $output + "$computersWithErrors PC Con Errores"
+}
+
+if ($computersNotContacted -gt 0) {
+ $returnCode = 2
+ if ($output -ne '') {
+ $output = $output + ', '
+ }
+ $output = $output + "$computersNotContacted PC Sin Contacto ($daysBeforeWarn d)"
+}
+
+if ($computersNotAssigned -gt 0) {
+ $returnCode = 2
+ if ($output -ne '') {
+ $output = $output + ', '
+ }
+ $output = $output + "$computersNotAssigned PC Sin Asignar"
+}
+
+if ($updatesNeededByComputersNotApproved -gt 0) {
+ $returnCode = 2
+ if ($output -ne '') {
+ $output = $output + ', '
+ }
+ $output = $output + "$updatesNeededByComputersNotApproved Upd. S/A"
+}
+
+if ($output -eq '') {
+ $output = 'Todas las Computadoras Asignadas, Activas y Al dia.'
+}
+
+$output
+
+# append performance data
+'|' + "'PC Desactualizadas'=$computersNeedingUpdates;;;0;$totalComputers"
+'|' + "'PC Con Errores'=$computersWithErrors;"
+"'PC Sin Estatus'=$computersWithoutStatus;"
+"'PC OK'=$computersOK;"
+
+$host.SetShouldExit($returnCode)
+exit $returnCode
diff --git a/NRPE/Check_Certificats.ps1 b/NRPE/Check_Certificats.ps1
new file mode 100644
index 0000000..83c43c1
--- /dev/null
+++ b/NRPE/Check_Certificats.ps1
@@ -0,0 +1,101 @@
+<#
+.SYNOPSIS
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date : 16/11/2022
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+.DESCRIPTION
+
+.PARAMETER
+
+.INPUTS
+
+.OUTPUTS
+
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+# Bibliothèques de fonctions requises
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = ".log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+$Folder = "C:\TradeXpress5\users\ediprod\ssl\certs"
+$ListCert = dir $Folder -Include *.cer, *.crt, *.cert -Recurse
+$dtCurrent = Get-Date
+
+$bReturnOK = $TRUE
+$bReturnCritical = $FALSE
+$bReturnWarning = $FALSE
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$nWarning = 60
+$nCritical = 30
+$strCritical = ""
+$strWarning = ""
+$DataTexte = ""
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#------------------------------------------------------------[Script]--------------------------------------------------------------
+
+cls
+
+Foreach ($Certificate in $ListCert) {
+ $objCertificate = New-Object Security.Cryptography.X509Certificates.X509Certificate2 $Certificate.FullName
+ $dtRemain = $objCertificate.NotAfter - $dtCurrent
+ $nRemainDays = $dtRemain.Days
+
+ $DataTexte += "'"+$Certificate.name+"'="+$nRemainDays+" "
+
+ If ($nRemainDays -lt 0) {
+ $strCritical = $strCritical + "EXPIRED " + $objCertificate.SubjectName.Name.ToString() + " expired " + $objCertificate.NotAfter.ToString() + "`n"
+ $bReturnCritical = $TRUE
+ }
+ Elseif ( $nRemainDays -lt $nCritical) {
+ $strCritical = $strCritical + "Critical " + $objCertificate.SubjectName.Name.ToString() + " expires " + $objCertificate.NotAfter.ToString() + "`n"
+ $bReturnCritical = $TRUE
+ }
+ Elseif ( $nRemainDays -lt $nWarning) {
+ $strWarning = $strWarning + "Warning " + $objCertificate.SubjectName.Name.ToString() + " expires " + $objCertificate.NotAfter.ToString() + "`n"
+ $bReturnWarning = $TRUE
+ }
+ Else {
+ #Nothing for now
+ }
+}
+
+If ($bReturnCritical) {
+ write-output $strCritical
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateCritical
+}
+Elseif ($bReturnWarning) {
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateWarning
+}
+Else {
+ write-output "OK" "|" $DataTexte
+ exit $returnStateOK
+}
diff --git a/NRPE/Check_Dynamics-AX.ps1 b/NRPE/Check_Dynamics-AX.ps1
new file mode 100644
index 0000000..64e2c43
--- /dev/null
+++ b/NRPE/Check_Dynamics-AX.ps1
@@ -0,0 +1,83 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date :
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+# Bibliothèques de fonctions requises
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = ".log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+## ReturnStates
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$Separateur = ":"
+$DataTexte = ""
+$str = ""
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#------------------------------------------------------------[Script]--------------------------------------------------------------
+
+cls
+
+cd "C:\Program Files\Centreon NSClient++"
+
+$ValiableRetour = cmd /c nscp.exe sys -- --validate Microsoft --all
+
+Foreach ($ligne in $ValiableRetour) {
+ If ($ligne.StartsWith("\Microsoft Dynamics AX Object Server")) {
+ $ArrayA = $ligne.Split("\")
+ $ArrayB = ($ArrayA[2]).Split($Separateur)
+
+ #Write-Host $ArrayB[0]
+ #Write-Host ($ArrayB[1].Substring(0,$ArrayB[1].Length-1)).substring(4)
+
+ $DataTexte += "'"+$ArrayB[0]+"'="+($ArrayB[1].Substring(0,$ArrayB[1].Length-1)).substring(4)+" "
+
+ If ($ArrayB[0] -eq "ACTIVE SESSIONS") {
+ $str = "Nombre de sessions active : "+($ArrayB[1].Substring(0,$ArrayB[1].Length-1)).substring(4)
+ }
+ }
+}
+
+write-output "OK - $str" "|" $DataTexte
+exit $returnStateOK
\ No newline at end of file
diff --git a/NRPE/Check_diskdefragstatus.ps1 b/NRPE/Check_diskdefragstatus.ps1
new file mode 100644
index 0000000..ef2e462
--- /dev/null
+++ b/NRPE/Check_diskdefragstatus.ps1
@@ -0,0 +1,181 @@
+<#
+.SYNOPSIS
+ Check Windows disks fragmentation status.
+.DESCRIPTION
+ Check Windows disks fragmentation status.
+ Optionally performs defragmentation.
+.OUTPUTS
+ OK: All disk fragmentation status is ok.
+ WARNING: % of fragmentation equal to Warning treshold.
+ CRITICAL: % of fragmentation equal to Critical treshold.
+.PARAMETER warning
+ % of fragmentation for warning treshold.
+ Default System default.
+.PARAMETER critical
+ % of fragmentation for critical treshold.
+ Default None.
+.PARAMETER disks
+ Disks to check fragmentation status.
+ Default: all.
+ Example: "C:","D:","F:"
+.PARAMETER defrag
+ Defrag disks if warning or critical.
+ Default: false
+.PARAMETER forceDefrag
+ Defrag disks if free space is low.
+ Default: false
+.EXAMPLE
+ Only checks all drives with system default warning treshold.
+ check_diskdefragstatus.ps1
+.EXAMPLE
+ Checks all drives with 15 warning treshold and 40 critical treshold.
+ check_diskdefragstatus.ps1 -warning 15 -critical 40
+.EXAMPLE
+ Checks only C and D drives with system default warning treshold and 50 critical treshold.
+ check_diskdefragstatus.ps1 -disks "C:","D:" -critical 50
+.EXAMPLE
+ Checks C drive with system default warning treshold.
+ If defragmentation status is greater than warning or critical treshold, it runs disk defragmentation.
+ check_diskdefragstatus.ps1 -disks "C:" -defrag
+.EXAMPLE
+ Checks C drive with system default warning treshold.
+ If defragmentation status is greater than warning or critical treshold, it runs disk defragmentation even C: disk free space is low.
+ check_diskdefragstatus.ps1 -disks "C:" -defrag -forceDefrag
+.NOTES
+ Author: Juan Granados
+#>
+
+Param(
+ [Parameter(Mandatory = $false, Position = 0)]
+ [ValidateRange(0, 100)]
+ [int]$warning = 0,
+ [Parameter(Mandatory = $false, Position = 1)]
+ [ValidateRange(0, 100)]
+ [int]$critical = 0,
+ [Parameter(Mandatory = $false, Position = 2)]
+ [ValidateNotNullOrEmpty()]
+ [string[]]$disks = "all",
+ [Parameter()]
+ [switch]$defrag,
+ [Parameter()]
+ [switch]$forceDefrag
+)
+
+#Requires -RunAsAdministrator
+$ErrorActionPreference = "Stop"
+$global:nagiosStatus = 0
+$global:nagiosOutput = ""
+
+Function Defrag-Disk($diskToDefrag) {
+ If ($forceDefrag) {
+ Write-Verbose "Forcing $($diskToDefrag.DriveLetter) defragmentation"
+ $result = $diskToDefrag.Defrag($true)
+ }
+ Else {
+ Write-Verbose "Performing $($diskToDefrag.DriveLetter) defragmentation"
+ $result = $diskToDefrag.Defrag($false)
+ }
+
+ If ($result.ReturnValue -eq 0) {
+ Write-Verbose "Defragmentation successful"
+ Write-Verbose "Current fragmentation is $($result.DefragAnalysis.FilePercentFragmentation)"
+ $diskToDefrag.DefragResult = $result
+ If (($critical -gt 0) -and ($result.DefragAnalysis.FilePercentFragmentation -gt $critical)) {
+ Write-Verbose "Status is critical"
+ $global:nagiosStatus = 2
+ }
+ Elseif (($warning -eq 0 -and $result.DefragAnalysis.FilePercentFragmentation -gt 10) -or ( ($warning -gt 0) -and ($result.DefragAnalysis.FilePercentFragmentation -gt $warning))) {
+ Write-Verbose "Status is warning"
+ $global:nagiosStatus = 1
+ }
+ }
+ Else {
+ Write-Output "CRITICAL: Error $($result.ReturnValue) defragmenting drive $($diskToDefrag.DriveLetter)"
+ Write-Output "Check error codes: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/vdswmi/defrag-method-in-class-win32-volume"
+ Exit(2)
+ }
+
+ $global:nagiosOutput += "Disk $($diskToDefrag.DriveLetter) fragmentation is $($result.DefragAnalysis.FilePercentFragmentation)."
+}
+
+Try {
+ If ($disks -eq "all") {
+ $drives = get-wmiobject win32_volume | Where-Object { $_.DriveType -eq 3 -and $_.DriveLetter -and (Get-WMIObject Win32_LogicalDiskToPartition | Select-Object Dependent) -match $_.DriveLetter }
+ }
+ Else {
+ Foreach ($disk in $disks) {
+ If (-not ($disk -match '[A-Za-z]:')) {
+ Write-Output "UNKNOWN: Error $($drive) is not a valid disk unit. Expected N:, where N is drive unit. Example C: or D: or F:"
+ Exit(3)
+ }
+ }
+ $drives = get-wmiobject win32_volume | Where-Object { $_.DriveType -eq 3 -and $_.DriveLetter -in $disks }
+ }
+ If (-not ($drives)) {
+ Write-Output "UNKNOWN: No drives found with get-wmiobject win32_volume command"
+ Exit(3)
+ }
+ Foreach ($drive in $drives) {
+ Write-Verbose "Analizing drive $($drive.DriveLetter)"
+ $result = $drive.DefragAnalysis()
+ If ($result.ReturnValue -eq 0) {
+ Write-Verbose "Current fragmentation is $($result.DefragAnalysis.FilePercentFragmentation)"
+ $drive | Add-Member -NotePropertyName 'DefragResult' -NotePropertyValue $result
+ If (($critical -gt 0) -and ($result.DefragAnalysis.FilePercentFragmentation -gt $critical)) {
+ If (-not $defrag) {
+ Write-Verbose "Disk will not be defragmented. Status is critical"
+ $global:nagiosStatus = 2
+ }
+ Else {
+ Defrag-Disk -diskToDefrag $drive
+ Continue
+ }
+ }
+ Elseif (($warning -eq 0 -and $result.DefragRecommended -eq "True") -or ( ($warning -gt 0) -and ($result.DefragAnalysis.FilePercentFragmentation -gt $warning))) {
+ If (-not $defrag) {
+ Write-Verbose "Disk will not be defragmented. Status is warning"
+ $global:nagiosStatus = 1
+ }
+ Else {
+ Defrag-Disk -diskToDefrag $drive
+ Continue
+ }
+ }
+ $global:nagiosOutput += "Disk $($drive.DriveLetter) fragmentation is $($result.DefragAnalysis.FilePercentFragmentation)."
+ }
+ Else {
+ Write-Output "CRITICAL: Error $($result.ReturnValue) checking status of drive $($drive.DriveLetter)"
+ Write-Output "Check error codes: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/vdswmi/defraganalysis-method-in-class-win32-volume#return-value"
+ Exit(2)
+ }
+ }
+}
+Catch {
+ Write-Output "CRITICAL: $($_.Exception.Message)"
+ Exit(2)
+}
+
+$global:nagiosOutput += " |"
+If ($critical -eq 0) {
+ $critical = 50;
+}
+If ($warning -eq 0) {
+ $warning = 10;
+}
+
+Foreach ($drive in $drives) {
+ $global:nagiosOutput += " $($drive.DriveLetter.TrimEnd(':'))=$($drive.DefragResult.DefragAnalysis.FilePercentFragmentation)%;$($warning);$($critical);0;100"
+}
+
+If ($global:nagiosStatus -eq 2) {
+ Write-Output "CRITICAL: $($global:nagiosOutput)"
+ Exit(2)
+}
+Elseif ($global:nagiosStatus -eq 1) {
+ Write-Output "WARNING: $($global:nagiosOutput)"
+ Exit(1)
+}
+Else {
+ Write-Output "OK: disk fragmentation is correct.$($global:nagiosOutput)"
+ Exit(0)
+}
\ No newline at end of file
diff --git a/NRPE/Check_iis8_app_pool_state.ps1 b/NRPE/Check_iis8_app_pool_state.ps1
new file mode 100644
index 0000000..6e56da3
--- /dev/null
+++ b/NRPE/Check_iis8_app_pool_state.ps1
@@ -0,0 +1,69 @@
+<#
+Ester Niclos Ferreras
+
+OK UP
+WARNING
+CRITICAL Stopped
+UNKNOWN not found
+
+
+#>
+
+
+#
+# Shell arguments
+#
+[CmdletBinding()]
+Param(
+ [Parameter(Mandatory=$True,Position=1)]
+ [string]$ApplicationPool
+ )
+
+$bReturnOK = $TRUE
+$bReturnCritical = $FALSE
+$bReturnWarning = $FALSE
+
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$DataTexte = ""
+$strCritical = ""
+$strWarning = ""
+
+[System.Reflection.Assembly]::LoadFrom( "C:\windows\system32\inetsrv\Microsoft.Web.Administration.dll" ) > $null
+
+$servermanager = [Microsoft.Web.Administration.ServerManager]::OpenRemote("localhost")
+$apppools = $servermanager.ApplicationPools["$ApplicationPool"]
+$iis = Get-ItemProperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring
+
+# Nagios output
+$resultstring='IISPOOL UNKNOWN ' + $ApplicationPool + ' ' + $status +' ; ' + $iis.SETUPSTRING + ' '
+$exit_code = $UNKNOWN
+
+
+If ($apppools -ne $null) {
+ $status = $apppools.state
+
+ If ($status -eq 'Started') {
+ $str = 'OK '+ $ApplicationPool + ' ' + $status +' ; ' + $iis.SETUPSTRING + ' '
+ }
+ Else {
+ $strCritica = 'CRITICAL '+ $ApplicationPool + ' ' + $status +' ; ' + $iis.SETUPSTRING + ' '
+ $bReturnCritical = $TRUE
+ }
+}
+
+If ($bReturnCritical) {
+ write-output $strCritica "|" $DataTexte
+ exit $returnStateCritical
+}
+Elseif ($bReturnWarning) {
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateWarning
+}
+Else {
+ write-output $str "|" $DataTexte
+ exit $returnStateOK
+}
diff --git a/NRPE/Check_iis8_connections.ps1 b/NRPE/Check_iis8_connections.ps1
new file mode 100644
index 0000000..dd3dd15
--- /dev/null
+++ b/NRPE/Check_iis8_connections.ps1
@@ -0,0 +1,77 @@
+<#
+Ester Niclos Ferreras
+
+Returns nomber of web site connections
+
+
+UNKNOWN - not found
+OK - connections
+warning - current connections greater than warning value
+critical - current connection greater than critical value
+
+#>
+
+
+#
+# Shell arguments
+#
+[CmdletBinding()]
+Param(
+ [Parameter(Mandatory=$True,Position=1)]
+ [string]$website,
+ [Parameter(Mandatory=$True,Position=2)]
+ [int]$warning_value,
+ [Parameter(Mandatory=$True,Position=3)]
+ [int]$critical_value
+ )
+
+$bReturnOK = $TRUE
+$bReturnCritical = $FALSE
+$bReturnWarning = $FALSE
+
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$DataTexte = ""
+$strCritical = ""
+$strWarning = ""
+
+$counter = Get-Counter "\Service Web($website)\connexions actives"
+
+# Nagios output
+
+$resultstring='CONNECTIONS UNKNOWN ' + $website + ' not found'
+$exit_code = $UNKNOWN
+
+If ($counter -ne $null) {
+ $connections=$counter.CounterSamples.CookedValue
+
+ If ($connections -gt $critical_value) {
+ $strCritica = 'CONNECTIONS CRITICAL '+ $website +' connections '+ $connections
+ $bReturnCritical = $TRUE
+ }
+ Elseif ($connections -gt $warning_value) {
+ $strWarning = 'CONNECTIONS WARNING '+ $website +' connections '+ $connections
+ $bReturnWarning = $TRUE
+ }
+ Else {
+ $str= 'CONNECTIONS OK '+ $website +' connections '+ $connections
+ }
+
+ $DataTexte = "connections=" + $connections + ';' + $warning_value + ';' + $critical_value + "; "
+}
+
+If ($bReturnCritical) {
+ write-output $strCritica "|" $DataTexte
+ exit $returnStateCritical
+}
+Elseif ($bReturnWarning) {
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateWarning
+}
+Else {
+ write-output $str "|" $DataTexte
+ exit $returnStateOK
+}
diff --git a/NRPE/Check_iis8_site.ps1 b/NRPE/Check_iis8_site.ps1
new file mode 100644
index 0000000..c857f4d
--- /dev/null
+++ b/NRPE/Check_iis8_site.ps1
@@ -0,0 +1,75 @@
+<#
+Ester Niclos Ferreras
+
+Checks IIS Site state
+
+OK - started
+CRITICAL - STOPPED
+UNKNOWN - not found
+
+
+#>
+
+
+#
+# Shell arguments
+#
+[CmdletBinding()]
+Param(
+ [Parameter(Mandatory=$True,Position=1)]
+ [string]$website
+)
+
+$bReturnOK = $TRUE
+$bReturnCritical = $FALSE
+$bReturnWarning = $FALSE
+
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$DataTexte = ""
+$strCritical = ""
+$strWarning = ""
+
+[System.Reflection.Assembly]::LoadFrom( "C:\windows\system32\inetsrv\Microsoft.Web.Administration.dll" ) > $null
+
+$servermanager = [Microsoft.Web.Administration.ServerManager]::OpenRemote("localhost")
+$site = $servermanager.Sites["$website"]
+$iis = Get-ItemProperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring
+
+# Nagios output
+
+$resultstring="IISSITE UNKNOWN $website not found"
+$exit_code = $UNKNOWN
+
+If ($site -ne $null) {
+
+ $status= $site.State
+
+ If ($status -eq "Started") {
+ $str = 'OK ' + $website + ' ' + $status + '-' + $iis.setupstring
+ }
+ Elseif ($status -eq $null) {
+ $strWarning = "UNKNOWN $website exists, but has no state. Check it is not a FTP site."
+ $bReturnWarning = $TRUE
+ }
+ Else {
+ $strCritical = 'CRITICAL '+ $website + ' ' + $status + '-' + $iis.setupstring
+ $bReturnCritical = $TRUE
+ }
+}
+
+If ($bReturnCritical) {
+ write-output $strCritica "|" $DataTexte
+ exit $returnStateCritical
+}
+Elseif ($bReturnWarning) {
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateWarning
+}
+Else {
+ write-output $str "|" $DataTexte
+ exit $returnStateOK
+}
diff --git a/NRPE/Check_win_last_update.ps1 b/NRPE/Check_win_last_update.ps1
new file mode 100644
index 0000000..b8dbd2d
--- /dev/null
+++ b/NRPE/Check_win_last_update.ps1
@@ -0,0 +1,95 @@
+##################################################################################
+#
+# NAME: check_win_last_update.ps1
+#
+# AUTHOR: Peter Luetke-Bexten
+# COAUTHOR: Christoph Hamschmidt
+# EMAIL: peter.luetke-bexten (at) benteler.com
+#
+# COMMENT:
+# Script to calculate the Days since last Windows Update
+# which is understandable for every Manager :-}
+# should be called via NRPE/NSClient++
+# inspired by bratislav.stojkovic@gmail.com check_win_lastupdate.vbs
+# but with using Microsoft.Update.Session instead of Registry.
+# Registry query not working in W2016 or W10.
+#
+# NSCLIENT.ini:
+# check_win_lastupdate = cmd /c echo scriptspowershellcheck_win_last_update.ps1 $ARG1$ $ARG2$ ; exit($lastexitcode) | "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -noninteractive -noprofile -ExecutionPolicy unrestricted -command -
+#
+# NRPE Check:
+# check_nrpe -H targethost -p 5666 -t 120 -u -c check_win_lastupdate -a 35 70
+#
+# CHANGELOG:
+# 1.0 20180126 - initial version
+#
+################################################################################
+
+# Script calculates curent date and date of last Windows Update Installation
+
+## Arguments
+#$wldays = $args[0]
+#$cldays = $args[1]
+$wldays = 90
+$cldays = 180
+
+## ReturnStates
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+## Get lasat installed update and select date as object
+$Session = New-Object -ComObject Microsoft.Update.Session
+$Searcher = $Session.CreateUpdateSearcher()
+$HistoryCount = $Searcher.GetTotalHistoryCount()
+## http://msdn.microsoft.com/en-us/library/windows/desktop/aa386532%28v=vs.85%29.aspx
+$DatelastInstall = $Searcher.QueryHistory(0,$HistoryCount) | ForEach-Object {$_} | Select-Object -First 1 | Select-Object -Property Date
+
+## Get actual date
+$Datenow = Get-Date
+
+## Get number of days since list install
+$DayslastInstall = ($Datenow - $DatelastInstall.date).Days
+$DayslastInstalldate = ($Datenow.Date - $DatelastInstall.Date).Days
+
+## Debug
+# $DatelastInstall.ToString()
+# $DatelastInstall
+# $DatelastInstall.date
+# $Datenow
+# $Datenow.date
+# $DayslastInstall
+# $DayslastInstalldate
+
+If (!$wldays) {
+ echo "Usage: check_win_last_update.ps1 "
+ exit 3
+}
+
+# if ($DayslastInstall) {
+If ($DayslastInstalldate -eq 0) {
+ Write-Host "OK - Patches applied $DayslastInstalldate days ago at $($DatelastInstall.Date)"
+ exit $returnStateOK
+}
+Elseif ($DayslastInstall -lt $wldays) {
+ Write-Host "OK - Patches applied $DayslastInstalldate days ago at $($DatelastInstall.Date)"
+ exit $returnStateOK
+}
+Elseif ($DayslastInstall -lt $cldays) {
+ Write-Host "WARNING - Patches applied $DayslastInstalldate days ago $($DatelastInstall.Date)"
+ exit $returnStateWarning
+}
+Elseif ($DayslastInstall -gt $cldays) {
+ Write-Host "CRITICAL - Patches applied $DayslastInstalldate days ago $($DatelastInstall.Date)"
+ exit $returnStateCritical
+}
+Else {
+ Write-Host "UNKNOWN"
+ exit $returnStateUnknown
+}
+# } else {
+else {
+ Write-Host "UNKNOWN - unable to get date of last Widows Update Installation"
+ exit $returnStateUnknown
+}
\ No newline at end of file
diff --git a/NRPE/Check_wsus_critical_updates.ps1 b/NRPE/Check_wsus_critical_updates.ps1
new file mode 100644
index 0000000..d94be58
--- /dev/null
+++ b/NRPE/Check_wsus_critical_updates.ps1
@@ -0,0 +1,52 @@
+# This is a little basic script I have written to query a WSUS server
+# about the updates needed by the system.
+#
+# It will only return a Critical status if there are any Critical Security Updates,
+# or Critical Updates waiting to be applied.
+#
+# I by no mean pretend to be a profesionnal scripter, so feel free
+# to modify as you see fit!
+#
+# Written by: Alexandre Beauclair
+# Date: April 12th 2012
+
+#Declaring base variables. You can change the $wsusserver value if needed.
+$wsusserver = "localhost"
+$securityCritical = 0
+$criticalUpdates = 0
+
+#Load required assemblies
+
+[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
+
+#Create necessary objects
+
+$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($wsusserver,$False)
+$updatescope = New-Object Microsoft.UpdateServices.Administration.UpdateScope
+
+#Specify we are looking for updates which are Not Approved, and Not Installed.
+
+$updatescope.ApprovedStates = [Microsoft.UpdateServices.Administration.ApprovedStates]::NotApproved
+$updatescope.IncludedInstallationStates = [Microsoft.UpdateServices.Administration.UpdateInstallationStates]::NotInstalled
+
+#Find how many updates are available.
+
+$checkSecurityCritical = $wsus.GetUpdates($updatescope) | where {$_.UpdateClassificationTitle -eq "Security Updates"} | ft MsrcSeverity -AutoSize | FIND /c " Critical"
+$checkCriticalUpdates = $wsus.GetUpdates($updatescope) | where {$_.UpdateClassificationTitle -eq "Critical Updates"} | ft UpdateClassificationTitle | FIND /c "Critical Updates"
+
+$securityCritical += $checkSecurityCritical
+$criticalUpdates += $checkCriticalUpdates
+
+
+#Return message and exit code accordingly.
+
+if(($securityCritical -gt 0) -or ($criticalUpdates -gt 0)){
+ Write-Host "CRITICAL - There are updates waiting to be applied. Critical Updates: $criticalUpdates Critical Security Updates: $securityCritical"
+ exit 2
+}else{
+ Write-Host "OK - There are no critical updates waiting to be applied."
+ exit 0
+}
+
+
+
diff --git a/NRPE/README.md b/NRPE/README.md
new file mode 100644
index 0000000..5d22df6
--- /dev/null
+++ b/NRPE/README.md
@@ -0,0 +1,78 @@
+## Addon NRPE
+
+- Tout les sondes ci-dessous son à ajouter dans le fichier nsclient.ini
+- Recherche la rubrique : `[/settings/external scripts/scripts]`
+
+## Partie Supervision :
+
+- Certificats-local.ps1
+**Description** : Controle l'expiration d'un ou plusieurs certificat se trouvant dansle même dossier.
+
+ Check_ca=cmd /c echo C:\Exploit\Centreon\Certificats-local.ps1 | powershell.exe -command -
+
+- Check_win_last_update.ps1
+**Description** :
+
+ Check_win_last_update=cmd /c echo C:\Exploit\Centreon\check_win_last_update.ps1 | powershell.exe -command -
+
+- WSTester.ps1
+**Description** :
+
+ Check_WSTester=cmd /c echo C:\Exploit\Centreon\WSTester.ps1 | powershell.exe -command -
+
+- Dynamics-AX.ps1
+**Description** : Pour l'application Dynamics AX
+
+ Check_DynamicsAX=cmd /c echo C:\Exploit\Centreon\Dynamics-AX.ps1 | powershell.exe -command -
+
+- Check-NetLbfoTeamMember.ps1
+**Description** :
+
+ Check_TeamMember=cmd /c echo C:\Exploit\Centreon\Check-NetLbfoTeamMember.ps1 | powershell.exe -command -
+
+- Check_diskdefragstatus.ps1
+**Description** :
+
+ Check_Defrag=cmd /c echo C:\Exploit\Centreon\check_diskdefragstatus.ps1 -warning 15 -critical 30 | powershell.exe -command -
+
+- Check_iis.ps1
+**Description** :
+
+ Check_IIS=cmd /c echo C:\Exploit\Centreon\check_iis.ps1 | powershell.exe -command -
+
+- Check_IISPerformance_State.ps1
+**Description** :
+
+ Check_iisperformance_state=cmd /c echo C:\Exploit\Centreon\Check_IISPerformance_State.ps1 -WebSite $ARG1$ | powershell.exe -command -
+
+- Check_iis8_app_pool_state.ps1
+**Description** :
+
+ Check_IIS8_AppPool=cmd /c echo C:\Exploit\Centreon\check_iis8_app_pool_state.ps1 $ARG1$ | powershell.exe -command -
+
+- Check_iis8_connections.ps1
+**Description** :
+
+ Check_IIS8_Connexions=cmd /c echo C:\Exploit\Centreon\check_iis8_connections.ps1 $ARG1$ $ARG2$ $ARG3$ | powershell.exe -command -
+
+- Check_iis8_site.ps1
+**Description** :
+
+ Check_IIS8_SiteWeb=cmd /c echo C:\Exploit\Centreon\check_iis8_site.ps1 $ARG1$ | powershell.exe -command -
+
+## Partie Hypervision :
+
+- Task-kill-Process.ps1
+**Description** : Permet de couper un process si une alerte définie est atteinte
+
+ Task_Kill_Process=cmd /c echo C:\Exploit\Centreon\Task-kill-Process.ps1 $ARG1$ | powershell.exe -command -
+
+- Task-Restart-Service.ps1
+**Description** : Relance d'un service
+
+ Task_Restart_Service=cmd /c echo C:\Exploit\Centreon\Task-Restart-Service.ps1 $ARG1$ | powershell.exe -command -
+
+- Task-Defrag.ps1
+**Description** : Lance une défragmentation en cas d'alerte
+
+ Task_Defrag=cmd /c echo C:\Exploit\Centreon\Task_defrag.ps1 | powershell.exe -command -
diff --git a/NRPE/Task-Defrag.ps1 b/NRPE/Task-Defrag.ps1
new file mode 100644
index 0000000..cd6f2b0
--- /dev/null
+++ b/NRPE/Task-Defrag.ps1
@@ -0,0 +1,54 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date : 18/11/2022
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = "Task-Defrag.log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+Start-Transcript -Path $sLogFile -NoClobber
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#------------------------------------------------------------[Script]--------------------------------------------------------------
+
+defrag /C
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
\ No newline at end of file
diff --git a/NRPE/Task-Kill-Process.ps1 b/NRPE/Task-Kill-Process.ps1
new file mode 100644
index 0000000..1eccb81
--- /dev/null
+++ b/NRPE/Task-Kill-Process.ps1
@@ -0,0 +1,60 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date : 18/11/2022
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+[CmdletBinding()]
+Param(
+ [Parameter(Mandatory=$True,Position=1)]
+ [int]$ProcessKill
+ )
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = "Task-Kill-Process.log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+Start-Transcript -Path $sLogFile -NoClobber
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#------------------------------------------------------------[Script]--------------------------------------------------------------
+
+taskkill /im $ProcessKill /f
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
\ No newline at end of file
diff --git a/NRPE/Task-Restart-Service.ps1 b/NRPE/Task-Restart-Service.ps1
new file mode 100644
index 0000000..851c6f5
--- /dev/null
+++ b/NRPE/Task-Restart-Service.ps1
@@ -0,0 +1,72 @@
+<#
+.SYNOPSIS
+
+
+.NOTES
+ Version : 1.0
+ Author : Hubert CORNET
+ Creation Date :
+ Purpose/Change :
+
+.LINK
+ https://www.tips-of-mine.fr
+
+.EXEMPLE
+
+
+.DESCRIPTION
+
+
+.PARAMETER
+
+
+.INPUTS
+
+
+.OUTPUTS
+ .log>
+#>
+
+#---------------------------------------------------------[Initialisations]--------------------------------------------------------
+
+[CmdletBinding()]
+Param(
+ [Parameter(Mandatory=$True,Position=1)]
+ [int]$ServiceName
+ )
+
+# Définir l'action d'erreur pour continuer silencieusement
+$ErrorActionPreference = "SilentlyContinue"
+
+#----------------------------------------------------------[Declarations]----------------------------------------------------------
+# Version Script
+$sScriptVersion = "1.0"
+
+#Log File Info
+$sLogPath = "C:\Tmp"
+$sLogName = "Task-Restart-Service.log"
+$sLogFile = Join-Path -Path $sLogPath -ChildPath $sLogName
+
+Start-Transcript -Path $sLogFile -NoClobber
+
+#-----------------------------------------------------------[Functions]------------------------------------------------------------
+
+#------------------------------------------------------------[Script]--------------------------------------------------------------
+
+Foreach ($Service in $ServiceName) {
+ Restart-Service $ServiceName -ErrorAction SilentlyContinue -ErrorVariable ServiceError
+
+ If (!$ServiceError) {
+ $Time=Get-Date
+ Write-Host "Redémarrage du service $Service à $Time"
+ }
+
+ If ($ServiceError) {
+ write-host $error[0]
+ exit 3
+ }
+}
+
+#---------------------------------------------------------[Fin Du Script]----------------------------------------------------------
+
+Stop-Transcript
\ No newline at end of file
diff --git a/NRPE/check-sql-listusers.ps1 b/NRPE/check-sql-listusers.ps1
new file mode 100644
index 0000000..ab71b7a
--- /dev/null
+++ b/NRPE/check-sql-listusers.ps1
@@ -0,0 +1,61 @@
+Function QuerySQLServer([string]$DBServer, [string]$DBName, [string]$Query) {
+ Try {
+ $ErrorActionPreference = "Stop"
+
+ $resultsDataTable = New-Object System.Data.DataTable
+
+ $cn = new-object System.Data.SqlClient.SqlConnection("Data Source=$DBServer;Integrated Security=SSPI;Initial Catalog=$DBName")
+ $cn.open()
+
+ $cmd = new-object "System.Data.SqlClient.SqlCommand" ($Query , $cn)
+ $reader = $cmd.ExecuteReader()
+
+ $resultsDataTable.Load($reader)
+
+ $cn.Close()
+
+ return $resultsDataTable
+ }
+ Catch {
+ write-host $_.Exception.Message
+ $_.Exception.Message >> "d:\error.log"
+ }
+ Finally {
+ $ErrorActionPreference = "Continue"
+ }
+}
+
+cls
+
+$bReturnOK = $TRUE
+$bReturnCritical = $FALSE
+$bReturnWarning = $FALSE
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$strCritical = ""
+$strWarning = ""
+$DataTexte = ""
+
+$ComputerName = $env:COMPUTERNAME
+
+$Liste = QuerySQLServer "$ComputerName" "dhb_prd" "SELECT A.session_id, Db_Name(database_id) AS [database], DateDiff(MINUTE, A.connect_time, GetDate()) AS [Connected (mins)], num_reads, num_writes, login_name, Text AS SQL FROM sys.dm_exec_connections AS A INNER JOIN sys.dm_exec_sessions AS B ON A.session_id = B.session_id INNER JOIN sys.sysprocesses AS s ON s.spid = A.session_id OUTER APPLY::fn_get_sql(sql_handle)"
+$Liste | Format-Table | Out-String|% {Write-Host $_}
+
+$DataTexte = $Liste.login_name
+
+If ($bReturnCritical) {
+ write-output $strCritical
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateCritical
+}
+Elseif ($bReturnWarning) {
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateWarning
+}
+Else {
+ write-output "OK - Nombre de requete en cours : $DataTexte | 'NbrequetesEnCours'=$DataTexte "
+ exit $returnStateOK
+}
\ No newline at end of file
diff --git a/NRPE/check-sql-monitoring.ps1 b/NRPE/check-sql-monitoring.ps1
new file mode 100644
index 0000000..bba1ec1
--- /dev/null
+++ b/NRPE/check-sql-monitoring.ps1
@@ -0,0 +1,62 @@
+Function QuerySQLServer([string]$DBServer, [string]$DBName, [string]$Query) {
+ Try {
+ $ErrorActionPreference = "Stop"
+
+ $resultsDataTable = New-Object System.Data.DataTable
+
+ $cn = new-object System.Data.SqlClient.SqlConnection("Data Source=$DBServer;Integrated Security=SSPI;Initial Catalog=$DBName")
+ $cn.open()
+
+ $cmd = new-object "System.Data.SqlClient.SqlCommand" ($Query , $cn)
+ $reader = $cmd.ExecuteReader()
+
+ $resultsDataTable.Load($reader)
+
+ $cn.Close()
+
+ return $resultsDataTable
+ }
+ Catch {
+ write-host $_.Exception.Message
+ $_.Exception.Message >> "d:\error.log"
+ }
+ Finally {
+ $ErrorActionPreference = "Continue"
+ }
+}
+
+cls
+
+$bReturnOK = $TRUE
+$bReturnCritical = $FALSE
+$bReturnWarning = $FALSE
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$strCritical = ""
+$strWarning = ""
+$DataTexte = ""
+
+$ComputerName = $env:COMPUTERNAME
+
+$Liste = QuerySQLServer "$ComputerName" "dhb_prd" "SELECT wait_type ,wait_time_ms ,CONVERT(DECIMAL(7,4),100.0 * wait_time_ms/SUM(wait_time_ms) OVER()) AS wait_percent FROM sys.dm_os_wait_stats WHERE wait_type NOT IN ('CLR_SEMAPHORE','LAZYWRITER_SLEEP','RESOURCE_QUEUE','SLEEP_TASK' ,'SLEEP_SYSTEMTASK','SQLTRACE_BUFFER_FLUSH','WAITFOR', 'LOGMGR_QUEUE','CHECKPOINT_QUEUE' ,'REQUEST_FOR_DEADLOCK_SEARCH','XE_TIMER_EVENT','BROKER_TO_FLUSH','BROKER_TASK_STOP', 'CLR_MANUAL_EVENT','CLR_AUTO_EVENT','DISPATCHER_QUEUE_SEMAPHORE', 'FT_IFTS_SCHEDULER_IDLE_WAIT', 'XE_DISPATCHER_WAIT', 'XE_DISPATCHER_JOIN')" # -- filtrage de quelques types d'attente ORDER BY wait_percent DESC GO"
+$Liste | Format-Table | Out-String|% {Write-Host $_}
+
+pause
+$DataTexte = $Liste.waiting_tasks_count+$Liste.wait_time_ms+$Liste.max_wait_time_ms+$Liste.signal_wait_time_ms
+
+If ($bReturnCritical) {
+ write-output $strCritical
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateCritical
+}
+Elseif ($bReturnWarning) {
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateWarning
+}
+Else {
+ write-output "OK - Nombre de requete en cours : $DataTexte | 'NbrequetesEnCours'=$DataTexte "
+ exit $returnStateOK
+}
\ No newline at end of file
diff --git a/NRPE/check-sql-nbrrequeteencour.ps1 b/NRPE/check-sql-nbrrequeteencour.ps1
new file mode 100644
index 0000000..54b77a9
--- /dev/null
+++ b/NRPE/check-sql-nbrrequeteencour.ps1
@@ -0,0 +1,60 @@
+Function QuerySQLServer([string]$DBServer, [string]$DBName, [string]$Query) {
+ Try {
+ $ErrorActionPreference = "Stop"
+
+ $resultsDataTable = New-Object System.Data.DataTable
+
+ $cn = new-object System.Data.SqlClient.SqlConnection("Data Source=$DBServer;Integrated Security=SSPI;Initial Catalog=$DBName")
+ $cn.open()
+
+ $cmd = new-object "System.Data.SqlClient.SqlCommand" ($Query , $cn)
+ $reader = $cmd.ExecuteReader()
+
+ $resultsDataTable.Load($reader)
+
+ $cn.Close()
+
+ return $resultsDataTable
+ }
+ Catch {
+ write-host $_.Exception.Message
+ $_.Exception.Message >> "d:\error.log"
+ }
+ Finally {
+ $ErrorActionPreference = "Continue"
+ }
+}
+
+cls
+
+$bReturnOK = $TRUE
+$bReturnCritical = $FALSE
+$bReturnWarning = $FALSE
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+
+$strCritical = ""
+$strWarning = ""
+$DataTexte = ""
+
+$ComputerName = $env:COMPUTERNAME
+
+$Liste = QuerySQLServer "$ComputerName" "dhb_prd" "SELECT count(r.session_id) as NbrequetesEnCours FROM sys.dm_exec_requests r join sys.dm_exec_sessions ses on ses.session_id = r.session_id CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS t CROSS APPLY sys.dm_exec_query_plan(r.plan_handle) AS p"
+
+$DataTexte = $Liste.NbrequetesEnCours
+
+If ($bReturnCritical) {
+ write-output $strCritical
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateCritical
+}
+Elseif ($bReturnWarning) {
+ write-output $strWarning "|" $DataTexte
+ exit $returnStateWarning
+}
+Else {
+ write-output "OK - Nombre de requete en cours : $DataTexte | 'NbrequetesEnCours'=$DataTexte "
+ exit $returnStateOK
+}
\ No newline at end of file
diff --git a/NRPE/check_veeam_endpointbackup.ps1 b/NRPE/check_veeam_endpointbackup.ps1
new file mode 100644
index 0000000..99c09a4
--- /dev/null
+++ b/NRPE/check_veeam_endpointbackup.ps1
@@ -0,0 +1,211 @@
+# Script name: check_veeam_endpoint_eventlogs.ps1
+# Version: 1.0
+# Created on: 1May2016
+# Author: Dallas Haselhorst
+# Purpose: Check Veeam Endpoint Backup success or failure via event logs
+#
+# Note: This is for monitoring Endpoint. Veeam Endpoint only allows for a single
+# job. If multiple jobs must be monitored, there is a separate script called
+# check_veeam_eventlogs.ps1 also found on Nagios Exchange
+#
+# Note: does NOT use PowerShell plug-in
+#
+# Copyright:
+# This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed
+# in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public
+# License along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# For Nagios XI NCPA usage, the following line should be copied to the $ARG1$ text box
+# -t '<token>' -P <port number> -M 'agent/plugin/check_veeam_endpoint_eventlogs.ps1/<ArgBackupJobName>/<ArgLastHours>
+#
+# For testing from the Nagios command line, add './check_ncpa.py -H <IP address>' to the above line
+# ArgBackupJobName is required.
+# ArgLastMinutes should be populated with the time to check in minutes, e.g. 60 (for 1 hour), 120 (for 2 hours),
+#
+# Examples
+# -t 'TokenPass' -P 5693 -M 'agent/plugin/check_veeam_endpoint_eventlogs.ps1/24'
+# -- above line would check the last 24 hours of Veeam Endpoint Backup logs
+
+
+# Pull in arguments
+$ArgLogName = "Veeam Agent" # veeam backup event log
+$ArgEntryType = 1,2,3,4 # look for critical, error, warning and informational logs
+$ArgProviderName = "Veeam Agent"
+$ArgEventID = 190 # backup job complete event id
+
+$ArgLastHours = $args[0]
+
+
+# Setting default values if null
+if (!$ArgLastHours) { $ArgLastHours = (24) }
+if (!$ArgWarningTH) { $ArgWarningTH = 0 }
+if (!$ArgCriticalTH) { $ArgCriticalTH = 0 }
+if (!$ArgMaxEntries) { $ArgMaxEntries = 50 }
+
+$CriticalErrorResultCount = 0
+$WarningResultCount = 0
+$InfoResultCount = 0
+$EventTypeLoopCount = 0
+$LogNameLoopCount = 0
+$ProviderNameLoopCount = 0
+$EventIDLoopCount = 0
+
+$Properties='Level','Message','ProviderName','TimeCreated','Id'
+
+$Filter = @{
+ LogName = $ArgLogName
+ StartTime = (Get-Date).AddHours(-$ArgLastHours)
+}
+
+if($ArgProviderName) { $Filter += @{ProviderName = $ArgProviderName } }
+if($ArgEventID) { $Filter += @{Id = $ArgEventID } }
+if($ArgEntryType) { $Filter += @{Level = $ArgEntryType } }
+
+# -ea SilentlyContinue gets rid of non-terminating error resulting from zero events
+$LogEntries = Get-WinEvent -MaxEvents $ArgMaxEntries -FilterHashtable $Filter -ea SilentlyContinue -Oldest | Select-Object -Property $Properties
+
+if ($LogEntries) {
+
+ ForEach ($LogEntry in $LogEntries) {
+ if ($LogEntry.Message.ToString() -like "*Veeam Agent*")
+ {
+ $Level=$LogEntry.Level.ToString()
+ if (($Level -eq 1) -Or ($Level -eq 2)) # find critical and errors
+ {
+ $Message=$LogEntry.Message.Substring(0,[System.Math]::Min(180, $LogEntry.Message.Length)).TrimEnd().ToString()
+ $ProviderName=$LogEntry.ProviderName.ToString()
+ $TimeCreated=$LogEntry.TimeCreated.ToString()
+ $Id=$LogEntry.Id.ToString()
+ $CriticalErrorResultCount++
+
+ $CriticalErrorResults=@"
+
+At: $TimeCreated
+Level: $Level
+Event ID: $Id
+Message: $Message
+Source: $ProviderName
+$CriticalErrorResults
+"@
+ }
+ elseif ($Level -eq 3) # find warnings
+ {
+ $Message=$LogEntry.Message.Substring(0,[System.Math]::Min(180, $LogEntry.Message.Length)).TrimEnd().ToString()
+ $ProviderName=$LogEntry.ProviderName.ToString()
+ $TimeCreated=$LogEntry.TimeCreated.ToString()
+ $Id=$LogEntry.Id.ToString()
+ $WarningResultCount++
+
+ $WarningResults=@"
+
+At: $TimeCreated
+Level: $Level
+Event ID: $Id
+Message: $Message
+Source: $ProviderName
+$WarningResults
+"@
+ }
+ else # all that's left, find info (4) messages
+ {
+ $Message=$LogEntry.Message.Substring(0,[System.Math]::Min(180, $LogEntry.Message.Length)).TrimEnd().ToString()
+ $ProviderName=$LogEntry.ProviderName.ToString()
+ $TimeCreated=$LogEntry.TimeCreated.ToString()
+ $Id=$LogEntry.Id.ToString()
+ $InfoResultCount++
+
+ $InfoResults=@"
+
+At: $TimeCreated
+Level: $Level
+Event ID: $Id
+Message: $Message
+Source: $ProviderName
+$InfoResults
+"@
+ }
+ }
+
+}
+
+}
+
+$Results= @"
+$CriticalErrorResults $WarningResults $InfoResults
+"@
+
+if ($ArgEntryType) {
+$TypeArray = @("all level","critical","error","warning","informational")
+$LevelString = foreach ($Entry in $ArgEntryType) {
+ if ($ArgEntryType.Count -gt 1) {
+ $LevelStringBuild = $TypeArray[$Entry]
+ if ($ArgEntryType.Count -ne $EventTypeLoopCount+1) {
+ $LevelStringBuild +=","
+ }
+ }
+
+ else { $LevelStringBuild = $TypeArray[$Entry] }
+ $EventTypeLoopCount++
+ $LevelStringBuild
+ }
+}
+
+$LogNameString = foreach ($LogNameEntry in $ArgLogName) {
+ $LogNameStringBuild += $LogNameEntry
+ if ($ArgLogName.Count -gt 1 -And $ArgLogName.Count -ne $LogNameLoopCount+1) {
+ $LogNameStringBuild += ", "
+ }
+ $LogNameLoopCount++
+ }
+
+$ProviderNameString = foreach ($ProviderNameEntry in $ArgProviderName) {
+ $ProviderNameStringBuild += $ProviderNameEntry
+ if ($ArgProviderName.Count -gt 1 -And $ArgProviderName.Count -ne $ProviderNameLoopCount+1) {
+ $ProviderNameStringBuild += ", "
+ }
+ $ProviderNameLoopCount++
+ }
+
+$EventIDString = foreach ($EventIDEntry in $ArgEventID) {
+ $EventIDStringBuild += "$EventIDEntry"
+ if ($ArgEventID.Count -gt 1 -And $ArgEventID.Count -ne $EventIDLoopCount+1) {
+ $EventIDStringBuild += ", "
+ }
+ $EventIDLoopCount++
+ }
+
+If ($CriticalErrorResultCount -gt 0) {
+ $ResultString += "Backup failed: $CriticalErrorResultCount critical error(s) for backup job in last $ArgLastHours hours "
+ $NagiosMetricString += "'Errors'=$CriticalErrorResultCount 'BackupUnknown'=1 "
+ $ExitCode = 1
+ }
+
+If ($WarningResultCount -gt 0) {
+ $ResultString += "Warning: backup job had $WarningResultCount warning message(s) in the last $ArgLastHours hours "
+ If ($ExitCode -ne 1) {
+ $NagiosMetricString += "'BackupUnknown'=1 "
+ $ExitCode = 1
+ }
+ $NagiosMetricString += "'Warnings'=$WarningResultCount "
+
+ }
+
+If (($InfoResultCount -lt 1) -And ($ExitCode -ne 1)) {
+ $ResultString += "Backup failed: backup job has not run in last $ArgLastHours hours "
+ $NagiosMetricString += "'BackupNotRun'=1 "
+ If ($ExitCode -ne 1) { $ExitCode = 1 }
+ }
+
+If (($InfoResultCount -ge 1) -And ($CriticalErrorResultCount -eq 0 ) -And ($WarningResultCount -eq 0 )){
+ $ResultString += "OK: backup job completed successfully in last $ArgLastHours hours "
+ $NagiosMetricString = "'BackupSuccess'=1 "
+ $ExitCode = 0
+ }
+
+ write-host $ResultString
+ write-host $Results
+ write-host $ResultString"|"$NagiosMetricString
+ exit $ExitCode
+
diff --git a/NRPE/check_windows_updates.ps1 b/NRPE/check_windows_updates.ps1
new file mode 100644
index 0000000..c2d62ae
--- /dev/null
+++ b/NRPE/check_windows_updates.ps1
@@ -0,0 +1,173 @@
+#################################################################################
+#
+# NAME: check_windows_updates.ps1
+#
+# COMMENT: Script to check for windows updates with Nagios + NRPE/NSClient++
+#
+# Checks:
+# - how many critical and optional updates are available
+# - whether the system is waiting for reboot after installed updates
+#
+# Features:
+# - properly handles NRPE's 1024b limitation in return packet
+# - configurable return states for pending reboot and optional updates
+# - performance data in return packet shows titles of available critical updates
+# - caches updates in file to reduce network traffic, also dramatically increases script execution speed
+#
+# Return Values for NRPE:
+# No updates available - OK (0)
+# Only Hidden Updates - OK (0)
+# Updates already installed, reboot required - WARNING (1)
+# Optional updates available - WARNING (1)
+# Critical updates available - CRITICAL (2)
+# Script errors - UNKNOWN (3)
+#
+# NRPE Handler to use with NSClient++:
+# [NRPE Handlers]
+# check_updates=cmd /c echo scripts\check_windows_updates.ps1 $ARG1$ $ARG2$; exit $LastExitCode | powershell.exe -command -
+#
+#
+# IMPORTANT: Please make absolutely sure that your Powershell ExecutionPolicy is set to Remotesigned.
+# Also note that there are two versions of powershell on a 64bit OS! Depending on the architecture
+# of your NSClient++ version you have to choose the right one:
+#
+# 64bit NSClient++ (installed under C:\Program Files ):
+# %SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe "Set-ExecutionPolicy RemoteSigned"
+#
+# 32bit NSClient++ (installed under C:\Program Files (x86) ):
+# %SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe "Set-ExecutionPolicy RemoteSigned"
+#
+#
+# CHANGELOG:
+# 1.45 2016-08-05 - corrected some typos, added newline after each critical update
+# 1.44 2016-04-05 - performance data added
+# 1.42 2015-07-20 - strip unwanted characters from returnString
+# 1.41 2015-04-24 - removed wuauclt /detectnow if updates available
+# 1.4 2015-01-14 - configurable return state for pending reboot
+# 1.3 2013-01-04 - configurable return state for optional updates
+# 1.2 2011-08-11 - cache updates, periodically update cache file
+# 1.1 2011-05-11 - hidden updates only -> state OK
+# - call wuauctl.exe to show available updates to user
+# 1.0 2011-05-10 - initial version
+#
+#################################################################################
+# Copyright (C) 2011-2015 Christian Kaufmann, ck@tupel7.de
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, see .
+#################################################################################
+
+$htReplace = New-Object hashtable
+foreach ($letter in (Write-Output ä ae ö oe ü ue Ä Ae Ö Oe Ü Ue ß ss)) {
+ $foreach.MoveNext() | Out-Null
+ $htReplace.$letter = $foreach.Current
+}
+$pattern = "[$(-join $htReplace.Keys)]"
+
+$returnStateOK = 0
+$returnStateWarning = 1
+$returnStateCritical = 2
+$returnStateUnknown = 3
+$returnStatePendingReboot = $returnStateWarning
+$returnStateOptionalUpdates = $returnStateWarning
+
+$updateCacheFile = "check_windows_updates-cache.xml"
+$updateCacheExpireHours = "24"
+
+$logFile = "check_windows_update.log"
+
+function LogLine( [String]$logFile = $(Throw 'LogLine:$logFile unspecified'),
+ [String]$row = $(Throw 'LogLine:$row unspecified')) {
+ $logDateTime = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
+ Add-Content -Encoding UTF8 $logFile ($logDateTime + " - " + $row)
+}
+
+if (Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired"){
+ Write-Host "updates installed, reboot required"
+ if (Test-Path $logFile) {
+ Remove-Item $logFile | Out-Null
+ }
+ if (Test-Path $updateCacheFile) {
+ Remove-Item $updateCacheFile | Out-Null
+ }
+ exit $returnStatePendingReboot
+}
+
+if (-not (Test-Path $updateCacheFile)) {
+ LogLine -logFile $logFile -row ("$updateCacheFile not found, creating....")
+ $updateSession = new-object -com "Microsoft.Update.Session"
+ $updates=$updateSession.CreateupdateSearcher().Search(("IsInstalled=0 and Type='Software'")).Updates
+ Export-Clixml -InputObject $updates -Encoding UTF8 -Path $updateCacheFile
+}
+
+if ((Get-Date) -gt ((Get-Item $updateCacheFile).LastWriteTime.AddHours($updateCacheExpireHours))) {
+ LogLine -logFile $logFile -row ("update cache expired, updating....")
+ $updateSession = new-object -com "Microsoft.Update.Session"
+ $updates=$updateSession.CreateupdateSearcher().Search(("IsInstalled=0 and Type='Software'")).Updates
+ Export-Clixml -InputObject $updates -Encoding UTF8 -Path $updateCacheFile
+} else {
+ LogLine -logFile $logFile -row ("using valid cache file....")
+ $updates = Import-Clixml $updateCacheFile
+}
+
+$criticalTitles = "";
+$countCritical = 0;
+$countOptional = 0;
+$countHidden = 0;
+
+if ($updates.Count -eq 0) {
+ Write-Host "OK - no pending updates.|critical=$countCritical;optional=$countOptional;hidden=$countHidden"
+ exit $returnStateOK
+}
+
+foreach ($update in $updates) {
+ if ($update.IsHidden) {
+ $countHidden++
+ }
+ elseif ($update.AutoSelectOnWebSites) {
+ $criticalTitles += $update.Title + " `n"
+ $countCritical++
+ } else {
+ $countOptional++
+ }
+}
+if (($countCritical + $countOptional) -gt 0) {
+ $returnString = "Updates: $countCritical critical, $countOptional optional" + [Environment]::NewLine + "$criticalTitles"
+ $returnString = [regex]::Replace($returnString, $pattern, { $htReplace[$args[0].value] })
+
+ # 1024 chars max, reserving 48 chars for performance data ->
+ if ($returnString.length -gt 976) {
+ Write-Host ($returnString.SubString(0,975) + "|critical=$countCritical;optional=$countOptional;hidden=$countHidden")
+ } else {
+ Write-Host ($returnString + "|critical=$countCritical;optional=$countOptional;hidden=$countHidden")
+ }
+}
+
+#if ($countCritical -gt 0 -or $countOptional -gt 0) {
+# Start-Process "wuauclt.exe" -ArgumentList "/detectnow" -WindowStyle Hidden
+#}
+
+if ($countCritical -gt 0) {
+ exit $returnStateCritical
+}
+
+if ($countOptional -gt 0) {
+ exit $returnStateOptionalUpdates
+}
+
+if ($countHidden -gt 0) {
+ Write-Host "OK - $countHidden hidden updates.|critical=$countCritical;optional=$countOptional;hidden=$countHidden"
+ exit $returnStateOK
+}
+
+Write-Host "UNKNOWN script state"
+exit $returnStateUnknown
\ No newline at end of file
diff --git a/OneDrive/Init-OneDrive.ps1 b/OneDrive/Init-OneDrive.ps1
new file mode 100644
index 0000000..2aa015e
--- /dev/null
+++ b/OneDrive/Init-OneDrive.ps1
@@ -0,0 +1,11 @@
+#Récupérer la liste de utilisateurs depuis un fichier
+$users = Get-Content -path "C:\Users.txt"
+
+#Récupérer tous les utilsiateurs
+$users = Get-MsolUser -All | Where-Object { $_.islicensed -eq $true }
+
+#Provisionner OneDrive pour les utilisateurs (limite de 100 environ)
+Request-SPOPersonalSite -UserEmails $users
+
+#Pour un plus grand nombre d'utilisateurs
+#https://docs.microsoft.com/fr-fr/onedrive/pre-provision-accounts
\ No newline at end of file
diff --git a/OneDrive/README.md b/OneDrive/README.md
new file mode 100644
index 0000000..53a507b
--- /dev/null
+++ b/OneDrive/README.md
@@ -0,0 +1 @@
+# OneDrive
diff --git a/Opcon/Daily Jobs To Html/DailyJobsToHtml-V0.ps1 b/Opcon/Daily Jobs To Html/DailyJobsToHtml-V0.ps1
new file mode 100644
index 0000000..4ec6818
--- /dev/null
+++ b/Opcon/Daily Jobs To Html/DailyJobsToHtml-V0.ps1
@@ -0,0 +1,327 @@
+
+
+param(
+ [string] $OpScheduleDate = "",
+ [string] $OpJobStatus = "",
+ [string] $OpConUser = "ocadm",
+ [string] $OpConPassword,
+ [string] $ServerUrl = "https://10.78.56.27:443"
+ )
+
+
+
+function Ignore-SelfSignedCerts {
+ add-type -TypeDefinition @"
+ using System.Net;
+ using System.Security.Cryptography.X509Certificates;
+ public class TrustAllCertsPolicy : ICertificatePolicy {
+ public bool CheckValidationResult(
+ ServicePoint srvPoint, X509Certificate certificate,
+ WebRequest request, int certificateProblem) {
+ return true;
+ }
+ }
+"@
+ [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
+}
+
+
+function Invoke-OpConRestMethod {
+ param(
+ [ValidateNotNullorEmpty()]
+ [String]$Uri,
+ [ValidateNotNullorEmpty()]
+ [String]$Method,
+ [object]$Body = $null
+ )
+
+
+ if (!$Global:OpconRESTApiUrl -or !$Global:OpconRESTApiAuthHeader)
+ {
+ Write-Warning "No values for Opcon REST Api. Please use Logon-OpConApi before using cmdlet."
+ throw [System.Exception] "Invalid OpCon REST API Values"
+ }
+
+
+ $uri = $Global:OpconRESTApiUrl + $Uri
+
+ Write-Verbose("Sending Web Request...")
+ try
+ {
+ if ($Body -eq $null)
+ {
+ $response = Invoke-RestMethod -Method $Method -Uri $uri -Headers $Global:OpconRESTApiAuthHeader -ErrorVariable $RestException
+ }
+ else
+ {
+ $Body = ConvertTo-Json $Body -Depth 99
+ $response = Invoke-RestMethod -Method $Method -Uri $uri -Headers $Global:OpconRESTApiAuthHeader -Body $Body -ContentType 'application/json; charset=utf-8' -ErrorVariable $RestException
+ }
+ Write-Verbose ("`n")
+ Write-Verbose("RESPONSE:")
+ Write-Verbose(ConvertTo-Json $response -Depth 9)
+ return $response
+ }
+ catch
+ {
+ Write-Warning ("Error")
+ Write-Warning ("StatusCode: " + $_.Exception.Response.StatusCode.value__)
+ Write-Warning ("StatusDescription: " + $_.Exception.Response.StatusDescription)
+ $opconApiError = ConvertFrom-Json $_.ErrorDetails.Message
+ Write-Warning ("ErrorCode: " + $opconApiError.code)
+ Write-Warning ("ErrorMessage: " + $opconApiError.message)
+ throw
+ ##exit $_.Exception.Response.StatusCode.value__
+ }
+}
+
+
+function Get-OpConApiToken {
+[cmdletbinding()]
+param(
+ [string] $Url,
+ [string] $User,
+ [string] $Password
+ )
+$tokensUri = -join($Url, "/api/tokens")
+Write-Host ("Retrieving authorization token...")
+Write-Host ("Uri: " + $tokensUri)
+Write-Host ("User: " + $User)
+$tokenObject = @{
+ user = @{
+ loginName = $User
+ password = $Password
+ }
+ tokenType = @{
+ type = "User"
+ }
+}
+try
+{
+ Ignore-SelfSignedCerts
+ #$token = Invoke-RestMethod -Method Post -Uri $tokensUri -Body (ConvertTo-Json $tokenObject) -ContentType 'application/json; charset=utf-8' -ErrorVariable $RestException -SkipCertificateCheck
+ $token = Invoke-RestMethod -Method Post -Uri $tokensUri -Body (ConvertTo-Json $tokenObject) -ContentType 'application/json; charset=utf-8' -ErrorVariable $RestException
+}
+catch
+{
+ ## $error = ConvertFrom-Json $RestException.ErrorDetails.Message
+ ##Write-Host ("Unable to fetch token for user '" + $user + "'")
+ ##Write-Host ("Error Code: " + $error.code)
+ ##Write-Host ("Message: " + $error.message)
+ Write-Host ("StatusCode: " + $_.Exception.Response.StatusCode.value__)
+ Write-Host ("StatusDescription: " + $_.Exception.Response.StatusDescription)
+ Write-Host ("Message: " + $_[0].message)
+ ##$Global:OpConRESTAPIException = $_
+ throw
+ ##exit $_.Exception.Response.StatusCode.value__
+}
+Write-Host ("Token retrieved successfully, Id: " + $token.id + ", Valid Until: " + $token.validUntil)
+return $token
+}
+
+
+function Get-OpConApiAuthHeader {
+param(
+ [string] $Token
+ )
+ $authHeader = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
+ $authHeader.Add("Authorization", ("Token " + $Token))
+ return $authHeader
+}
+
+
+
+function Login-RestApi {
+[cmdletbinding()]
+param(
+ [string] $ApiUrl,
+ [string] $OpConUser,
+ [string] $OpConPassword
+ )
+
+
+ Write-Verbose ("Parameters =")
+ Write-Verbose ("ApiUrl: " + $ApiUrl)
+ Write-Verbose ("OpConUser: " + $OpConUser)
+ Write-Verbose ("OpConPassword: (hidden)")
+
+
+ $ApiUrl = $ApiUrl.ToLower().TrimEnd("/").TrimEnd("/api")
+
+
+ Write-Host ("Logging in to OpCon REST API: " + $ApiUrl)
+
+
+ $Global:OpconRESTApiUrl = $ApiUrl
+ $Global:OpconRESTApiUser = $OpConUser
+ $Global:OpConRESTApiPassword = $OpConPassword
+ $token = Get-OpConApiToken -Url $ApiUrl -User $OpConUser -Password $OpConPassword
+ $Global:OpconRESTApiToken = $token.id
+
+
+ $Global:OpconRESTApiAuthHeader = Get-OpConApiAuthHeader -Token $token.id
+ Write-Host ('Token successfully stored for future calls in session.')
+}
+
+
+ function GetJobListToUpdateInTrances
+ {
+ [cmdletbinding()]
+ param(
+ [string] $Status,
+ [string] $Dates,
+ [string] $JobType
+ )
+
+ $offset =0; # start from
+ $size=0; # number of jobs retrieved each call
+ $limit=1000; # max number of record x trance
+ $jobListFull = New-Object System.Collections.Generic.List[System.Object]
+
+
+ Write-Host ("===> Start retrieving jobs in trances of $limit ")
+
+
+ do{
+ $jobUri = -join($Url, "/api/dailyJobs/?dates=$Dates&scheduleIds=$($daily.id)&status=$Status&jobType=$JobType&limit=$limit&offset=$offset")
+ #$jobUri = -join($Url, "/api/dailyJobs/?dates=$Dates&scheduleIds=$($daily.id)&jobType=$JobType&limit=$limit&offset=$offset")
+ $jobResponse = Invoke-OpConRestMethod -Uri $jobUri -Method GET -ContentType "application/json"-Headers $Global:OpconRESTApiAuthHeader -ErrorVariable $RestException;
+ #Write-Host ("Job URI : $($jobUri)")
+
+ Foreach($job in $jobResponse)
+ {
+ #$entry= "$($job.schedule.name) - $($job.id)"
+ $jobListFull.Add($job)
+ #$jobListFull.Add(@{id = $job.id})
+ #Write-Host ("Job name : $($job.id)")
+ }
+
+
+ $size = $jobResponse.Length;
+ $jobListFullsize = $jobListFull.Count
+ Write-Host ("Partial/Total retrieved n.: $size/$jobListFullsize")
+
+ $offset+=$limit;
+ if ($size -lt $limit)
+ {
+ $size = 0;
+ }
+ # If is necessary a delay between calls uncomment and tune the line below
+ # Start-Sleep -s 5
+ }While ($size -gt 0)
+
+
+ if ($jobListFull.Count -gt 0)
+ {
+ Write-host ("Total jobs retrieved : $($jobListFull.Count)")
+ }
+
+ return, $jobListFull
+}
+
+
+function TryParseDate{
+ [cmdletbinding()]
+ param(
+ [object] $inDate,
+ [string] $format
+ )
+ $outDate = ""
+ try {
+ $outDate =[datetime]::parseexact($($inDate), $($format),$null)
+ }
+ catch {
+ $outDate = "?"
+ }
+ return $outDate
+}
+
+
+
+ function DisplayDailyJobs
+ {
+ [cmdletbinding()]
+ param(
+ [string] $Status,
+ [string] $Action,
+ [string] $Dates,
+ [string] $JobType
+ )
+
+ #Get job list to update in trances
+ $jobList = GetJobListToUpdateInTrances -Status $Status -Dates $Dates -JobType $JobType
+
+ #$lst = jobList.chunked(3)
+
+ Foreach($job in $jobList)
+ {
+ #Write-Host ("Schedule: $($job.schedule.name) Job : $($job.name)")
+
+ #$dt = [datetime]::parseexact($($job.schedule.date), 'yyyy-MM-ddTHH:mm:ss.fffffffzzz',$null)
+ $dt = TryParseDate -inDate $job.schedule.date -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+ $StartTimeProgrammed = TryParseDate -inDate $job.computedStartTime.ProgrammedFor -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+
+ $StartTimeTime =TryParseDate -inDate $job.computedStartTime.time -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+ $StartTimeTimeEstimated = ""
+ if ($job.computedStartTime.isEstimated -contains "True") {
+ $StartTimeTimeEstimated = "*"
+ }
+
+ $EndTimeProgrammed = TryParseDate -inDate $job.computedEndTime.ProgrammedFor -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+ $EndTimeTime = TryParseDate -inDate $job.computedEndTime.time -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+ $EndTimeTimeEstimated = ""
+ if ($job.computedEndTime.isEstimated -contains "True") {
+ $EndTimeTimeEstimated = "*"
+ }
+
+ $DurationEstimated = ""
+ if ($job.computedDuration.isEstimated -contains "True") {
+ $DurationEstimated = "*"
+ }
+
+ $DateStr = $dt.ToString("dd/MM/yyyy")
+
+ $htmlCellStyle = ""
+ if ($job.status.description -contains "Failed") {
+ $htmlCellStyle = "style='background:#FF0000'"
+ }
+
+ $dataRow = "
+
+ $($DateStr) |
+ $($job.schedule.name) |
+ $($job.name) |
+ $($job.primaryMachine.name) |
+ $($job.jobType.description) |
+ $($job.status.description) |
+ $($StartTimeProgrammed) |
+ $($EndTimeProgrammed) |
+ $($StartTimeTime) $($StartTimeTimeEstimated) |
+ $($EndTimeTime) $($EndTimeTimeEstimated) |
+ $($job.computedDuration.duration/1000/60) $($DurationEstimated) |
+ "
+
+ $FinalData += $datarow
+ }
+
+
+ (Get-Content -path HtmlTemplate.html -Raw) -replace 'ROWS_PLACE_HOLDER',$FinalData | Out-File -FilePath outfile.html
+}
+
+
+$SecPass = $null;
+$clearPassword = ""
+if ($OpConPassword.Length -eq 0 ) {
+ $SecPass = Read-Host 'What is your password?' -AsSecureString
+ $clearPassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto(
+ [Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecPass))
+}
+else {
+ $clearPassword = $OpConPassword
+}
+
+Login-RestApi -ApiUrl $ServerUrl -OpConUser $OpConUser -OpConPassword $clearPassword
+
+DisplayDailyJobs -Status $OpJobStatus -Dates $OpScheduleDate -JobType ""
+
+.\outfile.html
\ No newline at end of file
diff --git a/Opcon/Daily Jobs To Html/DailyJobsToHtml.ps1 b/Opcon/Daily Jobs To Html/DailyJobsToHtml.ps1
new file mode 100644
index 0000000..2603ee1
--- /dev/null
+++ b/Opcon/Daily Jobs To Html/DailyJobsToHtml.ps1
@@ -0,0 +1,525 @@
+#############
+#
+# Auteur : Hubert Cornet
+# date : 13 avril 2022
+#
+# description du script : intrroge l'API d'OPCON
+#
+#############
+
+# Variable et argment dans le lancement du script
+Param(
+ [string] $OpScheduleDate = "",
+ [string] $OpJobStatus = "",
+ [string] $OpConUser = "ocadm",
+ [string] $OpConPassword,
+ [string] $ServerUrl = "https://10.78.56.27:443"
+ )
+
+clear
+
+# Fonction
+Function Ignore-SelfSignedCerts {
+ add-type -TypeDefinition @"
+ using System.Net;
+ using System.Security.Cryptography.X509Certificates;
+ public class TrustAllCertsPolicy : ICertificatePolicy {
+ public bool CheckValidationResult(
+ ServicePoint srvPoint, X509Certificate certificate,
+ WebRequest request, int certificateProblem) {
+ return true;
+ }
+ }
+"@
+ [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
+}
+
+#
+Function Invoke-OpConRestMethod {
+ Param(
+ [ValidateNotNullorEmpty()]
+ [String]$Uri,
+ [ValidateNotNullorEmpty()]
+ [String]$Method,
+ [object]$Body = $null
+ )
+
+ If (!$Global:OpconRESTApiUrl -or !$Global:OpconRESTApiAuthHeader) {
+ Write-Warning "No values for Opcon REST Api. Please use Logon-OpConApi before using cmdlet."
+ throw [System.Exception] "Invalid OpCon REST API Values"
+ }
+
+ $uri = $Global:OpconRESTApiUrl + $Uri
+
+ Write-Verbose ("Envoi de la requete Web ...")
+
+ Try {
+ If ($Body -eq $null) {
+ $response = Invoke-RestMethod -Method $Method -Uri $uri -Headers $Global:OpconRESTApiAuthHeader -ErrorVariable $RestException
+ }
+ Else {
+ $Body = ConvertTo-Json $Body -Depth 99
+ $response = Invoke-RestMethod -Method $Method -Uri $uri -Headers $Global:OpconRESTApiAuthHeader -Body $Body -ContentType 'application/json; charset=utf-8' -ErrorVariable $RestException
+ }
+ Write-Verbose ("`n")
+ Write-Verbose("RESPONSE :")
+ Write-Verbose(ConvertTo-Json $response -Depth 9)
+ return $response
+ }
+ Catch {
+ Write-Warning ("Erreur")
+ Write-Warning ("Status Code : " + $_.Exception.Response.StatusCode.value__)
+ Write-Warning ("Status Description : " + $_.Exception.Response.StatusDescription)
+ $opconApiError = ConvertFrom-Json $_.ErrorDetails.Message
+ Write-Warning ("Erreur Code : " + $opconApiError.code)
+ Write-Warning ("Erreur Message : " + $opconApiError.message)
+ throw
+ ##exit $_.Exception.Response.StatusCode.value__
+ }
+}
+
+#
+Function Get-OpConApiToken {
+ [cmdletbinding()]
+ Param(
+ [string] $Url,
+ [string] $User,
+ [string] $Password
+ )
+
+ $tokensUri = -join($Url, "/api/tokens")
+ Write-Host ("Recuperation du token autorisation ...")
+ Write-Host ("Api: " + $tokensUri)
+ Write-Host ("Utilisateur: " + $User)
+ $tokenObject = @{
+ user = @{
+ loginName = $User
+ password = $Password
+ }
+ tokenType = @{
+ type = "User"
+ }
+ }
+ Try {
+ Ignore-SelfSignedCerts
+ $token = Invoke-RestMethod -Method Post -Uri $tokensUri -Body (ConvertTo-Json $tokenObject) -ContentType 'application/json; charset=utf-8' -ErrorVariable $RestException
+ }
+ Catch {
+ ## $error = ConvertFrom-Json $RestException.ErrorDetails.Message
+ ##Write-Host ("Unable to fetch token for user '" + $user + "'")
+ ##Write-Host ("Error Code: " + $error.code)
+ ##Write-Host ("Message: " + $error.message)
+ Write-Host ("Status Code : " + $_.Exception.Response.StatusCode.value__)
+ Write-Host ("Status Description : " + $_.Exception.Response.StatusDescription)
+ Write-Host ("Message : " + $_[0].message)
+ ##$Global:OpConRESTAPIException = $_
+ throw
+ ##exit $_.Exception.Response.StatusCode.value__
+ }
+ Write-Host ("Token recu avec succes, Id : " + $token.id + ", Valide jusqu a : " + $token.validUntil)
+
+ return $token
+}
+
+#
+Function Get-OpConApiAuthHeader {
+ Param(
+ [string] $Token
+ )
+
+ $authHeader = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
+ $authHeader.Add("Authorization", ("Token " + $Token))
+
+ return $authHeader
+}
+
+#
+Function Login-RestApi {
+ [cmdletbinding()]
+ Param(
+ [string] $ApiUrl,
+ [string] $OpConUser,
+ [string] $OpConPassword
+ )
+
+ Write-Verbose ("Parametres =")
+ Write-Verbose ("ApiUrl: " + $ApiUrl)
+ Write-Verbose ("OpConUser: " + $OpConUser)
+ Write-Verbose ("OpConPassword: (hidden)")
+
+ $ApiUrl = $ApiUrl.ToLower().TrimEnd("/").TrimEnd("/api")
+
+ Write-Host ("Connexion a OPCON REST API: " + $ApiUrl)
+
+ $Global:OpconRESTApiUrl = $ApiUrl
+ $Global:OpconRESTApiUser = $OpConUser
+ $Global:OpConRESTApiPassword = $OpConPassword
+ $token = Get-OpConApiToken -Url $ApiUrl -User $OpConUser -Password $OpConPassword
+ $Global:OpconRESTApiToken = $token.id
+
+ $Global:OpconRESTApiAuthHeader = Get-OpConApiAuthHeader -Token $token.id
+
+ Write-Host ('Token stocke avec succes pour de futurs appels dans la session.')
+}
+
+Function HistoryJobDay {
+ [cmdletbinding()]
+ Param(
+ [string] $Dates,
+ [string] $JobName
+ )
+
+ $JobDayListFull = New-Object System.Collections.Generic.List[System.Object]
+
+ Try {
+ #$JobName = "PlanDeProdRel_C1-60MinutesAprsMidi_CNT[C1-SS-FR-FluxAX_DHB_AttARV_Prod]|C2-DHB_DAX_DHB_REF_OFR_ART_CFG-STB-DHB"
+ #$JobName = ""
+ #$Dates = "2022-04-20"
+
+ #$jobNameParam = [System.Web.HttpUtility]::UrlEncode($jobName)
+ $jobUri = -join("/api/jobhistories?uniqueJobIds=$jobName&from=$Dates&to=$Dates")
+ #write-host "1 " $jobUri
+
+ $uri = $Global:OpconRESTApiUrl + $jobUri
+ #write-host "2 " $uri
+
+ #$jobdayResponse = Invoke-OpConRestMethod -Uri $jobUri -Method GET -ContentType "application/json"-Headers $Global:OpconRESTApiAuthHeader -ErrorVariable $RestException;
+ $jobdayResponse = Invoke-RestMethod -Method GET -Uri $uri -Headers $Global:OpconRESTApiAuthHeader -ContentType 'application/json' -ErrorVariable $RestException
+ #write-host "3 " $jobdayResponse.id
+
+ #https://10.78.56.27/api/jobhistories?uniqueJobIds=$JobName&from=$Dates&to=$Dates
+ #https://10.78.56.27/api/jobhistories?uniqueJobIds=PlanDeProdR%C3%A9el_C1-60MinutesApr%C3%A8sMidi_CNT%5BC1-SS-FR-FluxAX_DHB_AttARV_Prod%5D%7CC1-DHB_DAX_DHB_DAX_DHB_CMC_SUV_LIG_CDE_CLI-STB-DHB&from=2022-04-13&to=2022-04-13
+ #https://10.78.56.27/api/jobhistories?uniqueJobIds=PlanDeProdRel_C1-60MinutesAprsMidi_CNT[C1-SS-FR-FluxAX_DHB_AttARV_Prod]|C1-DHB_DAX_DHB_DAX_DHB_CMC_SUV_LIG_CDE_CLI-STB-DHB&from=2022-04-13&to=2022-04-13
+ #https://10.78.56.27/api/jobhistories?uniqueJobIds=C9-SC-GRP-EXP-ReportingOpcon_C9-ExtractionDesCommandesAvecUneLivraisonEnJPlus1-CNT-EXP[C9-SS-FR-TSM-EXP-ExtractionCommandJPlus1]|C9-ArchiveExtraction-SQL-EXP&from=2022-04-13&to=2022-04-13
+
+ If (($jobdayResponse.Length -Ne 1) -And ($jobdayResponse.Length -Ne 0)) {
+ Foreach($JobDay in $JobDayResponse) {
+ #write-host $JobDay
+ #$entry= "$($JobDay.schedule.name) - $($JobDay.id)"
+ $JobDayListFull.Add($JobDay)
+ #$JobDayListFull.Add(@{id = $JobDay.id})
+ #Write-Host ("Job name : $($JobDay.id)")
+ }
+
+ $sizeDay = $jobdayResponse.Length;
+ $JobDayListFullsize = $JobDayListFull.Count
+ Write-Host ("Partiel/Total nombre de job recuperer : $sizeDay/$JobDayListFullsize")
+ }
+ }
+ Catch [Exception] {
+ write-host $_
+ write-host $_.Exception.Message
+ }
+ return, $JobDayListFull
+}
+
+Function GetJobListToUpdateInTrances {
+ [cmdletbinding()]
+ Param(
+ [string] $Status,
+ [string] $Dates,
+ [string] $JobType
+ )
+
+ $offset =0; # start from
+ $size=0; # number of jobs retrieved each call
+ $limit=5000; # max number of record x trance
+ $jobListFull = New-Object System.Collections.Generic.List[System.Object]
+
+ Write-Host ("===> Commence a recuperer des jobs dans la limite de $limit ")
+
+ Do{
+ $jobUri = -join("/api/dailyJobs/?dates=$Dates&scheduleIds=$($daily.id)&status=$Status&jobType=$JobType&limit=$limit&offset=$offset")
+ #$jobUri = -join($Url, "/api/dailyJobs/?dates=$Dates&scheduleIds=$($daily.id)&status=$Status&jobType=$JobType&limit=$limit&offset=$offset")
+ #$jobUri = -join($Url, "/api/dailyJobs/?dates=$Dates&scheduleIds=$($daily.id)&jobType=$JobType&limit=$limit&offset=$offset")
+
+ $jobResponse = Invoke-OpConRestMethod -Uri $jobUri -Method GET -ContentType "application/json"-Headers $Global:OpconRESTApiAuthHeader -ErrorVariable $RestException;
+ #Write-Host ("Job URI : $($jobUri)")
+
+ Foreach($job in $jobResponse) {
+ #$entry= "$($job.schedule.name) - $($job.id)"
+ $jobListFull.Add($job)
+ #$jobListFull.Add(@{id = $job.id})
+ #Write-Host ("Job name : $($job.id)")
+ }
+
+ $size = $jobResponse.Length;
+ $jobListFullsize = $jobListFull.Count
+ Write-Host ("Partiel/Total nombre recuperer : $size/$jobListFullsize")
+
+ $offset+=$limit;
+ If ($size -lt $limit) {
+ $size = 0;
+ }
+
+ # If is necessary a delay between calls uncomment and tune the line below
+ # Start-Sleep -s 5
+ }While ($size -gt 0)
+
+ If ($jobListFull.Count -gt 0) {
+ Write-host ("Jobs total recuperer : $($jobListFull.Count)")
+ }
+
+ return, $jobListFull
+}
+
+#
+Function TryParseDate {
+ [cmdletbinding()]
+ Param(
+ [object] $inDate,
+ [string] $format
+ )
+
+ $outDate = ""
+ Try {
+ $outDate =[datetime]::parseexact($($inDate), $($format),$null)
+ }
+ Catch {
+ $outDate = "?"
+ }
+
+ return $outDate
+}
+
+#
+Function DisplayDailyJobs {
+ [cmdletbinding()]
+ Param(
+ [string] $Status,
+ [string] $Action,
+ [string] $Dates,
+ [string] $JobType
+ )
+
+ [int]$Rows = 0
+ [int]$RowsOK = 0
+ [int]$RowsCancelled = 0
+ [int]$RowsSkipped = 0
+ [int]$RowsFailed = 0
+ [int]$RowsRun = 0
+ [int]$Percentage_Ok = 0
+ [int]$Percentage_Skipped = 0
+ [int]$Percentage_Cancelled = 0
+ [int]$Percentage_Failed = 0
+ [int]$Percentage_Run = 0
+ [int]$RowsStartRetard = 0
+ [int]$RowsEndRetard = 0
+
+ #Get job list to update in trances
+ $jobList = GetJobListToUpdateInTrances -Status $Status -Dates $Dates -JobType $JobType
+
+ #$lst = jobList.chunked(3)
+ [int]$Total = $jobList.Count
+
+ Foreach($job in $jobList) {
+ [int]$Rows = [int]$Rows + 1
+ [int]$Pourcentage =[int]$Rows * 100 / [int]$Total
+
+ Write-Progress -Activity "Analyse du contenu OPCON pour la journe $Dates" -Status "Job : $Rows sur $Total :" -PercentComplete $Pourcentage
+
+ #$dt = [datetime]::parseexact($($job.schedule.date), 'yyyy-MM-ddTHH:mm:ss.fffffffzzz',$null)
+ $dt = TryParseDate -inDate $job.schedule.date -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+ $StartTimeProgrammed = TryParseDate -inDate $job.computedStartTime.ProgrammedFor -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+
+ $StartTimeTime =TryParseDate -inDate $job.computedStartTime.time -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+ $StartTimeTimeEstimated = ""
+
+ If ($job.computedStartTime.isEstimated -contains "True") {
+ $StartTimeTimeEstimated = "*"
+ }
+
+ $EndTimeProgrammed = TryParseDate -inDate $job.computedEndTime.ProgrammedFor -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+ $EndTimeTime = TryParseDate -inDate $job.computedEndTime.time -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+ $EndTimeTimeEstimated = ""
+
+ If ($job.computedEndTime.isEstimated -contains "True") {
+ $EndTimeTimeEstimated = "*"
+ }
+
+ $DurationEstimated = ""
+
+ If ($job.computedDuration.isEstimated -contains "True") {
+ $DurationEstimated = "*"
+ }
+
+ $DateStr = $dt.ToString("dd/MM/yyyy")
+
+ $htmlCellStyle = ""
+ If ($job.status.description -Contains "Failed") {
+ $htmlCellStyle = "style='background:#FF0000'"
+ $RowsFailed = $RowsFailed + 1
+ }
+ ElseIf ($job.status.description -Contains "Skipped") {
+ $htmlCellStyle = "style='background:#F000FF'"
+ $RowsSkipped = $RowsSkipped + 1
+ }
+ ElseIf ($job.status.description -Contains "Cancelled") {
+ $htmlCellStyle = "style='background:#0017FF'"
+ $RowsCancelled = $RowsCancelled + 1
+ }
+ ElseIf ($job.status.description -Contains "Job Running") {
+ $htmlCellStyle = "style='background:#000000;color:white'"
+ $RowsRun = $RowsRun + 1
+ }
+ Else {
+ $RowsOK = $RowsOK + 1
+ }
+
+ $htmlCellStyleStartRetard = ""
+ $htmlCellStyleEndRetard = ""
+
+ If ($job.status.description -NotContains "Skipped") {
+ If ($StartTimeTime -NotContains "?") {
+
+ $RetardStart = New-TimeSpan -start $StartTimeTime -End $StartTimeProgrammed
+ $RetardEnd = New-TimeSpan -start $EndTimeTime -End $EndTimeProgrammed
+
+ $htmlCellStyleStartRetard = ""
+ If ($RetardStart.TotalMinutes -lt 0 ) {
+ $htmlCellStyleStartRetard = "style='background:#C3D50F'"
+ }
+ ElseIf ($RetardStart.TotalMinutes -eq 0 ) {
+ $htmlCellStyleStartRetard = ""
+ }
+ ElseIf ($RetardStart.TotalMinutes -gt 0 ) {
+ $htmlCellStyleStartRetard = "style='background:#0FD536'"
+ $RowsStartRetard = $RowsStartRetard + 1
+ }
+ Else {
+ $htmlCellStyleStartRetard = ""
+ }
+
+ $htmlCellStyleEndRetard = ""
+ If ($RetardEnd.TotalMinutes -lt 0 ) {
+ $htmlCellStyleEndRetard = "style='background:#C3D50F'"
+ }
+ ElseIf ($RetardEnd.TotalMinutes -eq 0 ) {
+ $htmlCellStyleEndRetard = ""
+ }
+ ElseIf ($RetardEnd.TotalMinutes -gt 0 ) {
+ $htmlCellStyleEndRetard = "style='background:#0FD536'"
+ $RowsEndRetard = $RowsEndRetard + 1
+ }
+ Else {
+ $htmlCellStyleEndRetard = ""
+ }
+ }
+ }
+
+ $DataRow = "
+
+ $($DateStr) |
+ $($job.schedule.name) |
+ |
+ $($job.name) |
+ $($job.primaryMachine.name) |
+ $($job.jobType.description) |
+ $($job.status.description) |
+ $($StartTimeProgrammed) |
+ $($EndTimeProgrammed) |
+ $($StartTimeTime) $($StartTimeTimeEstimated) |
+ $($EndTimeTime) $($EndTimeTimeEstimated) |
+ $($job.computedDuration.duration/1000/60) $($DurationEstimated) |
+
"
+
+ $FinalData += $DataRow
+
+ $jobSearch = $job.schedule.name+"|"+$job.name
+
+ $ListSousJob = HistoryJobDay -Dates $Dates -JobName $jobSearch
+
+ If ($ListSousJob.Count -ne 0) {
+ Foreach($SousJob in ($ListSousJob|Select -skip 1)) {
+
+ $SousStartTimeTime =TryParseDate -inDate $SousJob.jobStartTime -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+ $SousEndTimeTime = TryParseDate -inDate $SousJob.jobTermination -format 'yyyy-MM-ddTHH:mm:ss.fffffffzzz'
+
+ If ($SousJob.jobstatus.description -Contains "Failed") {
+ $htmlCellStyle = "style='background:#FF0000'"
+ $RowsFailed = $RowsFailed + 1
+ }
+ ElseIf ($SousJob.jobstatus.description -Contains "Skipped") {
+ $htmlCellStyle = "style='background:#F000FF'"
+ $RowsSkipped = $RowsSkipped + 1
+ }
+ ElseIf ($SousJob.jobstatus.description -Contains "Cancelled") {
+ $htmlCellStyle = "style='background:#0017FF'"
+ $RowsCancelled = $RowsCancelled + 1
+ }
+ ElseIf ($SousJob.jobstatus.description -Contains "Job Running") {
+ $htmlCellStyle = "style='background:#000000;color:white'"
+ $RowsRun = $RowsRun + 1
+ }
+ Else {
+ $RowsOK = $RowsOK + 1
+ }
+
+ $DataRow = "
+
+ $($DateStr) |
+ $($job.schedule.name) |
+  |
+ $($job.name) |
+ $($job.primaryMachine.name) |
+ $($job.jobType.description) |
+ $($SousJob.jobstatus.description) |
+ $($StartTimeProgrammed) |
+ $($EndTimeProgrammed) |
+ $($SousStartTimeTime) |
+ $($SousEndTimeTime) |
+ $($SousJob.Duration/1000/60) |
+
"
+
+ $FinalData += $DataRow
+
+ [int]$Rows = [int]$Rows + 1
+ [int]$Total = [int]$Total + 1
+ }
+ }
+
+ }
+
+ (Get-Content -path HtmlTemplate.html -Raw) -replace 'ROWS_PLACE_HOLDER',$FinalData | Out-File -FilePath Rapport-$OpScheduleDate-tmp-01.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-01.html -Raw) -replace 'ROWS_OK_NUMBER',$RowsOK | Out-File -FilePath Rapport-$OpScheduleDate-tmp-02.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-02.html -Raw) -replace 'ROWS_SKIPPED_NUMBER',$RowsSkipped | Out-File -FilePath Rapport-$OpScheduleDate-tmp-03.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-03.html -Raw) -replace 'ROWS_CANCELLED_NUMBER',$RowsCancelled | Out-File -FilePath Rapport-$OpScheduleDate-tmp-04.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-04.html -Raw) -replace 'ROWS_FAILED_NUMBER',$RowsFailed | Out-File -FilePath Rapport-$OpScheduleDate-tmp-05.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-05.html -Raw) -replace 'ROWS_RUN_NUMBER',$RowsRun | Out-File -FilePath Rapport-$OpScheduleDate-tmp-06.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-06.html -Raw) -replace 'ROWS_NUMBER',$Rows | Out-File -FilePath Rapport-$OpScheduleDate-tmp-07.html
+
+ $Percentage_Ok = ($RowsOK * 100 ) / $Rows
+ $Percentage_Skipped = ($RowsSkipped * 100 ) / $Rows
+ $Percentage_Cancelled = ($RowsCancelled * 100 ) / $Rows
+ $Percentage_Failed = ($RowsFailed * 100 ) / $Rows
+ $Percentage_Run = ($RowsRun * 100 ) / $Rows
+
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-07.html -Raw) -replace 'PERCENTAGE_OK_NUMBER',$Percentage_Ok | Out-File -FilePath Rapport-$OpScheduleDate-tmp-08.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-08.html -Raw) -replace 'PERCENTAGE_SKIPPED_NUMBER',$Percentage_Skipped | Out-File -FilePath Rapport-$OpScheduleDate-tmp-09.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-09.html -Raw) -replace 'PERCENTAGE_CANCELLED_NUMBER',$Percentage_Cancelled | Out-File -FilePath Rapport-$OpScheduleDate-tmp-10.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-10.html -Raw) -replace 'PERCENTAGE_FAILED_NUMBER',$Percentage_Failed | Out-File -FilePath Rapport-$OpScheduleDate-tmp-11.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-11.html -Raw) -replace 'PERCENTAGE_RUN_NUMBER',$Percentage_Run | Out-File -FilePath Rapport-$OpScheduleDate-tmp-12.html
+
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-12.html -Raw) -replace 'ROWS_START_Retard',$RowsStartRetard | Out-File -FilePath Rapport-$OpScheduleDate-tmp-13.html
+ (Get-Content -path Rapport-$OpScheduleDate-tmp-13.html -Raw) -replace 'ROWS_END_Retard',$RowsEndRetard | Out-File -FilePath Rapport-$OpScheduleDate.html
+
+ Remove-Item Rapport-$OpScheduleDate-tmp-*.html -Force -Confirm:$False
+}
+
+#
+$SecPass = $null;
+$clearPassword = ""
+If ($OpConPassword.Length -eq 0 ) {
+ $SecPass = Read-Host 'Quel est le mot de passe ?' -AsSecureString
+ $clearPassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto(
+ [Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecPass))
+}
+Else {
+ $clearPassword = $OpConPassword
+}
+
+Login-RestApi -ApiUrl $ServerUrl -OpConUser $OpConUser -OpConPassword $clearPassword
+
+DisplayDailyJobs -Status $OpJobStatus -Dates $OpScheduleDate -JobType ""
+
+Invoke-Item .\Rapport-$OpScheduleDate.html
\ No newline at end of file
diff --git a/Opcon/Daily Jobs To Html/HtmlTemplate.html b/Opcon/Daily Jobs To Html/HtmlTemplate.html
new file mode 100644
index 0000000..a6fc3c2
--- /dev/null
+++ b/Opcon/Daily Jobs To Html/HtmlTemplate.html
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+ Nombre de job trouve | ROWS_NUMBER | | Nombre de job OK : | ROWS_OK_NUMBER | PERCENTAGE_OK_NUMBER % | | Nombre de job en retard : | ROWS_START_Retard |
+ | | | Nombre de job Running : | ROWS_RUN_NUMBER | PERCENTAGE_RUN_NUMBER % | | Nombre de job trop long : | ROWS_END_Retard |
+ | | | Nombre de job Failed : | ROWS_FAILED_NUMBER | PERCENTAGE_FAILED_NUMBER % |
+ | | | Nombre de job Skipped : | ROWS_SKIPPED_NUMBER | PERCENTAGE_SKIPPED_NUMBER % |
+ | | | Nombre de job Cancelled : | ROWS_CANCELLED_NUMBER | PERCENTAGE_CANCELLED_NUMBER % |
+
+
+
+
+ Date |
+ Schedule |
+ Multi |
+ Job |
+ Machine |
+ Job type |
+ Status |
+ Heure de lancement programme |
+ Heure de fin programme |
+ Heure de lancement reel (* = Estime) |
+ Heure de fin reel (* = Estime) |
+ Duree (* = Estime en minute) |
+
+
+ ROWS_PLACE_HOLDER
+
+
+
+
+
\ No newline at end of file
diff --git a/Opcon/Daily Jobs To Html/Rapport-.html b/Opcon/Daily Jobs To Html/Rapport-.html
new file mode 100644
index 0000000000000000000000000000000000000000..e93ae40fbd5802446fd88495969ee03e0413d11a
GIT binary patch
literal 3830
zcmdT{+iuf95S`Z|@efw3suU5C^a0VPK|&OSK!8NPAc>vW;JA_F(58rA2hN$z2CuV@
z+%^wXkuRB@IWu#1c6R;e_qoJU$W&5!C6DEi>!!bS81
zC|xi59Ah`oIfLd@QBy~Ah&Xa&LzEWqFX1hP-b|4hPgPd-a|QGek;NMMskG(LL8r%D
zCeX@&PKL(NCh7qEkex2x4YOp$)n{H4oq?(ab&b`p)zkd*^IjlEvQ{@5W2`(kWlre1
z12(SloGUxbm{_6y%52P#6{XB}qFKIFORLi?)*P0sj9BL*23iWtC*Y1%kjXJ(9m3N{
zzQaq7m==(R>)GRcGU@|xeX_o~(%gFtO!~@!($tq_qnVc~<1TY8t&Evw(LoMm-*U*A
zuWEC?3bmQm+7!s=8agd7mug*Qs%vYqjNgpi4rbv*PJ#QviO#GSI}2Bs#{_<(wT@-z
zT%Mz%s-1(<%?`s1L-YsRh1iD*WHQt>72x@A758Kx>u|rMOU|gDL&hh2*JoHvVV5Ja
z021E6K{mvbnyf0;0OK(h*0Sx95x=Up&BGV@2tTaSO*;7+M@7MI{ZOXP~{#Cm~w(3pIvNrR+EACBI&A?rX>SBj%
z7KP=054$hfdAM`%4mHPa9yPAJx*4#XJX|jN*u4^T^4X5ruvPN^ugEv3h77wn&v(17
z39?}NgWV&_I|sYIzn76UYY||6Lg~p7VyvEJk813>J}vWgwP|%?U|hf(_eK*dB~7gQ
zh=_Y+h`7ky?W{lOF6Y{iFSDmIhEIr!9(azcqPv;~i#z60E7?W$_j1D!{q&XXLfLgK
zT`&9wSm>^0cWR!{P3`dOf~Q5Einwd@M9A+6%5R4`)_m`e;xd$``}
z=_k=hkM9`k{ctZ**LA{Flw>hbNl{^7U@$(&Nq>TYd36E<151pI2)rVFZF&a$_saQ`
ztRzguDES`n2fT%Zq67>~bqw0$X9VDH6bCsSXBZgVuP^^zLCmS#fERJUzSsV$W^ex0
z^|O;1jI5KHnVqwx{Z|7GWZ;p5whz)0>TU*y8AxU1y$uyl$A7(d$a`o)nL4O*Lt)9_
z5v4i0jDk>T(a=MgazkmunR1b3UPmxhNicw4z}j+eQJj$Z@v6(ysd=ZSFZa)
zPoVmbS|J^F`Ly
zv)J=l%z8WYpos9Kpp<^Z`!M%Lr
zMcYQU83WHF<9V}Ww&xA8=e%1g=!UQQ4`7|oW5&e=Nz8rG6d;>Fd%t>LA(5--`959s
zF50)-y3_g=YnM)R&7gTvV_RapESwjn)0l~TLb8MKt)8|*8gKdB=Mai;4NaW_ZJX-e
za88pxV(8Jz^GMIb3iN5Ec76WCkEDb>`{(=FcETa{b}vr5rKa_ki%}NQ+f}$B77Y9?
zinZ&@sGs8093DY#NU*jr0V5*D(nkf!2FwhKKh;^QdvK+Cep0e2ya(k%Fz&x@PD0U;tDL3?PZ}j0h9&Ddo>#D
z@g(!;@mZe7zk7ekzx@K6f+^vNGhKb@#s
znC7(tu02B$%_k
zDV%@DF3!K52*qi&>-qBhc-PC2W@8*c|4Q9nh(OAFrS#JMOuFt4!l%hQXB21*X>r$-
zG3b#Rfb*ZA`R7b*YK*iMry(|89ToyXSK}VSKyTiod^l1}Oi;pq$0`1+l=L(#Kkk8}odOwvf>vth+&QaX_R
zi6;(xpieiptxi4QF|HG>U%5vgNG#V$X)8cT3VJ39lC8(sXW~X*|G6KzC-l3{aodBP
zXM@g-JB?&gxIsGyfsLw&?aBqAI~vJWLH|AsM%K#%rvE(Z@I@fc>?+G{nT>qR4zy1WAz4;*49+2b~0vn@Gt5TMja@)|=pEXL)
z!_Rs6$gY<_d`|ptrI}Pdw>kXJw;MyA%LW7YiK1DV_it~~Y#ZkLdOu3nfI9$nZa<
zUUnRnBjWzF8;hMPo)rF97wgOe#aKtJ7pr&^jxDjs$^S9dANxd1=fw4(yfIVc6B4$~
z7_jZaFDF8ky5~W8=3#lkx>En~a!NS@+4bd9|5=?U9_nhM=eq2o*z)Ay{_?WZ%VPe$
zj1GjXZUi>)1^CEkc9BaL&%lO-gns*f@9LlqzmX#bVx*4nWjmO#*O!T{}pBAJr#AA9ut;9!IlcplcV@v^~w7n7MAAD_yd4PQwqV{dXAbwx4-L&3cktvz+yy
z(3d<|(0&euK-Hs-jW~d{?ZgJ|$cd{^O9X9?W`LHQ$3%L!k_`>g9lB6@Is3^?KoBi&
zAZHVd3138_2%Z{`x+4_X@x=&V
zvqYeiKzu05B9+kC5wEu;!
zF7!BFSybl`SY+?{5W9Vw^ain5;4O&{G88CAKNTG#PY4aY&WuASzA@PWURZBFX=4eQ
zS6e%tJx6B^$3787l7O3F@EfRJ@wymU2Liq^Nu)Dy^&|C}WCo&PoL|lKC;9m#n6EQB
z7CKT!DuFV<5g_L|ld1DIArVU#_5O2}Pd{y=A?no!J?&3`P~o`rKsRE<8ZMk3z{&LJ
z=!lXnp7>FMtP=2(`_RXWv53-&KP7XPc~Pv`)co*B2#6@ypn#yDCAD^fexN+3dz}w5
zthNT|n(^xCY`+{4Sz5@mC)CroWpSVYjdlT#*YeZ;-e#xMvRmB+{6mVberMyzx
zehy{atF6NdD2-3Z4tB-N;J?kan#jza|xv8TOKtKvotvQU6By%oh+%0|6YUty9q{Ob=m}
zO{7v75*C3VH^0(fe8>oWnqo0`d*~yxuLG$ebAF?p2)>PJcy3}^NjMoip@wbW`;|sG
ztM8ieZkR+L4t*9bi#JOYDlpy*#Hz%=o%B@&{S5l-S_l6HU5xN2a+hh0xM#U1@)+^rwG4TGtk?zlJSP!3;OtV=pZ
zIVya=o5wq)YfltEpwi$)I5+F~H-3LOe#4lr!^Mp5VH>an_gV$Ue}LW7CQbO~8oa&WKCi%4dLkLsqvl|}D*
zCUeg}3I4U**Zhs38;E^E>4$}js*8*c3ZZ69mpP|6daqZeBe2nfZX@BY)
zis_rZlP1KSO&yI)1V)NIhuSYmp5Unk!8N+3~~
zat9^rf19salcHv5w|S#Q$`)yNs;|r2>8rX`P}9k9MPU}Qe9ANpY?M{NDEEli<7uD>
zRTSG`rh287_8O8`KPNTWsSOc7-|SzPDw;_&ZKThDpBlX4E$qp1&sUhHpf?G&l3=_v
z)7LhAkt7Yo=wH&sP2d0@ZamWVZfcbnikADfai=AZyw
znM!_>Rc+`Mhxjg{b3D6`@$V|irKn^}GyKVAxBm)u_Uj;QBrl-Al)Dai+olsBG2Xi4
zB8#}_NzfCKPj2M45xKnet{g*WboRxId!2H>x`6IQ;yx45rX?OCsKg#kc?C4%rfB-<
z&Z7biP6UlamY3MO>N2PSU@Z0Dw`281=g7|=!0*jIk~p&-CH`ukf}RWYcx^=Sy}gEb
z+I!acYdl+i^}e3BU`VRryc!pgjnLg$ZK@d3jOv~>@EozjFj51DobMJtz5`!Et>X?P
zpRm4Y+x^}O2Rg9|x4W(6@-r#)FYo8!|Ab(lV8U7y%Ob#pMR&Ni6`qaot>E*mc-3NX
zPu5iIY!M~Zz^_=|uH3ICLH=IGoFSrdBkQL)p>Fx$*8jtF&B+!B|
zf?eP^-1aqchq*MhP?y~)%OT2XYL1!cK_mGE{@g6IX6pt^_|$KtY<5@jt>Lp9_vOy%
z@YBo`G@2`Kt@i19aS=^*_j|k#R2>-uyO(lH3nM|?1t^3Pw=jNrq0hu1^7pwI4sVaI
zI8#Hidm}#`7p}!xX*32zAqMIuxUnc+I_;sn+Tt83W$cu2w=kTxfAzpj28(`Ejxq^v
z4a;XHRmn*4^J=f`{Z_l`_9zZHh4WT=o=?ok8s6_Kn!cWV)g=w<40Sl&L1
z21>8(#^Q3+!;99Qw7v~ZkZq!({M)0E$*gYf8<6tTTQ(MONHmPp9#~5EElY7AWT1_x_X$M{A4tbw(NoOBpvzUxO1iYR^ux`g$VGIJHIv?pNsKVuMLVCA}YH$Qn*>+M&yY@}G?vTTL`yZwS~>s!G+p{y0b3)^A~-
zmI?dtNNAkK>L0%BY+Eo^$gSvE``;F*wa2rE0!fe1y)!ulkM@i~ndgTFVnWD`GUvYq
zy@K2l@c5C#7t&NM`9hz1E1Hk3{84t|r`8;br@#^*315i$?wABNT?Q+8r?QgyKjc}|
zj_|VBHLW2wU**@RJkKYOZG&mQLw%Z75M_XV5mUS`jcycX&S@pgQzb_1xv6|ONc=-t
zz2ZD(|Mjapl3zR2BbOeS!l&Zak+;HhU>g)%c;xI85+BnZ|I{^jyk|rIxQjbPh3MyI
zk9KRusTvgCK0Tf2;AydI+O&yxbLToDPLv;-R|C+(Ei&EvNF(OxuLaWG;LMw|e4p>O
zE79LSJcf!Y{vUJi95A*+I1)syXIL+ER>|gk#AG{tmDPaidLgX=M^7Y-
zrBLmpZJufdzKFB%jnchrx4!h%{XcG&mAVT%6rWus=Iyoc!Vr2tkZKd`MzdMja{lo;
zV;=Tlj^}2|eKXeiRwkfOS?yjw?{dfTU29e>66H<0pi7BjtQk|Q=9o}HhiE&(eU`X2
z(0ni$l^K+o4nuAo5v9@BGI?!(3PiSRF@}r?R7MxH?=g7ad;LU4hnLPAL>M;L5UARE
zrV}|_{m03}-N#@hSNRTxmnP^E7}VAOca
zCcdN$fL!MWoJmJuYGKyDR(*Esc}HQ8Fbjyy#afK{e~&<4oa=hbbtRw!q1zbwzx5O
zCBzM>RNOuu8?;HxUCXHW(=?*%G?XA7!XNE@A(ZJgFkgQ7o5)rd<43hg|3XPn*~6F`
zRSy^Y5(k0(wTm_DxNeYJBaT%LR|F~Cuh~Hn{iN+B(|ASjLl?hqrC>wh`RYZ^7&2D`
zxGFZ7(v@x{S6Zk?NE-pnP%ROZIu=UYKPQ{-o{HL_&<$#jQ!Z>MHQ763j&HHzQ2?Fy
zo0PJu%5QuJ`8*pm*}+-4Wtc2@Aj-sGpYXm4)QE^@i^)B0;k_Bh<|JQ63SCQat|;M5
zwu|!$M`!1Ht##lz;hV+f`eal^aQQ8%R-TDdc3RrzCvG|1lu2zTWzd{!G`hQclLH*bcQKD62yKrs87i+?b
zT)xj?&z~X+v8OdhW!Q$e+L|`dN<;dXyIg$vy
zVWQ3p`qLjcA(?b)DoHA0i%!KDdp5MHCR;2EeJJ5dw$naotdGX(zk~*KGCQl-Bok$x
ziozLZ8=Hi>dSU~H8O4g%f`5+%P5=XKb3@r1?m@F@8pz$sjG!p_6ci1ybXcNVpR#rS)s0evzq7_`(%c?#}i-0`cphNwjG20sn6%&vDb6N^{$X<|EUwF%l1lU=e^)7
zAJD-q(A}{UmvJF=ehYJroofWzeQn0zrU6vji3>XbU6y@?{z)b*ZW6BjWsdluOj48n
zSIB<9W6u?+FsYo-PoHG`=dQTF^VWF!pcOAGBJTR;E=qzXfq
z;8wep=&^Ls>5w|UMxkl^R>D3>z@nJcdC!i>c@_(?6f9Ate=g%SWs!-LCF1!l)Ftg@
z^=@b81CKRBZ&{M%669jk%hWs=iviRB?=#i<>lx;G++L%9PFRacVIcsl8Ust5&tOue
zx2hy`q%PWz(c10dVS05V)zSm<%uueLR0%jXCpa>7M(w%Y&%Mr7#;B;D%?fj4C1=tJyg#DTP_7eMu)@i
z;L#YteJ1X?uWvfZTY+HiG^*q#+M%v?ctIz80Ki`?*F0MT`HYet+uj2L44%ePT^P=N
zFDABv_0rWWg8wqOPiep4VJ~k99(8ZGrTf3{_(-+#I4-aR3}#X-i+;d1h<9NWDrXtA
zeX-!jQN|D>K1A$h2rSRH`H)+_(NFHIa2DhHxDiuCVoC6_@zQDEZ*b0%4Lk;u-kW_6
zz&a+&$ZFwRVfFmA%Giz2_UC>yq6maZ&Pp
z@=zE{7NR^fEUBor^;ljydEQR52Xg<*x?uuM{RxA}XnfBH86&P{K=wF+!8ii}xkQpj
z2hPVg=#|bwGL5E>u8@lTi7dl@rzj-vv3F0dhYvYEqMrBAv4RmQtZVjqR%QU(B8X@{
z{!{8z`ah??UUGOrw)YCN3|JfHjHS>?WvJ04!>BFNU9zIu)4z-ITFivFWa|r
zVV*^j$lh`)`9i+Dj}(N}!N%EisSf3m49hrd+K6T-Yk9csLSttIV6bl>w4bW!J6XPM
zFVj%OZ|5CCd*IbG0Qp?Bwh#kw<`;av7oZY!UdFuM00gwd*1_($l{3#cXKw%<{03=+
zc$B&U4M(^|mUn~O<5~YdjBe6tnK}L*)}dne+m*mR6g-0^0<#>ED7%vRzNC5}_we
z<1MI|th7gl%S<)o2q3VG=(whSDY5|c*(bAiR9N3aehaEBlRFL2%oqW9F!T!rxxIz|zjQl*AS7oWOc{=)$z{d)?%v3A
zZ^$6u|2?||?0WmqlbDD_t5@(Cx;=a2lG98C#BC$WHYFBvVG<*v`7((!jE7RZ8eT;1
zRDeB-^Qj<}qx!;#1>1jHCVW2Kdr;YKFq|pU+yo@yBa)R5@eDf384%(qQp4i}IuPl{
z@nn&9kk?u75r5Xx$^5spk2~2MT8NoedTV%qBaH9*dd2@MCMmR?DKIk1-(mV4=sIPC
zGZ53KIRlOg*gfUEsr&ZzFLX9*kFO*d!f|3}0CtINf7|B*g)!a85eTzu>5O639)zVVz|7)@XQm1f5rE%xlzyfd1Yh~BBz
z5L#z{crSR7)!K3JV5hoAivR0Q+2rTr4gi4itzp&?y=2!;=7Ip??i>Zyt`wAK$hdPf
zj*Xb}R*X@oR|x+LA;`e2fDHiT%Qnj%!67(S$9Pj|Nyus|xU5XoGolia4?cnnLTBw)
zD;gB}e|Iw2+|}9T?57wCh*;K!Gyqu6F0)U5dj0Y#fWbvSJjuOd?j|th*$>rB(
zNT}MlT;3=G{HoF`$#XkXjksr~)-5fnJ8eYNwo@u88`5YyNwqY~f-^G%
z0-jJ=%8Vl9#xGua+Xw(@%Lh&>Rj@)$4(6-Q5bu2r7x~yv8MP;H30S%UYr*&B7VO@sQ*zTgF%ujUKf&Z)AH8Eq4cH0$h#?UF_8lTl7B%mlGKb)IkTuC5go
zt={l2-Jog*Szb|gOf_zb8@y~x^qmpjp)ktrFpSu7(?)n8MinuomEi!=111PTu>b%Rok4Cc86;11?X|YnV
zgKVp~!&68o0ky}jlA_k7D}^gGGw2}~$WsVJdMd&f!`#571zHGI8P~*xQ=sfE-k=HCns#g^r{>-dk>SekTQ9uIwt+_9L`eg67Wr^~6qA
zii}BkFhNv>%p=W9$TT8zeWWttFxAZ#<_+@8m!T?C4y)P~t7Sh2fe9Qfa;N?rR9H*7
z!MmXFidbVzlxW4G@pN}W8#E4OH_zuk!Y;REW4dc*BG}rsoXL2a+CSc&F>E69UDJC0
zfPTRY_c*Gd***F=?V9=gAd!0`0gmf8)>)NxWY;o$1D7WY_#u|Gu;Q{=h>U$-3G&
zGNv*W69JPn`|4#~N{$!6;1g)+yCkwvcG>vKh{70S(9e_*d0$`g0!{$+`bfXcD$n1?
zv!aB(8gV2<%8?x{WqRpWK)RapZ662fl>>EQGsB(!WPMt}pnbzFcbD-(mb14%PF6W|
zzXawoZGPVe>{qB9tY!jc-~=u=_>e+a8&W0`%)*cn=UE`?OA``02gg&SPsuqFxO*#?tZJ-Ng)`c*@Tb#(0*=XO>V4_lN-
zCS!6`aU4^#)HMBgZrcRpk`Tfvi`kLRdye1n#vjWFPQ`A+QpujzU`gH&K}=CrUsm%?->ec2g*gzE)8&8sn7|$O}bn^@o8neCs
zYGhvlMVrPnfw&l6S0aFonxksW>F01jL4jaVO!!@9q*#S`hYEeUJ1pZ#vglrZe0T_@
zN6{@%Kg!VwLcOu=2uo^p(JwJci<>=G3Od>>jl|A+@Oo1%GId^XZ1d8gx2+T=wXul5
z8qEeANpl|GK2=c3JwFDiW}a*pV{Ts#uoK|ne2og`(Z%xbdr5yrDO@U{O{b~l(G$#O
zIX=POD6qsnqi^mr_(ebhZLri?D6qplg~=nJ-^8P)*UU=F)P8M|vSi5k(`twwNJm9{
zhiK!w=8p6p8vqs9j8XWYvo}{sMgJq}B4an^25&I=ywI)hxQ2x>>DNcPm$9I5zK0
zc~TQ_-h)GLULl{GBwGL1>+|qLJDxisL?(JuW*L1ZjMT?eLW2lBWMjwm4Gs!L5yO&=
z##oBot_C*v)RT(XycgGDMphZ6?Wd!L*F`y0Zk4vTKK}wyZ3T+dd^yEC>1ykvh$mLa
zx!LuZg{agc2>_i1HxRaZX`#;fJ__Cun;41oq`cH^cy%(YF*`AW-PlxK8%R4<$iV(Fw%P8P+ZVGyW3OUJb)^+
zXl-(4QM4$Ad+bACANOeWtt|+&Qr$&!p^*}%l=`W`e+CF~{Mg!!RrK1mIY8o*rTDEg
zWowxDk8V*Q6J#@sD4^>33?O%Ggj~^}w*~wFDCi6uR6dMfE
z-$$1|e)b^8Fb5}eESVj+}K{VLH>Dv
zn>46@^TviG)o4%M{LHgm!~K)bi<+ewlY@tZVeso?^)9%k<%@FuA56RbdHKqL+
zP9CM9v^7Wb?DH;I2yX)3p-gc{Dx#l62s>R$QXH`*mU=@EEJI;U!1|ZM49zlNaxW0G
zNw~1s-+7PM}pSaEW&qY@by`ENpV~p>Md_T
zhhLkxFzXPRmFMe8i^$cwGs8-OQMWNl=B|laLdpBhjrVO)lGh
zb4jhHM;O^=>U;a9#6G=O>r5C=9Rt|w`bfnlHOdhl$4kF^JCUetMniK-G@{_T44j+H
zL-A?~swI^l03X)7^pnsQwlFb*Lk&W~K=;x*!J$HyAOf#ycjV8mX1@~J2v5HM2A|OL
zbCi!Jj_Cx0F(RjA?$O5g^^n50Qo)0QdB3S5?Gz7?N>@&dGi4*a<;
zR0I%%WkYYM#NA+&g3quocNJl;j8hcBLpv@ppz`g6)>VgmRZIkLg9M+3pMG5y*Y28W
zd?=1%AGbCUB*$F^Ay$~A1GVrlmS5pcmjNl{XFSHed0;L!XTTKp9Zrv&HS}$LWZUVO
zL8?Xvq0E1dhA>X9IHhOa0wNKku~6%J-a8UeS+CEASzF1i;*)9e-2M3WbCV98q9=b2
z-qy;3-}8>NHTW+epFP9z6Cz4EbcgPC!bqdi8A}ASH7-p`gD`gxDz%Cq?C%xYs9*I!
zfqB}ociDACf0P&@AsI`7^0~>vXwxVK2lo(v>4k7#PceypV`%n4U(!Cy#(gG}udW#L
z7AkH%UKXWxT_!5CvkKI^>PC!DuE?aIyBx2W`wbx!6YgmN!CpO5>XkR6mOcJYQGAfO
znP|rCPv3AIvoSTOfd*U5Z^DRm-+jmdIq4;rR0H%SrXwqPNpde)NLN^0jLG2OK$d9b
zpZ${S7TyB_H5qIb(Vy-smgA_AMNgq@mO~Fq3B@e~dI~O=a*P*AS~o?ZBSx
zlzgm1Rbpsq4jtkG5|}hiokE3?)h7qifOTF1f(L=3Keq#5NNlTTsyN9m<|)PgC(wS9
zwiJ8%P7VM-+|g8j7fg!bmCwji8!qUKUoncGD{a4OnvfwQc+t|%zw1&=Wom;z|F@lS
zat@|LKQb5XnvY^(_85!5ESA1j=EpLnnv~z@g?+&HxI19yvg*U_%tWEsnMM^50I7jRqn|LIoViz>WY
zU{cGn=X3soZT*DU+#AgYpd9O?LMN<@y38~G83QkU_4bw2)=!*pBfQ7C{<*o3L(lG`
z_dk%})4T(O*q{Ku*EK`;O92L?ikWDV?XBWBnv7=?
z#FkV{uCPK|!*m||QL3(UCQ40LBBlfBE5)zC=$GO*eugxYxK5&K?Xcau!oluw^(X~_wDZdE(1ssy?g>rcc$cl!;>-U94M(uNC
zB6bJ$0cZH83#ib$`F`@g2xUI$D1@A9{bhVEogktJoaS5^q!j#M4-84om#(5mJY08~
zAlD^0MyOvOx>+vfcd%tFr^>ow0UWakfrD-;f`h#-Wgpxaqt%%qE%mL9ukYUDxkV=qFl&9-uI(Gdi4Q(QRF~fCFI=NOUDJ>
z3~9Qtr&UeCwi4&Q?qCKpo#V6Q*|-$e{A*rt;9R~Ep;=e8M4xzAW3cZQHbhl>6L#&I
z9j7C96P=5PM3Y^0RMBUy|14EvY!e$&J#w0nX`$urcI#BqFa98Y_esnlf1M2!EKA`s
z4FrTbN{K~7&l@ki>h6S3iMU~Dbw2g`o;ODei6tsw6QA6?mE+&N5(i>C@
zbBZ`Hq~aEyI{tmPXxIC8UXMFLpZQ3zF9{P#`SFyN>0Bu_$N`E5#|W`%9prQ)N9F9E
zDae027M988EGGucE$p96XwR-0F4>-7THz&pu(
zg9NrJ8>?*H?C3Lr$8jtisVm-jNsqM_A6Ee3s}t1FKS*`hPbrUim61I;!FtsW(Y#7s
zOey<5Y861U>YHod+nkg=@QMRQw~8_2>kks)9={fc+9OT0292KE)ZMPv!VDV|Zfnn}
z0Wkib>vGw?;bycMG_G9;eL6FzO6&L~)l!OdBA<)Y^?eNXj!ij)91!zwkzt0J7~HDw
zWYEr92j5fKO!_h$2^L=KG-f^Sx1t6{x8a;j?>ggic+KpJp0r%p5bMN?nF{9yEm4(n
zeP|!Bh|GLEYhhxS>^LKUncJ2I4JWQR9KKGFY4B^w-&+%+m_2#CX@$>%sJEyIonE$2
z*;k{@NMWg?L3ncxwJ>Z?D!t5ycISxJ_l&6TE=53+YjQYr(P>$-}L48SrK~o0A$WH^-txIEE=GB%vjHjc+0iJ03{aA
zz8SH=vVY9fK=|_4gwF4V-q|ox>n)dOW*^DT*&PN3flu;wW%BCOVx(L5r7I2Ougs{-
zQ#E<@%?nFl;FK#^m`U%|gRo4*DC*`}1Uq$kIv?+KN=$Ndr!26APbN7_`!iR+T1Y&C#Rrb-x1Kc58|yrx6KwLzy~Tn5JZi1}IzA^?PpPYgsS
zy9{)T=RL1B>V!=LWK(Lynv3RXwujHe?1x60yf-&E4mm{UNrB2Imc3-4H8vA}t6Uwj
zE!W$(QR;-J^MIC>6;Uof%<*Rs3#Y|_ZN62)NO->1&4o@~FhW7oiE>C#lM;krhm@_+
zpkF+UFUx(}xc;vuw~5~pR>dEh9i}{U!@V8ucp0^5-
zZIOKN81Y+jp>Jgfj0mjYz_Ay(tq5*!zO?Qh*tc?XqPwt>VBLGkvH!`jLA(-fQKhAO
zl;nG^>qpjDLpPAh;Z!yAC*FhN4VyDtQa}SoTM^e}aB&oud(sPPRb)=)3p!g62_Qnm
z;6zl^JfH_>J4&9zk$jRY+l}H%=&6n4vOKT!G++2-wyooG>Ln=Ej$Xj&BpI64;D>*-t5CLp~I>`5;g*5KMTWJ?$$N+3`n-wKpB!3
zAh=9IME57MQ^iQDD-$k7o-F7?l4ty3-veqz6WK5H`0GFuf9=Mrdoxh-v)$wL3+5T7
z+bSNZ;uIULDD;IHchfsU?bD5{dePHIc7-bFVGaIPuxMS_S=)&;UDJY|rBZ|V2
zP6j@9<5!*MY
z?p_R?3l(t*sL@gF!nn(vEBA(sbl6HpRm4F7OTzgGip0l)3ees*Wov&aNc`BH=r32t
z2~Tmr+v;zXMmcNYkpWOcpffN_rM3^JF8hq2W`vhvga*u>3brxJXqH&JHXz_rOd$xx
zwg&f7<@vl}+)s`}3C4Lt<(D_h5>e7w_@+l_)!%l2ugZ)%jRDaqJxzoHb%aC2Qxt?+bAcv
zUl4!tHIi~0z>Y;X3uwjHxpg&P*ufW9}7iIvhRo6g1?Um9`9kgDFR7)8^P@l1?deZ?^ohH~^wY6n#auRfyjYWt?MUDz9ohfH
zM3opuuI)dNTsUBFdC8Qm`YqkC+AiZ-i%k)Z3~Nm5urZ0^$^Rk=uHFT+$o4_vL|HD0|ciXV)1GPSd&`5_@r4e
zEG7uW;uEFYa8wfgXb4UC6Y}5MA`isrcWA0A46!wzC|GXuH-&t<<)7U#2|;JmcfJ1w
z%Q(|CKY|SbWAzOHfGrx>NcM}<%9VZT`SnNfkzB~Ulvw=FdhMRe=_pAkWU>GIfW-8iEdh_=>hul?+lX0cu0~A%K=OCULu)vD|k+*i}R#
zN=%S}Mx3{qUUFGgW<1$Mw_PQQ2CSM#h-&)$_(vvjbqar-!V(`jC94Oa%Keb)1yQ@6
zq&1FOSEA$9ATS=Xa@cJk*?gC)U?f#Xvjx)CZQbB7*HuXm1oRmAFRY7&HS$1
zM#Bz#>AFnYC+9K8#ht*Ghx`H|mA?+cS^vsU3nDRN&%x=BOF_M-I;$NMtu0XT7OAat
zQaI2uL)8&YtVww4z&`1e(Kzs~qgD=04g!fd9%jr*Y(N2Ja7}+Xw%AoisnTI;a4;#^
zLVv?urZ*)02Dr-9cn)RfZ=)2g?Ab=44
z=*UUWv&mZHm8drjr2M;$5^qTgZF54DQR992oIG`Fk5U*P1?Bl`su$hvFnbk_%oDcL
zd_+Uk9H@{#{V5&-h#{NZwo@%wp>1lhCY3;}ljU_+J1}Q1|4sYql&DQ_Y(uP})FRMV
zMZjiAN-Ny0NIA%IsNse*@x-`4?kg*D4vPbe%w~o#sk;i*Ss};C9ahhD+9jtyO@IQG
zNx$Xsd`PoGFM>y%W$^zH2#~4VBh4E#N|0QMcyV%7im|?lGrVgg(
zJbR6`6z}~ahqed>q(8q3=Sw>{i&zFk{bRk)Wlqw<=(){@t32n>mpRoEP7eGpjNn@6
zqi<@|l79E4v4ecccV=QqMX+p2z^9$`JFBM*cC`6rbylDBS=*R(Cl;pcD8dp8;sZgrgo=|>Ds
z*%}f;8q4h_AN&f}i&waQeqfB5lY+EbMvxPEz7lx@fk9d~=mSPTo6+x%63k;-4jRP<
zv?AgH2wfxc@EjcEVVWGl(guzt1_;qP!J+9vnZqwa>amIqZ6`tS=dK_WUN3{OFn+9^
zyvUTMK9N6lkvXpWmqOe4FSpo|8cKx9lnnvp6*bxW?6dbCHgkFK5r_;TlZ9D63q5Hv
zE|svJKg9OAIgwV?cuY?xUZmfG1anwhv1H5pgl4k>KQy7KgVtrt{dtc2!uk2=JqF@q
zp{}~w=++Y^Y6qys+D>&PYOT@@`Kb?FE%th}<(}PM$03<~qY^&&)T8_x=+;dth&*jY
zvPDlXEHJDo+pchW+UGV5-nov^t)o{SNZ0+nfmot*9w+&g;L|IrbrFxv$FOWnxB9nI
zeF>?@8K3O_APviNxWO0i^QvKOX3Ygq;TTR!h&TB^CQ|a}VJ5(}rPel1w+X)2=c8Xy
z)v}p@r`Qn{wKp<-i*xtdcT+820Wi9t7lgQpmQ1(?z)Yr6)OEkqbx;@Xmu!Df;_O(I
zddl$o`^b8576F=%q4Sj7S#)Nk^Y^hT-mnH^g9<8%fmC7Hj7sbws>q39&xX^S;O}F=
z%}Xy5)2*`ZIO_>g-}Nv?aG&4kh-QBYj3JZ;LI-D71o_o)&X&k-Uk0+saQV1$wG~WV
z#me5w_uOc(Q9~r2=}oem!bAm78d!%%-$S#4C(ho@YkW-9YEEtDExQuB{&3@uL}?kt
zelFAf-3vF_3*z}Ik-#1m8wt-_Vk}c+5w^XO3H>8Mfyr{d$4ov_A)_}gQv>-1Uz$x#
zn4%J0yFm5syFjpnd!7rsEX`?kHfE>z7VH}$@<}CTT{7`laifFw+
zzpwXug&+?(x`u68K_{0BZ*36vDF_!bpRsP;4J%BHvEcVU1F%aMC
zCEHMiDX4NUUj{CATM|f&eaO{+ca{`t#LDF`IY2mJH0|fveEAlI6ySF(Jw~#fsE?*|
ziafT?qJWD-ZLD-)d5~PT5uso^qhHluXbr+4T|)v*qv~aQcbuTHd4b~M1Gyq@~-)ol~w_0
z8|d&;Y7t$4;yYtt4Tpkett)%H^e%TVpo04^CGVF#pyExAe}x|U23i+cjE^px`2PDX
zYAI~1s(g#U=(pCZ85TI>Pd3=3D+6&t@T?@kxf6
zF_DZ8FI0GE)%Oh@xC_b1e|W!|p@T@cj0!Zy?3X^!H8lU2ej5NkX$S0CNq9XMm$k
zrRHe*iDmxc=0KF|zXMWia{=6Z)qDd)v(>$rS9d85Ja+Dp@lIV9*ba9rTQi|-4L@oQ
z60Up-`w$;^q?;5aAx64{8nOkwX_5(NRbwEBBpq{-Qfvedjqu9XhK|dxWfV#0wHB!5
zo6fzsMyWf^S*nYA4G_LC+E3Gif|A&-z@%G%iqB9-i9e~xN%(47jZGVjIX&*5uC~*S
zlS*F(%`0n-%1^+MU_f`G%(2=!o&p$6E+)C5Xw#TE!ZD}HsxDNsI~4=e^Vm#MybM3D
zL|d_d8X8}5v-}!5^J+rDi?2*nio1D{bKpKfiN7Oqp`lZ&O@Qtk>;+z#KS5Cc*y8Os
zDT*n1kh0_WTT6mHD*VE~aY|+inG@TV0R472h{(fTTqZyYCS4ja!K5;vjs>QQzWuQD
zJ#;rOX5q;SEDI2M-GfCpL33%zdc|5Fn0D)kiI$DzW
zKgW}R4b(HI`ErMk$n2(yBJtIjSm47O=k}n}2b9uhns*a-+ScXuHa+OR1udl2y_%oC
zEi*kq_k2XE1Lh5!YQns92lJ~n!UwNCF1D@54d?R
zR}(3vXkv(wN5=?pvHkc`5?WCU3;{VcdmBGyqZBd>t~~-A0uo_l2j;ZU43s6?$<9uK
z!!hb=)KMw19oEr`uK4J%x}S0eM&(b!F>^;Dz`D7s_)Nda_o*g2#7tYGxZ|PJkV%Lk
zvJVcc=CiLotUaeKqJwGs
z+ONklH6&(x)4If)<~}(vlcQqvueULk7IEempje?E3fza6z#|ZrzIjoi-I2YX
z=Jp7nz8VX_ZjsLFBXLpC|McxpO84&Na?Cv3&N*gZTa&|D*Lr@ulGQG!hOJlkI+f$*F&QM)%)2r870
zq5vzM={%R7l!)I2O!g-UiUNe7tt3yi90s@YzFryXpSKXyAH^nB$`b2(!{9z-55<=M
zkEpkdtLpjMhiPf)ltxNITDnVGLJ;Zhl5UWamhNs)N)S1efRuED9J;$3o;ly&{r@~~
z&xr+%9}c4?xxih=E!s>r;gOTdER~%
zD?{C>Jya&tl0H`EIIdH>x1^bJ6R(
z9z0&CUv?$5Qu8Vq$1!g@7Cn6Jybc?5IPmS!n`gQ+8@^iPP{@4ZsTV$GT&G7uOer=)
zjdIcOdkdM{%Ar59yTV4k2|z&OLt?ho4t@9h%dhxC?_Dyru6@W*j5-_{Vpi(edw5YR
zz&wABY%qthPJzHfG}Wh(l~8?Lgy?Et!?u)m=Ei9Su4gD_xoLk6sxUYpqXS>V;(TMd
zk~s!1e<_2tUH=g}3?E0UF;j=zlg2Xbx6z%M!>so~T#5QO36su?FMjA`g=*#zZITs|
z26eS7VdNPSWisK$NMR@%5fo~om@%$T>hR)^f+`F^8dG^XG8DfDCrzA3xy+IB|YB=#=^0!5kf)}
zS`IKTU95Pj2)x$_!+X=QL-~#B7M8K&97KILy(q&ox1PS~P}i
zc%@bG^eu`%6u}G=huRa*8Qi%zBwC-L=xku1DYJUG?P0Ggv2-
z0%n#FnrN;B`?8PJt3!n$tQhDOYEN45H}A8;PWkU)6*X2^Ym+aK+I-)yX(5RtqG+hp
zanWt&$JDyjzl3(4Va@W#S1+Oa8b<$~%n;y1Gl=+xd#2x`0@CP-LxPNsPHp7CpP&6y
zps2N+4PS9+eQ>%>a#h7F7gmo}Gug5q)E@w=9|?SghtGxIS`}vX84y6FZHA-GJaO-G
z`xzj&=-kGW%`Ai*P>pkxfVi-1PA*(pRc93CSM!|o(VUjZeX3vZkWekGKsweBDNAe6
zbArxaQBDzoePNGp1B1CdV0`crRx9D9>mx>jZdID#>k~UtuY?8WYlLMnYodRYSP;ti
zj#KtlKCUVAqsEnDGK$5YdY3d7U0LzRigzcAVID|RBJLd`JTJCBg3NeN-)AtDO>!i{Zo^7I5LCD{=4o@l&*3Rm(D_Ci{2`mZ%&{$hvzLW;=8hUG}6v
z3xhqb_tn&hPTxlut=aC^7l%mRmz+t?X)8lC2KY6v;#XWZr{no~mwj_?SlwY$HGKWg
z_8OcKUzjyYbY7JiNX(eriXAXqd6qd{9R4))nYS*TD|{KWva&}dH-_^fZp&!_UheDh
zyLOwQi8~ATGK6Pa35Dgg-KfI=v~2qH-F1EYK(2iv6Z$5%be!e(XdW%#5v(k{-b#$o
zUnzACjJJJrT+Htr(-SFvv^e;nCCRYe%~+aH9nH?L`p@O;k81GgB7dda58{a<=O51b
z^xJ~K)HmnH0Rzj}SqaXzGp=3w>%3INb##w6n~&f1ldS4rlGK=&t1>vMH3zNG$OZ0t
z)fdxvfJ<8@cex$2Yw{J0&BhVAeD#KSOI)Oc
z=?DJfJuHQF?>r!aYL`w;mRTmF@%@g#xLofMI%YK66SxcCjRYK_rfMA__}tUWUFOVv
zK82{y*(gsf(t*Y1=Q?Q`)$x5M89}X}HPp%d6
zoINeoM$Irh+fpK>-Vo4_x(IE2dG)QPxAU5^
zraAw=Ibxh-#UjuTv5IorPFKByv_{vq^j5?GNXCr8%Ne
zd&isn@g-X8KWA00&%!<9Feg*J!|bf#a$E+OdopalS&K-AdF$#)(n{+qMhj|t&|17%O$Du#%>h&}Qlh}JO$d0{t0~3so&gPGZ1X-X1pU_z{
zNdKHyOeSg>^9?qW<$jQ2rzQt&F!J?KyV87B3D*z-5t3&9IJn
zEz7bafbNciVQZA1r
z*9p2?V+=2Ef->>|JF9~%d(RMdh@p#Zfm-&-Cbw}EEGinWth6t`K?<`bM=##*5Jd^tb6H;VHD%=DFrVUOkNX2XKTLoBX3*W&d76
z<9~HRb>4*g=%ACSRX=_7i((}TF*0e&igOJGYB^FXel*2MaaUS6Lby)*qYKX5=a-9U
zF3N)G-aJ#isSf#ctJTqUFOMYs%5KFt&Oez=Td#2Lr5)y%CGkxY80GWoEqxJmjMi)2lthl8_`rU1ObtFlMI=;3z_(e&%ZgQMA
zFQI?gw@%=R6!O&Qqcz_W_K+je=@%u?P#N%-19Ag4`l?A@y;`#d@vJTjG@fuq$2Z7Z
zD|=uVvRGV{&@YGtgypdY)9S
z{X{-VLvZa881;fFqaH!Q>u@99T%-hf4vVEviU@tB77z0^A&Qno(<`@liRPI~e7krW
zr(J>yS#nG-nP))a=LAm@7m1!OzLFwp-Uc2QnQTCAWh6F-b|Rt;n8C1szX#l~|q
z)MZA@mizGd$X#@p6Y%Jzr#?92`qnW#p1A1szu__r2_}z2_usi<-9n?b$F+D*LI0kh
zus&wvctRI@t?Fvc>bE9W)j5|^`FVNbJ3Ce36X^+_4Y@+}b?&K9_k7b;Wrno$p_(-!
zJv(EzbWJAXCKh=@sf>5HmbojlwHt^E@&&KQ)iK9rb&
z``iW&ja7j3_;DTOM;kqBE6BwlblLcixx%zp^bt|_XQ-ajy26o|8fCKOEIZhG<#jz9Q7t$$x>TzUh}=^q0`2rL4i|_59W~0I6AzT)G%`wd=|*h+nKw
zptA%XSG7@+hd?jiz3nh>m!tG5%4QVdw|jOE`^vzx%cwwp$iOuxhst`|_suzbL-5aM
zv~Q_n0u1z&a(oS1+Z!?12pwMn;Cio>?uj-j15LbFa4r(WfTnoqN8;NkstRKY0|P-x
z4!s*7R-&Ty&gj#z8?t$>lCaQnAmU$mt*67GOf00
z-rrwBXJ6fs4RnbD^$acy@!6K)5mCM+8&4q&Fb`VDQGd?d)vr!`5!2pS{ciVsqzR37
zTYg*pI3CWEWM~r^-GF7w7~cuXxsKP!1x(6rr2ngWB)<{{f_uFQwRO>z-(Sw&q$@5#
zEz+P%$qOcvQb?r_EIIQzcVCW-0n{2raD#Q`o)(&EcK&E53IyD{Y2AfCho}O-aH>|h!(CLeCrVm*-9ej4v%&JHJvONPC&WRL4rc+cb>0#LyIKB0iqkDadO|gc1S7lR+nfk@?4I#
z*XbpTP?&E(A5Hk|_Sdixf$w%D$;Vr;1xF-MJ(0SX%N>hj%=N9)@!lyOGT>DpFlmXI
z_j{$gml4fW|1w67%CDgZVMF2uS1%^zOA}-A$<%wpxwkxKDxs?IRzffQXxxI&Av&(v
z3N}c~AKQ%buEbkc)OKkq{pU_+XD7=w6cbYXY)%X85~}xgBtEMb!-`^LK3R(A!wcxw
zXF&Sy7WowS{_8N_uTJ-s-=P+T(Gk|D6zvoL5@q+>k|%jJ@aPEmJzYW>b^1a^GG}cX
zlp!l%pE`yf=_wY(PQ4;A^gLh)lUU)#9Eg&$(SpM~r!3<~B7E0`TIJpU!UvEl2dO0j
zJ49>I9I5IQFE7%0#{tai)CHa@n*(eBE6mwOVh1r=*)@^{t)rH=tJO!JT4LB#wVao7
zW@(>BY6-1wKJzvru{%J|$_PVq27UQK-#pcJFYTMmvIS~VFCmjBCfY4ED~dOMh2lk<
z-@_x|=k>TR*jru(vGu8#g$wvhIi?-|F||aZ7*3s6dbK=)ze=&qxXcm#(b}-7(UbU3
zD6xSRmYJRQNegbKBkzV(&W=Y>%++K2<-DzV^oesGk=&P*NPe`JBo#f*6UzL$ik~rW
zB#+Z6Vt1ZmQb^$R4z*bHZFsBehXs3J>R;FaU#V)fLMgV{T`tP}c5fON9O{i<+evmx
z@+H>GwT1spTvo>&hHtQcnPdQjKS_|5
z_Uc+xX{=AX0}&g(V^Fu#M9vDf^jGoxXkHDR(I?f)^1F0ANA!Q+^$jZXQ)eyjdw`KL5p;vh8)n
zxI0C6fvtP=F<2Q<)jh3V;Q{5Y#4@nU#b8eP)yf1pct8T9E6DFu*&ikz{7C=q^w{v8
zb;G1~B4Q^ek`f9wL>$pGEYCGZ@lFz6vvrJ(=BECh5|zpU#MpYtNwY}J4nK*wk{ZM*
zZ3H!5aeCbyN!#_;Z**fLy;*tz8rdz9bPk6;Da=ydsE$rAJB$#)IklG$%s9XZ*t%?
zjZ>O{+3M#J3|+EO$MP4f>PFlgjdyP-u3N2^ero)I5xggjk@m@G2Xly9Cnt$STiG~iOKvCkt$1-JJ^alpZ@`nkyXohOk0G-#miyHZ+;3~OS==`JPd9mQa
zQHt#;@EeF4=*>IP6-~wH1F*W^Cb7#qs=yD%svuxXz_k^iaI_)j`d#X_Z&{^%gJ;hr|`s|RR*8^S~&rF<<%dCFHcH>(~J1b2MBz4A{ydK
z;1FA%?=D60dxFAA6wrgKY{*>MKG*{{w)zbUG`>?}CR{3*ux<$4&C3ptSxd=tK$UlJ
zeOF`polOhhalDIe0;Iva@j9ctCz~epl9565VMMq<3*@x|Pp4#}e}!yor5?)Imtf3u
z_A-xs@$MYm#hnPc*s{9@q{gCZ#t|=30BR`C?Q5KM1d5?x9A8<k>QE>3+4bzYW=!(v1n=T)NO|$V
z@z2XjLPP!Ll}=LuHDW8)u0dl5kq}ImqWO(5w84;NXq!wE9uV)s{VM)CcUFD8cY?
zidg)X|DcN!T5{@zkeF+!(z5g8Z61yt+UM0TcI@9mn3cLegrd#`fPL@z|oxncKD2aL6-3&fSWi<2qnC
z+lT<(qyMwV;G^XzJcq_FV=&Rv|>6ls`PX&$A20e|Pg5_)1fLxFOkz2pdxP9EP-`
z{}Euv7^aapl(h?Azl4fPWm|km7oHj74&g$l`q&bb@G8iiM_{
zeEK}G2)wB2mGIfnXZhifnEv4pKzX%;THK$G>Nf|xfA{P2{BTN}%jiQ*Er^V4i9*xq
zC_4CD0+FotDQVUzso*;qr@2#W-PLCbaaX>7N5cl3^nwj|(|FJN19~R@B`2dnPCxA~
zNi6z2)A%KMNKeOh-l^&!p~+GmGp`D+O=C_Se?;|3tP`b_rk}IFz9|oo*KI(U%{Pg*
z)9+Rh_{NsabKrsgHhg@&6M&%$rT}!Ql41ER#`=&I=G9*4%WCn7)oKH@(0-ze&%)!?_<4FiRMNG<*265pMRTfn*dtPkI&_!F6X4XNafOv=-=#M
zItaE_Ob0g3yRM9#7iH3ozuMk7LWMKS|JDZuezGy4zANCjAt9j{KRpMk5c~(VoOYyo
zv}#80cSEC~n;XxSs`6t+1h%ZeVQ7Wy`;Uf*h2b~&({fL6%~hhNS)y5=bu5j)HO9W)
zWT~t&;nO!iVbB-mll|zZg=i&x1;NF`>o~IoVvn1&Xv*mp6^liA_bG3S6Y@y|aOft9
z)(+@@vTu~J%~%fBpgaCpU0j6}5ImFonXH|w;(tW?-@MG`3_n~)G=3&;(WX;ZI-umz
z-S|%cl}W8+%aI7|T5UKz`bO&ET`d3O&S#fJNO2~$f7%V%aNO}O?z?+O@m1b*n)oGu
zCLcJ;BP0GqtruF-qX!?6GTTFJX!l)`KEF%k`GUf3#ypI5c=?f^O)ip}@H=GNwR9Ov
zHJ65)3D?2mmBzPyLm-hkP2Srq&xl==&pHAC^NYuy5eoV1tdYNb=su)BoXl?$*>&P^
z1IK_Ba*f+8p5FOW(!YsshJw`Oq
zA{3{Dqx-tP2W|&V{O}bg`H)YEr$RTBj%22qrnl!iDgNpgTvP-u
zkwB&ad-sE8R>aCl3U@VIWpJ>6Kv5|FyRx3j6uMTfuu7+lN#|=;({&R3(w`iU;NMg6
z6{v4$;xgjk1Sm;Fm=uF&0FZGYmDY0s-#nyXKmHF}Aq(Wy#|voH!OfB(kXV`9n<*GC
z9HD_eAp08fg;v*nClMEpACi#Hyqm{NI76j3p(Ri7W7^yiP;BI#_}&ciI?ZQ@Xx
zCL%AzB8Mdw4jdm3|`AqnE#4tQ&1L`=WLZNI0``Hh(TTC$%AV
zV?$PwmpRoYW_VE^Xj7Zmk?w>f?zj)oEH#nJc(%DzmjbfIQU{IzUQX2QEFHt*1O)<5
zQs(_i>I~n;eqA*(Rt!te(Oe85QE&3}8E5_wdAh?n3JmWiXF@Sz#IvI)J@EvQBDG1#
zys(>~hoVoEuYhELdw?J6Y1%C6p+y}){nRZkTSSsizc>(eB?WeD(vsIw2oN1}n*r-Fv