Cisco UCS PowerTool for UCSM
Great news! We’re happy to announce the beta release of UCS PowerTool, the Microsoft PowerShell command line interface to UCS. UCS PowerTool helps customers to integrate, automate, and orchestrate all aspects of UCS management including network, storage and hypervisor management with their existing IT management processes. Microsoft PowerShell is fast becoming a defacto standard for automating and integrating many functions of systems management within the datacenter.
UCS PowerTool is a flexible and powerful command line toolkit that includes more than 100 PowerShell command-lets (“cmdlets”) providing customers an efficient, cost effective and easy to use interface to integrate and automate UCS management with Microsoft products and many 3rdparty products taking advantage of the flexible and powerful scripting environment offered by Microsoft PowerShell.
This release is currently in beta status and is available as a free download to the registered users of the free Cisco Developer Network (CDN). It will be supported primarily through the CDN Forums. Please login to get access to UCSM PowerShell toolkit.
Key Features in current Release:
- Stateful Connection management to multiple UCSM systems
- Service Profile Management (create/modify/delete/associate)
- Log viewing/management
- Server Power Management
- Full Inventory Management
- Raw XML input/output capability
It also includes standard PowerShell functionality:
- Fully Object Based
- Command Pipelining Support
- Inline help (get-help) support
- Standard verb implementation
Changes in 0.9.8.0 from the 0.9.7.0 release.
Things to watch out for, before we list the additions:
- We have made the installation paths compliant to best practices. So, if you are importing the module using a path, please make the necessary changes to reflect the new path.
- Since we have introduced the –Filter option to all the cmdlets for custom filters, for the earlier behavior please use –FilterValue instead of –Filter in:
a. Get-UcsLdapGlobalConfig
b. Set- UcsLdapGlobalConfig
c. Get-UcsLdapProvider
d. Add-UcsLdapProvider
e. Set-UcsLdapProvider
Features:
1. New Cmdlets:
1. Clear-UcsStatistics: Clear Min/Max/Avg statistics for the provided statistics MO.
2. Get-UcsStatistics: Get statistics MOs for an MO, either from the immediate children or either hierarchy. Current or History selection is available.
3. Add-UcsManagedObject: A generic cmdlet that can add a MO type with the values specified in the property map. No more getting blocked due to a missing Add-* cmdlet.
4. Set-UcsManagedObject: A generic cmdlet that can set the values specified in the property map in an MO. No more getting blocked due to a missing Set-* cmdlet.
5. Start-UcsGuiSession: Starts the GUI session for the provided Ucs handles. (login required).
6. Export-UcsPSSession: The functionality to store the login credentials to a file is now moved from Get-UcsPSSession to this cmdlet. The functionality will be deprecated from Get-UcsPSSession in the next release.
2. Log into multiple systems with the same credentials in a much simpler manner.
# Specify the list of systems and the same credentials are used to log into them (in parallel).
Connect-Ucs @('ucs-pod01', 'ucs-pod02', 'ucs-pod03') –Credential $cred -NotDefault
3. Every generated Get-Ucs* cmdlet & the generic Get-UcsManagedObject now supports the specification of a filter, like a PowerShell expression, and maps it to the corresponding filters in the XML API. All filters other than -canybit , -callbits, -cbw are available in PowerShell and mean the same. Since the UCS XML API is case sensitive, the –ieq, -ine, -ilike, -inotlike operators are implemented by converting the provided values into appropriate regular expressions and using the UCS XML API wcard filter. The –cgt, -cge, -clt, -cle, -cbw filters do not work with text fields right now and this issue will be addressed with fixes in the UCSM Manager software.
# Get all Service Profile Templates.
Get-UcsServiceProfile -Filter 'Type -clike *-template' | select Ucs,Dn,Name
The supported operators & the corresponding filters are:
Operator | Description |
-ceq | Case sensitive - Equal to. |
-cne | Case sensitive - Not equal to. |
-cge | Case sensitive - Greater-than or equal to. |
-cgt | Case sensitive - Greater-than. |
-cle | Case sensitive - Less-than or equal to. |
-clt | Case sensitive - Less-than. |
-cmatch | Case sensitive - Matches a string using regular expressions. |
-cnotmatch | Case sensitive - Does not match a string. Uses regular expressions. |
-clike | Case sensitive - Match using the wildcard character (*). |
-cnotlike | Case sensitive - Does not match using the wildcard character (*). |
-ccontains | Case sensitive - Containment operator. Contains specified value. |
-cnotcontains | Case sensitive - Containment operator. Does not contain specified value. |
-canybit | Case sensitive - Containment operator. Contains any of the specified values. |
-callbits | Case sensitive - Containment operator. Contains all of the specified values. |
-cbw | Value between the specified two values. |
-ieq | Case insensitive - Equal to. |
-ine | Case insensitive - Not equal to. |
-ilike | Case insensitive - Match using the wildcard character (*). |
-ilnotlike | Case insensitive - Does not match using the wildcard character (*). |
-and | Logical and. |
-or | Logical or. |
-not | Logical not. |
New Verbs for Managed Objects:
Add-LsBinding: Add service profile association configuration to a service profile. (The custom cmdlet Associate-ServiceProfile is still available.)
Remove-LsBinding: Add service profile association configuration to a service profile. (The custom cmdlet Disassociate-ServiceProfile is available.)
Add-UcsSysdebugTechSupport: Create & trigger tech support collection. (The custom cmdlet Get-UcsTechSupport is a better option.)
Set-UcsSysdebugTechSupport: Re-trigger tech support collection etc.
Add-SysdebugTechSupportCmdOpt: Add tech-support collection options.
Set-SysdebugTechSupportCmdOpt: Modify tech-support collection options.
Add-UcsIpPool: Add an IP Pool.
Remove-UcsIpPool: Remove an IP Pool.
Add-UcsIqnpoolPool: Add an Iqn Pool.
Set-UcsIqnpoolPool: Modify properties of an Iqn Pool.
Remove-UcsIqnpoolPool: Remove an Iqn Pool.
Add-UcsIqnpoolBlock: Add an Iqn block to an Iqn Pool.
Remove-UcsIqnpoolBlock: Remove an Iqn block to an Iqn Pool.
New scripts:
Get-UcsCimcIpReport: Generate a report of IPs used for CIMC access (both CIMC & ServiceProfile bound)
Minor Enhancements:
1. *: Every cmdlet that only supported –LiteralPath option earlier, now supports the –Path option as well.
2. *: Timestamps can be specified in any format supported by the DateTime constructor. The DateTime object can be provided as well. Also, this is the only transform applied to filter strings.
3. *: bool transforms for yes/no, true/false, enable/disable, enabled/disabled. Specify $true or $false. This is not applied with filter strings.
4. Installer: Path changes and $env:PSModulePath update.
Bug Fixes:
1. ConvertTo-UcsCmdlet:
a. More relevant matching, using property restriction information added to properties
b. Handling special characters in the property values.
2. Get-*: Handling queries for multi-valued properties is addressed. The allbits filter is used now.
3. Relative paths are now handled in the –LiteralPath parameter.
4. Compare-UcsManagedObject: Fixed a bug where the user provided content was modified.
5. Start-UcsKvmSession: Allow specification of a custom FrameTitle (Templatization of string pending)
Changes in 0.9.7.0 from the 0.9.6.0 release.
- Support to generate PowerTool cmdlets for configuration actions perfomed in the UCS Manager GUI - ConvertTo-UcsCmdlet
- Support for newly introduced Managed Objects in the recent UCS Manager2.0(2m) release
- Support for "–Hierarchy" option in Get Cmdlets
- Support for "–ModifyPresent" option in Add Cmdlets, to modify the managed object instead of returning an error, if the object is already present
- Support for "–LimitScope" option for wider set of Get-* cmdlets
- Support for "–XlateOrg" and "–XlateMap" options in Compare-UcsManagedObject, to make object renaming, org moves, etc. simpler
- Revamped support for Proxy support. Moved from common configuration to a connection specific one. Can be specified inConnect-Ucs
- Support for better service profile instantiation with Add-UcsServiceProfileFromTemplate
- An expanded QuickStart guide, with a write-up on PowerTool and its relations to Managed Objects & Methods
- Added many missing verbs