SMLets Beta 3 Released!

SMLets Beta 3 Released!

  • Comments 11
  • Likes

CP_banner_111x111_gen.jpgimage

Today we released a major new release of SMLets – Beta 3!  Download the new release at the CodePlex site.

Jim Truher and I have been hard at work adding a lot of new capabilities, cmdlets, testing harnesses, scripts, cleaning up the code base, and of course – fixing bugs (we found a couple Smile)!

New in this release:

32 NEW cmdlets!

Get-SCSMObjectTemplate
Set-SCSMObjectTemplate (apply template to a projection object)
New-SCSMGroup
Get-SCsMGroup
New-SCSMView
Remove-SCGroup
Get-SCSMQueue
New-SCSMQueue
Remove-SCSMQueue
New-SCSMEnumeration
Get-SCSMView
Get-SCSMFolder
Get-SCSMForm
Get-SCSPage
Get-SCSMPageSet
Get-SCSMViewSetting
Get-SCSMViewType
Get-SCSMImage
Get-SCSMFolderHierarchy
Get-SCSMStringResource
Get-SCSMLanguagePackCulture
Get-SCSMWhoAmI
Get-SCSMConnectedUser
Get-SCSMConsoleTask
New-SCSMUserRole
Get-SCSMUserRole
Get-SCSMView
New-SCSMNotificationSubscription
Remove-SCSMView
New-SCSMManagementPackReference
Get-SCSMManagementPackReference
Remove-SCSMUserRole

Other notable improvements:

  • Installable via MSI now
  • Added sorting capability to Get-SCSMObject and Get-SCSMObjectProjection.
  • Added type converter for EnterpriseManagementObjectProjection. This means that you can pipe the output of get-scsmincident or get-scsmobjectprojection to cmdlets that take an objectprojection and the conversion will happen automatically
  • Update Module file to include aliases for those cmdlets that don't have the prolog SCSM. For example, get-scmanagementpack now has an alias of get-scsmmanagementpack
  • Update new-scsmmanagementpack to support creating a blank MP
  • Update to Set-SCSMObject to handle null -value parameter by adding AllowEmptyString and AllowNull attributes
  • Added should process support to all set-, update-, and remove- cmdlets that didnt have it.

Added new helper functions to get MPs and MP elements by ID instead of GUID:
GetManagementPack()
GetManagementPackRelationship()
GetManagementPackClass()
GetManagementPackTypeProjection()

Please note there are a few breaking changes in this release.  Please update any scripts, workflows, etc. that use these cmdlets as appropriate to use the new parameter signatures.  We realize this may be a pain for you (hopefully not!) but it just had to be done for the greater good of all future consumers of smlets to get things cleaned up.

******************
BREAKING CHANGE
******************

Breaking Parameter Signature Changes
========================================
The following parameter names were modified to provide consistency in parameter names across all cmdlets:
New-SCSMAnnouncement -Name --> -DisplayName
Set-SCSMAnnouncement -Name --> -DisplayName
Import-SCManagementPack -MP --> -ManagementPack
Remove-SCManagementPack –ManagementPackInstance --> –ManagementPack
Export-SCManagementPack –ManagementPackInstance --> –ManagementPack
Get-SCSMUserRole –UserRole --> -Name
Get-SCSMRunAsAccount –UserRoleName --> -Name
New-SCSMNotificationSubscription –Name --> -DisplayName
Set-SCSMObjectTemplate –TemplateName to -Name


******************
BREAKING CHANGE
******************

-Name on New-SCSMObject removed. This could have been used previously for passing in the class name instead of passing a ManagementPackClass to –Class. To encourage stronger typing and because the –Name is ambiguous and not consistent

with the use of –Name in the other cmdlets it has been removed.

So – you will do this:
New-SCSMObject –Class (Get-SCSMClass –Name System.WorkItem.Incident$)
Instead of this
New-SCSMObject –Name System.WorkItem.Incident$

-ClassName on Get-SCSMObject also be removed. –Class already exists there.

So – you will do this:
Get-SCSMObject –Class (Get-SCSMClass –Name System.WorkItem.Incident$)
Instead of this
Get-SCSMObject –ClassName System.WorkItem.Incident$

******************
BREAKING CHANGE
******************

Removed -EMG parameter from New-SCManagementPack cmdlet *** BREAKING **** - use the inherited implied _mg instead

 

I’ll put up some blog posts in the next few days showing you some of the really cool new stuff you can do with this version of SMLets.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Congratulations Travis and Jim, you guys rocks! Thanks for the new cool version of the SMlets, I hope to see how to use new stuff soon :)

    Regards.

  • Thanks Travis these will be very useful for everyone. I also wanted to ask you about the which table in the database that contains  the user information. I know that the BaseManagedEntity table contains the user ID and the display name but where the other information is stored? If i wanted to get a list of all user and their information in the system where can i get that?

    The issue that i am trying to resolve is that in some cases you select a user from the user selection window but the display name is returned as a different user! based on my analysis, it seems that there was an error in the import date file i used so i am trying to fix that. Can you please e-mail me at hhamed@graphitemedia.com so i can explain this further with some examples. Thanks Travis.

  • @Sam - check out this blog post I wrote in response to your comment:

    blogs.technet.com/.../smlets-beta-3-released.aspx

  • Hey Travis

    Great work guys, will test the new SMlets during the following days!

    cu Marcel

  • Hi Travis,

    Is there a 32-bit version of this release available?

    Cheers,

    Rob

  • @Travis, ignore my previous post, it's only the installer that won't work on 32-bit, the extracted smlets are ok.

  • Hi travis

    Travis i want to know that can we achieve incident assignment load distribution from SCSM like one analyst has already assigned 4 incidents then next incident automatically assigned to other analyst. kindly let me know its urgent query

    thanks

  • travis kindly reply me i am waiting

  • Hi Travis,

    I am trying to use the following snippet in a code block but cannot get any input.

    Get-SCSMIncident -Status "Active" -CreatedBefore $BeforeDate | where { $_.SupportGroup -eq "groupname" }

    What can be the reason? But when I set $_.SupportGroup -eq $NULL then it works.

    Thanks in advance.

  • @Ozge -

    Keep in mind that each enumeration has a "name" and a "displayname".  My guess is that you are passing the display name and trying to match on the name.

    Get-SCSMIncident -Status "Active" -CreatedBefore $BeforeDate | where { $_.SupportGroup.DisplayName -eq "groupname" }

  • Hi Travis,

    Thank you for the quick reply. I would like to add another parameter. In this case all active incidents that are not been assigned and have the following support group selected. Is this true?

    Get-SCSMIncident -Status "Active" -CreatedBefore $BeforeDate | where { $_.SupportGroup.DisplayName -eq "groupname" + $_.AssignedTo -eq $NULL }

    Regards