WMIC (Windows Management Instrumentation Command-Line) é uma ferramenta poderosa que muitas vezes não vê muita utilidade, devido à falta de (facilmente acessível) documentação disponível. Mais informações podem ser encontradas no WMIC aqui: http://technet.microsoft.com/en-us/library/bb742610.aspx . Alguns switches grande e as opções alternativas podem ser encontradas Nós estaremos usando WMIC com credenciais de administrador de domínio para rastejar através de uma lista de nós (PCs / Laptops) e desinstalar um programa de exemplo, sem interromper o usuários.
1 . | Carregar um shell de comando com permissões de acesso apropriadas
Apesar de uma instrução pode ser dada WMIC credenciais adequadas antes da operação, é tipicamente de melhores práticas para evitar texto claro digitando a senha (que é que olhando sobre seu ombro;)). Vamos executar o comando runas com o seguinte:
Runas / user: DOMAIN DomainAdminAccount @ cmd
... Que vai levar-nos para as credenciais de nosso DomainAdminAccount. Se forem verdadeiras, vamos ser entregue um shell de comando executando como administrador.
| |
---|---|---|
2 . | Etapa em WMIC
Um dos recursos mais interessantes do WMIC é que ele pode ser executado a partir de qualquer máquina. Com o nosso shell de comando admin, vamos digitar o comando wmic seguido de Enter. (Nota: Poderíamos ter saltou para WMIC diretamente o comando runas ... isso só rompe os passos)
| |
3 . | Verificar a instalação do Programa (etapa opcional informativo)
Com nosso prompt WMIC, podemos fazer muitas perguntas de um nó (ou nós) e receber algumas respostas bem formatado. Embora a formatação das respostas está além do escopo deste "How To", muito mais informação pode ser encontrada na internet.
Então, vamos descobrir se um determinado nó tem mesmo o nosso software alvo (Spiceworks tenta lista esta informação na sua análise de software)
> Node /: produto COMPUTERNAME obter o nome, a versão do vendedor,
Este comando pede WMI para responder com uma lista, incluindo o nome, versão, e Vendedor de todas as instalações de software compatível.
Se você gostaria de filtro para um produto específico, poderá fazê-lo. Aqui está um exemplo de uma máquina de digitalização em rede para todas as aplicações instaladas do fornecedor "A Apple, Inc"
> / Node: produto ANOTHEREXAMPLE onde vendor = "Apple Inc." obter fornecedor nome,
(* Nota do Anders4221:
Uma pequena dica, se você tiver caracteres especiais como '-' ou '/' no nome do computador você precisa usar 'caracteres, a fim de obter informações do cliente)
(** Nota da Joe3034:
Aqui está como você usar curingas em sua busca:
Coloque a frase como em aspas e os critérios de pesquisa entre aspas simples, e usar% como o símbolo curinga.
por exemplo:
/ node: produto ComputerXYZ onde "fornecedor como 'adobe%'" get nome, versão, identifyingNumber) | |
4 . | Chamada para a desinstalação
Assim, podemos fazer uma chamada para a interface WMI para desinstalar um determinado produto ... vamos pegar no painel de controle do MobileMe do nosso exemplo anterior. O comando:
> Node /: produto EXEMPLO onde name = "MobileMe Control Panel" chamada desinstalar
... pedirá confirmação no formato (longo) a seguir:
Executar Painel de controle ", versão =" 2.1.0.24 ") -> Desinstalar () (Y / N /)?
.. para o qual você deve responder 'y' se você deseja desinstalar. WMI software compatível irá executar os procedimentos uninstalation padrão sem o usuário precisar fazer nada (eles não recebem avisos etc).
** Note que você também pode usar o
sinalizador / nointeractive como / node: produto EXEMPLO onde name = "MobileMe Control Panel" desinstalar call / nointeractive para evitar o pedido de confirmação! -thx Bart2691 | |
5 . | Desinstalar chamada para uma lista de máquinas (uma etapa opcional informativo)
Vamos supor que você acabou de palavra que o Adobe Reader tem uma falha grave em sua versão antiga. Em pânico, você pediu a todos os usuários cegamente instalar a nova versão do Adobe Reader diretamente do site da Adobe. Felizmente, todos eles conseguiram fazê-lo ... no entanto você recebeu três bilhetes até agora sobre um ícone na área de trabalho Acrobat.com.
Você tem um arquivo de texto simples de todos os nomes do seu computador armazenado em c: \ computers.txt. Você pop abrir um shell WMIC com as permissões apropriadas e digite o seguinte comando:
> / Failfast: on / node: @ "c: \ computers.txt" produto onde name = "Acrobat.com" desinstalar call / nointeractive
Que itera através de sua lista, pulando nós que são inválidos (por exemplo: máquina é desligada) e aqueles que não cumprem os critérios. Você precisa confirmar 'y' que você deseja desinstalar em cada nó a menos que você use a bandeira nointeractive.
* Atualizado Nota da Bart2691
... uma maneira fácil de automatizar responder 'Sim'. Exemplos para fazê-lo pelo PC ou um arquivo de texto é usar o sinalizador / nointeractive. Além disso, se você não quiser cair em nós falhou, use o failfast /: na bandeira rapidamente pular um nó que não está respondendo.
** Nota de true911 (não confirmado)
A bandeira correta é failfast: on, não fastfail: em
wmic / failfast: on / node: @ produto "NomedoArquivo.txt" onde "nome como" Microsoft Office Professional Edition 2003 '"call uninstall / nointeractive
|
Conclusão
Espero que você tenha ficado intrigado com a potência de WMIC. Embora o uso de linha de comando da chamada de desinstalação não pode ser comumente necessários com ferramentas de software de gestão, AD, etc .. às vezes pode ser a melhor maneira de realizar uma tarefa rapidamente, sem perturbar o seu usuário (s).
Vamos esperar Spiceworks leva sua implementação WMI um passo adiante em futuras versões e automatiza isso por nós;)
Sem comentários:
Enviar um comentário