Иногда необходимо получить список членов очереди. Эта задача может быть легко решена с помощью PowerShelll.
Скрипт для SCSM 2010 (или для SCSM 2012 с установленным SMLets):
param ([string]$QueueDisplayName) import-module SMLets $queueObj = Get-SCSMObject -Class (Get-SCSMClass -Name "System.WorkItemGroup") -Filter "DisplayName = '$QueueDisplayName'" $rel = Get-SCSMRelationshipClass | ?{$_.Source.Class.Name -eq $queueObj.ClassName } Get-SCSMRelatedObject $queueObj -Relationship $rel
Скрипт для “родных” командлетов SCSM 2012:
param([string]$QueueDisplayName) Import-Module 'C:\Program Files\Microsoft System Center\Service Manager 2012\Powershell\System.Center.Service.Manager.psd1' $queueObj = Get-SCSMQueue -DisplayName $QueueDisplayName $rel = Get-SCSMRelationship | ?{$_.Source.Type.Id -eq $queueObj.EnterpriseManagementObject.Id } $queueObj.GetRelatedObjectsWhereSource($rel.Id)
Сохраните скрипт в файл Get-SCSMQueueMembers.ps1, и используйте в PowerShell:
.\Get-SCSMQueueMembers.ps1 "All Critical Incidents"
Цитата: [Иногда необходимо получить список членов очереди. Эта задача может быть легко решена с помощью PowerShelll.]
Вопрос: Можно ли получить тот же список без использования PowerShelll и, если да, то в чём полезность применения PowerShelll?
Вопрос без подколки. Просто хочу понять логику Тревиса и Ко.
Если честно — то не знаю, скорее всего нельзя. Из Powershell это полезно для последующей обработки и для проверки того, что очередь сформирована правильно.