Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota editorial
Importante
La especificación del lenguaje Windows PowerShell 3.0 se publicó en diciembre de 2012 y se basa en Windows PowerShell 3.0. Esta especificación no refleja el estado actual de PowerShell. No hay ningún plan para actualizar esta documentación para reflejar el estado actual. Esta documentación se presenta aquí para obtener referencia histórica.
El documento de especificación está disponible como un documento de Microsoft Word del Centro de descarga de Microsoft en: https://www.microsoft.com/download/details.aspx?id=36389 Ese documento de Word se ha convertido para su presentación aquí en Microsoft Learn. Durante la conversión, se han realizado algunos cambios editoriales para dar cabida al formato de la plataforma Docs. Se han corregido algunos errores tipográficos y menores.
En PowerShell, cada valor tiene un tipo y los tipos se dividen en una de las dos categorías principales: tipos de valor y tipos de referencia . Tenga en cuenta el tipo int, que es típico de los tipos de valor. Un valor de tipo int es completamente independiente; todos los bits necesarios para representar ese valor se almacenan en ese valor y cada patrón de bits de ese valor representa un valor válido para su tipo. Ahora, considere el tipo de matriz int[], que es típico de los tipos de referencia. Un valor denominado de un tipo de matriz puede contener una referencia a un objeto que contiene realmente los elementos de la matriz o la referencia null cuyo valor es $null. La distinción importante entre las dos categorías de tipos se muestra mejor por las diferencias en su semántica durante la asignación. Por ejemplo
$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, la asignación de un valor de tipo de referencia implica una copia superficial ; es decir, una copia de la referencia al objeto en lugar de su valor real. Por el contrario, una copia profunda también requiere realizar una copia del objeto.
Un tipo numérico es uno que permite la representación de valores enteros o fraccionarios y que admite realizar operaciones aritméticas con esos valores. El conjunto de tipos numéricos incluye los tipos enteros (§4.2.3) y el número real (§4.2.4), pero no incluye bool (§4.2.1) o char (§4.2.2). Una implementación puede proporcionar otros tipos numéricos (como byte con signo, entero sin signo e enteros de otros tamaños).
Una colección es un grupo de uno o varios elementos relacionados que no pueden tener el mismo tipo.
Algunos ejemplos de tipos de colección son matrices, pilas, colas, listas y tablas hash. Un programa puede enumerar (o iterar) sobre los elementos de una colección, obteniendo acceso a cada elemento uno por uno. Las formas habituales de hacerlo son con la foreach instrucción (§8.4.4) y el cmdlet ForEach-Object . El tipo de un objeto que representa un enumerador se describe en §4.5.16.
En este capítulo, hay tablas que enumeran los miembros accesibles para un tipo determinado. En el caso de los métodos, Type se escribe con este formato: returnType/argumentTypeList. Si la lista de tipos de argumentos es demasiado larga para caber en esa columna, se muestra en la columna Propósito en su lugar.
Otros tipos enteros son SByte, Int16, UInt16, UInt32y UInt64, todo en el espacio de nombres System.
Muchas clases de colección se definen como parte de los espacios de nombres System.Collections o System.Collections.Generic. La mayoría de las clases de colección implementan las interfaces ICollection, IComparer, IEnumerable, IList, IDictionaryy IDictionaryEnumerator y sus equivalentes genéricos.
También puede usar nombres abreviados para algunos tipos. Para obtener más información, consulte about_Type_Accelerators.
4.1 Tipos especiales
4.1.1 El tipo void
No se puede crear una instancia de este tipo. Proporciona un medio para descartar un valor explícitamente mediante el operador de conversión (§7.2.9).
4.1.2 El tipo NULL
El tipo null tiene una instancia, la variable automática $null (§2.3.2.2), también conocida como valor NULL. Este valor proporciona un medio para expresar "nada" en contextos de referencia. Las características de este tipo no se especifican.
4.1.3 El tipo de objeto
Todos los tipos de PowerShell excepto el tipo null (§4.1.2) se derivan directa o indirectamente del objeto de tipo, por lo que el objeto es el tipo base final de todos los tipos no NULL. Una variable restringida (§5.3) para escribir objeto no está restringida en absoluto, ya que puede contener un valor de cualquier tipo.
4.2 Tipos de valor
4.2.1 Boolean
El tipo booleano es bool. Solo hay dos valores de este tipo, False y True, representados por las variables automáticas $false y $true, respectivamente (§2.3.2.2).
En PowerShell, bool se asigna a System.Boolean.
4.2.2 Carácter
Un valor de carácter tiene el tipo char, que es capaz de almacenar cualquier punto de código Unicode con codificación UTF-16 de 16 bits.
El tipo char tiene estos miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| ValorMáximo | Propiedad estática (solo lectura) | char | El mayor valor posible de tipo char |
| ValorMínimo | Propiedad estática (solo lectura) | char | El menor valor posible de tipo char |
| IsControl | Método estático | bool/char | Comprueba si el carácter es un carácter de control |
| IsDigit | Método estático | bool/char | Comprueba si el carácter es un dígito decimal |
| IsLetter | Método estático | bool/char | Comprueba si el carácter es una letra alfabética |
| IsLetterOrDigit | Método estático | bool/char | Comprueba si el carácter es un dígito decimal o una letra alfabética |
| IsLower | Método estático | bool/char | Comprueba si el carácter es una letra alfabética minúscula |
| IsPunctuation | Método estático | bool/char | Comprueba si el carácter es un signo de puntuación |
| IsUpper | Método estático | bool/char | Comprueba si el carácter es una letra alfabética mayúscula |
| IsWhiteSpace | Método estático | bool/char | Comprueba si el carácter es un carácter de espacio en blanco |
| ToLower | Método estático | char/string | Convierte el carácter en minúscula |
| ToUpper | Método estático | char/string | Convierte el carácter en mayúscula |
Windows PowerShell: char se asigna a System.Char.
4.2.3 Entero
Hay dos tipos de entero con signo y ambos usan la representación del complemento a dos para los valores negativos:
- Escriba
int, que usa 32 bits, lo que le proporciona un intervalo de -2147483648 a +2147483647, ambos incluidos. - El tipo
long, que usa 64 bits, lo que le da un intervalo de -9223372036854775808 a +9223372036854775807 (incluido).
El tipo int tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| ValorMáximo | Propiedad estática (solo lectura) | int | El mayor valor posible de tipo int |
| ValorMínimo | Propiedad estática (solo lectura) | int | El menor valor posible de tipo int |
El tipo long tiene estos miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| ValorMáximo | Propiedad estática (solo lectura) | long | El mayor valor posible de tipo long |
| ValorMínimo | Propiedad estática (solo lectura) | long | El menor valor posible de tipo long |
Hay un tipo entero sin signo:
- Escriba
byte, que usa 8 bits, lo que le proporciona un intervalo de 0 a 255, ambos incluidos.
El tipo byte tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| ValorMáximo | Propiedad estática (solo lectura) | byte | El mayor valor posible de tipo byte |
| ValorMínimo | Propiedad estática (solo lectura) | byte | El menor valor posible de tipo byte |
En PowerShell, byte, int y long se asignan a System.Byte, System.Int32 y System.Int64, respectivamente.
4.2.4 Número real
4.2.4.1 float y double
Hay dos tipos reales (o de punto flotante):
- El tipo
floatusa la representación de precisión única IEEE de 32 bits. - El tipo
doubleusa la representación de precisión doble IEEE de 64 bits.
Un tercer nombre de tipo, single, es un sinónimo de tipo float; float se usa en esta especificación.
Aunque el tamaño y la representación de los tipos float y double se definen mediante esta especificación, una implementación puede usar una precisión extendida para los resultados intermedios.
El tipo float tiene estos miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| ValorMáximo | Propiedad estática (solo lectura) | flotante | El mayor valor posible de tipo float |
| ValorMínimo | Propiedad estática (solo lectura) | flotante | El menor valor posible de tipo float |
| NaN | Propiedad estática (solo lectura) | flotante | El valor de constante Not-a-Number |
| NegativeInfinity | Propiedad estática (solo lectura) | flotante | El valor de constante de infinitivo negativo |
| PositiveInfinity | Propiedad estática (solo lectura) | flotante | Valor constante infinito positivo |
El tipo double tiene estos miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| ValorMáximo | Propiedad estática (solo lectura) | doble | El mayor valor posible de tipo double |
| ValorMínimo | Propiedad estática (solo lectura) | doble | El menor valor posible de tipo double |
| NaN | Propiedad estática (solo lectura) | doble | El valor de constante Not-a-Number |
| NegativeInfinity | Propiedad estática (solo lectura) | doble | El valor de constante de infinitivo negativo |
| PositiveInfinity | Propiedad estática (solo lectura) | doble | Valor constante infinito positivo |
En PowerShell, float y double se asignan a System.Single y System.Double, respectivamente.
4.2.4.2 decimal
El tipo decimal usa una representación de 128 bits. Como mínimo, debe admitir una escala s de tal manera que 0 <= s<= al menos 28, y un rango de valores de -79228162514264337593543950335 a 79228162514264337593543950335. La representación real del decimal está definida por la implementación.
El tipo decimal tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| ValorMáximo | Propiedad estática (solo lectura) | decimal | El mayor valor posible de tipo decimal |
| ValorMínimo | Propiedad estática (solo lectura) | decimal | El valor más pequeño posible de tipo decimal |
Nota
Los números reales decimales tienen una característica llamada escala, que indica el número de dígitos a la derecha del punto decimal. Por ejemplo, el valor 2.340 tiene una escala de 3 donde los ceros finales son significativos. Cuando se agregan o restan dos números reales decimales, la escala del resultado es mayor de las dos escalas. Por ejemplo, 1.0 + 2.000 es 3.000, mientras que 5.0 - 2.00 es 3.00. Cuando se multiplican dos números reales decimales, la escala del resultado es la suma de las dos escalas. Por ejemplo, 1.0 * 2.000 es 2.0000. Cuando se dividen dos números reales decimales, la escala del resultado es la escala del primero menos la escala del segundo. Por ejemplo, 4.00000/2.000 es 2.00. Sin embargo, una escala no puede ser menor que la necesaria para conservar el resultado correcto. Por ejemplo, 3.000/2.000, 3.00/2.000, 3.0/2.000 y 3/2 son 1.5.
En PowerShell, decimal se asigna a System.Decimal. La representación de decimal es la siguiente:
- Cuando se considera una matriz de cuatro
intvalores, contiene los siguientes elementos:- El índice 0 (bits 0-31) contiene los 32 bits de orden bajo del coeficiente del decimal.
- El índice 1 (bits 32-63) contiene los 32 bits intermedios del coeficiente del decimal.
- El índice 2 (bits 64-95) contiene los 32 bits de orden superior del coeficiente decimal.
- El índice 3 (bits 96-127) contiene el bit de signo y la escala, como se indica a continuación:
- Los bits 0 a 15 son cero
- bits 16-23 contiene la escala como un valor 0--28
- Los bits 24 a 30 son cero
- bit 31 es el signo (0 para positivo, 1 para negativo)
4.2.5 El tipo de conmutador
Este tipo se usa para restringir el tipo de un parámetro en un comando (§8.10.5). Si un argumento que tiene el nombre del parámetro correspondiente está presente el parámetro prueba $true; de lo contrario, prueba $false.
En PowerShell, switch se asigna a System.Management.Automation.SwitchParameter.
4.2.6 Tipos de enumeración
Un tipo de enumeración es aquel que define un conjunto de constantes con nombre que representa todos los valores posibles que se pueden asignar a un objeto de ese tipo de enumeración. En algunos casos, el conjunto de valores es tal que solo se puede representar un valor a la vez. En otros casos, el conjunto de valores son potencias distintas de dos y, mediante el operador -bor (§7.8.5), se pueden codificar varios valores en el mismo objeto.
El entorno de PowerShell proporciona una serie de tipos de enumeración, como se describe en las secciones siguientes.
4.2.6.1 Tipo Action-Preference
Este tipo definido por la implementación tiene estos miembros accesibles con valores que se excluyen mutuamente:
| Miembro | Variante de miembro | Propósito |
|---|---|---|
| Continuar | Constante de enumeración | El tiempo de ejecución de PowerShell continuará procesando y notificará al usuario que se ha producido una acción. |
| Inquire | Constante de enumeración | El tiempo de ejecución de PowerShell dejará de procesar y le preguntará al usuario cómo debe continuar. |
| SilentlyContinue | Constante de enumeración | El tiempo de ejecución de PowerShell continuará procesando sin notificar al usuario que se ha producido una acción. |
| Parar | Constante de enumeración | El tiempo de ejecución de PowerShell dejará de procesarse cuando se produzca una acción. |
En PowerShell, este tipo es System.Management.Automation.ActionPreference.
4.2.6.2 tipo Confirm-Impact
Este tipo definido por la implementación tiene estos miembros accesibles con valores que se excluyen mutuamente:
| Miembro | Variante de miembro | Propósito |
|---|---|---|
| Alto | Constante de enumeración | La acción realizada tiene un alto riesgo de perder datos, como volver a formatear un disco duro. |
| Bajo | Constante de enumeración | La acción realizada tiene un riesgo bajo de perder datos. |
| Media | Constante de enumeración | La acción realizada tiene un riesgo medio de perder datos. |
| Ninguno | Constante de enumeración | No confirme ninguna acción (suprima todas las solicitudes de confirmación). |
En PowerShell, este tipo es System.Management.Automation.ConfirmImpact.
4.2.6.3 tipo File-Attributes
Este tipo definido por la implementación tiene los siguientes miembros accesibles, que se pueden combinar:
| Miembro | Variante de miembro | Propósito |
|---|---|---|
| Archivo | Constante de enumeración | El estado de archivo del fichero. Las aplicaciones usan este atributo para marcar los archivos de copia de seguridad o eliminación. |
| Comprimido | Constante de enumeración | El archivo está comprimido. |
| Dispositivo | Reservado para uso futuro. | |
| Directorio | Constante de enumeración | El archivo es un directorio. |
| Encriptado | Constante de enumeración | El archivo o directorio está cifrado. Para un archivo, esto significa que todos los datos del archivo están cifrados. Para un directorio, esto significa que el cifrado es el valor predeterminado para los archivos y directorios recién creados. |
| Escondido | Constante de enumeración | El archivo está oculto y, por tanto, no se incluye en una lista de directorios normal. |
| Normal | Constante de enumeración | El archivo es normal y no tiene ningún otro atributo establecido. Este atributo solo es válido si se usa solo. |
| NotContentIndexed | Constante de enumeración | El servicio de indexación de contenido del sistema operativo no indexará el archivo. |
| Sin conexión | Constante de enumeración | El archivo está sin conexión. Los datos del archivo no están disponibles inmediatamente. |
| ReadOnly | Constante de enumeración | El archivo es de solo lectura. |
| ReparsePoint | Constante de enumeración | El archivo contiene un punto de reanálisis, que es un bloque de datos definidos por el usuario asociados a un archivo o un directorio. |
| SparseFile | Constante de enumeración | El archivo es un archivo disperso. Los archivos dispersos suelen ser archivos grandes cuyos datos son principalmente ceros. |
| Sistema | Constante de enumeración | El archivo es un archivo del sistema. El archivo forma parte del sistema operativo o lo usa exclusivamente el sistema operativo. |
| Temporales | Constante de enumeración | El archivo es temporal. Los sistemas de archivos intentan mantener todos los datos en memoria para un acceso más rápido en lugar de vaciar los datos de vuelta al almacenamiento masivo. La aplicación debe eliminar un archivo temporal en cuanto ya no sea necesario. |
En PowerShell, este tipo es System.IO.FileAttributes con el atributo FlagsAttribute.
4.2.6.4 Tipo Regular-Expression-Option
Este tipo definido por la implementación tiene los siguientes miembros accesibles, que se pueden combinar:
| Miembro | Variante de miembro | Propósito |
|---|---|---|
| IgnoreCase | Constante de enumeración | Especifica que la coincidencia no distingue mayúsculas de minúsculas. |
| Ninguno | Constante de enumeración | Especifica que no se establecen opciones. |
Una implementación puede proporcionar otros valores.
En PowerShell, este tipo es System.Text.RegularExpressions.RegexOptions con el atributo FlagsAttribute. Se definen los siguientes valores adicionales: Compiled, CultureInvariant, ECMAScript, ExplicitCapture, IgnorePatternWhitespace, Multiline, RightToLeft, Singleline.
4.3 Tipos de referencia
4.3.1 Cadenas
Un valor de cadena tiene tipo string y es una secuencia inmutable de cero o más caracteres de tipo char, cada uno de los cuales contiene un punto de código Unicode de 16 bits codificado en UTF-16.
El tipo string tiene estos miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Largura | Propiedad de instancia | int (solo lectura) | Obtiene el número de caracteres de la cadena. |
| ToLower | Método de instancia | string | Crea una nueva cadena que contiene el equivalente en minúsculas. |
| ToUpper | Método de instancia | string | Crea una nueva cadena que contiene el equivalente en mayúsculas. |
En PowerShell, string se asigna a System.String.
4.3.2 Matrices
Todos los tipos de matriz se derivan del tipo array. Este tipo tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Largura | Propiedad de instancia (solo lectura) | int | Número de elementos de la matriz |
| Rango | Propiedad de instancia (solo lectura) | int | Número de dimensiones de la matriz |
| Copiar | Método estático | void/ver la columna Purpose | Copia un intervalo de elementos de una matriz a otra. Hay cuatro versiones, donde origen es la matriz de origen, destino es la matriz de destino, recuento es el número de elementos que se van a copiar y sourceIndex y destinationIndex son las ubicaciones iniciales de sus respectivas matrices: Copy(source, destination, int count) |
| GetLength | Método de instancia (solo lectura) | int/ninguno | Número de elementos de una dimensión determinada GetLength( dimensión int) |
Para obtener más información sobre las matrices, consulte §9.
En PowerShell, array se asigna a System.Array.
4.3.3 Tablas hash
Type Hashtable tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Count | Propiedad de instancia | int | Obtiene el número de pares clave-valor en la tabla hash. |
| Teclas | Propiedad de instancia | Definido por la implementación | Obtiene una colección de todas las claves. |
| Valores | Propiedad de instancia | Definido por la implementación | Obtiene una colección de todos los valores. |
| Eliminar | Método de instancia | vacío/ninguno | Quita la clave o el valor designados. |
Para obtener más información sobre las tablas hash, consulte §10.
En PowerShell, Hashtable se asigna a System.Collections.Hashtable.
Hashtable elementos se almacenan en un objeto de tipo DictionaryEntryy las colecciones devueltas por Keys y Values tienen el tipo ICollection.
4.3.4 El tipo xml
El tipo xml implementa el nivel 1 principal de Document Object Model (DOM) de W3C y el nivel 2 de DOM principal. Dom es una representación de árbol en memoria (caché) de un documento XML y permite la navegación y edición de este documento. Este tipo admite el operador de subíndice [] (§7.1.4.4).
En PowerShell, xml se asigna a System.Xml.XmlDocument.
4.3.5 El tipo regex
El tipo regex proporciona maquinaria para admitir el procesamiento de expresiones regulares. Se usa para restringir el tipo de un parámetro (§5.3) cuyo argumento correspondiente podría contener una expresión regular.
En PowerShell, regex se asigna a System.Text.RegularExpressions.Regex.
4.3.6 El tipo ref
Por lo general, los argumentos se pasan a los comandos por valor. En el caso de que un argumento tenga algún tipo de valor, se pasa una copia del valor. En el caso de un argumento que tiene algún tipo de referencia, se pasa una copia de la referencia.
El tipo ref proporciona maquinaria para permitir que los argumentos se pasen a los comandos por referencia, de manera que los comandos pueden modificar el valor del argumento. El tipo ref tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Valor | Propiedad de instancia (lectura y escritura) | Tipo del valor al que se hace referencia. | Obtiene o establece el valor al que se hace referencia. |
Tenga en cuenta la siguiente definición y llamada de función:
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
Tenga en cuenta el caso en el que $number está restringido por tipos:
[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 se muestra, tanto el argumento como su parámetro correspondiente deben declararse ref.
En PowerShell, ref se asigna a System.Management.Automation.PSReference.
4.3.7 El tipo scriptblock
El tipo scriptblock representa un bloque precompilado de texto de script (§7.1.8) que se puede usar como una sola unidad. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Atributos | Propiedad de instancia (solo lectura) | Colección de atributos | Obtiene los atributos del bloque de script. |
| Archivo | Propiedad de instancia (solo lectura) | string | Obtiene el nombre del archivo en el que se define el bloque de script. |
| Módulo | Propiedad de instancia (solo lectura) | implementación definida ([§4.5.12][§4.5.12]) | Obtiene información sobre el módulo en el que se define el bloque de script. |
| GetNewClosure | Método de instancia | scriptblock /ninguno |
Recupera un bloque de script enlazado a un módulo. Las variables locales que se encuentren en el contexto del autor de la llamada se copiarán en el módulo. |
| Invocar | Método de instancia | Colección de object/object[] | Invoca el bloque de script con los argumentos especificados y devuelve los resultados. |
| InvokeReturnAsIs | Método de instancia | object/object[] | Invoca el bloque de script con los argumentos especificados y devuelve los objetos generados. |
| Crear | Método estático | scriptblock /string |
Crea un nuevo objeto scriptblock que contiene el script especificado. |
En PowerShell, scriptblock se asigna a System.Management.Automation.ScriptBlock.
Invoke devuelve una colección de PSObject.
4.3.8 El tipo matemático
El tipo math proporciona acceso a algunas constantes y métodos útiles en cálculos matemáticos. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| E | Propiedad estática (solo lectura) | doble | Base logarítmica natural |
| PI | Propiedad estática (solo lectura) | doble | Relación de la circunferencia de un círculo a su diámetro |
| Abs | Método estático | numeric/numeric | Valor absoluto (el tipo de valor devuelto es el mismo que el tipo del argumento pasado) |
| Acos | Método estático | double/double | Ángulo cuyo coseno es el número especificado |
| Asin | Método estático | double/double | Ángulo cuyo seno es el número especificado |
| Atan | Método estático | double/double | Ángulo cuya tangente es el número especificado |
| Atan2 | Método estático | double/double y, double x | Ángulo cuya tangente es el cociente de dos números especificados x y y |
| Ceiling | Método estático | decimal/decimal double/double |
Número entero más pequeño mayor o igual que el número especificado |
| Cos | Método estático | double/double | Coseno del ángulo especificado |
| Cosh | Método estático | double/double | Coseno hiperbólico del ángulo especificado |
| Exp | Método estático | double/double | e elevado a la potencia especificada |
| Piso | Método estático | decimal/decimal double/double |
Entero más grande que sea menor o igual al número especificado |
| Registro | Método estático | double/double number double/double number, double base |
Logaritmo de número mediante base e o base base |
| Log10 | Método estático | double/double | Logaritmo base 10 de un número especificado |
| Máx. | Método estático | numeric/numeric | Mayor de dos números especificados (el tipo de valor devuelto es el mismo que el tipo de los argumentos pasados) |
| Mín. | Método estático | numeric/numeric, numeric | Menor de dos números especificados (el tipo de valor devuelto es el mismo que el tipo de los argumentos pasados) |
| Pow | Método estático | double/double x, double y | Número especificado x elevado a la potencia especificada y |
| Seno | Método estático | double/double | Seno del ángulo especificado |
| Sinh | Método estático | double/double | Seno hiperbólico del ángulo especificado |
| Sqrt | Método estático | double/double | Raíz cuadrada de un número especificado |
| Tan | Método estático | double/double | Tangente del ángulo especificado |
| Tanh | Método estático | double/double | Tangente hiperbólica del ángulo especificado |
En PowerShell, Math se asigna a System.Math.
4.3.9 El tipo ordered
El tipo ordered es un pseudotipo que solo se usa para las conversiones.
4.3.10 El tipo pscustomobject
El tipo pscustomobject es un pseudotipo que solo se usa para las conversiones.
4.4 Tipos genéricos
Varios lenguajes de programación y entornos proporcionan tipos que se pueden especializar. Muchos de estos tipos se conocen como tipos de contenedor, ya que las instancias de ellos pueden contener objetos de algún otro tipo. Considere un tipo denominado Stack que puede representar una pila de valores, que se puede insertar y extraer. Normalmente, el usuario de una pila quiere almacenar solo un tipo de objeto en esa pila. Sin embargo, si el lenguaje o el entorno no admiten la especialización de tipos, se deben implementar varias variantes distintas del tipo Stack aunque todas realicen la misma tarea, solo con distintos elementos de tipo.
La especialización de tipos permite implementar un tipo genérico de forma que se pueda restringir a la administración de algún subconjunto de tipos cuando se usa. Por ejemplo
- Un tipo de pila genérico especializado para contener cadenas puede escribirse como
Stack[string]. - Un tipo de diccionario genérico especializado para contener claves int con valores de cadena asociados se puede escribir como
Dictionary[int,string]. - Una pila de pila de cadenas se podría escribir como
Stack[Stack[string]].
Aunque PowerShell no define ningún tipo genérico integrado, puede usar estos tipos si los proporciona el entorno host. Consulte la sintaxis de §7.1.10.
El nombre completo del tipo Stack[string] sugerido anteriormente es System.Collections.Generic.Stack[string]. El nombre completo del tipo Dictionary[int,string] sugerido anteriormente es System.Collections.Generic.Dictionary[int,string].
4.5 Tipos anónimos
En algunas circunstancias, una implementación de PowerShell crea objetos de algún tipo y esos objetos tienen miembros accesibles para el script. Sin embargo, no es necesario especificar el nombre real de esos tipos, siempre y cuando los miembros accesibles se especifiquen lo suficiente para que se puedan usar. Es decir, los scripts pueden guardar objetos de esos tipos y acceder a sus miembros sin conocer realmente los nombres de esos tipos. Las siguientes subsecciones especifican estos tipos.
4.5.1 Tipo de descripción del proveedor
Este tipo encapsula el estado de un proveedor. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Unidades | Propiedad de instancia (solo lectura) | Implementación definida (§4.5.2) | Colección de objetos de descripción de unidad |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre del proveedor |
En PowerShell, este tipo es System.Management.Automation.ProviderInfo.
4.5.2 Tipo de descripción de unidad
Este tipo encapsula el estado de una unidad. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| UbicaciónActual | Propiedad de instancia (lectura y escritura) | string | La ubicación de trabajo actual (§3.1.4) de la unidad |
| Descripción | Propiedad de instancia (lectura y escritura) | string | Descripción de la unidad |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre de la unidad |
| Raíz | Propiedad de instancia (solo lectura) | string | Nombre de la unidad |
En PowerShell, este tipo es System.Management.Automation.PSDriveInfo.
4.5.3 Tipo de descripción de variable
Este tipo encapsula el estado de una variable. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Atributos | Propiedad de instancia (solo lectura) | Implementación definida | Colección de atributos |
| Descripción | Propiedad de instancia (lectura y escritura) | string | Descripción asignada a la variable mediante los cmdlets New-Variable o Set-Variable. |
| Módulo | Propiedad de instancia (solo lectura) | Implementación definida (§4.5.12) | Módulo desde el que se exportó esta variable |
| Nombre del Módulo | Propiedad de instancia (solo lectura) | string | Módulo en el que se definió esta variable |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre asignado a la variable cuando se creó en el lenguaje de PowerShell o a través de los cmdlets New-Variable y Set-Variable. |
| Opciones | Propiedad de instancia (lectura y escritura) | string | Las opciones asignadas a la variable a través de los cmdlets New-Variable y Set-Variable. |
| Valor | Propiedad de instancia (lectura y escritura) | objeto | Valor asignado a la variable cuando se asignó en el lenguaje de PowerShell o a través de los cmdlets New-Variable y Set-Variable. |
En PowerShell, este tipo es System.Management.Automation.PSVariable.
Windows PowerShell: el tipo de la colección de atributos es System.Management.Automation.PSVariableAttributeCollection.
4.5.4 Tipo de descripción del alias
Este tipo encapsula el estado de un alias. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| TipoDeComando | Propiedad de instancia (solo lectura) | Implementación definida | Debe coincidir con "Alias" |
| Definición | Propiedad de instancia (solo lectura) | string | Comando o alias al que se le asignó el alias mediante los cmdlets New-Alias o Set-Alias. |
| Descripción | Propiedad de instancia (lectura y escritura) | string | Descripción asignada al alias a través de los cmdlets New-Alias o Set-Alias. |
| Módulo | Propiedad de instancia (solo lectura) | Implementación definida (§4.5.12) | Módulo desde el que se exportó este alias |
| Nombre del Módulo | Propiedad de instancia (solo lectura) | string | Módulo en el que se definió este alias |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre asignado al alias cuando se creó a través de los cmdlets New-Alias o Set-Alias. |
| Opciones | Propiedad de instancia (lectura y escritura) | string | Las opciones asignadas al alias a través de los cmdlets New-Alias New-Alias o Set-Alias. |
| TipoDeSalida | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Especifica los tipos de los valores que genera el comando al que hace referencia el alias. |
| Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Parámetros del comando. |
| Conjuntos de Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Información sobre los conjuntos de parámetros asociados al comando . |
| ReferencedCommand | Propiedad de instancia (solo lectura) | Implementación definida | Información sobre el comando al que hace referencia inmediatamente este alias. |
| ResolvedCommand | Propiedad de instancia (solo lectura) | Implementación definida | Información sobre el comando para el que finalmente se resuelve el alias |
En PowerShell, este tipo es System.Management.Automation.AliasInfo.
4.5.5 Tipo de descripción de ubicación de trabajo
Este tipo encapsula el estado de una ubicación de trabajo. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Conducir | Propiedad de instancia (solo lectura) | Implementación definida (§4.5.2) | Objeto de descripción de unidad |
| Camino | Propiedad de instancia (solo lectura) | string | Ubicación de trabajo |
| Proveedor | Propiedad de instancia (solo lectura) | Implementación definida (§4.5.1) | El proveedor |
| ProviderPath | Propiedad de instancia (solo lectura) | string | Ruta de acceso actual del proveedor |
Una pila de ubicaciones de trabajo es una colección de objetos de ubicación de trabajo, tal como se describió anteriormente.
En PowerShell, una ubicación de trabajo actual se representa mediante un objeto de tipo System.Management.Automation.PathInfo. Una pila de ubicaciones de trabajo se representa mediante un objeto de tipo System.Management.Automation.PathInfoStack, que es una colección de objetos PathInfo.
4.5.6 Tipo de descripción de variable de entorno
Este tipo encapsula el estado de una variable de entorno. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Nombre | Propiedad de instancia (lectura y escritura) | string | Nombre de la variable de entorno |
| Valor | Propiedad de instancia (lectura y escritura) | string | Valor de la variable de entorno |
En PowerShell, este tipo es System.Collections.DictionaryEntry. El nombre de la variable es la clave de diccionario. El valor de la variable de entorno es el valor del diccionario.
Name es una AliasProperty que equivale a Key.
4.5.7 Tipo de descripción de la aplicación
Este tipo encapsula el estado de una aplicación. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| TipoDeComando | Propiedad de instancia (solo lectura) | Implementación definida | Debe coincidir con "Application" |
| Definición | Propiedad de instancia (solo lectura) | string | Descripción de la aplicación. |
| Extensión | Propiedad de instancia (lectura y escritura) | string | Extensión del archivo de aplicación. |
| Módulo | Propiedad de instancia (solo lectura) | Implementación definida (§4.5.12) | Módulo que define este comando. |
| Nombre del Módulo | Propiedad de instancia (solo lectura) | string | Nombre del módulo que define el comando. |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre del comando. |
| TipoDeSalida | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Especifica los tipos de los valores de salida por el comando . |
| Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Parámetros del comando. |
| Conjuntos de Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Información sobre los conjuntos de parámetros asociados al comando . |
| Camino | Propiedad de instancia (solo lectura) | string | Obtiene la ruta de acceso del archivo de aplicación. |
En PowerShell, este tipo es System.Management.Automation.ApplicationInfo.
4.5.8 Tipo de descripción del cmdlet
Este tipo encapsula el estado de un cmdlet. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| TipoDeComando | Propiedad de instancia (solo lectura) | Implementación definida | Debe coincidir con "Cmdlet" |
| DefaultParameterSet | Propiedad de instancia (solo lectura) | Implementación definida | Conjunto de parámetros predeterminado que se usa si PowerShell no puede determinar qué parámetro se va a usar en función de los argumentos proporcionados. |
| Definición | Propiedad de instancia (solo lectura) | string | Descripción del cmdlet. |
| HelpFile | Propiedad de instancia (lectura y escritura) | string | Ruta de acceso al archivo de ayuda del cmdlet. |
| TipoImplementador | Propiedad de instancia (lectura y escritura) | Implementación definida | El tipo que implementa el cmdlet. |
| Módulo | Propiedad de instancia (solo lectura) | Implementación definida (§4.5.12) | Módulo que define este cmdlet. |
| Nombre del Módulo | Propiedad de instancia (solo lectura) | string | Nombre del módulo que define el cmdlet. |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre del cmdlet. |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre de sustantivo del cmdlet |
| TipoDeSalida | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Especifica los tipos de los valores que genera el cmdlet . |
| Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Parámetros del cmdlet. |
| Conjuntos de Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Información sobre los conjuntos de parámetros asociados al cmdlet . |
| Verbo | Propiedad de instancia (solo lectura) | string | Nombre de verbo del cmdlet |
| PSSnapIn | Propiedad de instancia (solo lectura) | Implementación definida | Windows PowerShell: información sobre el complemento de Windows PowerShell que se usa para registrar el cmdlet. |
En PowerShell, este tipo es System.Management.Automation.CmdletInfo.
4.5.9 Tipo de descripción de script externo
Este tipo encapsula el estado de un script externo (uno que es ejecutable directamente mediante PowerShell, pero no está integrado). Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| TipoDeComando | Propiedad de instancia (solo lectura) | Implementación definida | Debe coincidir con "ExternalScript" |
| Definición | Propiedad de instancia (solo lectura) | string | Definición del script. |
| Módulo | Propiedad de instancia (solo lectura) | Implementación definida (§4.5.12) | Módulo que define este script. |
| Nombre del Módulo | Propiedad de instancia (solo lectura) | string | Nombre del módulo que define el script. |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre del script. |
| OriginalEncoding | Propiedad de instancia (solo lectura) | Implementación definida | Codificación original utilizada para convertir los caracteres del script en bytes. |
| TipoDeSalida | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Especifica los tipos de los valores que genera el script. |
| Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Parámetros del script. |
| Conjuntos de Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Información sobre los conjuntos de parámetros asociados al script. |
| Camino | Propiedad de instancia (solo lectura) | string | Ruta de acceso al archivo de script. |
| ScriptBlock | Propiedad de instancia (solo lectura) | scriptblock | Script externo |
| ScriptContents | Propiedad de instancia (solo lectura) | string | Contenido original del script. |
En PowerShell, este tipo es System.Management.Automation.ExternalScriptInfo.
4.5.10 Tipo de descripción de función
Este tipo encapsula el estado de una función. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| CmdletBinding | Propiedad de instancia (solo lectura) | bool | Indica si la función usa el mismo enlace de parámetros que usan los cmdlets compilados (consulte §12.3.5). |
| TipoDeComando | Propiedad de instancia (solo lectura) | Implementación definida | Se puede comparar en términos de igualdad con "Function" o "Filter" para ver cuál de estos representa este objeto |
| DefaultParameterSet | Propiedad de instancia (solo lectura) | string | Especifica el conjunto de parámetros que se va a usar si no se puede determinar a partir de los argumentos (vea §12.3.5). |
| Definición | Propiedad de instancia (solo lectura) | string | Una versión de cadena de ScriptBlock |
| Descripción | Propiedad de instancia (lectura y escritura) | string | Descripción de la función. |
| Módulo | Propiedad de instancia (solo lectura) | Implementación definida (§4.5.12) | Módulo desde el que se exportó esta función |
| Nombre del Módulo | Propiedad de instancia (solo lectura) | string | Módulo en el que se definió esta función |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre de la función |
| Opciones | Propiedad de instancia (lectura y escritura) | Implementación definida | Las opciones de ámbito de la función (§3.5.4). |
| TipoDeSalida | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Especifica los tipos de los valores de salida, en orden (vea §12.3.6). |
| Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Especifica los nombres de parámetro, en orden. Si la función actúa como un cmdlet (consulte CmdletBinding anterior), los parámetros comunes se incluyen al final de la colección. |
| Conjuntos de Parámetros | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Información sobre los conjuntos de parámetros asociados al comando . Para cada parámetro, el resultado muestra el nombre y el tipo del parámetro e indica si el parámetro es obligatorio, por posición o un parámetro conmutador. Si la función actúa como un cmdlet (consulte CmdletBinding anterior), los parámetros comunes se incluyen al final de la colección. |
| ScriptBlock | Propiedad de instancia (solo lectura) | scriptblock (§4.3.6) | Cuerpo de la función |
En PowerShell, este tipo es System.Management.Automation.FunctionInfo.
-
CommandTypetiene el tipoSystem.Management.Automation.CommandTypes. -
Optionstiene el tipoSystem.Management.Automation.ScopedItemOptions. -
OutputTypetiene el tipoSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.PSTypeName,System.Management.Automation]]. -
Parameterstiene el tipoSystem.Collections.Generic.Dictionary``2[[System.String,mscorlib],[System.Management.Automation.ParameterMetadata,System.Management.Automation]]. -
ParameterSetstiene el tipoSystem.Collections.ObjectModel.ReadOnlyCollection``1[[System.Management.Automation.CommandParameterSetInfo,System.Management.Automation]]. - La visibilidad tiene el tipo
System.Management.Automation.SessionStateEntryVisibility. - PowerShell también tiene una propiedad denominada Visibility.
4.5.11 Tipo de descripción del filtro
Este tipo encapsula el estado de un filtro. Tiene el mismo conjunto de miembros accesibles que el tipo de descripción de la función (§4.5.10).
En PowerShell, este tipo es System.Management.Automation.FilterInfo. Tiene el mismo conjunto de propiedades que System.Management.Automation.FunctionInfo (§4.5.11).
4.5.12 Tipo de descripción del módulo
Este tipo encapsula el estado de un módulo. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Descripción | Propiedad de instancia (lectura y escritura) | string | Descripción del módulo (establecido por el manifiesto) |
| TipoDeMódulo | Propiedad de instancia (solo lectura) | Implementación definida | Tipo del módulo (Manifiesto, Script o Binario) |
| Nombre | Propiedad de instancia (solo lectura) | string | Nombre del módulo |
| Camino | Propiedad de instancia (solo lectura) | string | Ruta de acceso del módulo |
En PowerShell, este tipo es System.Management.Automation.PSModuleInfo. El tipo de ModuleType es System.Management.Automation.ModuleType.
4.5.13 Tipo de descripción de objeto personalizado
Este tipo encapsula el estado de un objeto personalizado. No tiene miembros accesibles.
En PowerShell, este tipo es System.Management.Automation.PSCustomObject. Los cmdlets Import-Module y New-Object pueden generar un objeto de este tipo.
4.5.14 Tipo de descripción del comando
La variable automática $PSCmdlet es un objeto que representa el cmdlet o la función que se está ejecutando. El tipo de este objeto es la implementación definida; tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| NombreDelConjuntoDeParámetros | Propiedad de instancia (solo lectura) | string | Nombre del conjunto de parámetros actual (vea ParameterSetName) |
| ShouldContinue | Método de instancia | Sobrecargado /bool |
Solicita confirmación de una operación del usuario. |
| ShouldProcess | Método de instancia | Sobrecargado /bool |
Solicita confirmación del usuario antes de realizar una operación. |
En PowerShell, este tipo es System.Management.Automation.PSScriptCmdlet.
4.5.15 Tipo de descripción del registro de error
La variable automática $Error contiene una colección de registros de error que representan errores recientes (§3.12). Aunque el tipo de esta colección no está especificado, admite la suscripción para obtener acceso a registros de errores individuales.
En PowerShell, el tipo de colección es System.Collections.ArrayList. El tipo de registro de error individual en la colección es System.Management.Automation.ErrorRecord. Este tipo tiene las siguientes propiedades públicas:
- CategoryInfo: obtiene información sobre la categoría del error.
- ErrorDetails: obtiene y establece información de error más detallada, como un mensaje de error de reemplazo.
- Excepción: obtiene la excepción asociada a este registro de error.
- FullyQualifiedErrorId: obtiene el identificador de error completo para este registro de error.
- InvocationInfo: obtiene información sobre el comando que se invocó cuando se produjo el error.
- PipelineIterationInfo: obtiene el estado de la canalización cuando se creó este registro de error.
- TargetObject: obtiene el objeto que se estaba procesando cuando se produjo el error.
4.5.16 Tipo de descripción del enumerador
Varias variables son enumeradores para colecciones (§4). La variable automática $foreach es el enumerador creado para cualquier instrucción foreach. La variable automática $input es el enumerado para una colección que se entrega a una función desde la canalización. La variable automática $switch es el enumerador creado para cualquier instrucción switch.
El tipo de un enumerador es definido por la implementación; tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Current | Propiedad de instancia (solo lectura) | objeto | Obtiene el elemento actual de la colección. Si el enumerador no está situado actualmente en un elemento de la colección, el comportamiento está definido por la implementación. |
| MoveNext | Método de instancia | None/bool | Desplaza el enumerador al siguiente elemento de la colección. Devuelve $true si el enumerador avanzó correctamente al elemento siguiente; devuelve $false si el enumerador alcanzó el final de la colección. |
En PowerShell, estos miembros se definen en la interfaz System.IEnumerator, que se implementa mediante los tipos identificados a continuación. Si el enumerador no está situado actualmente en un elemento de la colección, se genera una excepción de tipo InvalidOperationException. Para $foreach, este tipo es System.Array+SZArrayEnumerator. Para $input, este tipo es System.Collections.ArrayList+ArrayListEnumeratorSimple. Para $switch, este tipo es System.Array+SZArrayEnumerator.
4.5.17 Tipo de descripción del directorio
El cmdlet New-Item puede crear elementos de varios tipos, incluidos los directorios FileSystem. El tipo de un objeto de descripción de directorio está definido por la implementación; tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Atributos | Propiedad de instancia (lectura y escritura) | Implementación definida (§4.2.6.3) | Obtiene o establece uno o varios de los atributos del objeto de directorio. |
| HoraDeCreación | Propiedad de instancia (lectura y escritura) | Implementación definida (§4.5.19) | Obtiene y establece la hora de creación del objeto de directorio. |
| Extensión | Propiedad de instancia (solo lectura) | string | Obtiene la parte de extensión del nombre del directorio. |
| Nombre completo | Propiedad de instancia (solo lectura) | string | Obtiene la ruta de acceso completa del directorio. |
| LastWriteTime | Propiedad de instancia (lectura y escritura) | Implementación definida (§4.5.19) | Obtiene y establece la hora en la que se escribió por última vez el directorio. |
| Nombre | Propiedad de instancia (solo lectura) | string | Obtiene el nombre del directorio. |
En PowerShell, este tipo es System.IO.DirectoryInfo. El tipo de la propiedad Attributes es System.IO.FileAttributes.
4.5.18 Tipo de descripción de archivo
El cmdlet New-Item puede crear elementos de varios tipos, incluidos los archivos FileSystem. El tipo de un objeto de descripción de archivo está definido por la implementación; tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Atributos | Propiedad de instancia (lectura y escritura) | Implementación definida (§4.2.6.3) | Obtiene o establece uno o varios de los atributos del objeto de archivo. |
| BaseName | Propiedad de instancia (solo lectura) | string | Obtiene el nombre del archivo que excluye la extensión. |
| HoraDeCreación | Propiedad de instancia (lectura y escritura) | Implementación definida (§4.5.19) | Obtiene y establece la hora de creación del objeto de archivo. |
| Extensión | Propiedad de instancia (solo lectura) | string | Obtiene la parte de extensión del nombre de archivo. |
| Nombre completo | Propiedad de instancia (solo lectura) | string | Obtiene la ruta de acceso completa del archivo. |
| LastWriteTime | Propiedad de instancia (lectura y escritura) | Implementación definida (§4.5.19) | Obtiene y establece la hora en la que se escribió por última vez el archivo. |
| Largura | Propiedad de instancia (solo lectura) | long | Obtiene el tamaño del archivo, en bytes. |
| Nombre | Propiedad de instancia (solo lectura) | string | Obtiene el nombre del archivo. |
| Información de la versión | Propiedad de instancia (solo lectura) | Implementación definida | Windows PowerShell: esta ScriptProperty devuelve un elemento System.Diagnostics.FileVersionInfo para el archivo. |
En PowerShell, este tipo es System.IO.FileInfo.
4.5.19 Tipo de descripción Date-Time
El tipo de un objeto de descripción de fecha y hora está definido por la implementación; tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Día | Propiedad de instancia (solo lectura) | int | Obtiene el componente correspondiente al día del mes representado por esta instancia |
| Hora | Propiedad de instancia (solo lectura) | int | Obtiene el componente de hora de la fecha representada por esta instancia. |
| Minuto | Propiedad de instancia (solo lectura) | int | Obtiene el componente correspondiente a los minutos de la fecha representada por esta instancia. |
| Mes | Propiedad de instancia (solo lectura) | int | Obtiene el componente mes de la fecha representada por esta instancia. |
| Segundo | Propiedad de instancia (solo lectura) | int | Obtiene el componente de segundos de la fecha representada por esta instancia. |
| Año | Propiedad de instancia (solo lectura) | int | Obtiene el componente de año de la fecha representada por esta instancia. |
Un objeto de este tipo puede ser creado por el cmdlet Get-Date.
En PowerShell, este tipo es System.DateTime.
4.5.20 Tipo de descripción Group-Info
El tipo de un objeto de descripción group-info está definido por la implementación y tiene estos miembros accesibles:
| Miembro | Tipo de miembro | Tipo | Propósito |
|---|---|---|---|
| Count | Propiedad de instancia (solo lectura) | int | Obtiene la cantidad de elementos del grupo |
| Grupo | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Obtiene los elementos del grupo |
| Nombre | Propiedad de instancia (solo lectura) | string | Obtiene el nombre del grupo. |
| Valores | Propiedad de instancia (solo lectura) | Colección definida por la implementación | Obtiene los valores de los elementos del grupo. |
Un objeto de este tipo se puede crear mediante el cmdlet Group-Object.
En PowerShell, este tipo es Microsoft.PowerShell.Commands.GroupInfo.
4.5.21 Tipo de descripción Generic-Measure-Info
El tipo de un objeto de descripción generic-measure-info está definido por la implementación y tiene estos miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Promedio | Propiedad de instancia (solo lectura) | doble | Obtiene el promedio de los valores de las propiedades que se miden. |
| Count | Propiedad de instancia (solo lectura) | int | Obtiene el número de objetos con las propiedades especificadas. |
| Máximo | Propiedad de instancia (solo lectura) | doble | Obtiene el valor máximo de las propiedades especificadas. |
| Mínimo | Propiedad de instancia (solo lectura) | doble | Obtiene el valor mínimo de las propiedades especificadas. |
| Propiedad | Propiedad de instancia (solo lectura) | string | Obtiene la propiedad que se va a medir |
| Suma | Propiedad de instancia (solo lectura) | doble | Obtiene la suma de los valores de las propiedades especificadas. |
Un objeto de este tipo se puede crear mediante el cmdlet Measure-Object.
En PowerShell, este tipo es Microsoft.PowerShell.Commands.GenericMeasureInfo.
4.5.22 Tipo de descripción Text-Measure-Info
El tipo de un objeto de descripción text-info está definido por la implementación y tiene estos miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Caracteres | Propiedad de instancia (solo lectura) | int | Obtiene el número de caracteres del objeto de destino. |
| Líneas | Propiedad de instancia (solo lectura) | int | Obtiene el número de líneas del objeto de destino. |
| Propiedad | Propiedad de instancia (solo lectura) | string | Obtiene la propiedad que se va a medir |
| Palabras | Propiedad de instancia (solo lectura) | int | Obtiene el número de palabras del objeto de destino. |
Un objeto de este tipo se puede crear mediante el cmdlet Measure-Object.
En PowerShell, este tipo es Microsoft.PowerShell.Commands.TextMeasureInfo.
4.5.23 Tipo de credencial
A continuación, se puede usar un objeto de credencial en varias operaciones de seguridad. El tipo de un objeto de credencial está definido por la implementación; tiene los siguientes miembros accesibles:
| Miembro | Tipo de miembro | Tipo | Propósito |
|---|---|---|---|
| Contraseña | Propiedad de instancia (solo lectura) | Implementación definida | Obtiene la contraseña. |
| Nombre de usuario | Propiedad de instancia (solo lectura) | string | Obtiene el nombre de usuario. |
Un objeto de este tipo se puede crear mediante el cmdlet Get-Credential.
En PowerShell, este tipo es System.Management.Automation.PSCredential.
4.5.24 Tipo de designador de método
El tipo de un designador de métodos está definido por la implementación; tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Invocar | Método de instancia | número y tipo de objeto/variable | Toma un número variable de argumentos y llama indirectamente al método al que hace referencia el designador de método primario, pasando los argumentos. |
Un objeto de este tipo se puede crear mediante una expresión de invocación (§7.1.3).
En PowerShell, este tipo es System.Management.Automation.PSMethod.
4.5.25 Tipo de definición de miembro
Este tipo encapsula la definición de un miembro. Tiene los siguientes miembros accesibles:
| Miembro | Variante de miembro | Tipo | Propósito |
|---|---|---|---|
| Definición | Propiedad de instancia (solo lectura) | string | Obtiene la definición del miembro |
| TipoDeMiembro | Propiedad de instancia (solo lectura) | Implementación definida | Obtiene el tipo de PowerShell del miembro. |
| Nombre | Propiedad de instancia (solo lectura) | string | Obtiene el nombre del miembro. |
| TypeName | Propiedad de instancia (solo lectura) | string | Obtiene el nombre de tipo del miembro |
En PowerShell, este tipo es Microsoft.PowerShell.Commands.MemberDefinition.
4.6 Extensión de tipo y adaptación
Una implementación de PowerShell incluye una familia de tipos principales (que se documentan en este capítulo) que cada uno contiene su propio conjunto de miembros base de . Esos miembros pueden ser métodos o propiedades, y pueden ser miembros estáticos o de instancia. Por ejemplo, los miembros base del tipo string (§4.3.1) corresponden a la propiedad de instancia Length y los métodos de instancia ToLower y ToUpper.
Cuando se crea un objeto, contiene todas las propiedades de instancia del tipo de ese objeto y se puede llamar a los métodos de instancia de ese tipo en ese objeto. Un objeto se puede personalizar mediante la adición de miembros de instancia en tiempo de ejecución. El resultado se denomina objeto personalizado . Los miembros agregados a una instancia solo existen durante la vida de esa instancia; Otras instancias del mismo tipo de núcleo no se ven afectadas.
El conjunto de miembros base de un tipo se puede aumentar mediante la adición de los siguientes tipos de miembros:
- miembros adaptados, a través del sistema de tipo extendido (ETS), cuyos detalles en su mayoría no están especificados.
- miembros extendidos, a través del Add-Member.
En PowerShell, los miembros extendidos también se pueden agregar a través de archivos types.ps1xml. En conjunto, los miembros adaptados y extendidos se denominan miembrossintéticos.
ETS agrega los siguientes miembros a todos los objetos de PowerShell: psbase, psadapted, psextendedy pstypenames. Consulte los parámetros Force y View en el cmdlet Get-Member para obtener más información sobre estos miembros.
Un miembro de instancia puede ocultar un miembro extendido o adaptado del mismo nombre y un miembro extendido puede ocultar un miembro adaptado. En tales casos, los conjuntos de miembros psadapted y psextended se pueden usar para acceder a esos miembros ocultos.
Si un types.ps1xml especifica un miembro denominado Supports, obj.psextended proporciona acceso solo a ese miembro y no a un miembro agregado a través de Add-Member.
Hay tres maneras de crear un objeto personalizado que tenga un nuevo miembro M:
Este enfoque se puede usar para agregar uno o varios miembros NoteProperty.
$x = New-Object PSObject -Property @{M = 123}Este enfoque se puede usar para agregar miembros NoteProperty o ScriptMethod.
$x = New-Module -AsCustomObject {$M = 123 ; Export-ModuleMember --Variable M}Este enfoque se puede usar para agregar cualquier tipo de miembro.
$x = New-Object PSObject Add-Member -InputObject $x -Name M -MemberType NoteProperty -Value 123
PSObject es el tipo base de todos los tipos de PowerShell.