oskar.frolin2

Inventory Services – What do you have?

Discussion created by oskar.frolin2 Employee on Jun 27, 2019
Latest reply on Aug 12, 2019 by AshishPatil

What?

For end users Automation Platform is a service portal, self service enabler and much more depending on the Services you create in your AP.

But did you know that AP can inform your end users of what they already have?

You can create Inventory Services that dynamically lookup if a visiting user already “owns” a specific service. Inventory Services are built in PowerShell and the service it represents is created by you in AP.

From the “My Services” page you can overview the result of your inventoried services, and the possibility to trigger different actions on the result.

The list of things you could, or maybe should, inventory could be a long one:

  • Distribution group ownership/membership
    • Manage members
    • Manage owner(s)
  • Permission group ownership/membership
    • Manage members
    • Manage owner(s)
  • Computers managed by
    • Request service
    • Request replacement
    • Transfer ownership
  • Mobile devices managed by
    • Wipe device
    • Request service
    • Request replacement
    • Transfer ownership
  • Software ownership
    • Uninstall
  • IaaS resources
    • PowerOn/PowerOff
    • Clone
    • Remove
    • Transfer ownership
  • SaaS resources
    • Manage details
    • Resign
  • Team members to manage
    • Manage services per member
    • Manage member details
  • Accounts
    • Manage details
    • Manage password
    • Lock/Unlock
    • Resign

 

Why?

Focused Management

Gather services in one portal from different systems and allow end users to manage them in one location will remove the need to find and remember where and how different systems are accessed and managed. The result will help end users be more productive and less frustrated when navigating your company’s IT “tool box”.


Visibility - information

The mere act of showing end users what SaaS, Computers or other type of service they own will answer a lot of questions that might be clouded without the possibility to see these.

“Do I have access to use Adobe Photoshop?”

“What file share permissions do I have?”

“Which mobile device is owned by my team member Joakim?”


Empowerment – Self service

When you add actions to your inventoried services you enable end users to do what they need to do, with as little overhead and red tape as possible.

 

How?

Create Inventory Service

For every type of service that you want to inventory, you need to create the basic Inventory Service. Here is an example that will list all the security groups in AD that starts with the prefix defined by the inventory key you configure on the service, and that is managed by the parentId that will be configured to be the visiting user.

An Inventory Service is required to follow a specific format, and when you create a new Inventory Service you get a code example. We won’t go into detail about the required structure in this article, for any question on this please ask on the community forum and tag me

 

Create a new Inventory Service:

 

My code example of an Inventory Service:

 

function Get-InventoryServiceInstances
{
#############################################
# This function signature cannot be changed.
#############################################
param (
[string]$parentId,
[string[]]$inventoryKeys
)

$UserName = $parentId.Split('\')[1]
$user = Get-ADUser $UserName -Properties *

foreach ($inventoryKey in $inventoryKeys) {

$ADGroups = Get-ADGroup -Filter "(Name -like '$inventoryKey*') -and (ManagedBy -eq '$($user.DistinguishedName)')"

foreach($Adgroup in $ADGroups) {
$inventoriedServiceInstance = New-InventoryServiceInstance -InventoryKey $inventoryKey -Identifier $Adgroup.Name -ServiceName $Adgroup.Name
$inventoriedServiceInstance | Add-InstanceAttribute -Name 'Description' -Value $Adgroup.DistinguishedName
$inventoriedServiceInstance
}
}
}

 

Assign Inventory Service to instantiate

To connect the Service you want to list with the Inventory Service that finds those ownerships we configure the Service Type under the tab “Instantiate” on the Service.

  • Instance Category (optional) – will gather the result in a category folder under “My Services”
  • Inventory Key – a identifying key to be used in the Inventory Service code.
  • Service type
    • Parent – When set to CurrentUser “domain\samaccountname” will be supplied to the code as parentId

 

Example on how to configure Instantiate on a Service:

 

Example of Service type configuration:

 

Actions

For every action you want to enable for service, you create a workflow of the type Edit. This will be available through the “My Services” page for each service instance identified to be owned by the end user.

Create Edit Workflows and attach it to your Inventoried Service:

 

 

The actions will be available under “My Services”:

 

 

 

 

Overview of the AD used in example:

 

 


I hope this article helps! Please comment or tag me if you have any questions!

 

//Oskar Frölin - Snow Software

Outcomes