Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Nota editorial
Importante
A Especificação da Linguagem do Windows PowerShell 3.0 foi publicada em dezembro de 2012 e é baseada no Windows PowerShell 3.0. Essa especificação não reflete o estado atual do PowerShell. Não há nenhum plano para atualizar essa 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 um documento do Microsoft Word do Centro de Download da Microsoft em: https://www.microsoft.com/download/details.aspx?id=36389 esse documento do 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 para a plataforma Docs. Alguns erros de digitação e pequenos 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 de 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 valor chamado de um tipo de matriz pode conter uma referência a um objeto que realmente contém os elementos da matriz ou a referência nula cujo valor é $null
. A distinção importante entre as duas categorias de tipo é melhor demonstrada pelas diferenças em sua semântica 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 de seu valor real. Por outro lado, uma cópia profunda também requer a criação de uma cópia do objeto.
Um tipo de numérico
Uma 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, obter acesso a cada elemento um de cada vez. As maneiras comuns de fazer isso são com a instrução foreach (
Neste capítulo, há tabelas que listam os membros acessíveis para um determinado tipo. Para métodos, o Tipo é escrito com o seguinte formato: 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
, UInt32
e UInt64
, tudo no namespace System.
Muitas classes de coleção são definidas como parte dos namespaces System.Collections ou System.Collections.Generic. A maioria das classes de coleção implementa as interfaces ICollection
, IComparer
, IEnumerable
, IList
, IDictionary
e 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 nulo
Esse tipo não pode ser instanciado. Ele fornece um meio de descartar um valor explicitamente usando o operador de conversão (§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.2), também conhecida como o valor nulo. Esse valor fornece uma maneira de expressar "nada" em contextos de referência. As características desse tipo não são especificadas.
4.1.3 O tipo de objeto
Cada tipo no PowerShell, exceto o tipo nulo (§4.1.2) é derivado 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) para digitar objeto realmente não é restrita, pois pode conter um valor de qualquer tipo.
4.2 Tipos de valor
4.2.1 Boolean
O tipo booliano é bool
. Há apenas dois valores desse tipo, False e True, representados pelas variáveis automáticas $false
e $true
, respectivamente (§2.3.2.2).
No PowerShell, bool
é mapeado para System.Boolean
.
4.2.2 Caractere
Um valor de caractere tem o tipo char, que é capaz de armazenar qualquer ponto de código Unicode codificado em UTF-16 de 16 bits.
O tipo char tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
MaxValue | Propriedade estática (somente leitura) | carvão | O maior valor possível do tipo char |
ValorMí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 uma letra alfabética |
IsLower | Método estático | bool/char | Testa se o caractere é uma letra alfabética minúscula |
IsPunctuation | 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 letras minúsculas |
ToUpper | Método estático | char/string | Converte o caractere em letras maiúsculas |
Windows PowerShell: char é mapeado para System.Char.
4.2.3 Inteiro
Há dois tipos de inteiros com sinal, ambos usam a representação complementar de dois para valores negativos:
- Digite
int
, que usa 32 bits, dando-lhe um intervalo de -2147483648 a +2147483647, inclusive. - Digite
long
, que usa 64 bits, dando-lhe um intervalo de -9223372036854775808 a +9223372036854775807, inclusive.
O type int tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
ValorMáximo | Propriedade estática (somente leitura) | int | O maior valor possível do tipo int |
ValorMínimo | Propriedade estática (somente leitura) | int | O menor valor possível do tipo int |
O tipo long tem os seguintes membros acessíveis:
Membro | Variante 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 sem sinal:
- Tipo
byte
, que usa 8 bits, fornecendo um intervalo de 0 a 255, inclusive.
O tipo byte
tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
ValorMáximo | Propriedade estática (somente leitura) | byte | O maior valor possível do tipo byte |
MinValue | Propriedade estática (somente leitura) | byte | O menor valor possível do tipo byte |
No PowerShell, byte
, int
e long
são mapeados para System.Byte
, System.Int32
e System.Int64
, respectivamente.
4.2.4 Número real
4.2.4.1 float e double
Há dois tipos de reais (ou de ponto flutuante):
- O tipo
float
usa a representação de precisão única do IEEE de 32 bits. - O tipo
double
usa a representação de precisão dupla IEEE de 64 bits.
Um nome de terceiro tipo, single
, é um sinônimo do tipo float
; float
é usado em toda essa especificação.
Embora o tamanho e a representação dos tipos float
e double
sejam definidos por essa especificação, uma implementação pode usar precisão estendida para resultados intermediários.
O tipo float tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
ValorMá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 do tipo float |
NaN | Propriedade estática (somente leitura) | float | O valor da constante não é um número |
NegativeInfinity | Propriedade estática (somente leitura) | float | O infinito negativo do valor constante |
PositiveInfinity | Propriedade estática (somente leitura) | float | O valor constante de infinito positivo |
O tipo double tem os seguintes membros acessíveis:
Membro | Tipo de Membro | Tipo | Finalidade |
---|---|---|---|
ValorMáximo | Propriedade estática (somente leitura) | double | O maior valor possível do tipo double |
ValorMínimo | Propriedade estática (somente leitura) | double | O menor valor possível do tipo double |
NaN | Propriedade estática (somente leitura) | double | O valor da constante não é um número |
NegativeInfinity | Propriedade estática (somente leitura) | double | O infinito negativo do valor constante |
PositiveInfinity | Propriedade estática (somente leitura) | double | O valor constante de infinito positivo |
No PowerShell, float
e double
são mapeados para System.Single
e System.Double
, respectivamente.
4.2.4.2 decimais
O tipo decimal usa uma representação de 128 bits. No mínimo, ele deve dar suporte a uma escala de modo que 0 <= <= pelo menos 28 e um intervalo de valores -79228162514264337593543950335 a 79228162514264337593543950335. A representação real decimal é definida pela implementação.
O tipo decimal tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
ValorMáximo | Propriedade estática (somente leitura) | decimal | O maior valor possível do tipo decimal |
MinValue | Propriedade estática (somente leitura) | decimal | O menor valor possível do tipo decimal |
Nota
Números reais decimais têm uma característica chamada de escala, que representa o número de dígitos à direita do ponto decimal. Por exemplo, o valor 2,340 tem uma escala de 3, na qual os zeros finais 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 menor do que a 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
é mapeado para System.Decimal
. A representação de decimal é a seguinte:
- Quando considerada como uma matriz de quatro
int
valores, ela contém os seguintes elementos:- O índice 0 (bits 0-31) contém os 32 bits de ordem inferior do coeficiente do número decimal.
- O índice 1 (bits 32-63) contém os 32 bits médios do coeficiente decimal.
- O índice 2 (64-95 bits) contém a ordem superior de 32 bits do coeficiente decimal.
- O índice 3 (bits 96-127) contém o bit de sinal e a escala, da seguinte maneira:
- os bits 0 a 15 são zero
- bits 16-23 contém a escala como um valor 0-28
- 24-30 bits são zero
- bit 31 é o sinal (0 para positivo, 1 para negativo)
4.2.5 O tipo switch
Esse tipo é usado para restringir o tipo de um parâmetro em um comando (§8.10.5). Se um argumento com o nome do parâmetro correspondente estiver presente, o parâmetro é testado como $true; caso contrário, é testado como $false
.
No PowerShell, switch
é mapeado 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 por vez. Em outros casos, o conjunto de valores são poderes distintos 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
Esse tipo definido pela implementação tem os seguintes membros acessíveis mutuamente com valor exclusivo:
Membro | Tipo de Membro | Finalidade |
---|---|---|
Continuar | Constante de enumeração | O runtime do PowerShell continuará processando e notificará o usuário de que ocorreu uma ação. |
Consulta | Constante de enumeração | O runtime do PowerShell interromperá o processamento e perguntará ao usuário como ele deve continuar. |
SilentlyContinue | Constante de enumeração | O runtime do PowerShell continuará sendo processado sem notificar o usuário de que ocorreu uma ação. |
Parar | Constante de enumeração | O runtime do PowerShell interromperá o processamento quando uma ação ocorrer. |
No PowerShell, esse tipo é System.Management.Automation.ActionPreference
.
4.2.6.2 tipo Confirm-Impact
Esse tipo definido pela implementação tem os seguintes membros acessíveis mutuamente com valor exclusivo:
Membro | Variante de membro | Finalidade |
---|---|---|
Alto | Constante de enumeração | A ação executada tem um alto risco de perder dados, como reformatar um disco rígido. |
Baixo | Constante de enumeração | A ação executada tem um baixo risco de perda de dados. |
Médio | Constante de enumeração | A ação executada tem um risco médio de perder dados. |
Nenhum | Constante de enumeração | Não confirme nenhuma ação (suprime todas as solicitações de confirmação). |
No PowerShell, esse tipo é System.Management.Automation.ConfirmImpact
.
4.2.6.3 Tipo File-Attributes
Esse tipo definido pela implementação tem os seguintes membros acessíveis, que podem ser combinados:
Membro | Variante de membro | Finalidade |
---|---|---|
Arquivos | Constante de enumeração | O status do arquivo. Os aplicativos usam esse atributo para marcar arquivos para backup ou remoção. |
Comprimido | Constante de enumeração | O arquivo é compactado. |
Dispositivo | Reservado para uso futuro. | |
Diretório | Constante de enumeração | O arquivo é um diretório. |
Criptografado | Constante de enumeração | O arquivo ou diretório é criptografado. Para um arquivo, isso significa que todos os dados no arquivo são criptografados. 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 nenhum outro conjunto de atributos. Esse atributo é válido somente se usado sozinho. |
NotContentIndexed | 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 arquivo está offline. Os dados do arquivo não estão disponíveis imediatamente. |
ReadOnly | Constante de enumeração | Ele é somente leitura. |
ReparsePoint | Constante de enumeração | O arquivo contém um ponto de nova análise, que é um bloco de dados definidos pelo usuário associado a um arquivo ou diretório. |
SparseFile | Constante de enumeração | O arquivo é um arquivo esparso. Arquivos esparsos normalmente são arquivos grandes cujos dados são na maioria zeros. |
Sistema | Constante de enumeração | O arquivo é um arquivo do sistema. O arquivo faz parte do sistema operacional ou é usado exclusivamente pelo sistema operacional. |
Temporário | Constante de enumeração | O arquivo é 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 arquivo temporário deve ser excluído pelo aplicativo assim que ele não for mais necessário. |
No PowerShell, esse tipo é System.IO.FileAttributes com o atributo FlagsAttribute.
4.2.6.4 Tipo Regular-Expression-Option
Esse tipo definido pela implementação tem os seguintes membros acessíveis, que podem ser combinados:
Membro | Variante de membro | Propósito |
---|---|---|
IgnoreCase | Constante de enumeração | Especifica que a correspondência diferencia maiúsculas e 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 FlagsAttribute
de atributo. Os seguintes valores extras são definidos: Compiled
, CultureInvariant
, ECMAScript
, ExplicitCapture
, IgnorePatternWhitespace
, Multiline
, RightToLeft
, Singleline
.
4.3 Tipos de referência
4.3.1 Cadeias de caracteres
Um valor de cadeia de caracteres é do tipo string e é 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:
Membro | Tipo de Membro | Tipo | Propósito |
---|---|---|---|
Length | Propriedade da instância | int (somente leitura) | Obtém o número de caracteres na cadeia de caracteres |
ToLower | Método de instância | string | Cria uma nova cadeia de caracteres que contém o equivalente em letras minúsculas |
ToUpper | Método de instância | string | Cria uma nova cadeia de caracteres que contém o equivalente em letras maiúsculas |
No PowerShell, string
é mapeado para System.String
.
4.3.2 Matrizes
Todos os tipos de matriz são derivados do tipo Array
. Esse tipo tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Length | 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 | vazio/ver coluna Propósito | Copia um intervalo de elementos de uma matriz para outra. Há quatro versões, onde source é a matriz de origem, destination é a matriz de destino, count é o número de elementos a copiar, e sourceIndex e destinationIndex são os índices iniciais em suas respectivas matrizes: Copy(source, destination, int count) |
GetLength | Método de instância (somente leitura) | int/none | Número de elementos em uma determinada dimensão GetLength(int dimension) |
Para obter mais detalhes sobre matrizes, consulte §9.
No PowerShell, Array
é mapeado para System.Array
.
4.3.3 Hashtables
O tipo Hashtable tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Count | Propriedade da instância | int | Obtém o número de pares chave/valor no Hashtable |
Teclas | Propriedade da instância | Implementation-defined | Obtém uma coleção de todas as chaves |
Valores | Propriedade da instância | Implementation-defined | Obtém uma coleção de todos os valores |
Remover | Método de instância | void/none | Remove a chave/valor especificado |
Para obter mais detalhes sobre Hashtables, consulte §10.
No PowerShell, Hashtable
é mapeado 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 tipo ICollection
.
4.3.4 Tipo xml
O tipo xml implementa o Core Nível 1 do DOM (Modelo de Objeto do Documento) W3C e Core Nível 2 do DOM. O DOM é uma representação de árvore na memória (cache) de um documento XML e habilita a navegação e edição deste documento. Esse tipo dá suporte ao operador de subscrição [] (§7.1.4.4).
No PowerShell, xml
é mapeado para System.Xml.XmlDocument
.
4.3.5 Tipo regex
O tipo regex
fornece maquinário para dar suporte ao processamento de expressão regular. Ele é usado para restringir o tipo de um parâmetro (§5.3) cujo argumento correspondente pode conter uma expressão regular.
No PowerShell, regex
é mapeado para System.Text.RegularExpressions.Regex
.
4.3.6 Tipo ref
Normalmente, os argumentos são transmitidos para comandos por valor. No caso de um argumento que tenha algum tipo de valor, uma cópia do valor é passada. No caso de um argumento que tenha algum tipo de referência, uma cópia da referência é passada.
O tipo ref fornece um mecanismo 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:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Valor | Propriedade da 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 chame:
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 é restrita por 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
Conforme mostrado, o argumento e seu parâmetro correspondente devem ser declarados ref
.
No PowerShell, ref
é mapeado para System.Management.Automation.PSReference
.
4.3.7 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. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Atributos | Propriedade da instância (somente leitura) | Coleção de atributos | Obtém os atributos do bloco de script. |
Arquivo | Propriedade da instância (somente leitura) | string | Obtém o nome do arquivo no qual o bloco de script é definido. |
Módulo | Propriedade da instância (somente leitura) | implementação definida ([§4.5.12][§4.5.12]) | Obtém informações sobre o módulo no qual o bloco de script é definido. |
GetNewClosure | Método de instância | scriptblock /none |
Recupera um bloco de script associado a um módulo. Todas as variáveis locais que estiverem no contexto do chamador serão copiadas para o módulo. |
Invoke | Método de instância | Coleção de object/object[] | Invoca o bloco de script com os argumentos especificados e retorna os resultados. |
InvokeReturnAsIs | Método de instância | object/object[] | Invoca o bloco de script com os argumentos especificados e retorna todos os objetos gerados. |
Criar | Método estático | scriptblock /string |
Cria um novo objeto scriptblock que contém o script especificado. |
No PowerShell, scriptblock
é mapeado para System.Management.Automation.ScriptBlock
. Invoke
retorna uma coleção de PSObject
.
4.3.8 Tipo math
O tipo math
fornece acesso a algumas constantes e métodos úteis em cálculos matemáticos. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Propósito |
---|---|---|---|
E | Propriedade estática (somente leitura) | double | Base logarítmica natural |
PI | Propriedade estática (somente leitura) | double | Razão da circunferência de um círculo para seu diâmetro |
Abs | Método estático | numeric/numeric | Valor absoluto (o tipo de retorno é o mesmo que o tipo do argumento passado) |
Acos | Método estático | double/double | Ângulo cujo cosseno é o número especificado |
Asin | Método estático | double/double | Ângulo cujo seno é o número especificado |
Atan | Método estático | double/double | Ângulo cuja tangente é o número especificado |
Atan2 | Método estático | double/double y, double x | Ângulo cuja tangente é o quociente de dois números especificados x e y |
Teto | Método estático | decimal/decimal double/double |
menor número inteiro maior ou igual ao número especificado |
Cos | Método estático | double/double | Cosseno do ângulo especificado |
Cosh | Método estático | double/double | Cosseno hiperbólico do ângulo especificado |
Exp | Método estático | double/double | e elevado à potência especificada |
Andar | Método estático | decimal/decimal double/double |
Número inteiro maior menor ou igual ao número especificado |
Log | Método estático | double/double number double/double number, double base |
Logaritmo de número usando base e ou base base |
Log10 | Método estático | double/double | Logaritmo base-10 de um número especificado |
Max | Método estático | numeric/numeric | Maior que dois números especificados (o tipo de retorno é o mesmo que o tipo dos argumentos passados) |
Min | Método estático | numeric/numeric, numeric | Menor de dois números especificados (o tipo de retorno é o mesmo que o tipo dos argumentos passados) |
Pow | Método estático | double/double x, double y | Um número especificado x elevado à potência especificada y |
Seno | Método estático | double/double | Seno do ângulo especificado |
Sinh | Método estático | double/double | Seno hiperbólico do ângulo especificado |
Sqrt | Método estático | double/double | Raiz quadrada de um número especificado |
Tan | Método estático | double/double | Tangente do ângulo especificado |
Tanh | Método estático | double/double | Tangente hiperbólica do ângulo especificado |
No PowerShell, Math
é mapeado para System.Math
.
4.3.9 Tipo ordered
O tipo ordered
é um pseudo tipo usado apenas para conversões.
4.3.10 Tipo pscustomobject
O tipo pscustomobject
é um pseudo tipo usado apenas para conversões.
4.4 Tipos genéricos
Várias linguagens de programação e ambientes fornecem tipos que podem ser especializados. Muitos desses tipos são chamados de tipos de contêiner, uma vez que as instâncias deles são capazes de conter objetos de algum outro tipo. Considere um tipo chamado Stack que pode representar uma pilha de valores, que podem ser enviados por push e removidos. Normalmente, o usuário de uma pilha deseja armazenar apenas um tipo de objeto nessa pilha. No entanto, se o idioma ou ambiente não der suporte à especialização de tipo, várias variantes distintas do tipo Stack deverão 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 modo que possa ser restringido a lidar com alguns subconjuntos de tipos quando usado. Por exemplo
- Um tipo de pilha genérico que é especializado em manter cadeias de caracteres pode ser escritas como
Stack[string]
. - Um tipo de dicionário genérico especializado para armazenar chaves int com valores de cadeia de caracteres associados pode ser escrito como
Dictionary[int,string]
. - Uma pilha de pilhas de cadeias de caracteres pode ser escrita como
Stack[Stack[string]]
.
Embora o PowerShell não defina nenhum tipo genérico interno, ele poderá usar esses tipos se eles forem fornecidos pelo ambiente de host. Consulte a sintaxe em §7.1.10.
O nome completo do tipo Stack[string]
sugerido acima é System.Collections.Generic.Stack[string]
. O nome completo do 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 para script. No entanto, o nome real desses tipos não precisa ser especificado, contanto que os membros acessíveis sejam especificados de forma suficiente para que possam ser usados. 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 provedor
Esse tipo encapsula o estado de um provedor. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Unidades | Propriedade da instância (somente leitura) | Implementação definida (§4.5.2) | Uma coleção de objetos de descrição da unidade |
Nome | Propriedade da instância (somente leitura) | string | O nome do provedor |
No PowerShell, esse tipo é System.Management.Automation.ProviderInfo
.
4.5.2 Tipo de descrição da unidade
Esse tipo encapsula o estado de uma unidade. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Localização Atual | Propriedade da instância (leitura-gravação) | string | O local de trabalho atual (§3.1.4) da unidade |
Descrição | Propriedade da instância (leitura-gravação) | string | A descrição da unidade |
Nome | Propriedade da instância (somente leitura) | string | O nome da unidade |
Raiz | Propriedade da instância (somente leitura) | string | O nome da unidade |
No PowerShell, esse tipo é System.Management.Automation.PSDriveInfo
.
4.5.3 Tipo de descrição de variável
Esse tipo encapsula o estado de uma variável. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Atributos | Propriedade da instância (somente leitura) | Implementação definida | Uma coleção de atributos |
Descrição | Propriedade da instância (leitura-gravação) | string | A descrição atribuída à variável por meio dos cmdlets New-Variable ou Set-Variable. |
Módulo | Propriedade da instância (somente leitura) | Implementação definida (§4.5.12) | O módulo do qual essa variável foi exportada |
NomeDoMódulo | Propriedade da instância (somente leitura) | string | O módulo no qual essa variável foi definida |
Nome | Propriedade da instância (somente leitura) | string | O nome atribuído à variável quando ela foi criada no idioma do PowerShell ou por meio dos cmdlets New-Variable e Set-Variable . |
Opções | Propriedade da instância (leitura-gravação) | string | As opções atribuídas à variável por meio dos cmdlets New-Variable e Set-Variable . |
Valor | Propriedade da instância (leitura-gravação) | objeto | O valor atribuído à variável quando ela foi atribuída no idioma do 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
Esse tipo encapsula o estado de um alias. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
CommandType | Propriedade da instância (somente leitura) | Implementação definida | Deve comparar igual a “Alias”. |
Definição | Propriedade da instância (somente leitura) | string | O comando ou alias ao qual o alias foi atribuído por meio dos cmdlets New-Alias ou Set-Alias. |
Descrição | Propriedade da instância (leitura-gravação) | string | A descrição atribuída ao alias por meio dos cmdlets New-Alias ou Set-Alias . |
Módulo | Propriedade da instância (somente leitura) | Implementação definida (§4.5.12) | O módulo do qual esse alias foi exportado |
ModuleName | Propriedade da instância (somente leitura) | string | O módulo no qual esse alias foi definido |
Nome | Propriedade da instância (somente leitura) | string | O nome atribuído ao alias quando ele foi criado por meio dos cmdlets New-Alias ou Set-Alias . |
Opções | Propriedade da instância (leitura-gravação) | string | As opções atribuídas ao alias por meio dos cmdlets New-Alias New-Alias ou Set-Alias . |
TipoDeSaída | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Especifica os tipos de saída de valores pelo comando ao qual o alias se refere. |
Parâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Os parâmetros do comando. |
Conjuntos de Parâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Informações sobre os conjuntos de parâmetros associados ao comando. |
ReferencedCommand | Propriedade da instância (somente leitura) | Implementação definida | Informações sobre o comando que é imediatamente referenciado por este alias. |
ResolvedCommand | Propriedade da instância (somente leitura) | Implementação definida | Informações sobre o comando para o qual o alias eventualmente é resolvido. |
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. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Unidade | Propriedade da instância (somente leitura) | Implementação definida (§4.5.2) | Um objeto de descrição de disco |
Caminho | Propriedade da instância (somente leitura) | string | O local de trabalho |
Provedor | Propriedade da instância (somente leitura) | Implementação definida (§4.5.1) | O provedor |
ProviderPath | Propriedade da instância (somente leitura) | string | 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 de variável de ambiente
Esse tipo encapsula o estado de uma variável de ambiente. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Nome | Propriedade da instância (leitura-gravação) | string | O nome da variável de ambiente |
Valor | Propriedade da instância (leitura-gravação) | string | O valor da variável de ambiente |
No PowerShell, esse tipo é System.Collections.DictionaryEntry
. O nome da variável é a chave de dicionário. O valor da variável de ambiente é o valor do dicionário. Name é um AliasProperty
que é igual a Key.
4.5.7 Tipo de descrição do aplicativo
Esse tipo encapsula o estado de um aplicativo. Ele tem os seguintes membros acessíveis:
Membro | Tipo de Membro | Tipo | Finalidade |
---|---|---|---|
CommandType | Propriedade da instância (somente leitura) | Implementação definida | Deve ser igual a “Aplicativo”. |
Definição | Propriedade da instância (somente leitura) | string | Uma descrição do aplicativo. |
Extensão | Propriedade da instância (leitura-gravação) | string | A extensão do arquivo de aplicativo. |
Módulo | Propriedade da instância (somente leitura) | Implementação definida (§4.5.12) | O módulo que define esse comando. |
NomeDoMódulo | Propriedade da instância (somente leitura) | string | O nome do módulo que define o comando. |
Nome | Propriedade da instância (somente leitura) | string | O nome do comando. |
OutputType | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Especifica os tipos de saída de valores pelo comando. |
Parâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Os parâmetros do comando. |
Conjuntos de Parâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Informações sobre os conjuntos de parâmetros associados ao comando. |
Caminho | Propriedade da instância (somente leitura) | string | Obtém o caminho do arquivo de 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. Ele tem os seguintes membros acessíveis:
Membro | Tipo de Membro | Tipo | Finalidade |
---|---|---|---|
Tipo de Comando | Propriedade da instância (somente leitura) | Implementação definida | Deve ser igual a “Cmdlet”. |
DefaultParameterSet | Propriedade da instância (somente leitura) | Implementação definida | O conjunto de parâmetros padrão usado se o PowerShell não puder determinar qual parâmetro deve ser usado com base nos argumentos fornecidos. |
Definição | Propriedade da instância (somente leitura) | string | Uma descrição do cmdlet. |
Arquivo de Ajuda | Propriedade da instância (leitura-gravação) | string | O caminho para o arquivo de ajuda para o cmdlet. |
TipoDeImplementação | Propriedade da instância (leitura-gravação) | Implementação definida | O tipo que implementa o cmdlet. |
Módulo | Propriedade da instância (somente leitura) | Implementação definida (§4.5.12) | O módulo que define esse cmdlet. |
ModuleName | Propriedade da instância (somente leitura) | string | O nome do módulo que define o cmdlet. |
Nome | Propriedade da instância (somente leitura) | string | O nome do cmdlet. |
Substantivo | Propriedade da instância (somente leitura) | string | O nome do substantivo do cmdlet. |
TipoDeSaída | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Especifica os tipos de saída de valores pelo cmdlet. |
Parâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Os parâmetros do cmdlet. |
ConjuntosDeParâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Informações sobre os conjuntos de parâmetros associados ao cmdlet. |
Verbo | Propriedade da instância (somente leitura) | string | O nome do verbo do cmdlet. |
PSSnapIn | Propriedade da instância (somente leitura) | Implementação definida | Windows PowerShell: informações sobre o snap-in do Windows PowerShell que é usado para registrar 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). Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
TipoComando | Propriedade da instância (somente leitura) | Implementação definida | Deve ser comparado como igual a "ExternalScript". |
Definição | Propriedade da instância (somente leitura) | string | Uma definição do script. |
Módulo | Propriedade da instância (somente leitura) | Implementação definida (§4.5.12) | O módulo que define esse script. |
NomeDoMódulo | Propriedade da instância (somente leitura) | string | O nome do módulo que define o script. |
Nome | Propriedade da instância (somente leitura) | string | O nome do script. |
OriginalEncoding | Propriedade da instância (somente leitura) | Implementação definida | A codificação original usada para converter os caracteres do script em bytes. |
OutputType | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Especifica os tipos de saída de valores pelo script. |
Parâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Os parâmetros do script. |
Conjuntos de Parâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Informações sobre os conjuntos de parâmetros associados ao script. |
Caminho | Propriedade da instância (somente leitura) | string | O caminho para o arquivo de script. |
ScriptBlock | Propriedade da instância (somente leitura) | scriptblock | O script externo. |
ScriptContents | Propriedade da instância (somente leitura) | string | O conteúdo original do script. |
No PowerShell, esse tipo é System.Management.Automation.ExternalScriptInfo
.
4.5.10 Tipo de descrição da função
Esse tipo encapsula o estado de uma função. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
CmdletBinding | Propriedade da instância (somente leitura) | bool | Indica se a função usa a mesma associação de parâmetro que os cmdlets compilados usam (consulte §12.3.5). |
TipoDeComando | Propriedade da instância (somente leitura) | Implementação definida | Pode ser comparado a "Função" ou "Filtro" para verificar qual deles este objeto representa. |
DefaultParameterSet | Propriedade da instância (somente leitura) | string | Especifica o conjunto de parâmetros a ser usado se isso não puder ser determinado a partir dos argumentos (consulte §12.3.5). |
Definição | Propriedade da instância (somente leitura) | string | Uma versão de cadeia de caracteres do ScriptBlock |
Descrição | Propriedade da instância (leitura-gravação) | string | A descrição da função. |
Módulo | Propriedade da instância (somente leitura) | Implementação definida (§4.5.12) | O módulo do qual essa função foi exportada |
NomeDoMódulo | Propriedade da instância (somente leitura) | string | O módulo no qual essa função foi definida |
Nome | Propriedade da instância (somente leitura) | string | O nome da função |
Opções | Propriedade da instância (leitura-gravação) | Implementação definida | As opções de escopo da função (§3.5.4). |
TipoDeSaída | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Especifica os tipos de saída de valores, em ordem (consulte §12.3.6). |
Parâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Especifica os nomes de parâmetro, em ordem. Se a função agir como um cmdlet (consulte CmdletBinding acima) os parâmetros comuns serão incluídos no final da coleção. |
Conjuntos de Parâmetros | Propriedade da instância (somente leitura) | Coleção definida pela implementação | 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 parâmetro de comutador. Se a função agir como um cmdlet (consulte CmdletBinding acima) os parâmetros comuns serão incluídos no final da coleção. |
ScriptBlock | Propriedade da instância (somente leitura) | scriptblock (§4.3.6) | O corpo da função |
No PowerShell, esse tipo é System.Management.Automation.FunctionInfo
.
-
CommandType
tem tipoSystem.Management.Automation.CommandTypes
. -
Options
tem tipoSystem.Management.Automation.ScopedItemOptions
. -
OutputType
tem tipoSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]
. Parameters
é do tipoSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]
.-
ParameterSets
tem tipoSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]]
. - A visibilidade tem o tipo
System.Management.Automation.SessionStateEntryVisibility
. - O PowerShell também tem uma propriedade chamada Visibilidade.
4.5.11 Tipo de descrição de filtro
Esse tipo encapsula o estado de um filtro. Ele 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
. Ele tem o mesmo conjunto de propriedades que System.Management.Automation.FunctionInfo
(§4.5.11).
Tipo de descrição do módulo 4.5.12
Esse tipo encapsula o estado de um módulo. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Descrição | Propriedade da instância (leitura-gravação) | string | A descrição do módulo (definida pelo manifesto) |
Tipo de Módulo | Propriedade da instância (somente leitura) | Implementação definida | O tipo do módulo (Manifesto, Script ou Binário) |
Nome | Propriedade da instância (somente leitura) | string | O nome do módulo |
Caminho | Propriedade da instância (somente leitura) | string | 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. Ele 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.
Tipo de descrição de comando 4.5.14
A variável automática $PsCmdlet
é um objeto que representa o cmdlet ou a função que está sendo executada. O tipo desse objeto é definido pela implementação; ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
NomeDoConjuntoDeParâmetros | Propriedade da instância (somente leitura) | string | Nome do conjunto de parâmetros atual (consulte ParameterSetName) |
ShouldContinue | Método de instância | Sobrecarregado /bool |
Solicita a confirmação de uma operação do usuário. |
ShouldProcess | Método de instância | Sobrecarregado /bool |
Solicita a 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 de registro de erro
A variável automática $Error
contém uma coleção de registros de erro que representam erros recentes (§3,12). Embora o tipo dessa coleção não seja especificado, ele dá suporte à subscrição 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
. Esse 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 este 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.
Tipo de descrição do enumerador 4.5.16
Várias variáveis são enumeradores para 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; ele tem os seguintes membros acessíveis:
Membro | Tipo de Membro | Tipo | Propósito |
---|---|---|---|
Atual | Propriedade da instância (somente leitura) | objeto | Obtém o elemento atual da coleção. Se o enumerador não estiver posicionado atualmente em um elemento da coleção, o comportamento será definido pela implementação. |
Avançar | Método de instância | Nenhum/bool | Avança o enumerador para o próximo elemento da coleção. Retorna $true se o enumerador foi avançado com êxito para o próximo elemento; $false se o enumerador tiver ultrapassado 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
, esse tipo é System.Array+SZArrayEnumerator
. Para $input
, esse tipo é System.Collections.ArrayList+ArrayListEnumeratorSimple
. Para $switch
, esse tipo é System.Array+SZArrayEnumerator
.
Tipo de descrição de diretório 4.5.17
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; ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Atributos | Propriedade da instância (leitura-gravação) | Implementação definida (§4.2.6.3) | Obtém ou define um ou mais dos atributos do objeto de diretório. |
CreationTime | Propriedade da instância (leitura-gravação) | Implementação definida (§4.5.19) | Obtém e define a hora de criação do objeto de diretório. |
Extensão | Propriedade da instância (somente leitura) | string | Obtém a parte de extensão do nome do diretório. |
Nome Completo | Propriedade da instância (somente leitura) | string | Obtém o caminho completo do diretório. |
LastWriteTime | Propriedade da instância (leitura-gravação) | Implementação definida (§4.5.19) | Obtém e define a hora em que o diretório foi gravado pela última vez. |
Nome | Propriedade da instância (somente leitura) | string | 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 de arquivo
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; ele tem os seguintes membros acessíveis:
Membro | Tipo de Membro | Tipo | Finalidade |
---|---|---|---|
Atributos | Propriedade da instância (leitura-gravação) | Implementação definida (§4.2.6.3) | Obtém ou define um ou mais dos atributos do objeto de arquivo. |
BaseName | Propriedade da instância (somente leitura) | string | Obtém o nome do arquivo, excluindo a extensão. |
CreationTime | Propriedade da instância (leitura-gravação) | Implementação definida (§4.5.19) | Obtém e define a hora de criação do objeto de arquivo. |
Extensão | Propriedade da instância (somente leitura) | string | Obtém a parte de extensão do nome do arquivo. |
Nome Completo | Propriedade da instância (somente leitura) | string | Obtém o caminho completo do arquivo. |
LastWriteTime | Propriedade da instância (leitura-gravação) | Implementação definida (§4.5.19) | Obtém e define a hora em que o arquivo foi gravado pela última vez. |
Length | Propriedade da instância (somente leitura) | longo | Obtém o tamanho do arquivo, em bytes. |
Nome | Propriedade da instância (somente leitura) | string | Obtém o nome do arquivo. |
Informação de Versão | Propriedade da instância (somente leitura) | Implementação definida | Windows PowerShell: este ScriptProperty retorna um System.Diagnostics.FileVersionInfo do arquivo. |
No PowerShell, esse tipo é System.IO.FileInfo
.
4.5.19 Tipo de descrição de data/hora
O tipo de um objeto de descrição de data e hora é definido pela implementação; ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Dia | Propriedade da instância (somente leitura) | int | Obtém o componente de dia do mês representado por essa instância. |
Hora | Propriedade da instância (somente leitura) | int | Obtém o componente de hora da data representada por essa instância. |
Minuto | Propriedade da instância (somente leitura) | int | Obtém o componente de minuto da data representada por essa instância. |
Mês | Propriedade da instância (somente leitura) | int | Obtém o componente mensal da data representada por essa instância. |
Second | Propriedade da instância (somente leitura) | int | Obtém o componente de segundos da data representada por essa instância. |
Year | Propriedade da instância (somente leitura) | int | Obtém o componente de ano da data representada por essa instância. |
Um objeto desse tipo pode ser criado pelo cmdlet Get-Date.
No PowerShell, esse tipo é System.DateTime
.
4.5.20 Tipo de descrição de Group-Info
O tipo de um objeto de descrição de informações de grupo é definido pela implementação; ele tem os seguintes membros acessíveis:
Membro | Tipo de Membro | Tipo | Propósito |
---|---|---|---|
Count | Propriedade da instância (somente leitura) | int | Obtém o número de elementos no grupo. |
Grupo | Propriedade da instância (somente leitura) | Coleção definida pela implementação | Obtém os elementos do grupo. |
Nome | Propriedade da instância (somente leitura) | string | Obtém o nome do grupo. |
Valores | Propriedade da instância (somente 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, esse tipo é Microsoft.PowerShell.Commands.GroupInfo
.
4.5.21 Tipo de descrição de Generic-Measure-Info
O tipo de um objeto de descrição generic-measure-info é definido pela implementação; ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Propósito |
---|---|---|---|
Média | Propriedade da instância (somente leitura) | double | Obtém a média dos valores das propriedades que são medidas. |
Count | Propriedade da instância (somente leitura) | int | Obtém o número de objetos com as propriedades especificadas. |
Máximo | Propriedade da instância (somente leitura) | double | Obtém o valor máximo das propriedades especificadas. |
Mínimo | Propriedade da instância (somente leitura) | double | Obtém o valor mínimo das propriedades especificadas. |
Propriedade | Propriedade da instância (somente leitura) | string | Obtém a propriedade a ser medida. |
Somar | Propriedade da instância (somente leitura) | double | Obtém a soma dos valores das propriedades especificadas. |
Um objeto desse tipo pode ser criado pelo cmdlet Measure-Object.
No PowerShell, esse tipo é Microsoft.PowerShell.Commands.GenericMeasureInfo
.
4.5.22 Tipo de descrição de Text-Measure-Info
O tipo de um objeto de descrição de informações de texto é definido pela implementação; ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Caracteres | Propriedade da instância (somente leitura) | int | Obtém o número de caracteres no objeto de destino. |
Linhas | Propriedade da instância (somente leitura) | int | Obtém o número de linhas no objeto de destino. |
Propriedade | Propriedade da instância (somente leitura) | string | Obtém a propriedade a ser medida. |
Palavras | Propriedade da instância (somente 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, esse tipo é Microsoft.PowerShell.Commands.TextMeasureInfo
.
Tipo de credencial 4.5.23
Um objeto de credencial pode ser usado em várias operações de segurança. O tipo de objeto de credencial é definido pela implementação; ele tem os seguintes membros acessíveis:
Membro | Tipo de Membro | Tipo | Propósito |
---|---|---|---|
Senha | Propriedade da instância (somente leitura) | Implementação definida | Obtém a senha. |
UserName | Propriedade da instância (somente leitura) | string | 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 de método
O tipo de um designador de método é definido pela implementação; ele tem os seguintes membros acessíveis:
Membro | Tipo de Membro | Tipo | Finalidade |
---|---|---|---|
Invoke | Método de instância | número e tipo de objeto/variável | Usa um número variável de argumentos e chama indiretamente o método referido pelo designador de método pai, transmitindo os argumentos. |
Um objeto desse 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
Esse tipo encapsula a definição de um membro. Ele tem os seguintes membros acessíveis:
Membro | Variante de membro | Tipo | Finalidade |
---|---|---|---|
Definição | Propriedade da instância (somente leitura) | string | Obtém a definição do membro. |
Tipo de Membro | Propriedade da instância (somente leitura) | Implementação definida | Obtém o tipo do PowerShell do membro. |
Nome | Propriedade da instância (somente leitura) | string | Obtém o nome do membro. |
TypeName | Propriedade da instância (somente leitura) | string | Obtém o nome do tipo do membro. |
No PowerShell, esse tipo é Microsoft.PowerShell.Commands.MemberDefinition
.
4.6 Adaptação e extensão de tipo
Uma implementação do PowerShell inclui uma família de tipos principais (que estão documentados neste capítulo) que contêm 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 da cadeia de caracteres de tipo (§4.3.1) são o Comprimento da propriedade da instância 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 runtime. O resultado é chamado de objeto personalizado. Todos os membros adicionados a uma instância existem apenas para a vida útil 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, por meio do Sistema de Tipo Estendido (ETS), a maioria dos detalhes não será especificada.
- membros estendidos, por meio do cmdlet Add-Member.
No PowerShell, os 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 de 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 psadapted e psextended podem ser usados para acessar os membros ocultos.
Se um types.ps1xml
especificar um membro chamado dá suporte, obj.psextended
fornecerá acesso apenas a esse membro e não a um membro adicionado por meio de 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}
Essa 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.