PowerShell Basics – Contém, -CContains & -NotContains Conditional Operators

Windows PowerShell – Contém

Quando se trata de filtrar, ou encontrar dados que estamos estragados para escolha com -Match, -Like e -Contains. Enquanto há sobreposição, cada operador condicional tem um papel distinto no scripting PowerShell.

-Contém é melhor para procurar um valor exacto. Se eu quiser um comando para retornar True ou False, eu começo com -Contains, enquanto, se eu quiser uma lista de resultados, então eu tento -Match ou -Like.

Tópicos para PowerShell’s -Contém Operador Condicional

  • Exemplo 1: PowerShell -Contém (Básico)
  • Exemplo 2: Procura de um valor numa colecção
  • Exemplo 3: PowerShell – Contém a folha de cálculo
  • Exemplo 4: PowerShell -ContémExemplo 5: PowerShell -Não Contémli>PowerShell -Matchli>PowerShell -Tal como

Exemplo 1a: PowerShell – Contém

PowerShell usa substantivos singulares; assim “contém” é um verbo, e não um substantivo plural. Uma característica do -Contém é que normalmente retorna “Verdadeiro” ou “Falso”. Se você está procurando por um comando para retornar uma lista de valores, então use -Match ou -Like.

# PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flat","Bungalow")$ArraySimple -Contains "Flat"# Result PS> True

Exemplo 1b: PowerShell’s -Contém é Muito Estrito

-Contém pode ser frustrante porque é muito exigente. Depois de um tempo você percebe que este é apenas um recurso de design, se você não gosta, tente -Match.

# PowerShell -Contains OperatorClear-Host$ArraySimple =@("House","Flats","Bungalow")$ArraySimple -Contains "Flat"# Result PS> False

Nota 1: -Contém interpreta “Flats” e “Flat” como diferentes, portanto retorna Falso; não importa que Flat é um subconjunto de Flats.

Challenge: Substitua -Match por -Contains.

Guy Recomenda: Free WMI Monitor for PowerShell (FREE TOOL)

Windows Management Instrumentation (WMI) é um dos tesouros escondidos dos sistemas operacionais da Microsoft. Felizmente, SolarWinds criou um Monitor WMI gratuito para PowerShell para que você possa descobrir essas preciosidades de informação de desempenho, e assim melhorar seus scripts PowerShell.

Tirar as adivinhas de quais contadores WMI usar ao scriptar o sistema operacional, Active Directory, ou Exchange Server. Experimente este monitor WMI – é grátis.

SolarWinds WMI Monitor Download Ferramenta 100% Grátis

Exemplo 2: Buscando um valor em uma coleção

-Contém seria minha escolha de operadores condicionais para situações onde eu quisesse testar para um item em particular em uma coleção, array ou hashtable.

# PowerShell -Contains$Collection = "Peter Smith", "Paula Harris", "Joan Evans"$Collection -Contains "Paula"# Result PS> False

Nota 2: Se você codificasse: $Collection – Contém “Paula Harris”
O resultado seria: É verdade. Você precisa de uma correspondência exata do item completo.

Exemplo 3: PowerShell – Contém Planilha

Deixe-nos assumir que desejamos pesquisar em um arquivo chamado links.csv. Além disso, podemos usar Import-Csv para ler os dados para que possamos testar valores com -Contains.

Preparation
A minha planilha chama-se links.csv
Armazenei o arquivo em D:\PowerShell
O nome da coluna é “Custom channel”
Ver screenshot à direita.

Guy Recommends: Network Performance Monitor (FREE TRIAL)

SolarWinds Network Performance Monitor (NPM) irá ajudá-lo a descobrir o que está acontecendo na sua rede. Este utilitário também o guiará na resolução de problemas; o painel de controle indicará se a causa raiz é um link quebrado, equipamento defeituoso ou sobrecarga de recursos.

O que eu mais gosto é a forma como o NPM sugere soluções para problemas de rede. Ele também tem a capacidade de monitorar a saúde de máquinas virtuais VMware individuais. Se você está interessado em solucionar problemas e criar mapas de rede, então eu recomendo que você tente o NPM em uma avaliação gratuita por 30 dias.

SolarWinds Network Performance Monitor Download 30-day FREE Trial

Exemplo 4: PowerShell -CContains

Como com os outros operadores condicionais do PowerShell, você pode forçá-los a serem sensíveis a maiúsculas e minúsculas precedendo o comando com um ‘C’; CContains não é um erro de digitação!

Nota 4: O ponto é que na planilha o valor é claramente ‘LinkTop’, quando forçamos a sensibilidade a maiúsculas/minúsculas com CContains, isto não é o mesmo que ‘linktop’, daí um falso resultado.

Exemplo 5: PowerShell -NotContains

O negativo -NotContains não é tão útil como -NotMatch. No entanto, pelo que já aprendemos a sintaxe é previsível.

Nota 5: Lembre-se que com -Contains, e por extensão -NotContains, a correspondência tem de ser exacta. Não há ‘Custom channel’ com o nome de precisamente ‘link’.

Ver mais no PowerShell’s -Like comparações “

Guy Recomenda: Conjunto de Ferramentas do Engenheiro SolarWinds (FREE TRIAL)

Este conjunto de ferramentas do Engenheiro fornece um console abrangente de 50 utilitários para solução de problemas no computador. Guy diz que ele me ajuda a monitorar o que está ocorrendo na rede, e cada ferramenta me ensina mais sobre como o sistema subjacente funciona.

Existem tantos bons gadgets; é como ter rédea solta de uma loja de doces. Felizmente, os utilitários são exibidos logicamente: monitoramento, descoberta da rede, diagnóstico e ferramentas Cisco. Experimente o SolarWinds Engineer’s Toolset em um teste gratuito por 14 dias agora!

Div>Toolset do Engenheiro SolarWinds Download 14 dias de teste grátis

Sobre_Operadores

# For even more information about PowerShell Operators try:Get-Help about_Operators

Aqui está a Lista dos Tipos de Operadores do PowerShell

Veja também os PowerShell’s -Match “

Summary of PowerShell’s -Contem Operador Condicional

Quando você procura um valor exato, então -Contém seria a minha primeira escolha de operador condicional. -Match ou -Like são mais adequados para cenários onde você só precisa de uma correspondência parcial, ou você precisa de uma lista de itens.

Veja mais exemplos de controle de fluxo do Windows PowerShell

– PowerShell Home – PowerShell If Statement – PowerShell ElseIf – Free Permissions Analyzer

– Operadores Condicionais – PowerShell -Match – PowerShell -Like – PowerShell -Contém

– Operadores de Comparação PowerShell – PowerShell Syntax – Where Filter – PowerShell Else

Por favor envie-me um e-mail se você tiver um script de exemplo melhor. Também por favor reporte quaisquer erros factuais, erros gramaticais ou links quebrados, eu ficarei feliz em corrigir a falha.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *