Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
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
floatusa a representação de precisão única IEEE de 32 bits. - O tipo
doubleusa 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) |
| 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.
-
CommandTypetem tipoSystem.Management.Automation.CommandTypes. -
Optionstem tipoSystem.Management.Automation.ScopedItemOptions. -
OutputTypetem tipoSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]. -
Parameterstem tipoSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]. -
ParameterSetstem tipoSystem.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:
Essa abordagem pode ser usada para adicionar um ou mais membros NoteProperty.
$x = New-Object PSObject -Property @{M = 123}Essa abordagem pode ser usada para adicionar membros NoteProperty ou ScriptMethod.
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}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.