Revise os requisitos de tipo de implantação de aplicativo ConfigMgr usando PowerShell

Você tem um tipo de implantação de aplicativo ConfigMgr com vários requisitos? Você tem que mantê-los documentados? Eu faço. Eles estão constantemente mudando em alguns de nossos aplicativos para garantir que não instalemos um aplicativo em uma máquina que terá um impacto negativo naquele endpoint. No início, eu estava pegando capturas de tela e colando-as em uma página da web, mas isso envelheceu muito rápido.

Lista de requisitos de tipo de implantação de aplicativo - The PowerShell Way

PowerShell é minha ferramenta ideal para praticamente tudo, então levei alguns minutos para encontrar os cmdlets ConfigMgr PowerShell para obter o tipo de implantação de aplicativo e, em seguida, retirei os requisitos.

Se você está apenas procurando o código e um exemplo, aqui está:

$AppName = "Recast - Test-App" $AppDTName = "Recast - Test-App AppDT" $AppDT = Get-CMDeploymentType -ApplicationName $AppName -DeploymentTypeName $AppDTName [XML2TAppDT = Get-CMDeploymentType -ApplicationName $AppName -DeploymentTypeNome $AppDTName [XML2TAppDT Where-Object {$_.title.'#text '-eq $AppDTName} $AppDTXMLType.Requirements.rule.annotation.displayname
Tipo de implantação de aplicativo - exemplo

Como funciona

Agora, se você quiser saber como funciona, podemos fazer a engenharia reversa.

Primeiro, registro o nome do aplicativo e, em seguida, o tipo de implantação nas variáveis. No meu exemplo, o aplicativo é denominado “Recast - Test-App” e o tipo de implantação é denominado “Recast - Test-App AppDT”. Com um único tipo de implantação, você pode realmente simplificar um pouco o código. Eu estava trabalhando com aplicativos com vários tipos de implantação, mas só me preocupava com um deles. Isso pode ser facilmente alterado para gerar os requisitos em todos os tipos de implantação de um aplicativo. Se você está tentando fazer isso e se deparar com um obstáculo, me bata @gwblok e eu vou te dar uma mão, ou atualizar este post.

Depois de saber o nome do aplicativo e o nome do AppDT, você pode extrair esses dados ConfigMgr via PowerShell em uma variável:

$AppDT = Get-CMDeploymentType -ApplicationName $AppName -DeploymentTypeName $AppDTName

Então, o que está em $AppDT? Existem vários métodos (que não vou entrar em detalhes) e propriedades que armazenam os dados. Usar Get-Member e limitá-lo às propriedades fornece uma lista:

Lista de Propriedades

Se você quiser ver os dados por trás disso, basta executar a variável:

Tipo de implantação de aplicativo - Variável

A maioria das informações do Application DT está no XML, incluindo uma tonelada que não queremos, então preciso que o PowerShell extraia apenas a parte que desejo. Para tornar esses dados úteis para o PowerShell, elenco essa propriedade como XML e a coloco em uma variável.

[XML] $AppDTXML = $AppDT.SDMPackageXML
XML

Não parece muito, mas agora podemos começar a nos aprofundar.

Resultado

Cavando

Aprofundando, vemos que há apenas um tipo de implantação no aplicativo. Por algum motivo, se houver mais de um AppDT, ele listará todos eles aqui, mesmo que você tenha informado ao comando qual AppDT usar. É por isso que tenho esta linha para extrair do XML apenas para o AppDT com o qual nos preocupamos:

$AppDTXMLType = $AppDTXML.AppMgmtDigest.DeploymentType | Where-Object {$_.title.'#text '-eq $AppDTName}

Esse código colocará na variável $AppDTXMLType as informações do AppDT do AppDT que correspondem ao nome sobre o qual falamos no início. O resto será descartado. Agora que tenho apenas o AppDT do nosso interesse, podemos nos aprofundar.

Vou mostrar a você cavando camada por camada:

Regras de Requisito

Primeiro, examinarei as Regras de Requisitos. Agora existem vários, então selecionei apenas dois. Isso me dá informações suficientes sobre como cavar mais fundo, mantendo a tela limpa para capturar esta imagem.

Depois disso, eu me aprofundo em Anotação, que me dá Displayname e Descrição, então procuro em Displayname, e isso forneceu as informações que eu queria.

Temos quase 20 requisitos em nosso aplicativo M365 devido a tantos conflitos de compatibilidade. Se atualizássemos o aplicativo, interromperíamos os suplementos instalados atualmente, de modo que os requisitos os impedem de instalar e interromper uma função de negócios importante. Para ver mais sobre como implantei o M365, confira meu M365 blog series.

A partir daqui, posso copiar e colar ou aproveitar outra API para fazer o upload no local correto. Para nós, é Confluence.

Espero que isso também ajude a mostrar como você pode aproveitar o PowerShell para encontrar quase todas as informações sobre um tipo de implantação de aplicativo em ConfigMgr para usar para automação.

Veja como Right Click Tools está mudando a forma como os sistemas são gerenciados.

Aumente imediatamente a produtividade com o nosso limitado e gratuito, Community Edition.

Comece com Right Click Tools hoje:

Compartilhar isso:

Suporte

  • Este campo é para fins de validação e não deve ser alterado.

Contato

  • Este campo é para fins de validação e não deve ser alterado.
pt_BRPortuguese