Vamos organizá-los de uma maneira melhor usando “Pastas” no ConfigMgr 2012.

Nó de Aplicações:

As pastas são usadas para organizar melhor os objetos e ele pode ter objetos de um único tipo. Nós vamos chegar a apreciar isso quando vemos o resultado final.

Como criar pastas?
Bem, existem algumas maneiras que eu conheço:
Manual através do ConfigMgr Console
Usando o PowerShell CMSite PSProvider (exposto através do módulo ConfigMgr)
Usando WMI

Maneira Manual:
Gostaria de organizar os aplicativos baseados no fornecedor, para que as aplicações do mesmo fornecedor sejam fáceis de localizar. Para Ex: Quest AD Snapin cairá sob “Quest” 7-zip vai cair em “OpenSource”, etc

Então, vá para o nó Aplicativos no console e clique com o botão direito do mouse para obter uma opção para criar a pasta. Dê-lhe o nome ” Quest ”

Dê o nome “Quest” ea pasta é criada

Agora eu estava tentado a arrastar e soltar o aplicativo para a pasta, mas que não é suportado a partir de agora (eu me pergunto por que não). Então, vá para o aplicativo e clique com o botão direito do mouse em Mover e selecione a pasta onde deseja mover o aplicativo.

Selecione o local da pasta

Feito!

Observe que, uma vez que você move o aplicativo, ele não aparecerá no nó raiz, mas em vez disso, sob a pasta que você moveu.

Usando o PowerShell CMSite PSProvider
Quando você clica em “Conectar via Windows PowerShell” no Console do ConfigMgr, então você recebe um Console do PowerShell. Por padrão, você é colocado dentro do local do CMSite (o mesmo que o sitecode). É necessário executar os cmdlets enviados somente com o Módulo PowerShell a partir deste local. Tente fazer um “ls” ou Get-ChildItem lá, você veria algo familiar.

Uma vez que você é colocado no Console PowerShell você pode percorrer o provedor CMSite usando o mesmo cmdlet que você teria usado para gerenciar o sistema de arquivos, registro etc Observe que algumas das funcionalidades podem não ser fornecidas pelo provedor CMSite .. por exemplo. Fazer um Get-ChildItem -Recurse

Estávamos falando sobre a criação de pastas, certo.
Então, mova-se no nó Aplicativos usando Set-Location DEX: \ Application ou cd. \ Application.

Agora podemos criar pastas aqui da mesma forma que estamos acostumados a usar o novo item ou alias Mkdir

Acima criou uma pasta chamada “OpenSource” onde o aplicativo 7-zip será movido.

Para mover um aplicativo para a pasta que acabamos de criar temos um cmdlet chamado Move-CMObject, ele leva o FolderPath e ObjectID ou InputObject como um parâmetro … é direto se você passar pela ajuda para ele.

Vamos movê-lo, em seguida, usando o seguinte:

$ 7zipApplication = Get-CMApplication -Name “7-zip”
Move-CMObject -FolderPath. \ OpenSource -InputObject $ 7zipApplication -Verbose

Consulte a alteração no console:

Observação: somente pastas aparecem quando você faz um Get-ChildItem.

Você canta WMI
Usando o WMI para fazer esta operação pode ser um candidato perfeito quando você não quer depender do Console ConfigMgr ou do Módulo PowerShell fornecido com ele. Isso pode ser feito a partir de qualquer máquina com o PowerShell instalado nele.

Eu sempre uso $ PSDefaultparameters em meus empreendimentos de Exploração WMI como ele reduz passando Comuptername e namespace novamente e novamente:

$ PSDefaultParameterValues = “get-cimclass: namespace” = “Root \ SMS \ site_DEX”; “get-cimclass: computername” = “DexSCCM”; “get-cimInstance: computername” = “DexSCCM”; “get-ciminstance: Namespace “=” Root \ SMS \ site_DEX “;” get-wmiobject: namespace “=” Root \ SMS \ site_DEX “;” get-WMIObject: computername “=” DexSCCM “}

Primeiro precisamos obter a classe, algo me diz que tem algo a ver com o nome container no classname;)
PS> Get-CimClass -ClassName * container *

O SMS_ObjectContainerNode se parece com esse, Agora, se você ir para o documentaion MSDN e procurar os valores possíveis para Objecttype você virá a saber que todas as coisas que um objeto pode conter que por sua vez diz que todas as pastas lugares podem ser usados para organizar o material

PS> Get-CimInstance -ClassName SMS_ObjectContainerNode

Observação para as pastas / contêineres que criamos para conter aplicativos a documentação do MSDN não está atualizada. O tipo de objeto para este tipo de pastas é o valor 6000

Estas são as primeiras 2 pastas criadas no meu ambiente. Poderia ter filtrado com base no ObjectType também.

Agora leia a documentação e tente criar a nova instância dessa classe usando o cmdlet New-CIMInstance
$ POSHFolder = New-CimInstance -ClassName SMS_ObjectContainerNode -Property @ {Name = “PowerShell”; ObjectType = 6000; ParentContainerNodeid = 0; SourceSite = “DEX”} -Namespace root / sms / site_DEX -ComputerName DexSCCM -Verbose

Nota – ObjectType = 6000 diz-lhe que é uma pasta que irá conter as aplicações, ParentContainerNodeId = 0 diz-lhe para criar esta pasta sob a raiz (para aplicações) pode especificar outro ID de contentor para criar pastas aninhadas. Armazenado em uma Pasta como precisaremos mais tarde.

Folder / Container é criado, Agora é hora de mover o aplicativo pelo nome “PowerShell Community Extensions” sob ele.

Sim, eu sei que podemos usar o Move-CMObject agora, uma vez que a pasta é criada …. Mas estamos fazendo isso WMI maneira lembrar.

No Screenshot acima onde nós procurávamos classes de WMI com o recipiente da corda neles …. você pode ver uma classe pelo nome SMS_ObjectContainerItem , esta classe é nossa pista porque tem 2 métodos pelo nome MoveMembers & MoveMembersEx . Agora, se você for para a documentação MSDN não é atualizada e para ambos mostra a mesma definição do MOF. Mas nós temos uma outra ferramenta que senta-se para a direita na frente de nós ….. qualquer suposição em o que é ???

PowerShell;)

Get-CimClass -ClassName SMS_ObjectContainerItem | Select -ExpandProperty CimClassMethods | Formato-Lista
Isto irá mostrar o abaixo:

Conforme mencionado na Captura de tela, o qualificador para o método estático MoveMembers na classe sugere sua deprecação .

Vamos seguir em frente e usar o método MoveMembersEx e tomar nota dos parâmetros que são obrigados a passar para este método – InstanceKeys, ContainerNodeId, Target ContainerNodeId, ObjectTypeName

Mas vamos dar uma olhada no antes Captura de tela do console ConfigMgr:

A Applicaiton PSCX aparece sob a Raiz de Aplicativos ea pasta que o PowerShell criado está vazia.

Depois de invocar o método MoveMembersEx na classe em abaixo forma:

$ Application = Get-CMApplication -Name “Extensões da Comunidade PowerShell”
Invoke-CimMethod -ClassName SMS_ObjectContainerItem -MethodName MoveMembersEx -Arguments @ {InstanceKeys = [string []] $ Application.ModelName; ContainerNodeID = [System.UInt32] 0; TargetContainerNodeID = [System.UInt32] ($ POSHFolder.ContainerNodeID); ObjectTypeName = “SMS_ApplicationLatest”} -Namespace root / sms / site_DEX -ComputerName DexSCCM -Verbose

Nota: Nos itens acima, os valores das chaves de instância e do nome do objeto serão alterados dependendo do tipo de pasta de objetos que pode conter.

O acima deve retornar um valor 0 indicando sucesso, se não, então continue tentando e lançar os argumentos passados para que ele tenha êxito …. Eu fiz desta maneira;)
Agora vamos voltar para a Consola ConfigMgr Actualizar a vista e ver as alterações:

Agora, a coisa importante a observar aqui é que podemos criar pastas em vários locais no console, mas uma pasta pode conter objetos de um tipo específico apenas.

Para Ex no caso acima, criamos pastas em Aplicativos e elas só podem conter Aplicações dentro delas. Da mesma forma, podemos organizar coleções, seqüências de tarefas, etc.

As pastas são uma ótima maneira de organizar as coisas no ConfigMgr 2012, então vá em frente e experimente a rota Fun de criar essas usando o PowerShell.

É isso para este post.
Até o próximo post.

Anúncios