IPS PowerShell module (Automation cmdlets)
The IPS PowerShell module provides a set of cmdlets that can be used to perform administrative tasks for a Planning Space deployment. You can include the cmdlets in PowerShell scripts to automate tasks.
The module requires at minimum version 3.0 of PowerShell.
(Note for using PowerShell scripts for IPS administration: PowerShell has an ExecutionPolicy setting which is by default set to 'Restricted', which prevents all scripts from running. To use scripts for administration will require setting the ExecutionPolicy to 'RemoteSigned' (as generally recommended by Microsoft) or 'Unrestricted'.)
Installation: IPS Server
The module is installed automatically as part of the IPS Server installation. The files are installed in the 'Palantir' programs folder, for example 'C:\Program Files\Palantir\PalantirIPS 16.5\Powershell', and the Windows environment variable '$env:PSmodulepath' is modified to include this folder. You do not need to do any further installation if you are using the module on an IPS Server machine.
You can test that the module is installed correctly with the following PowerShell command:
Get-Command -Module Palantir.IPS.Manager.Automation
You should see a listing of all of the cmdlets.
Manual installation
Contact Quorum Support if you require the Powershell module as a ZIP file source. The module can also be copied (by a server Administrator) from the IPS Server location shown above.
The ZIP file should have a name in the form 'PalantirIPSManagerAutomation_165Xyyy.zip', where '165' denotes the version number and 'Xyyy' denote the sub-version and build numbers. It is best to use the latest version of the ZIP file which is compatible with your company's Planning Space/IPS deployment, that is having the same version and sub-version numbers.
The installation ZIP file contains two help files (README.txt and INSTALL.txt) and the folder 'Palantir.IPS.Manager.Automation' which contains all of the IPS PowerShell module files.
The folder needs to be installed at some place in your computer's PowerShell lookup path. Your 'PSModulePath' variable for PowerShell should look something like this, by default:
PS> $env:PSmodulepath
C:\Users\{USERNAME}\Documents\WindowsPowerShell\Modules;C:\Program
Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
If you are non-Administrator user, copy the 'Palantir.IPS.Manager.Automation' folder into your own folder 'Documents\WindowsPowerShell\Modules':
- Create a folder 'C:\Users\{USERNAME}\Documents\WindowsPowerShell\Modules' (if it does not exist).
- Paste in a copy of the folder 'Palantir.IPS.Manager.Automation'.
If you are an Administrator user, you can make the module available to all users of a machine by adding the 'Palantir.IPS.Manager.Automation' folder to 'C:\Program Files\WindowsPowerShell\Modules'.
You can test that the module is installed correctly with the following PowerShell command:
Get-Command -Module Palantir.IPS.Manager.Automation
You should see a listing of all of the cmdlets.
Using the cmdlets
For explanation of the settings that are covered by the cmdlets, see IPS Server configuration, Licensing and Applications settings.
All of the cmdlets, except for 'Test-Server', require a server login with 'Connect-IPSManager'. For example:
Connect-IPSManager https://ips.mycompany.com
with the output:
IsSuccess : True
Errors :
Url : https://ips.mycompany.com
ServerVersion : 16.5.0.0
UserName : MYCOMPANY\ipsadmin
IsMemberOfAdminGroup : True
IsServerLicensed : True
The authentication of your connection is based on the Windows user account that executes the 'Connect-IPSManager' command. The account must be a member of the IPS Administrators Group. (See Using IPS Manager.)
You should disconnect from the server when the connection is no longer required:
Disconnect-IpsManager
Note on connection to an IPS server cluster: When you connect to a cluster of server machines, you have the option to connect to the load balancer (i.e., by using the service address), which will automatically select one of the server machines to connect to, or to connect directly to a specific server machine. There are a few cmdlets intended for use with specific server machines, when adding or removing machines to/from a cluster, or changing the primary server machine: Get-IsPartOfCluster, Get-IsPrimaryServer, Join-ClusterAsPrimaryServer, and Join-ClusterAsSecondaryServer.
Note on Boolean inputs: The 'true' and 'false' string values should not be used as inputs to Boolean parameters. The inputs '0', '1', '$true' or '$false' should always be used.
Using the module help information
The cmdlets follow the standard PowerShell 'verb-noun' convention.
The module contains comprehensive help information for all of the cmdlets. Use the table of cmdlets below to look up a cmdlet name and then access the help information with 'Get-Help'. For example:
Get-Help Get-TenantClusterTempFolder -full
You can use the Windows Powershell ISE tool to explore the contents of the module: open the Command add-on and in the 'Module' selection box select 'Palantir.IPS.Manager.Automation'.
Cmdlet listing for Palantir.IPS.Manager.Automation
For version 16.5 Update 6 and later: Added commands 'Enter-MaintenanceMode' and 'Set-PrimaryServer'.
For version 16.5 Update 13 and later: Added commands 'Add-TenantAuthenticationMethod' and 'Remove-TenantAuthenticationMethod'.
For version 16.5 Update 16 and later: Added commands 'Get-TenantCloudStorage', 'Remove-TenantCloudStorage', 'Set-TenantAwsCloudStorage', 'Set-TenantAzureCloudStorage'.
For explanation of the settings that are covered by the cmdlets, see IPS Server configuration, Licensing and Applications settings.
Cmdlet name | Description |
---|---|
Add-ApplicationAccess | Gives tenant access to the specified application. |
Add-Tenant | Adds a new tenant to the current PalantirIPS server. |
Add-TenantAuthenticationMethod | (Available in version 16.5 Update 13 and later) Allow the specified authentication method for the specified tenant. |
Clear-UserSession | Removes all user sessions for a specified tenant. If the license server is in CentralizedPool mode, all user sessions will be removed. |
Connect-IpsManager | Connects to a running instance of PalantirIPS Manager. It checks if the current Windows user is a member of the configured IPS Admin Group. Except for the Test-Server cmdlet, all other PalantirIPS Manager automation cmdlets require that Connect-IpsManager first be called successfully. |
ConvertTo-EncryptedText | Converts plain text strings into encrypted strings with Aucerna encryption logic. The encrypted string created by the cmdlet can be used with cmdlets or functions that require an encrypted string e.g. password. |
Disable-Tenant | Disables a tenant on the current PalantirIPS server. |
Disconnect-IpsManager | Disconnects from the current PalantirIPS Manager session and removes all Powershell session variables associated with it. |
Enable-Tenant | Enables a tenant on the current PalantirIPS server. |
Enter-MaintenanceMode | (Available in version 16.5 Update 6 and later) Switches the specified server to maintenance mode. The server will not accept interactive sessions or new jobs, but running jobs will continue to completion. |
Get-Application | Retrieves the list of applications deployed in the current PalantirIPS server. |
Get-ApplicationCachePort | Retrieves the configured distributed cache port of the specified application. |
Get-ApplicationClientSetting | Retrieves a tenant's client application settings. |
Get-ApplicationEventLogLevel | Retrieves the event log level of an application. |
Get-ApplicationGroup | Retrieves the list of application groups deployed in the current PalantirIPS server. |
Get-ApplicationMainLogLevel | Retrieves the main log level of an application. |
Get-ApplicationProcessingPort | Retrieves the configured distributed processing port of the specified application. |
Get-ApplicationProcessorAffinity | Retrieves a list of processors that are bound to the application process (eg. a returned list of 1,3,4 means that CPU1, CPU3, and CPU4 are bound to the application process). |
Get-ApplicationServiceSetting | Retrieves the value of a specified service setting for an application. |
Get-AuthorizedClusterGroup | Retrieves the configured authorized cluster group from the current PalantirIPS server. |
Get-ClusterPort | Retrieves the configured cluster management port from the current PalantirIPS server. |
Get-EventLogLevel | Retrieves the configured event logging level from the current PalantirIPS server. |
Get-GenerateMemoryDump | Retrieves the configured value for the setting that tells the PalantirIPS server whether to generate or not a memory dump when an unhandled exception occurs on the server. |
Get-IpsServerLicense | Retrieves a list of all the current server licenses on the IPS server. Revoked licenses will be excluded. |
Get-IsPartOfCluster | Checks if the current PalantirIPS server is part of a cluster. |
Get-IsPrimaryServer | Checks if the current PalantirIPS server is the primary server of a cluster. |
Get-LicenseServerUrl | Retrieves the base url of the license server. If the license server is in PerTenant mode, the tenant parameter must be specified. |
Get-LicensingMode | Retrieves the current licensing mode of the IPS server. |
Get-MailSettings | Retrieves the configured Mail settings for the current PalantirIPS server. |
Get-MainLogLevel | Retrieves the configured main logging level for the current PalantirIPS server. |
Get-MaxWorkerUsage | Retrieves the configured max worker usage for the specified processing category. |
Get-MonitorPort | Retrieves the configured monitor port from the current PalantirIPS server. |
Get-PeriodicTaskPoolSize | Retrieves periodic task pool size for the specified server. |
Get-ProcessingCategoryList | Retrieves the list of processing categories of the current PalantirIPS server. |
Get-ProcessorAffinity | Retrieves a list of processors that are binded to the IPS worker process (eg. a returned list of 1,3,4 means that CPU1, CPU3, and CPU4 are binded). |
Get-ProcessorList | Retrieves a list of processors that can be used by IPS Workers. To set processor affinity for IPS Workers, please see the Get-ProcessorAffinity and Set-ProcessorAffinity cmdlets. |
Get-ProductLicense | Retrieves a list of all the current product licenses on the license server. Revoked licenses will be excluded. |
Get-ProxySetting | Retrieves the current proxy setting for the license server. |
Get-ServerAddress | Retrieves the configured server address of the current PalantirIPS server. |
Get-ServerList | Retrieves the list of PalantirIPS servers. If the current PalantirIPS server is a standalone server, this will return a list of one. If the current PalantirIPS server is a member of a server cluster, this will return list of all servers belonging to the cluster. |
Get-ServerSetting | Retrieves the value of a specified PalantirIPS server setting. |
Get-ServerTaskPoolSize | Retrieves server task pool size for the specified server. |
Get-ServiceCertificate | Retrieves the configured service certificate for the current PalantirIPS server. |
Get-ServiceSetting | Retrieves the value of a specified PalantirIPS Service setting. |
Get-ShowTenantsOnRootPage | Retrieves the value of the setting that controls whether tenants will be shown on the server root page when logging into IPS. |
Get-Tenant | Retrieves the list of tenants on the current PalantirIPS server. |
Get-TenantApplication | Retrieves the list of applications the specified tenant has access to. |
Get-TenantCloudStorage | (Available in version 16.5 Update 16 and later) Retrieves the cloud storage settings of the specified tenant. |
Get-TenantClusterTempFolder | Retrieves the tenant cluster temp folder location for a specified tenant. |
Get-TenantDataSource | Retrieves the data source of the specified tenant. |
Get-TenantSAML2IdentityProvider | Gets the SAML2 identity provider of the specified tenant. |
Get-TenantTokenLifetime | Gets the token lifetime of the specified tenant. |
Get-UserSession | Retrieves a list of user session information from the license server. |
Get-WebServerPort | Retrieves the configured web server port for the current PalantirIPS server. |
Get-WorkerAllocationStrategy | Retrieves the worker allocation strategy for the specified server. |
Get-WorkerCount | Retrieves worker count for the specified server. |
Import-IpsServerLicense | Imports an IPS server license from a specified location. |
Import-ProductLicense | Imports a product license from a specified location. |
Join-ClusterAsPrimaryServer | Configures the current PalantirIPS server to join a cluster as the primary server. |
Join-ClusterAsSecondaryServer | Configures the current PalantirIPS server to join a cluster as a secondary server. |
Remove-ApplicationAccess | Removes a tenant's access to the specified application. |
Remove-ProductLicense | Removes a current product license from the server. Revoking a license cannot be undone; removed licenses cannot be reuploaded. |
Remove-Tenant | Removes the specified tenant from the current PalantirIPS server. |
Remove-TenantAuthenticationMethod | (Available in version 16.5 Update 13 and later) Disallow the specified authentication method for the specified tenant. |
Remove-TenantCloudStorage | (Available in version 16.5 Update 16 and later) Removes cloud storage settings from the specified tenant. |
Remove-UserSession | Removes a specified user session from license server. |
Reset-ApplicationClientSetting | Resets a tenant's client application settings. |
Reset-ApplicationServiceSetting | Resets the value of a specified setting for an application's server module. |
Reset-ServerSetting | Resets a specified server setting. |
Reset-ServiceSetting | Resets a specified Service setting. |
Restart-Application | Restarts the server-side module of an application. |
Set-ApplicationCachePort | Sets the distributed cache port of an application. |
Set-ApplicationClientSetting | Sets the value of a tenant's client application setting. |
Set-ApplicationEventLogLevel | Sets the event log level of an application. |
Set-ApplicationMainLogLevel | Sets the main log level of an application. |
Set-ApplicationProcessingPort | Sets the distributed processing port of an application. |
Set-ApplicationProcessorAffinity | Allocates or de-allocates a processor to or from an application process on a specified server. Any processor not in the ProcessorList will be deallocated. |
Set-ApplicationServiceSetting | Sets the value of a specified setting for an application's server module. |
Set-AuthorizedClusterGroup | Sets the authorized cluster group of the current PalantirIPS server. |
Set-ClusterPort | Sets the cluster management port. |
Set-EventLogLevel | Sets the event logging level for the current PalantirIPS server. |
Set-GenerateMemoryDump | Sets the value that determines whether PalantirIPS will generate a memory dump if a fatal exception occurs. |
Set-LicensingMode | Sets the licensing mode of the IPS server. The valid modes are CentralizedPool and PerTenant. |
Set-MailSettings | Sets values for the Mail settings of the current PalantirIPS server. |
Set-MainLogLevel | Sets the main logging level for the current PalantirIPS server. |
Set-MaxWorkerUsage | Sets the maximum number of workers that can be used by the specified processing category. |
Set-MonitorPort | Sets the monitor port of the current PalantirIPS server. |
Set-PeriodicTaskPoolSize | Sets the number of periodic task pool size for a server. |
Set-PrimaryServer | (Available in version 16.5 Update 6 and later) Sets the specified server to be the primary server for the cluster. |
Set-ProcessorAffinity | Allocates or de-allocates a processor to or from a processing category on a specified server. Any processor not in the ProcessorList will be deallocated. |
Set-ProxySetting | Changes the proxy setting of the license server. |
Set-ServerAddress | Sets the server address of the current PalantirIPS server. |
Set-ServerSetting | Sets the value of a specified PalantirIPS server setting. |
Set-ServerTaskPoolSize | Sets the number of server task pool size for a server. |
Set-ServiceCertificate | Sets the certificate value settings of the current PalantirIPS server. |
Set-ServiceSetting | Sets the value of a PalantirIPS Service setting. |
Set-ShowTenantsOnRootPage | Sets the value of the setting that controls whether to show the tenant list in the server root page. |
Set-TenantAwsCloudStorage | (Available in version 16.5 Update 16 and later) Sets the AWS cloud storage settings for the specified tenant. |
Set-TenantAzureCloudStorage | (Available in version 16.5 Update 16 and later) Sets the Azure cloud storage settings for the specified tenant. |
Set-TenantClusterTempFolder | Sets the tenant cluster temp folder location for a specified tenant. To use this cmdlet, the tenant data source must first be set. Both your IPS and SQL server will also require access rights to the location you specify. |
Set-TenantDataSource | Sets the data source of the specified tenant. |
Set-TenantSAML2IdentityProvider | Sets the SAML2 identity provider of the specified tenant. |
Set-TenantTokenLifetime | Sets the token lifetime of the specified tenant. |
Set-WorkerAllocationStrategy | Sets the worker allocation strategy for a server. |
Set-WorkerCount | Sets the number of workers for a server. |
Test-Server | Performs tests to check if all the web applications hosted in the current PalantirIPS server are accessible. This cmdlet does not require Connect-IpsManager to be called first. |
Use-Http | Configures the current PalantirIPS server to use http. |
Use-SecureHttp | Configures the current PalantirIPS server to use secure http. |
Use-SslOffloading | Configures the current PalantirIPS server to use SSL offloading. |