Como o SCSM relaciona usuários afetados a solicitações de serviço?

1

Estou usando os cmdlets SCSM internos e o módulo powershell do SMlets. Consigo consultar Solicitações de Serviço, mas não consigo descobrir como obter o Usuário Afetado de uma determinada Solicitação de Serviço. Estou recebendo solicitações de serviço da seguinte maneira:

Import-Module SMlets -ErrorAction Stop

$SCSMclassSR = Get-SCSMClass -Name System.WorkItem.ServiceRequest
$SCSMobject = Get-SCSMObject -Class $SCSMclassSR

Se você selecionar um determinado ticket e executar um Get-Member , poderá visualizar a lista de propriedades. Nenhum dos quais está mapeando de volta para o Usuário afetado. Pensando que talvez os dados do ticket tenham sido salvos com o objeto do usuário, eu executei o seguinte código:

$scsmuser = Get-SCSMObject -Class (get-scsmclass -name microsoft.ad.user) -filter "UserName -like <username>"

Nenhuma das propriedades parece estar mapeada para nenhum ticket (execute um gm nela também). Concedido, isso poderia ser ignorância da minha parte e o método para produzir os tickets simplesmente não é adequadamente nomeado ou descrito.

Eu tentei examinar o código-fonte do SMlets para obter algumas informações , mas eu não sou um desenvolvedor de C #, então algumas coisas passam por cima da minha cabeça. Eu também tentei entender e ajudar a partir da página do msdn para Classe EnterpriseManagementObject , mas sem sucesso.

Espero que haja uma solução realmente simples para isso e estou pensando demais nisso. Mas, como você obtém o Usuário Afetado para um tíquete do SCSM usando o powershell? De preferência, um tíquete de solicitação de serviço.

    
por Colyn1337 16.02.2015 / 22:52

1 resposta

2

Continuei pesquisando e encontrei um script on-line em que alguém queria encontrar endereços de e-mail de usuário para incidentes. Eu imaginei que eles teriam que encontrar o usuário primeiro (o que me daria o AffectedUser), e eu estava certo. Aqui está a solução:

$SCSMclassSR = Get-SCSMClass -Name System.WorkItem.ServiceRequest
$SCSMobject = Get-SCSMObject -Class $SCSMclassSR

$affectedUserRelClass = Get-SCSMRelationshipClass System.WorkItemAffectedUser$

Foreach($SR in $SCSMobject){
        $affectedUser = Get-SCSMRelatedObject -SMObject $SR -Relationship $AffectedUserRelClass
        Add-Member -InputObject $SR -Name AffectedUser -Value $affectedUser.UserName -MemberType NoteProperty
}
    
por 16.02.2015 / 23:51