Script to Extract Configuration
For a crude Single HTML page that can extract configuration from a ns.conf file, see http://www.carlstalhood.com/NetScalerExtractor.html. This page runs completely on the client side so nothing is uploaded. Or you can download the HTML page and run it on your machine. 💡
The following PowerShell script extracts relevant items from a NetScaler configuration.
Specify the search term and the script will search for all related commands (service groups, monitors, policies, etc.) Example search terms include: VIPs, vServer Names, etc.
It can either download the running config from a running NetScaler or it can import a config from a file.
Configure NetScaler from PowerShell
You can use any scripting language that supports REST calls. This section is based on PowerShell 3 and its Invoke-RestMethod cmdlet.
NetScalerPowerShell.zip contains PowerShell functions that use REST calls to configure a NetScaler appliance. It only takes a few seconds to wipe a NetScaler and configure it with almost everything detailed on this site. A glaring omission is file operations including licenses, certificate files, and customized monitor scripts and the PowerShell script assumes these files are already present on the appliance.
Most of the functions should work on 10.5 and 11.0 with a few obvious exceptions like RDP Proxy. Here are some other differences between 10.5 and 11.0:
- PUT operations in NetScaler 11 do not need an entity name in the URL; however 10.5 does require entity names in every PUT URL.
- https URL for REST calls works without issue in NetScaler 11 but NetScaler 10.5 had inconsistent errors. http works without issue in NetScaler 10.5.
Nitro REST API Documentation
NetScaler Nitro REST API documentation can be found on any NetScaler by clicking the Downloads tab. The documentation is updated whenever you upgrade your firmware.
Look for the Nitro API Documentation.
Extract the files and then launch index.html.
Start by reading the Getting Started Guide and then expand the Configuration node to see detailed documentation for every REST call.