Partilhar via


4. Tipos

Nota editorial

Importante

A Especificação da Linguagem PowerShell Windows 3.0 foi publicada em dezembro de 2012 e baseia-se no Windows PowerShell 3.0. Esta especificação não reflete o estado atual do PowerShell. Não há nenhum plano para atualizar esta documentação para refletir o estado atual. Esta documentação é apresentada aqui para referência histórica.

O documento de especificação está disponível como documento Microsoft Word no Centro de Transferências da Microsoft em: https://www.microsoft.com/download/details.aspx?id=36389 Esse documento Word foi convertido para apresentação aqui no Microsoft Learn. Durante a conversão, algumas alterações editoriais foram feitas para acomodar a formatação da plataforma do Documentos. Alguns erros de digitação e pequenos erros foram corrigidos.

No PowerShell, cada valor tem um tipo e os tipos se enquadram em uma das duas categorias principais: tipos de valor e tipos de referência. Considere o tipo int, que é típico dos tipos de valor. Um valor do tipo int é completamente independente; Todos os bits necessários para representar esse valor são armazenados nesse valor, e cada padrão de bit nesse valor representa um valor válido para seu tipo. Agora, considere o tipo de matriz int[], que é típico de tipos de referência. Um chamado valor de um tipo de matriz pode conter uma referência a um objeto que realmente contém os elementos da matriz ou o referência nula cujo valor é $null. A importante distinção entre as duas categorias de tipo é melhor demonstrada pelas diferenças semânticas durante a atribuição. Por exemplo

$i = 100 # $i designates an int value 100
$j = $i # $j designates an int value 100, which is a copy

$a = 10,20,30 # $a designates an object[], Length 3, value 10,20,30
$b = $a # $b designates exactly the same array as does $a, not a copy
$a[1] = 50 # element 1 (which has a value type) is changed from 20 to 50
$b[1] # $b refers to the same array as $a, so $b[1] is 50

Como podemos ver, a atribuição de um valor de tipo de referência envolve uma cópia superficial; ou seja, uma cópia da referência ao objeto em vez do seu valor real. Em contraste, uma cópia profunda requer fazer uma cópia do objeto também.

Um tipo de numérico é aquele que permite a representação de valores inteiros ou fracionários e que suporta operações aritméticas nesses valores. O conjunto de tipos numéricos inclui os tipos inteiro (§4.2.3) e número real (§4.2.4), mas não inclui bool (§4.2.1) ou char (§4.2.2). Uma implementação pode fornecer outros tipos numéricos (como byte assinado, inteiro não assinado e inteiros de outros tamanhos).

Um de coleção é um grupo de um ou mais itens relacionados, que não precisam ter o mesmo tipo. Exemplos de tipos de coleção são matrizes, pilhas, filas, listas e tabelas de hash. Um programa pode enumerar (ou iterar) sobre os elementos em uma coleção, obtendo acesso a cada elemento um de cada vez. Maneiras comuns de fazer isso são com a foreach instrução (§8.4.4) e o cmdlet ForEach-Object . O tipo de um objeto que representa um enumerador é descrito em §4.5.16.

Neste capítulo, há tabelas que listam os membros acessíveis para um determinado tipo. Para métodos, o Type é escrito com o seguinte formulário: returnType/argumentTypeList. Se a lista de tipos de argumento for muito longa para caber nessa coluna, ela será mostrada na coluna Finalidade.

Outros tipos inteiros são SByte, Int16, UInt16, UInt32e UInt64, todos no namespace System.

Muitas classes de coleção são definidas como parte do System.Collections ou System.Collections.Generic namespaces. A maioria das classes de coleção implementa as interfaces ICollection, IComparer, IEnumerable, IList, IDictionarye IDictionaryEnumerator e seus equivalentes genéricos.

Você também pode usar nomes abreviados para alguns tipos. Para obter mais informações, consulte about_Type_Accelerators.

4.1 Tipos especiais

4.1.1 O tipo de vazio

Este tipo não pode ser instanciado. Ele fornece um meio de descartar um valor explicitamente usando o operador de molde (§7.2.9).

4.1.2 O tipo nulo

O tipo nulo tem uma instância, a variável automática $null (§2.3.2.2), também conhecida como valor nulo. Este valor fornece um meio para expressar o "nada" em contextos de referência. As características deste tipo não são especificadas.

4.1.3 O tipo de objeto

Todos os tipos no PowerShell, exceto o tipo nulo (§4.1.2) são derivados direta ou indiretamente do objeto type, portanto, o objeto é o tipo base final de todos os tipos não nulos. Uma variável restrita (§5.3) ao objeto de tipo não é realmente restringida, pois pode conter um valor de qualquer tipo.

4.2 Tipos de valores

4.2.1 Booleano

O tipo booleano é bool. Existem apenas dois valores deste tipo, False e True, representados pelas variáveis automáticas $false e $true, respectivamente (§2.3.2.2).

No PowerShell, bool mapeia para System.Boolean.

4.2.2 Caráter

Um valor de caractere possui o tipo "char", que é capaz de armazenar qualquer ponto de código Unicode de 16 bits codificado em UTF-16.

O tipo char tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Valor Máximo Propriedade estática (somente leitura) char O maior valor possível do tipo char
Valor Mínimo Propriedade estática (somente leitura) char O menor valor possível do tipo char
IsControl Método estático bool/char Testa se o caractere é um caractere de controle
IsDigit Método estático bool/char Testa se o caractere é um dígito decimal
IsLetter Método estático bool/char Testa se o caractere é uma letra alfabética
IsLetterOrDigit Método estático bool/char Testa se o caractere é um dígito decimal ou letra alfabética
IsLower Método estático bool/char Testa se o caractere é uma letra alfabética minúscula
IsPontuação Método estático bool/char Testa se o caractere é um sinal de pontuação
IsUpper Método estático bool/char Testa se o caractere é uma letra alfabética maiúscula
IsWhiteSpace Método estático bool/char Testa se o caractere é um caractere de espaço em branco.
ToLower Método estático char/string Converte o caractere em minúsculas
ToUpper Método estático char/string Converte o caractere em maiúsculas

PowerShell do Windows: mapeamento de caracteres para System.Char.

4.2.3 Inteiro

Há dois tipos de inteiros assinados, ambos usam representação de complemento de dois para valores negativos:

  • Tipo int, que usa 32 bits dando-lhe um intervalo de -2147483648 a +2147483647, inclusive.
  • Tipo long, que usa 64 bits, proporcionando-lhe um intervalo que vai de -9223372036854775808 a +9223372036854775807, inclusive.

Type int tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Valor Máximo Propriedade estática (somente leitura) Int O maior valor possível do tipo int
Valor Mínimo Propriedade estática (somente leitura) Int O menor valor possível do tipo int

O tipo long tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Valor Máximo Propriedade estática (somente leitura) Longo O maior valor possível do tipo long
Valor Mínimo Propriedade estática (somente leitura) Longo O menor valor possível do tipo long

Há um tipo de inteiro não assinado:

  • Tipo byte, que usa 8 bits dando-lhe um intervalo de 0 a 255, inclusive.

O tipo byte tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Valor Máximo Propriedade estática (somente leitura) byte O maior valor possível do tipo byte
Valor Mínimo Propriedade estática (somente leitura) byte O menor valor possível do tipo byte

No PowerShell, byte, inte long mapeiam para System.Byte, System.Int32e System.Int64, respectivamente.

4.2.4 Número real

4.2.4.1 flutuador e duplo

Existem dois tipos reais (ou de ponto flutuante):

  • O tipo float usa a representação de precisão única IEEE de 32 bits.
  • O tipo double usa a representação de precisão dupla IEEE de 64 bits.

Um terceiro nome de tipo, single, é sinônimo de tipo float; float é usado em toda esta especificação.

Embora o tamanho e a representação dos tipos float e double sejam definidos por esta especificação, uma implementação pode usar precisão estendida para resultados intermediários.

O tipo float tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Valor Máximo Propriedade estática (somente leitura) float O maior valor possível do tipo float
Valor Mínimo Propriedade estática (somente leitura) float O menor valor possível de ponto flutuante
NaN Propriedade estática (somente leitura) float O valor constante Not-a-Number
NegativoInfinito Propriedade estática (somente leitura) float O valor constante infinito negativo
PositiveInfinity Propriedade estática (somente leitura) float O valor constante infinito positivo

O tipo double tem os seguintes membros disponíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Valor Máximo Propriedade estática (somente leitura) duplo O maior valor possível do tipo double
Valor Mínimo Propriedade estática (somente leitura) duplo O menor valor possível do tipo duplo
NaN Propriedade estática (somente leitura) duplo O valor constante Not-a-Number
NegativoInfinito Propriedade estática (somente leitura) duplo O valor constante infinito negativo
PositiveInfinity Propriedade estática (somente leitura) duplo O valor constante infinito positivo

No PowerShell, float e double correspondem a System.Single e System.Double, respectivamente.

4.2.4.2 Decimal

O tipo decimal usa uma representação de 128 bits. No mínimo, deve suportar uma escala s tal que 0 <= s<= pelo menos 28, e um intervalo de valores -79228162514264337593543950335 a 79228162514264337593543950335. A representação real do decimal é definida pela implementação.

O tipo decimal tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Valor Máximo Propriedade estática (somente leitura) decimal O maior valor possível do tipo decimal
Valor Mínimo Propriedade estática (somente leitura) decimal O menor valor possível do tipo decimal

Observação

Os números reais decimais têm uma característica chamada escala , que representa o número de dígitos à direita da vírgula decimal. Por exemplo, o valor 2.340 tem uma escala de 3 em que os zeros à direita são significativos. Quando dois números reais decimais são adicionados ou subtraídos, a escala do resultado é a maior das duas escalas. Por exemplo, 1.0 + 2.000 é 3.000, enquanto 5.0 - 2.00 é 3.00. Quando dois números reais decimais são multiplicados, a escala do resultado é a soma das duas escalas. Por exemplo, 1,0 * 2,000 é 2,0000. Quando dois números reais decimais são divididos, a escala do resultado é a escala do primeiro menos a escala do segundo. Por exemplo, 4,00000/2,000 é 2,00. No entanto, uma escala não pode ser inferior à necessária para preservar o resultado correto. Por exemplo, 3.000/2.000, 3.00/2.000, 3.0/2.000 e 3/2 são todos 1.5.

No PowerShell, decimal mapeia para System.Decimal. A representação decimal é a seguinte:

  • Quando considerado como uma matriz de quatro valores int, contém os seguintes elementos:
    • O índice 0 (bits 0-31) contém os 32 bits de ordem baixa do coeficiente decimal.
    • O índice 1 (bits 32-63) contém os 32 bits médios do coeficiente decimal.
    • O índice 2 (bits 64-95) contém os 32 bits de ordem alta do coeficiente decimal.
    • O índice 3 (bits 96-127) contém o bit e a escala do sinal, da seguinte forma:
      • bits 0--15 são iguais a zero
      • bits 16-23 contém a escala como um valor 0--28
      • bits 24-30 são zero
      • bit 31 é o sinal (0 para positivo, 1 para negativo)

4.2.5 O tipo de interruptor

Este tipo é usado para restringir o tipo de parâmetro em um comando (§8.10.5). Se um argumento com o nome correspondente do parâmetro estiver presente, o parâmetro é testado como verdadeiro; caso contrário, é testado como $false.

No PowerShell, switch mapeia para System.Management.Automation.SwitchParameter.

4.2.6 Tipos de enumeração

Um tipo de enumeração é aquele que define um conjunto de constantes nomeadas que representam todos os valores possíveis que podem ser atribuídos a um objeto desse tipo de enumeração. Em alguns casos, o conjunto de valores é tal que apenas um valor pode ser representado de cada vez. Em outros casos, o conjunto de valores são potências distintas de dois e, usando o operador -bor (§7.8.5), vários valores podem ser codificados no mesmo objeto.

O ambiente do PowerShell fornece vários tipos de enumeração, conforme descrito nas seções a seguir.

4.2.6.1 Tipo Action-Preference

Este tipo definido pela implementação tem os seguintes membros acessíveis com valor mutuamente exclusivo:

Estado-Membro Tipo de Membro Finalidade
Continuar Constante de enumeração O tempo de execução do PowerShell continuará processando e notificará o usuário de que uma ação ocorreu.
Pergunte Constante de enumeração O tempo de execução do PowerShell interromperá o processamento e perguntará ao usuário como ele deve proceder.
SilenciosamenteContinue Constante de enumeração O tempo de execução do PowerShell continuará processando sem notificar o usuário de que uma ação ocorreu.
Parar Constante de enumeração O tempo de execução do PowerShell interromperá o processamento quando ocorrer uma ação.

No PowerShell, esse tipo é System.Management.Automation.ActionPreference.

4.2.6.2 Tipo Confirm-Impact

Este tipo definido pela implementação tem os seguintes membros acessíveis com valor mutuamente exclusivo:

Estado-Membro Tipo de Membro Finalidade
Alto Constante de enumeração A ação executada tem um alto risco de perda de dados, como a reformatação de um disco rígido.
Baixo Constante de enumeração A ação realizada tem um baixo risco de perda de dados.
Média Constante de enumeração A ação realizada tem um risco médio de perda de dados.
Nenhum Constante de enumeração Não confirme nenhuma ação (suprimir todos os pedidos de confirmação).

No PowerShell, esse tipo é System.Management.Automation.ConfirmImpact.

4.2.6.3 Tipo File-Attributes

Este tipo definido pela implementação tem os seguintes membros acessíveis, que podem ser combinados:

Estado-Membro Tipo de Membro Finalidade
Arquivo Constante de enumeração O estado de arquivamento do ficheiro. Os aplicativos usam esse atributo para marcar arquivos para backup ou remoção.
Comprimido Constante de enumeração O ficheiro está comprimido.
Dispositivo Reservado para uso futuro.
Diretório Constante de enumeração O arquivo é um diretório.
Criptografado Constante de enumeração O ficheiro ou diretório está encriptado. Para um ficheiro, isto significa que todos os dados no ficheiro estão encriptados. Para um diretório, isso significa que a criptografia é o padrão para arquivos e diretórios recém-criados.
Escondido Constante de enumeração O arquivo está oculto e, portanto, não está incluído em uma listagem de diretório comum.
Normal Constante de enumeração O arquivo é normal e não tem outros atributos definidos. Este atributo só é válido se usado sozinho.
Não Indexado para Conteúdo Constante de enumeração O arquivo não será indexado pelo serviço de indexação de conteúdo do sistema operacional.
Offline Constante de enumeração O ficheiro está offline. Os dados do ficheiro não estão imediatamente disponíveis.
Somente leitura Constante de enumeração O arquivo é apenas para leitura.
ReparsePoint Constante de enumeração O ficheiro contém um ponto de reanálise, que é um bloco de dados definidos pelo utilizador associados a um ficheiro ou diretório.
SparseFile Constante de enumeração O arquivo é um arquivo esparso. Arquivos esparsos são normalmente arquivos grandes cujos dados são principalmente zeros.
Sistema Constante de enumeração O ficheiro é um ficheiro de sistema. O arquivo faz parte do sistema operacional ou é usado exclusivamente pelo sistema operacional.
Temporário Constante de enumeração O ficheiro é temporário. Os sistemas de arquivos tentam manter todos os dados na memória para acesso mais rápido, em vez de liberar os dados de volta para o armazenamento em massa. Um ficheiro temporário deve ser eliminado pela aplicação assim que deixar de ser necessário.

No PowerShell, esse tipo é System.IO.FileAttributes com o atributo FlagsAttribute.

4.2.6.4 Tipo deExpression-Option regular

Este tipo definido pela implementação tem os seguintes membros acessíveis, que podem ser combinados:

Estado-Membro Tipo de Membro Finalidade
IgnorarCaso Constante de enumeração Especifica que a correspondência não diferencia maiúsculas de minúsculas.
Nenhum Constante de enumeração Especifica que nenhuma opção está definida.

Uma implementação pode fornecer outros valores.

No PowerShell, esse tipo é System.Text.RegularExpressions.RegexOptions com atributo FlagsAttribute. Os seguintes valores extras são definidos: Compiled, CultureInvariant, ECMAScript, ExplicitCapture, IgnorePatternWhitespace, Multiline, RightToLeft, Singleline.

4.3 Tipos de referência

4.3.1 Cordas

Um valor do tipo string é uma sequência imutável de zero ou mais caracteres do tipo char, cada um contendo um ponto de código Unicode de 16 bits codificado em UTF-16.

O tipo String tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Comprimento Propriedade da instância int (somente leitura) Obtém o número de caracteres na cadeia de caracteres
ToLower Método de Instância cadeia (de caracteres) Cria uma nova cadeia de caracteres que contém o equivalente em minúsculas
ToUpper Método de Instância cadeia (de caracteres) Cria uma nova cadeia de caracteres que contém o equivalente em maiúsculas

No PowerShell, string mapeia para System.String.

4.3.2 Matrizes

Todos os tipos de matriz são derivados do tipo array. Este tipo tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Comprimento Propriedade da instância (somente leitura) Int Número de elementos na matriz
Posição Propriedade da instância (somente leitura) Int Número de dimensões na matriz
Copiar Método estático void/ver coluna Finalidade

Copia uma variedade de elementos de uma matriz para outra. Há quatro versões, onde fonte é a matriz de origem, destino é a matriz de destino, número de elementos é o número de elementos a copiar e índice de origem e índice de destino são os locais iniciais nas suas respetivas matrizes:

Copy(de origem , de destino , int count)
Copy(de origem, de destino, contagem de longa)
Copy(source, sourceIndex, destino, índiceDestino, int count)
Copy(origem, índiceOrigem, destino, índiceDestino, longa contagem)

GetLength Método de Instância (somente leitura) int/nenhum

Número de elementos numa dada dimensão

GetLength(int dimensão)

Para obter mais detalhes sobre matrizes, consulte §9.

No PowerShell, array mapeia para System.Array.

4.3.3 Tabelas de Hash

Type Hashtable tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Contagem Propriedade da instância Int Obtém o número de pares chave/valor na Hashtable
Chaves Propriedade da instância Definido pela implementação Obtém uma coleção de todas as chaves
Valores Propriedade da instância Definido pela implementação Obtém uma coleção de todos os valores
Remover Método de Instância Nulo/Nenhum Remove a chave/valor designado

Para obter mais detalhes sobre Hashtables, consulte §10.

No PowerShell, Hashtable mapeia para System.Collections.Hashtable. Hashtable elementos são armazenados em um objeto do tipo DictionaryEntry, e as coleções retornadas por Chaves e Valores têm o tipo ICollection.

4.3.4 O tipo xml

O tipo xml implementa o Modelo de Objetos de Documento (DOM) W3C Núcleo Nível 1 e o Núcleo DOM Nível 2. O DOM é uma representação em árvore na memória (cache) de um documento XML e permite a navegação e edição deste documento. Este tipo suporta o operador de subscrição [] (§7.1.4.4).

No PowerShell, xml mapeia para System.Xml.XmlDocument.

4.3.5 O tipo regex

O tipo regex fornece maquinaria para suportar o processamento de expressões regulares. É usado para restringir o tipo de um parâmetro (§5.3) cujo argumento correspondente pode conter uma expressão regular.

No PowerShell, regex mapeia para System.Text.RegularExpressions.Regex.

4.3.6 O tipo ref

Normalmente, os argumentos são passados para comandos por valor. No caso de um argumento ter algum tipo de valor, uma cópia do valor é passada. No caso de um argumento com algum tipo de referência, uma cópia da referência é passada.

Tipo ref fornece mecanismos para permitir que os argumentos sejam passados para comandos por referência, para que os comandos possam modificar o valor do argumento. O tipo ref tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Valor propriedade de instância (leitura-gravação) O tipo do valor que está sendo referenciado. Obtém/define o valor que está sendo referenciado.

Considere a seguinte definição de função e chamada:

function Doubler {
    param ([ref]$x) # parameter received by reference
    $x.Value *= 2.0 # note that 2.0 has type double
}

$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type double, value 8.0

Considere o caso em que $number está com restrição de tipo:

[int]$number = 8 # designates a value of type int, value 8
Doubler([ref]$number) # argument received by reference
$number # designates a value of type int, value 8

Como mostrado, tanto o argumento quanto seu parâmetro correspondente devem ser declarados ref.

No PowerShell, ref mapeia para System.Management.Automation.PSReference.

4.3.7 O tipo scriptblock

O tipo scriptblock representa um bloco pré-compilado de texto de script (§7.1.8) que pode ser usado como uma única unidade. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Atributos Propriedade de Instância (apenas leitura) Coleção de atributos Obtém os atributos do bloco de script.
Ficheiro Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o nome do arquivo no qual o bloco de script está definido.
Módulo Propriedade de Instância (apenas leitura) implementação definida ([§4.5.12][§4.5.12]) Obtém informações sobre o módulo no qual o bloco de script está definido.
GetNewClosure Método de instância scriptblock
/nenhum
Recupera um bloco de script vinculado a um módulo. Todas as variáveis locais que estão no contexto do chamador serão copiadas para o módulo.
Invoque Método de instância Coleção de objetos/objetos[] Invoca o bloco de script com os argumentos especificados e retorna os resultados.
InvocarRetornoComoEstá Método de instância objeto/objeto[] Invoca o bloco de script com os argumentos especificados e retorna todos os objetos gerados.
Criar Método estático scriptblock
/cadeia de caracteres
Cria um novo objeto scriptblock que contém o script especificado.

No PowerShell, scriptblock mapeia para System.Management.Automation.ScriptBlock. Invoke retorna uma coleção de PSObject.

4.3.8 O tipo matemático

O tipo math fornece acesso a algumas constantes e métodos úteis em cálculos matemáticos. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
E Propriedade estática (somente leitura) duplo Base logarítmica natural
PI Propriedade estática (somente leitura) duplo Razão entre a circunferência de um círculo e o seu diâmetro
Abdominais Método estático numérico/numérico Valor absoluto (o tipo de retorno é o mesmo que o tipo do argumento passado)
Acos Método estático Duplo / Duplo Ângulo cujo cosseno é o número especificado
Asin Método estático Duplo / Duplo Ângulo cujo seno é o número especificado
Atan Método estático Duplo / Duplo Ângulo cuja tangente é o número especificado
Atan2 Método estático duplo / duplo y, duplo x Ângulo cuja tangente é o quociente de dois números especificados x e y
Teto Método estático

Decimal / Decimal

Duplo / Duplo

menor número inteiro maior ou igual ao número especificado
Cos Método estático Duplo / Duplo Cosseno do ângulo especificado
Calça Método estático Duplo / Duplo Cosseno hiperbólico do ângulo especificado
EXP Método estático Duplo / Duplo e elevado à potência especificada
Andar Método estático

Decimal / Decimal

Duplo / Duplo

Maior número inteiro menor ou igual ao número especificado
Registo Método estático

duplo/duplo número

duplo/duplo número, duplo base

Logaritmo do número usando base e ou base base
Log10 Método estático Duplo / Duplo Logaritmo de base-10 de um número especificado
Max Método estático numérico/numérico Maior de dois números especificados (o tipo de retorno é o mesmo que o tipo dos argumentos passados)
Minuto Método estático numérico/numérico, numérico Menor de dois números especificados (o tipo de retorno é o mesmo que o tipo dos argumentos passados)
Pum Método estático Duplo / Duplo x, Duplo y Um número especificado x elevado à potência especificada y
Pecado Método estático Duplo / Duplo Seno do ângulo especificado
Sinh Método estático Duplo / Duplo Seno hiperbólico do ângulo especificado
Sqrt Método estático Duplo / Duplo Raiz quadrada de um número especificado
Bronzeado Método estático Duplo / Duplo Tangente do ângulo especificado
Tanh Método estático Duplo / Duplo Tangente hiperbólica do ângulo especificado

No PowerShell, Math mapeia para System.Math.

4.3.9 O tipo encomendado

O tipo ordered é um pseudotipo usado apenas para conversões.

4.3.10 O tipo PSCustomObject

O tipo pscustomobject é um pseudotipo usado apenas para conversões.

4.4 Tipos genéricos

Uma série de linguagens de programação e ambientes fornecem tipos que podem ser especializados. Muitos desses tipos são chamados de tipos de contêiner , pois instâncias deles são capazes de conter objetos de algum outro tipo. Considere um tipo chamado Pilha que pode representar uma pilha de valores, nos quais valores podem ser inseridos e removidos. Normalmente, o usuário de uma pilha deseja armazenar apenas um tipo de objeto nessa pilha. No entanto, se a linguagem ou o ambiente não oferecer suporte à especialização de tipo, várias variantes distintas do tipo Pilha devem ser implementadas, mesmo que todas executem a mesma tarefa, apenas com elementos de tipo diferentes.

A especialização de tipo permite que um tipo genérico seja implementado de tal forma que possa ser limitado a lidar com algum subconjunto de tipos quando é utilizado. Por exemplo

  • Um tipo genérico de pilha especializado em armazenar strings pode ser definido como Stack[string].
  • Um tipo de dicionário genérico especializado para armazenar teclas int com valores de cadeia de caracteres associados pode ser escrito como Dictionary[int,string].
  • Uma pilha de cadeias de caracteres pode ser escrita como Stack[Stack[string]].

Embora o PowerShell não defina nenhum tipo genérico interno, ele pode usar esses tipos se eles forem fornecidos pelo ambiente host. Ver a sintaxe em §7.1.10.

O nome completo para o tipo Stack[string] sugerido acima é System.Collections.Generic.Stack[string]. O nome completo para o tipo Dictionary[int,string] sugerido acima é System.Collections.Generic.Dictionary[int,string].

4.5 Tipos anónimos

Em algumas circunstâncias, uma implementação do PowerShell cria objetos de algum tipo, e esses objetos têm membros acessíveis ao script. No entanto, não é necessário especificar o nome real desses tipos, desde que os membros acessíveis sejam suficientemente especificados para poderem ser utilizados. Ou seja, os scripts podem salvar objetos desses tipos e acessar seus membros sem realmente saber os nomes desses tipos. As subseções a seguir especificam esses tipos.

4.5.1 Tipo de descrição do fornecedor

Esse tipo encapsula o estado de um provedor. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Acionamentos Propriedade de Instância (apenas leitura) Aplicação definida (§4.5.2) Uma coleção de objetos de descrição de disco
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome do provedor

No PowerShell, esse tipo é System.Management.Automation.ProviderInfo.

4.5.2 Tipo de descrição da unidade

Este tipo encapsula o estado de uma unidade. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Localização Atual propriedade de instância (leitura-gravação) cadeia (de caracteres) O local de trabalho atual (§3.1.4) da unidade de disco
Descrição propriedade de instância (leitura-gravação) cadeia (de caracteres) A descrição da unidade
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome da unidade
Raiz Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome da unidade

No PowerShell, esse tipo é System.Management.Automation.PSDriveInfo.

4.5.3 Tipo de descrição da variável

Este tipo encapsula o estado de uma variável. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Atributos Propriedade de Instância (apenas leitura) Execução definida Uma coleção de atributos
Descrição propriedade de instância (leitura-gravação) cadeia (de caracteres) A descrição atribuída à variável por meio dos cmdlets New-Variable ou Set-Variable.
Módulo Propriedade de Instância (apenas leitura) Aplicação definida (§4.5.12) O módulo do qual esta variável foi exportada
Nome do módulo Propriedade de Instância (apenas leitura) cadeia (de caracteres) O módulo em que esta variável foi definida
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome atribuído à variável quando ela foi criada na linguagem PowerShell ou por meio dos cmdlets New-Variable e Set-Variable.
Opções propriedade de instância (leitura-gravação) cadeia (de caracteres) As opções atribuídas à variável por meio dos cmdlets New-Variable e Set-Variable.
Valor propriedade de instância (leitura-gravação) objecto O valor atribuído à variável quando ela foi atribuída na linguagem PowerShell ou por meio dos cmdlets New-Variable e Set-Variable.

No PowerShell, esse tipo é System.Management.Automation.PSVariable.

Windows PowerShell: O tipo da coleção de atributos é System.Management.Automation.PSVariableAttributeCollection.

4.5.4 Tipo de descrição do alias

Este tipo encapsula o estado de um pseudónimo. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Tipo de comando Propriedade de Instância (apenas leitura) Execução definida Deve resultar igual a "Alias".
Definição Propriedade de Instância (apenas leitura) cadeia (de caracteres) O comando ou o alias ao qual o alias foi atribuído através dos cmdlets New-Alias ou Set-Alias.
Descrição propriedade de instância (leitura-gravação) cadeia (de caracteres) A descrição atribuída ao alias por meio dos cmdlets New-Alias ou Set-Alias.
Módulo Propriedade de Instância (apenas leitura) Aplicação definida (§4.5.12) O módulo do qual esse alias foi exportado
Nome do módulo Propriedade de Instância (apenas leitura) cadeia (de caracteres) O módulo no qual este alias foi definido
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome atribuído ao alias quando ele foi criado por meio dos cmdlets New-Alias ou Set-Alias.
Opções propriedade de instância (leitura-gravação) cadeia (de caracteres) As opções atribuídas ao alias por meio dos cmdlets New-Alias New-Alias ou Set-Alias.
Tipo de saída Propriedade de Instância (apenas leitura) Implementação da coleção definida Especifica os tipos dos valores gerados pelo comando ao qual o alias se refere.
Parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Os parâmetros do comando.
Conjuntos de parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Informações sobre os conjuntos de parâmetros associados ao comando.
ComandoReferenciado Propriedade de Instância (apenas leitura) Execução definida Informações sobre o comando que é imediatamente referenciado por este alias.
ComandoResolvido Propriedade de Instância (apenas leitura) Execução definida Informações sobre o comando para o qual o alias acaba por se resolver.

No PowerShell, esse tipo é System.Management.Automation.AliasInfo.

4.5.5 Tipo de descrição do local de trabalho

Esse tipo encapsula o estado de um local de trabalho. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Conduzir Propriedade de Instância (apenas leitura) Aplicação definida (§4.5.2) Um objeto de descrição de disco
Caminho Propriedade de Instância (apenas leitura) cadeia (de caracteres) O local de trabalho
Fornecedor Propriedade de Instância (apenas leitura) Aplicação definida (§4.5.1) O provedor
ProviderPath Propriedade de Instância (apenas leitura) cadeia (de caracteres) O caminho atual do provedor

Uma pilha de locais de trabalho é uma coleção de objetos de local de trabalho, conforme descrito acima.

No PowerShell, um local de trabalho atual é representado por um objeto do tipo System.Management.Automation.PathInfo. Uma pilha de locais de trabalho é representada por um objeto do tipo System.Management.Automation.PathInfoStack, que é uma coleção de objetos PathInfo.

4.5.6 Tipo de descrição da variável de ambiente

Esse tipo encapsula o estado de uma variável de ambiente. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Nome propriedade de instância (leitura-gravação) cadeia (de caracteres) O nome da variável de ambiente
Valor propriedade de instância (leitura-gravação) cadeia (de caracteres) O valor da variável de ambiente

No PowerShell, esse tipo é System.Collections.DictionaryEntry. O nome da variável é a chave do dicionário. O valor da variável de ambiente é o valor do dicionário. Nome é um AliasProperty que equivale a Chave.

4.5.7 Tipo de descrição do aplicativo

Esse tipo encapsula o estado de um aplicativo. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Tipo de comando Propriedade de Instância (apenas leitura) Execução definida Deve ser igual a "Aplicação".
Definição Propriedade de Instância (apenas leitura) cadeia (de caracteres) Uma descrição do pedido.
Extensão propriedade de instância (leitura-gravação) cadeia (de caracteres) A extensão do ficheiro de aplicação.
Módulo Propriedade de Instância (apenas leitura) Aplicação definida (§4.5.12) O módulo que define este comando.
Nome do módulo Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome do módulo que define o comando.
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome do comando.
Tipo de saída Propriedade de Instância (apenas leitura) Implementação da coleção definida Especifica os tipos dos valores gerados pelo comando.
Parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Os parâmetros do comando.
Conjuntos de parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Informações sobre os conjuntos de parâmetros associados ao comando.
Caminho Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o caminho do arquivo do aplicativo.

No PowerShell, esse tipo é System.Management.Automation.ApplicationInfo.

4.5.8 Tipo de descrição do cmdlet

Esse tipo encapsula o estado de um cmdlet. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Tipo de comando Propriedade de Instância (apenas leitura) Execução definida Deve comparar-se de forma igual a "Cmdlet".
DefaultParameterSet (Conjunto de Parâmetros Padrão) Propriedade de Instância (apenas leitura) Execução definida O conjunto de parâmetros padrão que é usado se o PowerShell não puder determinar qual conjunto de parâmetros usar com base nos argumentos fornecidos.
Definição Propriedade de Instância (apenas leitura) cadeia (de caracteres) Uma descrição do cmdlet.
Ficheiro de Ajuda propriedade de instância (leitura-gravação) cadeia (de caracteres) O caminho para o arquivo de Ajuda do cmdlet.
TipoDeImplementação propriedade de instância (leitura-gravação) Execução definida O tipo que implementa o cmdlet.
Módulo Propriedade de Instância (apenas leitura) Aplicação definida (§4.5.12) O módulo que define esse cmdlet.
Nome do módulo Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome do módulo que define o cmdlet.
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome do cmdlet.
Substantivo Propriedade de Instância (apenas leitura) cadeia (de caracteres) O substantivo que representa o nome do cmdlet.
Tipo de saída Propriedade de Instância (apenas leitura) Implementação da coleção definida Especifica os tipos dos valores gerados pelo cmdlet.
Parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Os parâmetros do cmdlet.
Conjuntos de parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Informações sobre os conjuntos de parâmetros associados ao cmdlet.
Verbo Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome do verbo do cmdlet.
PSSnapIn Propriedade de Instância (apenas leitura) Execução definida Windows PowerShell: Informação sobre o snap-in do Windows PowerShell que é usado para registar o cmdlet.

No PowerShell, esse tipo é System.Management.Automation.CmdletInfo.

4.5.9 Tipo de descrição de script externo

Esse tipo encapsula o estado de um script externo (que é diretamente executável pelo PowerShell, mas não é interno). Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Tipo de comando Propriedade de Instância (apenas leitura) Execução definida Deve corresponder a "ExternalScript".
Definição Propriedade de Instância (apenas leitura) cadeia (de caracteres) Uma definição do script.
Módulo Propriedade de Instância (apenas leitura) Aplicação definida (§4.5.12) O módulo que define este script.
Nome do módulo Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome do módulo que define o script.
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome do script.
OriginalEncoding Propriedade de Instância (apenas leitura) Execução definida A codificação original usada para converter os caracteres do script em bytes.
Tipo de saída Propriedade de Instância (apenas leitura) Implementação da coleção definida Especifica os tipos dos valores gerados pelo script.
Parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Os parâmetros do script.
Conjuntos de parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Informações sobre os conjuntos de parâmetros associados ao script.
Caminho Propriedade de Instância (apenas leitura) cadeia (de caracteres) O caminho para o arquivo de script.
ScriptBlock Propriedade de Instância (apenas leitura) scriptblock O script externo.
ScriptContents Propriedade de Instância (apenas leitura) cadeia (de caracteres) O conteúdo original do roteiro.

No PowerShell, esse tipo é System.Management.Automation.ExternalScriptInfo.

4.5.10 Tipo de descrição da função

Este tipo encapsula o estado de uma função. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
CmdletBinding Propriedade de Instância (apenas leitura) Bool Indica se a função usa a mesma associação de parâmetros que os cmdlets compilados usam (consulte §12.3.5).
Tipo de comando Propriedade de Instância (apenas leitura) Execução definida Pode ser comparado quanto à igualdade com "Função" ou "Filtro" para ver qual desses este objeto representa.
DefaultParameterSet (Conjunto de Parâmetros Padrão) Propriedade de Instância (apenas leitura) cadeia (de caracteres) Especifica o conjunto de parâmetros a utilizar se tal não puder ser determinado a partir dos argumentos (ver §12.3.5).
Definição Propriedade de Instância (apenas leitura) cadeia (de caracteres) Uma versão de cadeia de caracteres do ScriptBlock
Descrição propriedade de instância (leitura-gravação) cadeia (de caracteres) A descrição da função.
Módulo Propriedade de Instância (apenas leitura) Aplicação definida (§4.5.12) O módulo do qual esta função foi exportada
Nome do módulo Propriedade de Instância (apenas leitura) cadeia (de caracteres) O módulo no qual esta função foi definida
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome da função
Opções propriedade de instância (leitura-gravação) Execução definida As opções de âmbito para a função (§3.5.4).
Tipo de saída Propriedade de Instância (apenas leitura) Implementação da coleção definida Especifica os tipos de saída de valores, por ordem (ver §12.3.6).
Parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Especifica os nomes dos parâmetros, na ordem. Caso a função funcione como um cmdlet (consulte CmdletBinding acima), os parâmetros comuns serão incluídos no final da coleção.
Conjuntos de parâmetros Propriedade de Instância (apenas leitura) Implementação da coleção definida Informações sobre os conjuntos de parâmetros associados ao comando. Para cada parâmetro, o resultado mostra o nome e o tipo do parâmetro, e indica se o parâmetro é obrigatório, por posição ou por parâmetro [switch] . Caso a função funcione como um cmdlet (consulte CmdletBinding acima), os parâmetros comuns serão incluídos no final da coleção.
ScriptBlock Propriedade de Instância (apenas leitura) Bloco de guião (§4.3.6) O corpo da função

No PowerShell, esse tipo é System.Management.Automation.FunctionInfo.

  • CommandType tem tipo System.Management.Automation.CommandTypes.
  • Options tem tipo System.Management.Automation.ScopedItemOptions.
  • OutputType tem tipo System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]].
  • Parameters tem tipo System.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]].
  • ParameterSets tem tipo System.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]].
  • A visibilidade tem tipo System.Management.Automation.SessionStateEntryVisibility.
  • O PowerShell também tem uma propriedade chamada Visibility.

4.5.11 Tipo de descrição do filtro

Esse tipo encapsula o estado de um filtro. Tem o mesmo conjunto de membros acessíveis que o tipo de descrição da função (§4.5.10).

No PowerShell, esse tipo é System.Management.Automation.FilterInfo. Tem o mesmo conjunto de propriedades que System.Management.Automation.FunctionInfo (§4.5.11).

4.5.12 Tipo de descrição do módulo

Este tipo encapsula o estado de um módulo. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Descrição propriedade de instância (leitura-gravação) cadeia (de caracteres) A descrição do módulo (definido pelo manifesto)
Tipo de módulo Propriedade de Instância (apenas leitura) Execução definida O tipo do módulo (Manifesto, Script ou Binário)
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) O nome do módulo
Caminho Propriedade de Instância (apenas leitura) cadeia (de caracteres) O caminho do módulo

No PowerShell, esse tipo é System.Management.Automation.PSModuleInfo. O tipo de ModuleType é System.Management.Automation.ModuleType.

4.5.13 Tipo de descrição de objeto personalizado

Esse tipo encapsula o estado de um objeto personalizado. Não tem membros acessíveis.

No PowerShell, esse tipo é System.Management.Automation.PSCustomObject. Os cmdlets Import-Module e New-Object podem gerar um objeto desse tipo.

4.5.14 Tipo de descrição do comando

A variável automática $PSCmdlet é um objeto que representa o cmdlet ou a função que está sendo executada. O tipo deste objeto é a implementação definida; Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
NomeDoConjuntoDeParâmetros Propriedade de Instância (apenas leitura) cadeia (de caracteres) Nome do conjunto de parâmetros atual (consulte ParameterSetName)
Deve Continuar Método de instância

Sobrecarregado

/bool

Solicita confirmação de uma operação do usuário.
Deve Processar Método de instância

Sobrecarregado

/bool

Solicita confirmação do usuário antes que uma operação seja executada.

No PowerShell, esse tipo é System.Management.Automation.PSScriptCmdlet.

4.5.15 Tipo de descrição do registo de erro

A variável automática $Error contém uma coleção de registos de erros que representam erros recentes (§3.12). Embora o tipo dessa coleção não seja especificado, ela oferece suporte a subscripting para obter acesso a registros de erro individuais.

No PowerShell, o tipo de coleção é System.Collections.ArrayList. O tipo de registro de erro individual na coleção é System.Management.Automation.ErrorRecord. Este tipo tem as seguintes propriedades públicas:

  • CategoryInfo - Obtém informações sobre a categoria do erro.
  • ErrorDetails - Obtém e define informações de erro mais detalhadas, como uma mensagem de erro de substituição.
  • Exceção - Obtém a exceção associada a esse registro de erro.
  • FullyQualifiedErrorId - Obtém o identificador de erro totalmente qualificado para esse registro de erro.
  • InvocationInfo - Obtém informações sobre o comando que foi invocado quando o erro ocorreu.
  • PipelineIterationInfo - Obtém o status do pipeline quando esse registro de erro foi criado
  • TargetObject - Obtém o objeto que estava sendo processado quando o erro ocorreu.

4.5.16 Tipo de descrição do enumerador

Várias variáveis são recenseadores de coleções (§4). A variável automática $foreach é o enumerador criado para qualquer instrução foreach. A variável automática $input é o enumerador de uma coleção entregue a uma função do pipeline. A variável automática $switch é o enumerador criado para qualquer instrução switch.

O tipo de um enumerador é definido pela implementação; Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Atual Propriedade de Instância (apenas leitura) objecto Obtém o elemento atual na coleção. Se o enumerador não estiver posicionado atualmente em um elemento da coleção, o comportamento será definido pela implementação.
MoveNext Método de instância Nenhum/bool Avança o enumerador para o próximo elemento da coleção. Retorna $true se o enumerador conseguiu avançar com êxito para o próximo elemento; $false se o enumerador ultrapassou o final da coleção.

No PowerShell, esses membros são definidos na interface System.IEnumerator, que é implementada pelos tipos identificados abaixo. Se o enumerador não estiver posicionado atualmente em um elemento da coleção, uma exceção do tipo InvalidOperationException será gerada. Para $foreach, este tipo é System.Array+SZArrayEnumerator. Para $input, este tipo é System.Collections.ArrayList+ArrayListEnumeratorSimple. Para $switch, este tipo é System.Array+SZArrayEnumerator.

4.5.17 Tipo de descrição do diretório

O cmdlet New-Item pode criar itens de vários tipos, incluindo diretórios FileSystem. O tipo de um objeto de descrição de diretório é definido pela implementação; Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Atributos propriedade de instância (leitura-gravação) Aplicação definida (§4.2.6.3) Obtém ou define um ou mais dos atributos do objeto de diretório.
CreationTime propriedade de instância (leitura-gravação) Aplicação definida (§4.5.19) Obtém e define o tempo de criação do objeto de diretório.
Extensão Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém a parte de extensão do nome do diretório.
Nome Completo Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o caminho completo do diretório.
HoraDaÚltimaEscrita propriedade de instância (leitura-gravação) Aplicação definida (§4.5.19) Obtém e define a hora em que o diretório foi escrito pela última vez.
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o nome do diretório.

No PowerShell, esse tipo é System.IO.DirectoryInfo. O tipo da propriedade Attributes é System.IO.FileAttributes.

4.5.18 Tipo de descrição do ficheiro

O cmdlet New-Item pode criar itens de vários tipos, incluindo arquivos FileSystem. O tipo de um objeto de descrição de arquivo é definido pela implementação; Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Atributos propriedade de instância (leitura-gravação) Aplicação definida (§4.2.6.3) Obtém ou define um ou mais dos atributos do objeto de arquivo.
BaseName Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o nome do arquivo excluindo a extensão.
CreationTime propriedade de instância (leitura-gravação) Aplicação definida (§4.5.19) Obtém e define o tempo de criação do objeto de arquivo.
Extensão Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém a parte da extensão do nome do arquivo.
Nome Completo Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o caminho completo do arquivo.
HoraDaÚltimaEscrita propriedade de instância (leitura-gravação) Aplicação definida (§4.5.19) Obtém e define a hora em que o arquivo foi gravado pela última vez.
Comprimento Propriedade de Instância (apenas leitura) Longo Obtém o tamanho do arquivo, em bytes.
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o nome do arquivo.
Informação de Versão Propriedade de Instância (apenas leitura) Execução definida Windows PowerShell: Este ScriptProperty devolve um System.Diagnostics.FileVersionInfo para o ficheiro.

No PowerShell, esse tipo é System.IO.FileInfo.

4.5.19 Date-Time tipo de descrição

O tipo de um objeto de descrição de data e hora é definido pela implementação; Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Dia Propriedade de Instância (apenas leitura) Int Obtém o componente dia do mês representado por esta instância.
Hora Propriedade de Instância (apenas leitura) Int Obtém o componente hora da data representada por esta instância.
Minuto Propriedade de Instância (apenas leitura) Int Obtém o componente minuto da data representada por esta instância.
Mês Propriedade de Instância (apenas leitura) Int Obtém o componente mês da data representada por esta instância.
Segundo Propriedade de Instância (apenas leitura) Int Obtém o componente de segundos da data representada por esta instância.
Ano Propriedade de Instância (apenas leitura) Int Obtém o componente ano da data representada por esta instância.

Um objeto desse tipo pode ser criado pelo cmdlet Get-Date.

No PowerShell, esse tipo é System.DateTime.

4.5.20 Group-Info tipo de descrição

O tipo de um objeto group-info description é definido pela implementação; Tem os seguintes membros acessíveis:

Membro Tipo de Membro Tipo Finalidade
Contagem Propriedade de Instância (apenas leitura) Int Obtém o número de elementos no grupo.
Grupo Propriedade de Instância (apenas leitura) Coleção definida pela implementação Obtém os elementos do grupo.
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o nome do grupo.
Valores Propriedade de Instância (apenas leitura) Coleção definida pela implementação Obtém os valores dos elementos do grupo.

Um objeto desse tipo pode ser criado pelo cmdlet Group-Object.

No PowerShell, este tipo é Microsoft.PowerShell.Commands.GroupInfo.

4.5.21 Tipo de descrição genéricaMeasure-Info

O tipo de objeto de descrição genérico-measure-info é definido pela forma como é implementado; tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Média Propriedade de Instância (apenas leitura) duplo Obtém a média dos valores das propriedades que são medidas.
Contagem Propriedade de Instância (apenas leitura) Int Obtém o número de objetos com as propriedades especificadas.
Máximo Propriedade de Instância (apenas leitura) duplo Obtém o valor máximo das propriedades especificadas.
Mínimo Propriedade de Instância (apenas leitura) duplo Obtém o valor mínimo das propriedades especificadas.
Propriedade Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém a propriedade a ser medida.
Soma Propriedade de Instância (apenas leitura) duplo Obtém a soma dos valores das propriedades especificadas.

Um objeto desse tipo pode ser criado pelo cmdlet Measure-Object.

No PowerShell, este tipo é Microsoft.PowerShell.Commands.GenericMeasureInfo.

4.5.22 Texto - tipo de descriçãoMeasure-Info

O tipo de um objeto de descrição text-info é definido pela implementação; Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Personagens Propriedade de Instância (apenas leitura) Int Obtém o número de caracteres no objeto de destino.
Linhas Propriedade de Instância (apenas leitura) Int Obtém o número de linhas no objeto de destino.
Propriedade Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém a propriedade a ser medida.
Palavras Propriedade de Instância (apenas leitura) Int Obtém o número de palavras no objeto de destino.

Um objeto desse tipo pode ser criado pelo cmdlet Measure-Object.

No PowerShell, este tipo é Microsoft.PowerShell.Commands.TextMeasureInfo.

4.5.23 Tipo de credencial

Um objeto de credencial pode ser usado em várias operações de segurança. O tipo de um objeto de credencial é definido pela implementação; Tem os seguintes membros acessíveis:

Membro Tipo de Membro Tipo Finalidade
Palavra-passe Propriedade de Instância (apenas leitura) Execução definida Obtém a senha.
Nome de Utilizador Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o nome de usuário.

Um objeto desse tipo pode ser criado pelo cmdlet Get-Credential.

No PowerShell, esse tipo é System.Management.Automation.PSCredential.

4.5.24 Tipo de designador do método

O tipo de um designador de método é definido pela implementação; Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Invoque Método de instância Número e tipo de objeto/variável Usa um número variável de argumentos e, indiretamente, chama o método referido pelo designador de método pai, passando os argumentos.

Um objeto deste tipo pode ser criado por uma expressão de invocação (§7.1.3).

No PowerShell, esse tipo é System.Management.Automation.PSMethod.

4.5.25 Tipo de definição de membro

Este tipo encapsula a definição de um membro. Tem os seguintes membros acessíveis:

Estado-Membro Tipo de Membro Tipo Finalidade
Definição Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém a definição do membro.
Tipo de Membro Propriedade de Instância (apenas leitura) Execução definida Obtém o tipo PowerShell do membro.
Nome Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o nome do membro.
NomeDoTipo Propriedade de Instância (apenas leitura) cadeia (de caracteres) Obtém o nome do tipo do membro.

No PowerShell, este tipo é Microsoft.PowerShell.Commands.MemberDefinition.

4.6 Extensão e adaptação do tipo

Uma implementação de PowerShell inclui uma família de tipos principais (que estão documentados neste capítulo) onde cada tipo contém o seu próprio conjunto de membros base. Esses membros podem ser métodos ou propriedades, e podem ser membros de instância ou estáticos. Por exemplo, os membros base do tipo string (§4.3.1) são a propriedade de instância Length e os métodos de instância ToLower e ToUpper.

Quando um objeto é criado, ele contém todas as propriedades de instância do tipo desse objeto, e os métodos de instância desse tipo podem ser chamados nesse objeto. Um objeto pode ser personalizado por meio da adição de membros da instância em tempo de execução. O resultado é chamado de objeto personalizado. Quaisquer membros adicionados a uma instância existem apenas durante a vida dessa instância; outras instâncias do mesmo tipo de núcleo não são afetadas.

O conjunto de membros base de um tipo pode ser aumentado pela adição dos seguintes tipos de membros:

  • membros adaptados, através do Extended Type System (ETS), cuja maioria dos detalhes não são especificados.
  • membros estendidos, por meio do cmdlet Add-Member.

No PowerShell, membros estendidos também podem ser adicionados por meio de arquivos types.ps1xml. Membros adaptados e estendidos são coletivamente chamados de membros sintéticos .

O ETS adiciona os seguintes membros a todos os objetos do PowerShell: psbase, psadapted, psextendede pstypenames. Consulte os parâmetros Force e View no cmdlet Get-Member para obter mais informações sobre esses membros.

Um membro da instância pode ocultar um membro estendido e/ou adaptado com o mesmo nome, e um membro estendido pode ocultar um membro adaptado. Nesses casos, os conjuntos de membros psadaptado e psextended podem ser usados para aceder a esses membros ocultos.

Se um types.ps1xml especificar um membro chamado Supports, obj.psextended fornecerá acesso apenas a esse membro e não a um membro adicionado via Add-Member.

Há três maneiras de criar um objeto personalizado com um novo membro M:

  1. Essa abordagem pode ser usada para adicionar um ou mais membros NoteProperty.

    $x = New-Object PSObject -Property @{M = 123}
    
  2. Essa abordagem pode ser usada para adicionar membros NoteProperty ou ScriptMethod.

    $x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}
    
  3. Esta abordagem pode ser usada para adicionar qualquer tipo de membro.

    $x = New-Object PSObject
    Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
    

PSObject é o tipo base de todos os tipos do PowerShell.