UCS PowerTool (PowerShell Toolkit)

                                                     

UCS PowerTool has been released as a Generally Available version 1.0 Product.  Look below for detailed instructions on where to download UCS PowerTool from Cisco.com, as it will be posted there going forward.

Great news!  We're happy to announce the GA release of UCS PowerTool, the Microsoft PowerShell command line interface to UCS. It is available for download on Cisco.com under the "Cisco UCS Management Partner Ecosystem" section.

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 1500 PowerShell cmdlets  providing customers an efficient, cost effective and easy to use interface to integrate and automate UCS management with Microsoft products and many 3rd party products taking advantage of the flexible and powerful scripting environment offered by Microsoft PowerShell. 

You can find earlier releases below.

 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

Download Cisco UCS Powertool 1.0.0.0:

To download PowerTool 1.0.0.0 from Cisco.com click here

How to navigate to Cisco UCS PowerTool download page in Cisco.com:

  1. Open a Web Browser and point to http://www.cisco.com and click the "Support" Link.
  2. This will take you to "Support and Downloads" – Click the "Downloads" Tab.
  3. Begin typing "UCS Ecosystem" – as you begin typing, you should see "Cisco UCS Management Partner Ecosystem Software" auto-populate in the drop down – click this search result
  4. The following page click the link for "Cisco UCS PowerTool."
  5. On the following page, you will see the Downloads for Cisco UCS PowerTool to be able to download Cisco UCS PowerTool.

​Cisco UCS PowerTool User Guide Download Link:

http://www.cisco.com/en/US/docs/unified_computing/ucs/sw/msft_tools/powertools/ucs_powertool_book/ucs_pwrtool_bkl1.pdf

Cisco UCS PowerTool version 0.9.11.0 released

 

Changes in 0.9.11.0 from the 0.9.10.1 release:

 

Features:

1. New Cmdlets:

Register-UcsCentral - Registers a Cisco UCS domain with Cisco UCS Central.

Unregister-UcsCentral – Unregisters a Cisco UCS domain with Cisco UCS Central.

Rename-UcsServiceProfile – Rename a Service Profile.

Export-UcsMoXml - Exports Managed Object Xml.

Import-UcsMoXml - Imports Xml and convert into objects.

New Generated Cmdlets:

184 new cmdlets from UCS Manager version 2.1 Schema.

Bug Fixes:

The following list covers the requests/bug reports we have received in the last month. If we have missed tracking your request or have not fixed it, please do let us know.

* Added support for configConfRename in ConvertTo-UcsCmdlet.

* Fetch all naming property values from RN in case not available in XML in ConvertTo-UcsCmdlet.

* Modified ConvertTo-UcsCmdlet  to put properties having value null in –XtraProperties.

* Added support for input parameter regex validation.

* Added missing verb set for VnicIPv4PooledIscsiAddr.

 

Changes in 0.9.10.1 from the 0.9.10.0 release:

Fix in Get-UcsCcoImageList for a defect that prevented the image list from being downloaded from CCO

Changes in 0.9.10.0 from the 0.9.9.0 release:

Two changes to watch out for:

* Noun FabricLanCloud is renamed as FiLanCloud and FabricSanCloud is renamed as FiSanCloud.

* Added -Force flag support in Remove-UcsManagedObject, Set-UcsManagedObject cmdlets.

Features:

* Added support for SSL handling

* Signed images.

* Improved ConvertTo-UcsCmdlet to make it more robust and flexible.

* More elaborate help

* Added more scripts to the samples directory.

Bug Fixes:

The following list covers the requests/bug reports we have received in the last month. If we have missed tracking your request or have not fixed it, please do let us know.

* Added SSL Handling support in PowerTool. Default Value for Invalid SSL server certificate is Ignore.

* Noun FabricLanCloud is renamed as FiLanCloud and FabricSanCloud is renamed as FiSanCloud.

* Convertto-UcsCmdlet Enhancements

 -  Added DN to PropertyMap in Add-UcsManagedObject cmdlet if parent MO is not piped to it.

-  Add support for statsClearInterval method in ConvertTo-UcsCmdlet.

- Fixed  issue with missing white-space during cmdlet generation

- Support for generating generic child cmdlets if the parent cmdlet is generic due to missing verbs

- Changed return types of cmdlets with-in a transaction to MO type instead of generic MOs for known types

* Compare-UcsMo Enhancements

                - XlateOrg property now works on Org MOs.

                - IncludeOperational switch added in Compare-UcsManagedObject cmdlet.

                - GetPropertyDiff()added in UcsMoDiff class to display {prop, old value, new value}

* Fixed a race condition where methods might use an older cookie, while a aaaRefresh kicked-in at the same time.

* Fixed a KVM-Login Failure(Login timeout or bad username/password) while accessing VirtualMedia tab.

* Added support for –Filter parameter in Get-UcsManagedObject when XmlTag is specified.

* Added -Force flag support in Remove-UcsManagedObject, Set-UcsManagedObject cmdlets.

* Removed redundant parameter OperScrub from Export-UcsXml cmdlet.

* More meaningful errors are displayed in case of failures.

* Enhancement in Get-UcsTechSupport cmdlet; added support for ucsm-mgmt  which gets Technical Support data for UCSM management services(excluding fabric interconnects).

* Remove-UcsManagedObject now works with ClassId and Dn.

* Status changed to Created,Modified for children with parent mo status containing Created; with-in a transaction.

* Added logic for populating WriteXml for Fault/Stats/Fsm related Mos.

* Added -Ucs argument to help xml for cmdlets that take UcsHandle parameter.

* Added PowerToolConfiguration object to output pipeline while executing Set-UcsPowerToolConfiguration.

Changes in 0.9.9.0 from the 0.9.8.0 release.

 

Features:

 

1. New Cmdlets:

 

Get-UcsTransactionImpact: Estimates the impact of the pending transactions.

 

New Generated Cmdlets:

 

Get-UcsBiosVfOnboardStorage

Set-UcsBiosVfOnboardStorage

Get-UcsEquipmentBladeIOMConnDef

Set-UcsSanCloud

Set-UcsFabricSanCloud

Remove-UcsExtvmmSwitchDelTask

Set-UcsVnicDynamicCon

 

2. Support for –XtraProperties in generated Get/Add/Set cmdlets.

 

All generated Get/Add/Set cmdlets support properties which does not exist in meta. This gives flexibility to work with unknown properties, in any new UCS Manager release.

 

# Add a Service Profile with extra property ExtIPPool

Add-UcsServiceProfile -Name sp_name -XtraProperty @{ExtIPPoolName = "ext-mgmt";}

 

3. Support for –XmlTag in Get/Add/Set/Remove generic Cmdlets.

 

Cmdlets now support –XmlTag parameter. This helps to work with unknown MOs.

# Add a multicast policy

Add-UcsManagedObject -XmlTag fabricMulticastPolicy -PropertyMap @{ Dn="org-root/mc-policy-multicastpolicy"; Name="multicastpolicy"; SnoopingState="enabled"; QuerierState="enabled"; }

 

 

We are extremely thankful to the PowerTool users who have been giving us valuable suggestions, feedback and bug reports.

 

Bug Fixes:

 

The following list covers the requests/bug reports we have received in the last month. If we have missed tracking your request or have not fixed it, please do let us know.

 

* Added Get-UcsTransactionImpact cmdlet and so added support for ConfigEstimateImpact

* Added schema information from versions 1.4(4f) 1.4(4g) 1.4(4i) 2.0(2q) 2.0(2r) 2.0(3a)

* Added range for unsinged int in the Meta

* Added remove verb for extvmmSwitchTaskDel

* Added support to handle Unknown MOs and Unknown Properties

* Added XmlTag support in get, add, set, remove generic cmdlets

* Bug Fix in ConvertTo-UcsCmdlet

* Handling empty status field

* If Name attribute is empty, fill in from dn

* Bug fix in Send-UcsFirmware - if redirection is enabled and the connection is via a proxy, then directly use https connection

* Added Parent Support in Get-UcsMo

* Bug fix in Import-UcsBackup (was only possible to  import once from specific host)

* Added missing verb set for VnicDynamicCon

 

 

 

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.