UCS PowerTool (PowerShell Toolkit) UCS PowerTool (PowerShell Toolkit)

 

                                                    

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

 

Cisco UCS PowerTool version 0.9.8.0 released Cisco UCS PowerTool version 0.9.8.0 released

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
 We encourage you to try ConvertTo-UcsCmdlet. It will ease your PowerTool based UCS configuration pains.