Está en la página 1de 1732

POWERSHELL

NOMBRE New-TimeSpan SINOPSIS Crea un objeto TimeSpan. SINTAXIS New-TimeSpan [[-Start] <DateTime>] [[-End] <DateTime>] [<CommonParameters>] New-TimeSpan [-Days <int>] [-Hours <int>] [-Minutes <int>] [-Seconds <int>] [<CommonParameters>] DESCRIPCIN El cmdlet New-TimeSpan crea un objeto TimeSpan que representa un intervalo de tiempo. Este objeto puede usarse para sumar o restar tiempo de los objetos DateTime. Sin parmetros, el comando "New-Timespan" devuelve un objeto TimeSpan que representa el intervalo de tiempo cero. PARMETROS -Days <int> Indica los das de un intervalo de tiempo. El valor predeterminado es 0. -End <DateTime> Indica el final de un intervalo de tiempo. El valor predeterminado es la fecha y la hora actuales. -Hours <int> Indica las horas de un intervalo de tiempo. El valor predeterminado es cero. -Minutes <int> Indica los minutos de un intervalo de tiempo. El valor predeterminado es 0. -Seconds <int> Indica el intervalo de tiempo en segundos. El valor predeterminado es 0. -Start <DateTime> Indica el inicio de un intervalo de tiempo. Escriba una cadena que representa la fecha y la hora, como "3/15/09" o un objeto DateTime, como el de un comando Get-Date. El valor predeterminado es la fecha y la hora actuales. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters".

-------------------------- EJEMPLO 1 -------------------------C:\PS>$timespan = new-timespan -hour 1 -minute 25 Descripcin ----------Este comando crea un objeto TimeSpan de 1 hora y 25 minutos de duracin y lo almacena en una variable denominada $timespan. Muestra una representacin del objeto TimeSpan. -------------------------- EJEMPLO 2 -------------------------C:\PS>new-timespan -end (get-date -year 2010 -month 1 -day 1) Descripcin ----------En este ejemplo, se crea un nuevo objeto TimeSpan que representa el intervalo de tiempo comprendido entre la ejecucin del comando y el 1 de enero de 2010. Este comando no requiere el parmetro Start porque el valor predeterminado de este parmetro es la fecha y la hora actuales. -------------------------- EJEMPLO 3 -------------------------C:\PS>$90days = new-timespan -days 90 C:\PS> (get-date) + $90days Descripcin ----------Estos comandos devuelven la fecha correspondiente a 90 das despus de la fecha actual. NOTAS Para ver los ejemplos, escriba: "get-help New-TimeSpan -examples". Para obtener ms informacin, escriba: "get-help New-TimeSpan detailed". Para obtener informacin tcnica, escriba: "get-help New-TimeSpan full". NOMBRE Read-Host SINOPSIS Lee una lnea de entrada de la consola. SINTAXIS Read-Host [[-Prompt] <Object>] [-AsSecureString] [<CommonParameters>] DESCRIPCIN El cmdlet Read-Host lee una lnea de entrada de la consola. Este cmdlet se puede usar para solicitar al usuario que proporcione datos. Dado que la entrada se puede guardar como una cadena segura, este cmdlet puede usarse para solicitar a los usuarios que proporcionen datos seguros, como contras

eas, as como datos compartidos. PARMETROS -AsSecureString [<SwitchParameter>] Muestra asteriscos (*) en lugar de los caracteres que el usuario escribe. Cuando se usa este parmetro, el resultado del cmdlet Read-Host es un objeto SecureString (System.Security.SecureString). -Prompt <Object> Especifica el texto de la solicitud. Escriba una cadena. Si la cadena contiene espacios, escrbala entre comillas. Por ejemplo, "Type an integer: ". <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$age = read-host "Please enter your age:" Descripcin ----------Este comando muestra la cadena "Please enter your age:" como un mensaje de solicitud de datos. Cuando se escribe un valor y se presiona la tecla ENTRAR, el valor se almacena en la variable $age.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$pwd_secure_string = read-host "Enter a Password:" -assecurestring Descripcin ----------Este comando muestra la cadena "Enter a Password:" como un mensaje de solicitud de datos. Cuando se escribe un valor, en la consola aparecen asteriscos (*) en lugar del texto que se ha escrito. Cuando se presiona la tecla ENTRAR, se almacena el valor como un objeto SecureString en la variable $ pwd_secure_string.

NOTAS Para ver los ejemplos, escriba: "get-help Read-Host -examples". Para obtener ms informacin, escriba: "get-help Read-Host -detailed". Para obtener informacin tcnica, escriba: "get-help Read-Host -full". NOMBRE Set-Alias SINOPSIS

Crea o cambia un alias (nombre alternativo) de un cmdlet o cualquier otro elemento de comando de la sesin actual de Windows PowerShell. SINTAXIS Set-Alias [-Name] <string> [-Value] <string> [-Description <string>] [Force] [-Option {None | ReadOnly | Constant | Private | AllScope}] [PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Set-Alias crea o cambia un alias (nombre alternativo) de un cmdlet u otro elemento de comando, como una funcin, un script, un archivo u otro ejecutable. Tambin puede usar Set-Alias para reasignar el alias actual a un nuevo comando o cambiar cualquiera de las propiedades de un alias, como su descripcin. A menos que agregue el alias al perfil de Windows PowerShell, los cambios que realice en el alias se perdern al terminar la sesin o cerrar Windows PowerShell. PARMETROS -Description <string> Especifica una descripcin del alias. Puede escribir cualquier cadena. Si la descripcin contiene espacios, escrbala entre comillas. -Force [<SwitchParameter>] Permite al cmdlet establecer un alias de solo lectura. Utilice el parmetro Option para crear un alias de solo lectura. El parmetro Force no puede establecer un alias constante. -Name <string> Especifica el nuevo alias. Pueden usarse caracteres alfanumricos en los alias, pero el primer carcter no puede ser un nmero. -Option <ScopedItemOptions> Establece el valor de la propiedad Options de un alias. Los valores vlidos son: -- None: no establece opciones. (Valor predeterminado.) -- ReadOnly: no se pueden cambiar las propiedades del alias, excepto con el parmetro Force. Se puede usar Remove-Item para eliminar el alias. -- Constant: no se puede eliminar el alias ni se pueden cambiar sus propiedades. El valor Constant est disponible nicamente cuando se crea un alias. No se puede cambiar la opcin de un alias existente a Constant. -- Private: el alias solo est disponible en el mbito especificado por el parmetro Scope. En los dems mbitos, el alias no est visible. -- AllScope: el alias se copia en los nuevos mbitos que se creen. Para ver la propiedad Options de los alias, escriba "get-alias | format-table -property Name, Definition, Options -autosize". -PassThru [<SwitchParameter>] Devuelve un objeto que representa el alias. De forma predeterminada, este cmdlet no genera resultados. -Scope <string>

Especifica el mbito en el que es vlido este alias. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y 1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms i nformacin, vea about_Scopes. -Value <string> Especifica el nombre del elemento de cmdlet o comando al que se asigna un alias. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>set-alias -name list -value get-childitem Descripcin ----------Este comando crea el alias "list" para el cmdlet Get-ChildItem. Despus de crear el alias, podr usar "list" en lugar de "Get-ChildItem" en la lnea de comandos y en los scripts.

-------------------------- EJEMPLO 2 -------------------------C:\PS>set-alias list get-location Descripcin ----------Este comando asocia el alias "list" con el cmdlet Get-Location. Si "list" es el alias de otro cmdlet, este comando modificar su asociacin de modo que pase a ser nicamente el alias de Get-Location. Este comando usa el mismo formato que el comando del ejemplo anterior, pero omite los nombres de parmetros opcionales, -Name y -Value. Cuando se omiten los nombres de parmetros, los valores de esos parmetros deben aparecer en el comando en el orden especificado. En este caso, el valor de Na me ("list") debe ser el primer parmetro y el valor de -Value ("getlocation") debe ser el segundo parmetro.

-------------------------- EJEMPLO 3 --------------------------

C:\PS>set-alias scrub remove-item -option readonly -passthru | formatlist Descripcin ----------Este comando asocia el alias "scrub" con el cmdlet Remove-Item. Usa la opcin "ReadOnly" para evitar que se borre el alias o que se asigne a otro cmdlet. El parmetro PassThru indica a Windows PowerShell que pase un objeto que represente el nuevo alias a travs de la canalizacin al cmdlet Format-List. Si se omite el parmetro PassThru, no se generar ningn resultado en este cmdlet que pudiera mostrarse (en una lista u otro soporte).

-------------------------- EJEMPLO 4 -------------------------C:\PS>Set-Alias np c:\windows\notepad.exe Descripcin ----------Este comando asocia el alias "np" con el archivo ejecutable de Bloc de notas. Una vez que el comando finaliza su ejecucin, basta con escribir "np". para abrir Bloc de notas desde la lnea de comandos de Windows PowerShell. En este ejemplo se muestra cmo se crean alias para archivos ejecutables y otros elementos que no son cmdlets. Para que el comando resulte ms general, puede usarse la variable de entorno "Windir" (${env:windir}) para representar el directorio C\Windows. La versin genrica del comando es "set-alias np ${env:windir}\notepad.exe".

-------------------------- EJEMPLO 5 -------------------------C:\PS>function CD32 {set-location c:\windows\system32} C:\PS>set-alias go cd32 Descripcin ----------Estos comandos muestra cmo se asigna una alias a un comando con parmetros o incluso a una canalizacin de muchos comandos. Se puede crear un alias para un cmdlet, pero no se puede crear un alias para un comando compuesto por un cmdlet y sus parmetros. Sin embargo, si sita el comando en una funcin o un script, puede crear a continuacin un nombre til para a la funcin o el script, adems de uno o varios alias pa ra la funcin o el script. En este ejemplo, el usuario desea crear un alias para el comando "setlocation c:\windows\system32", donde "set-location" es un cmdlet y "C:\Windows\System32" es el valor del parmetro Path. Para ello, el primer comando crea una funcin denominada "CD32" que contiene el comando Set-Location.

El segundo comando crea el alias "go" para la funcin CD32. A continuacin, para ejecutar el comando Set-Location, el usuario puede escribir "CD32" o "go".

NOTAS Para ver los ejemplos, escriba: "get-help Set-Alias -examples". Para obtener ms informacin, escriba: "get-help Set-Alias -detailed". Para obtener informacin tcnica, escriba: "get-help Set-Alias -full". NOMBRE Select-String SINOPSIS Busca texto en cadenas y archivos. SINTAXIS Select-String [-Path] <string[]> [-Pattern] <string[]> [-AllMatches] [CaseSensitive] [-Context <Int32[]>] [-Encoding <string>] [-Exclude <string[]>] [-Include <string[]>] [-List] [-NotMatch] [-Quiet] [SimpleMatch] [<CommonParameters>] Select-String -InputObject <psobject> [-Pattern] <string[]> [AllMatches] [-CaseSensitive] [-Context <Int32[]>] [-Encoding <string>] [Exclude <string[]>] [-Include <string[]>] [-List] [-NotMatch] [-Quiet] [SimpleMatch] [<CommonParameters>] DESCRIPCIN El cmdlet Select-String busca texto y patrones de texto en los archivos y cadenas de entrada. Puede utilizarlo como Grep en UNIX y Findstr en Windows. Select-String se basa en lneas de texto. De forma predeterminada, Select-String busca la primera coincidencia en cada lnea y, para cada coincidencia, muestra el nombre de archivo, el nmero de lnea y todo el texto de la lnea que contiene la coincidencia. Sin embargo, puede indicar al cmdlet que detecte varias coincidencias por lnea, muestre el texto que figura antes y despus de la coincidencia, o bien, muestre nicamente un valor booleano (True o False) para indicar si se ha encontrado o no una coincidencia. Select-String utiliza la coincidencia de expresiones regulares, pero tambin puede usar una coincidencia simple que busca en la entrada el texto especificado. Select-String puede mostrar todas las coincidencias de texto o detenerse despus de la primera coincidencia en cada archivo de entrada. Tambin puede mostrar todo el texto que no coincide con el patrn especificado. Asimismo, se puede especificar que Select-String debe esperar una codificacin de caracteres determinada, por ejemplo, al buscar en archivos de texto Unicode. PARMETROS

-AllMatches [<SwitchParameter>] Busca varias coincidencias en cada lnea de texto. Sin este parmetro, Select-String busca nicamente la primera coincidencia en cada lnea de texto. Cuando Select-String encuentra ms de una coincidencia en una lnea de texto, sigue emitiendo solo un objeto MatchInfo para la lnea pero la propiedad Matches del objeto contiene todas las coincidencias. -CaseSensitive [<SwitchParameter>] Determina que debe distinguirse entre maysculas y minsculas en las coincidencias. De manera predeterminada, no se distingue entre maysculas y minsculas en las coincidencias. -Context <Int32[]> Captura el nmero especificado de lneas antes y despus de la lnea con la coincidencia. Permite ver la coincidencia en su contexto. Si especifica un nmero como valor de este parmetro, ese nmero determina el nmero de lneas que se van a capturar antes y despus de la coincidencia. Si especifica dos nmeros como valor, el primer nmero determina el nmero de lneas antes de la coincidencia y el segundo nmero determin a el nmero de lneas despus de la coincidencia. De forma predeterminada, las lneas con una coincidencia se indican mediante un corchete angular de cierre (ASCII 62) en la primera columna. Las lneas sin marcar son el contexto. Este parmetro no cambia el nmero de objetos generados por SelectString. Select-String genera un objeto MatchInfo (Microsoft.PowerShell.Commands.MatchInfo) por cada coincidencia. El contexto se almacena como una matriz de cadenas en la propiedad Context del objeto. Al canalizar el resultado de un comando Select-String a otro comando Select-String, el comando que lo recibe busca solo en el texto de la lnea con la coincidencia (valor de la propiedad Line del objeto MatchInfo); no busca en el texto de las lneas de contexto. Como resultado, el parmetro Context no es vlido en el comando Select-String receptor. Cuando el contexto incluye una coincidencia, el objeto MatchInfo de cada coincidencia incluye todas las lneas de contexto, pero las lneas superpuestas se muestran solo una vez. -Encoding <string> Especifica la codificacin de caracteres que Select-String debe suponer al buscar en el archivo. El valor predeterminado es UTF8. Los valores vlidos son "UTF7", "UTF8", "UTF32", "ASCII", "Unicode", "BigEndianUnicode", "Default" y "OEM". "Default" es la codificacin de la pgina de cdigos ANSI actual del sistema. "OEM" es el identificador de la pgina de cdigos del fabricante del equipo original actual del sistema o perativo. -Exclude <string[]> Excluye los elementos especificados. El valor de este parmetro califica el parmetro Path. Escriba un patrn o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodn. -Include <string[]>

Incluye nicamente los elementos especificados. El valor de este parmetro califica el parmetro Path. Escriba un patrn o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodn. -InputObject <psobject> Especifica el texto en el que se va a buscar. Escriba la variable que contenga el texto o escriba un comando o una expresin que lo obtenga. -List [<SwitchParameter>] Devuelve solo la primera coincidencia en cada archivo de entrada. De forma predeterminada, Select-String devuelve un objeto MatchInfo por cada coincidencia que se encuentra. -NotMatch [<SwitchParameter>] Busca texto que no coincide con el patrn especificado. -Path <string[]> Especifica la ruta de acceso a los archivos en los que se va a buscar. Se permite el uso de caracteres comodn. La ubicacin predeterminada es el directorio local. Especifique archivos del directorio, como "log1.txt", "*.doc" o "*.*". Si especifica solo un directorio, el comando generar un error. -Pattern <string[]> Especifica el texto que se va a buscar. Escriba una cadena o una expresin regular. Si escribe una cadena, utilice el parmetro SimpleMatch. Para obtener informacin sobre las expresiones regulares, vea about_Regular_Expressions. -Quiet [<SwitchParameter>] Devuelve un valor booleano (true o false) en lugar de un objeto MatchInfo. El valor es "true" si se encuentra el patrn; de lo contrario, el valor es "false". -SimpleMatch [<SwitchParameter>] Utiliza una coincidencia simple en lugar de una coincidencia de expresiones regulares. En una coincidencia simple, Select-String busca en la entrada el texto del parmetro Pattern. No interpreta el valor del parmetro Pattern como una instruccin de expresin regular. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>"Hello","HELLO" | select-string -pattern "HELLO" -casesensitive Descripcin ----------Este comando busca coincidencias con distincin entre minsculas y maysculas del texto que se canaliz al comando Select-String. Como resultado, Select-String solo encuentra "HELLO" porque "Hello" no coincide.

Dado que cada una de las cadenas entrecomilladas se trata como una lnea, sin el parmetro CaseSensitive, Select-String reconocera ambas cadenas como coincidencias.

-------------------------- EJEMPLO 2 -------------------------C:\PS>select-string -path *.xml -pattern "the the" Descripcin ----------Este comando busca en todos los archivos con la extensin .xml del directorio actual y muestra las lneas de esos archivos que contienen la cadena "the the".

-------------------------- EJEMPLO 3 -------------------------C:\PS>select-string -path $pshome\en-US\*.txt -pattern "@" Descripcin ----------Este comando busca en los archivos de Ayuda conceptual (about_*.txt) de Windows PowerShell informacin sobre el uso del signo arroba (@). Para indicar la ruta de acceso, este comando usa el valor de la variable automtica $pshome, que almacena la ruta de acceso al directorio de instalacin de Windows PowerShell. En este ejemplo, el comando busca en el subdirectorio en-US, que contiene los archivos de Ayuda de Windows PowerShell e n ingls (EE. UU.).

-------------------------- EJEMPLO 4 -------------------------C:\PS>function search-help { $pshelp = "$pshome\es\about_*.txt", "$pshome\en-US\*dll-help.xml" select-string -path $pshelp -pattern $args[0] } Descripcin ----------Esta funcin simple utiliza el cmdlet Select-String para buscar una cadena concreta en los archivos de Ayuda de Windows PowerShell. En este ejemplo, la funcin busca en el subdirectorio "en-US" los archivos de Ayuda en ingls de Estados Unidos. Si desea usar la funcin para buscar una cadena como "psdrive", escriba "search-help psdrive". Para utilizar esta funcin en cualquier consola de Windows PowerShell, cambie la ruta de acceso de modo que apunte a los archivos de Ayuda de Windows PowerShell en su sistema y, a continuacin, pegue la funcin en su perfil de Windows PowerShell.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$events = get-eventlog -logname application -newest 100 C:\PS> $events | select-string -inputobject {$_.message} -pattern "failed" Descripcin ----------En este ejemplo, se busca la cadena "failed" en los 100 eventos ms recientes del registro de aplicaciones en el Visor de eventos. El primer comando utiliza el cmdlet Get-EventLog para obtener los 100 eventos ms recientes del registro de eventos de aplicacin. A continuacin, los almacena en la variable $events. El segundo comando usa un operador de canalizacin (|) para enviar los objetos almacenados en la variable $events a Select-String. Utiliza el parmetro InputObject para representar la entrada de la variable $events. El valor del parmetro InputObject es la propiedad Message de cada objeto cuand o pasa a travs de la canalizacin. El objeto actual viene representado por el smbolo $_. Cuando cada uno de los eventos llega a la canalizacin, Select-String busca en el valor de su propiedad Message la cadena "failed" y, a continuacin, muestra las lneas que incluyen una coincidencia.

-------------------------- EJEMPLO 6 -------------------------C:\PS>get-childitem c:\windows\system32\* -include *.txt -recurse | select-string -pattern "Microsoft" -casesensitive Descripcin ----------Este comando examina todos los archivos de los subdirectorios de C:\Windows\System32 que tienen la extensin .txt y busca la cadena "Microsoft". El parmetro CaseSensitive indica que la "M" de "Microsoft" debe estar en maysculas y el resto de los caracteres en minsculas para que Select-String encuentre una coincidencia.

-------------------------- EJEMPLO 7 -------------------------C:\PS>select-string -path process.txt -pattern idle, svchost -notmatch Descripcin ----------Este comando busca en el archivo Process.txt las lneas de texto que no incluyan la palabra "idle" o "svchost".

-------------------------- EJEMPLO 8 -------------------------C:\PS>$f = select-string -path audit.log -pattern "logon failed" context 2, 3 C:\PS> $f.count C:\PS> ($f)[0].context | format-list Descripcin ----------El primer comando busca en el archivo Audit.Log la cadena "logon failed". Utiliza el parmetro Context para capturar 2 lneas antes de la coincidencia y 3 lneas despus de la coincidencia. El segundo comando usa la propiedad Count de las matrices de objetos para mostrar el nmero de coincidencias encontradas; en este caso, son 2. El tercer comando muestra las lneas almacenadas en la propiedad Context del primer objeto MatchInfo. Utiliza la notacin de matriz para indicar la primera coincidencia (coincidencia 0 en una matriz de base cero) y usa el cmdlet Format-List para mostrar el valor de la propiedad Context como una lista. El resultado se compone de dos objetos MatchInfo, uno por cada coincidencia detectada. Las lneas de contexto se almacenan en la propiedad Context del objeto MatchInfo.

-------------------------- EJEMPLO 9 -------------------------C:\PS>$a = get-childitem $pshome\en-us\about*.help.txt | select-string pattern transcript C:\PS> $b = get-childitem $pshome\en-us\about*.help.txt | select-string -pattern transcript -allmatches C:\PS> $a C:\Windows\system32\WindowsPowerShell\v1.0\enus\about_Pssnapins.help.txt:39: Start-Transcript and Stop-Transcript. C:\PS> $b C:\Windows\system32\WindowsPowerShell\v1.0\enus\about_Pssnapins.help.txt:39: Start-Transcript and Stop-Transcript. C:\PS>> $a.matches Groups : {Transcript} Success : True Captures : {Transcript} Index : 13 Length : 10 Value : Transcript C:\PS> $b.matches

Groups Success Captures Index Length Value Groups Success Captures Index Length Value

: : : : : : : : : : : :

{Transcript} True {Transcript} 13 10 Transcript {Transcript} True {Transcript} 33 10 Transcript

Descripcin ----------En este ejemplo, se muestra el efecto del parmetro AllMatches de Select-String. AllMatches busca todas las coincidencias de patrn en una lnea en lugar de buscar simplemente la primera coincidencia en cada lnea. El primer comando del ejemplo busca en los archivos de Ayuda conceptual (Ayuda "about") de Windows PowerShell instancias de la palabra "transcript". El segundo comando es idntico, salvo en que utiliza el parmetro AllMatches. El resultado del primer comando se guarda en la variable $a. El resultado del segundo comando se guarda en la variable $b. De forma predeterminada, las variables tienen valores idnticos, tal y como se muestra en el resultado de ejemplo. Sin embargo, el quinto y el sexto comando muestran el valor de la propiedad Matches de cada objeto. La propiedad Matches del primer comando contiene solo una coincidencia (es decir, un objeto System.Text.RegularExpressions.Match), mientras que la propiedad Matches del segundo comando contiene o bjetos para ambas coincidencias en la lnea.

NOTAS Para ver los ejemplos, escriba: "get-help Select-String -examples". Para obtener ms informacin, escriba: "get-help Select-String detailed". Para obtener informacin tcnica, escriba: "get-help Select-String full". NOMBRE Measure-Object SINOPSIS Calcula las propiedades numricas de los objetos as como los caracteres, palabras y lneas en los objetos de cadena, como archivos de texto. SINTAXIS Measure-Object [-Average] [-Maximum] [-Minimum] [-Sum] [[-Property] <string[]>] [-InputObject <psobject>] [<CommonParameters>]

Measure-Object [-Character] [-IgnoreWhiteSpace] [-Line] [-Word] [[Property] <string[]>] [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet Measure-Object calcula los valores de propiedad de determinados tipos de objetos. Measure-Object realiza tres tipos de mediciones, segn los parmetros del comando. El cmdlet Measure-Object realiza clculos con los valores de propiedad de los objetos. Puede contar objetos y calcular el mnimo, el mximo, la suma y el promedio de los valores numricos. En el caso de los objetos de texto, puede contar y calcular el nmero de lneas, palabras y caracteres. PARMETROS -Average [<SwitchParameter>] Muestra el promedio de las propiedades especificadas. -Character [<SwitchParameter>] Cuenta el nmero de caracteres del objeto de entrada. -IgnoreWhiteSpace [<SwitchParameter>] Omite los espacios en blanco al contar el nmero de palabras y caracteres. De forma predetermina, se tienen en cuenta los espacios en blanco. -InputObject <psobject> Especifica los objetos que se van a medir. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -Line [<SwitchParameter>] Cuenta el nmero de lneas del objeto de entrada. -Maximum [<SwitchParameter>] Muestra el valor mximo de las propiedades especificadas. -Minimum [<SwitchParameter>] Muestra el valor mnimo de las propiedades especificadas. -Property <string[]> Especifica una o varias propiedades numricas que se van a medir. El valor predeterminado es la propiedad Count (Length) del objeto. -Sum [<SwitchParameter>] Muestra la suma de los valores de las propiedades especificadas. -Word [<SwitchParameter>] Cuenta el nmero de palabras en el objeto de entrada. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-childitem | measure-object Descripcin

----------Este comando cuenta los archivos y carpetas del directorio actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-childitem | measure-object -property length -minimum -maximum -average Descripcin ----------Este comando muestra el tamao mnimo, el tamao mximo y la suma de los tamaos de todos los archivos ubicados en el directorio actual, as como el tamao de archivo medio del directorio.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-content C:\test.txt | measure-object -character -line -word Descripcin ----------Este comando muestra el nmero de caracteres, palabras y lneas del archivo Text.txt.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-process | measure-object -property workingset -minimum maximum -average Descripcin ----------Este comando muestra el tamao mnimo, el tamao mximo y el tamao medio de los conjuntos de trabajo de los procesos en el equipo.

-------------------------- EJEMPLO 5 -------------------------C:\PS>import-csv d:\test\serviceyrs.csv | measure-object -property years -minimum -maximum -average Descripcin ----------Este comando calcula el promedio de los aos de servicio de los empleados de una compaa. El archivo ServiceYrs.csv es un archivo CSV que contiene el nmero de empleados y los aos de servicio de cada empleado. La primera fila de la tabla es la fila de encabezado "EmpNo, Years". Cuando se usa Import-Csv para importar el archivo, el resultado es un objeto PSCustomObject con EmpNo y Years como propiedades Note. Se puede

utilizar Measure-Object para calcular los valores de estas propiedades, al igual que cualquier otra propiedad de un objeto.

-------------------------- EJEMPLO 6 -------------------------C:\PS>get-childitem | measure-object -property psiscontainer -max -sum min -average Count Average Sum Maximum Minimum Property : : : : : : 126 0.0634920634920635 8 1 0 PSIsContainer

Descripcin ----------En este ejemplo, se muestra que Measure-Object puede medir valores booleanos. En este caso, se utiliza la propiedad booleana PSIsContainer para medir la incidencia de carpetas (con respecto a archivos) en el directorio actual.

NOTAS Para ver los ejemplos, escriba: "get-help Measure-Object -examples". Para obtener ms informacin, escriba: "get-help Measure-Object detailed". Para obtener informacin tcnica, escriba: "get-help Measure-Object full". NOMBRE New-Alias SINOPSIS Crea un nuevo alias. SINTAXIS New-Alias [-Name] <string> [-Value] <string> [-Description <string>] [Force] [-Option {None | ReadOnly | Constant | Private | AllScope}] [PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet New-Alias crea un nuevo alias en la actual sesin de Windows PowerShell. Los alias que se crean mediante New-Alias no se guardan cuando se cierra la sesin o Windows PowerShell. Puede usar el cmdlet Export-Alias para guardar la informacin de los alias en un archivo. Despus, puede us ar Import-Alias para recuperar esta informacin. PARMETROS -Description <string> Especifica una descripcin del alias. Puede escribir cualquier cadena. Si la descripcin contiene espacios, escrbala entre comillas.

-Force [<SwitchParameter>] Cuando se define, acta como set-alias si el alias especificado ya existe. -Name <string> Especifica el nuevo alias. Pueden usarse caracteres alfanumricos en los alias, pero el primer carcter no puede ser un nmero. -Option <ScopedItemOptions> Define una o varias propiedades opcionales del alias. Los valores vlidos son: -- None: no establece opciones. (Valor predeterminado.) -- ReadOnly: no se puede modificar el alias a menos que se use el parmetro Force. -- Constant: no se puede modificar el alias, ni siquiera mediante el parmetro Force. -- Private: el alias solo est disponible en el mbito especificado por el parmetro Scope. En los dems mbitos, el alias no est visible. -PassThru [<SwitchParameter>] Devuelve un objeto que representa el nuevo alias. De forma predeterminada, este cmdlet no genera resultados. -Scope <string> Especifica el mbito del nuevo alias. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y 1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms informacin, vea about_Scopes. -Value <string> Especifica el nombre del elemento de cmdlet o comando al que se asigna un alias. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>new-alias list get-childitem Descripcin ----------Este comando crea un alias denominado "list" para representar el cmdlet Get-ChildItem.

-------------------------- EJEMPLO 2 -------------------------C:\PS>new-alias -name w -value get-wmiobject -description "quick wmi alias" -option ReadOnly C:\PS> get-alias -name w | format-list * Descripcin ----------Este comando crea un alias denominado "w" para representar el cmdlet Get-WMIObject. Crea una descripcin, "quick wmi alias", para el alias de slo lectura. La ltima lnea del comando usa Get-Alias para obtener el nuevo alias y lo canaliza a Format-List para mostrar toda la informacin sobre l .

NOTAS Para ver los ejemplos, escriba: "get-help New-Alias -examples". Para obtener ms informacin, escriba: "get-help New-Alias -detailed". Para obtener informacin tcnica, escriba: "get-help New-Alias -full". NOMBRE Set-Date SINOPSIS Cambia la hora del sistema en el equipo a la hora especificada. SINTAXIS Set-Date [-Adjust] <TimeSpan> [-DisplayHint {Date | Time | DateTime}] [Confirm] [-WhatIf] [<CommonParameters>] Set-Date [-Date] <DateTime> [-DisplayHint {Date | Time | DateTime}] [Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Set-Date modifica la fecha y la hora del sistema en el equipo a la fecha y hora especificadas. Se puede establecer una nueva fecha y hora escribiendo una cadena o pasando un objeto DateTime o TimeSpan a Set-Date. Para especificar una fecha o una hora nueva, use el parmetro Date. Para especificar un intervalo de cambio, use el parmetro Adjust. PARMETROS -Adjust <TimeSpan> Suma o resta el valor especificado de la fecha y hora actuales. Puede escribir un ajuste en el formato de fecha y hora estndar de la configuracin regional o usar el parmetro Adjust para pasar un objeto TimeSpan de New-TimeSpan a Set-Date. -Date <DateTime> Cambia la fecha y la hora a los valores especificados. Puede escribir una nueva fecha en el formato abreviado y una hora en el formato

estndar para la configuracin regional. Tambin puede pasar un objeto DateTime desde Get-Date. Si se especifica una fecha pero no una hora, Set-Date cambia la hora a la medianoche de la fecha especificada. Si slo se especifica una hora, no se modifica la fecha. -DisplayHint <DisplayHintType> Determina qu elementos de fecha y hora se muestran. Los valores vlidos son: -- date: muestra solo la fecha -- time: muestra solo la hora -- datetime: muestra la fecha y la hora Este parmetro afecta nicamente a la presentacin. No afecta al objeto DateTime que Get-Date recupera. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Set-Date -Date (Get-Date).AddDays(3) Descripcin ----------Este comando suma tres das a la fecha actual del sistema. No tiene ningn efecto sobre la hora. El comando usa el parmetro Date para especificar la fecha. Usa el cmdlet Get-Date para obtener la fecha y la hora actuales y aplica a los objetos DateTime el mtodo AddDays de .NET con el valor 3 ( das).

-------------------------- EJEMPLO 2 -------------------------C:\PS>set-date -adjust -0:10:0 -displayHint time Descripcin ----------Este comando retrasa la hora actual del sistema en 10 minutos. Usa el parmetro Adjust para especificar un intervalo de cambio y el cambio de hora (menos 10 minutos) en el formato de hora estndar de la configuracin regional. El parmetro DisplayHint indica a Windows PowerShell que muestre ni camente la hora, pero no afecta al objeto DateTime devuelto por SetDate.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$t = get-date C:\PS>set-date -date $t Descripcin ----------Estos comando cambian la fecha y la hora del sistema en el equipo a la fecha y hora almacenadas en la variable $t. El primer comando obtiene la fecha y la almacena en la variable $t. El segundo comando usa el parmetro Date para pasar el objeto DateTime de $t al cmdlet Set-Date.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$90mins = new-timespan -minutes 90 C:\PS>set-date -adjust $90mins Descripcin ----------Estos comandos adelantan las horas del sistema en el equipo local en 90 minutos. El primer comando usa el cmdlet New-Timespan para crear un objeto TimeSpan con un intervalo de 90 minutos y, a continuacin, guarda el objeto TimeSpan en la variable $90mins. El segundo comando usa el parmetro Adj ust de Set-Date para ajustar la fecha por el valor del objeto TimeSpan almacenado en la variable $90mins.

NOTAS Para ver los ejemplos, escriba: "get-help Set-Date -examples". Para obtener ms informacin, escriba: "get-help Set-Date -detailed". Para obtener informacin tcnica, escriba: "get-help Set-Date -full". NOMBRE Update-List SINOPSIS Agrega y quita elementos de un valor de propiedad que contiene una coleccin de objetos. SINTAXIS Update-List [-Add <Object[]>] [-Remove <Object[]>] [[-Property] <string>] [-InputObject <psobject>] [<CommonParameters>] Update-List -Replace <Object[]> [[-Property] <string>] [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN

El cmdlet Update-List agrega y quita elementos de un valor de propiedad de un objeto y, a continuacin, devuelve el objeto actualizado. Este cmdlet se ha diseado para propiedades que contienen colecciones de objetos. Los parmetros Add y Remove agregan y quitan elementos individuales de la coleccin. El parmetro Replace reemplaza toda coleccin. Si no se especifica ninguna propiedad en el comando, Update-List devuelve un objeto que describe la actualizacin en lugar de actualizar el objeto. El objeto de actualizacin se puede enviar a cmdlets que cambian objetos, como los cmdlets Set-*. Este cmdlet funciona nicamente cuando la propiedad que se est actualizando admite la interfaz IList utilizada por Update-List. Adems, los cmdlets Set-* que aceptan una actualizacin deben admitir la interfaz IList. Los cmdlets bsicos que se instalan con Windows PowerShell no admiten esta in terfaz. Para determinar si un cmdlet admite Update-List, vea el tema de Ayuda del cmdlet. PARMETROS -Add <Object[]> Especifica los valores de propiedad que se van a agregar a la coleccin. Especifique los valores en el orden en que deben aparecer en la coleccin. -InputObject <psobject> Especifica los objetos que se van a actualizar. El objeto que se va a actualizar tambin se puede canalizar a Update-List. -Property <string> Identifica la propiedad que contiene la coleccin que se est actualizando. Si se omite este parmetro, Update-List devuelve un objeto que representa el cambio en lugar de cambiar el objeto. -Remove <Object[]> Especifica los valores de propiedad que se van a quitar de la coleccin. -Replace <Object[]> Especifica una nueva coleccin. Este parmetro reemplaza todos los elementos de la coleccin original con los elementos especificados por este parmetro. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-mailbox | update-list -Property aliases -Add "A","B" -Remove "X","Y" | set-mailbox Descripcin ----------Este comando agrega A y B y quita X e Y de la propiedad Aliases de un buzn.

El comando utiliza el cmdlet Get-MailBox de Microsoft Exchange Server para obtener el buzn. Un operador de canalizacin enva el objeto de buzn al cmdlet Update-List. El comando Update-List utiliza el parmetro Property para indicar que se est actualizando la propiedad Aliases del buzn, y usa los parmetros Add y Remove para especificar los elementos que se agregan y se quitan de la coleccin. La propiedad Aliases cumple las condiciones de Update-List porq ue almacena una coleccin de objetos de Microsoft .NET Framework que tienen los mtodos Add y Remove. El cmdlet Update-List devuelve el buzn actualizado. Este se canaliza al cmdlet Set-MailBox, que cambia el buzn. Para obtener ms informacin sobre Get-Mailbox, vea http://go.microsoft.com/fwlink/?LinkId=111536.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$m = get-mailbox C:\PS> update-list -InputObject $m -Property aliases -Add "A","B" Remove "X", "Y" | set-mailbox Descripcin ----------Este comando agrega A y B al valor de la propiedad Aliases de un buzn y quita X e Y. Este comando tiene el mismo efecto que el comando anterior, aunque tiene un formato ligeramente diferente. El comando utiliza el cmdlet Get-MailBox para obtener el buzn y guarda el buzn en la variable $m. Este comando utiliza el parmetro InputObject de Update-List para especificar el buzn. El valor de InputObject es el buzn almacenado en la variable $m. Utiliza el parmetro Property para especi ficar la propiedad Aliases y usa los parmetros Add y Remove para especificar los elementos que se agregan y se quitan del valor de Alias. El comando utiliza un operador de canalizacin (|) para enviar el objeto de buzn actualizado al cmdlet Set-Mailbox, que cambia el buzn.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-mailbox | set-mailbox -alias (update-list -Add "A", "B" Remove "X","Y") Descripcin ----------Este comando agrega A y B al valor de la propiedad Aliases de un buzn y quita X e Y. Este comando tiene el mismo efecto que los dos comandos anteriores, pero sigue un procedimiento distinto para llevar a cabo la tarea. En lugar de actualizar la propiedad Aliases del buzn antes de enviarla a Set-Mailbox, este comando utiliza Update-List para crear un objeto que

representa el cambio. A continuacin, enva el cambio al parmetro Alias de Set-Mailbox. El comando utiliza el cmdlet Get-MailBox para obtener el buzn. Un operador de canalizacin enva el objeto de buzn al cmdlet Set-Mailbox, que cambia el buzn. El comando utiliza el parmetro Alias de Set-Mailbox para cambiar la propiedad Aliases del objeto de buzn. El valor del parmetro Alias es un comando Update-List que crea un objeto que representa la actualizacin. El comando Update-List se encuentra entre parntesis para asegurar que se ejecut e antes de que se evale el valor del parmetro Alias. Cuando se complete el comando Set-Mailbox, el buzn cambiar.

-------------------------- EJEMPLO 4 -------------------------C:\PS>update-list -InputObject $a -Property aliases -replace "A", "B" | set-mailbox Descripcin ----------Este comando utiliza el operador Replace de Update-List para reemplazar la coleccin en la propiedad Aliases del objeto de $a con una nueva coleccin. Este comando utiliza el parmetro InputObject, lo que en este caso equivale a utilizar un operador de canalizacin para pasar $a a Update-List.

NOTAS Para ver los ejemplos, escriba: "get-help Update-List -examples". Para obtener ms informacin, escriba: "get-help Update-List -detailed". Para obtener informacin tcnica, escriba: "get-help Update-List -full". NOMBRE Update-TypeData SINOPSIS Actualiza la configuracin del tipo extendido actual al volver a cargar los archivos *.types.ps1xml en la memoria. SINTAXIS Update-TypeData [[-AppendPath] <string[]>] [-PrependPath <string[]>] [Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Update-TypeData actualiza la configuracin del tipo extendido actual al volver a cargar los archivos *.types.ps1xml en la memoria. La informacin de tipo extendido normalmente se carga cuando Windows PowerShell necesita la informacin de tipo que contiene. El cmdlet Update-TypeData pu ede usarse para cargar previamente toda la informacin de los tipos. Resulta especialmente til cuando programa tipos y desea cargar estos nuevos tipos para realizar pruebas.

Para obtener ms informacin sobre los archivos *types.ps1xml de Windows PowerShell, vea about_Types.ps1xml. PARMETROS -AppendPath <string[]> Especifica la ruta de acceso a los archivos .ps1xml opcionales que se incluirn en la lista de archivos cargados. Estos archivos se procesan una vez que se han cargado los archivos integrados. -PrependPath <string[]> Especifica la ruta de acceso a los archivos .ps1xml opcionales que se incluirn en la lista de archivos cargados. No obstante, estos archivos se procesan en el orden especificado y antes de que se carguen los archivos integrados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>update-typedata Descripcin ----------Este ejemplo actualiza la configuracin de los tipos extendidos de los archivos *.types.ps1xml.

-------------------------- EJEMPLO 2 -------------------------C:\PS>update-typedata -prependpath typesA.types.Ps1xml, typesB.types.Ps1xml Descripcin ----------En este ejemplo se actualiza la configuracin de los tipos extendidos de los archivos *.types.ps1xml y, para ello, se procesan primero los archivos typesA y typesB.

NOTAS Para ver los ejemplos, escriba: "get-help Update-TypeData -examples". Para obtener ms informacin, escriba: "get-help Update-TypeData detailed".

Para obtener informacin tcnica, escriba: "get-help Update-TypeData full". NOMBRE Update-FormatData SINOPSIS Actualiza los datos de formato de la sesin actual. SINTAXIS Update-FormatData [[-AppendPath] <string[]>] [-PrependPath <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Update-FormatData vuelve a cargar en la sesin actual los datos de formato de los archivos de formato. Este cmdlet permite actualizar los datos de formato sin reiniciar Windows PowerShell. Sin parmetros, Update-FormatData vuelve a cargar los archivos de formato que carg anteriormente. Puede utilizar los parmetros de UpdateFormatData para agregar nuevos archivos de formato a la sesin. Los archivos de formato son archivos de texto en formato XML con la extensin format.ps1xml. Los datos de formato incluidos en los archivos definen cmo se muestran los objetos de Microsoft .NET Framework en la sesin. Cuando se inicia Windows PowerShell, se cargan en la sesin los datos de formato de los archivos de formato ubicados en el directorio de instalacin de Windows PowerShell ($pshome). Puede utilizar Update-FormatData para volver a cargar los datos de formato en la sesin actual sin tener que rein iciar Windows PowerShell. Este cmdlet resulta til si ha agregado o cambiado un archivo de formato pero no desea interrumpir la sesin. Para obtener ms informacin sobre los archivos de formato de Windows PowerShell, vea about_Format.ps1xml. PARMETROS -AppendPath <string[]> Agrega los archivos de formato especificados a la sesin. Los archivos se cargan despus de que Windows PowerShell haya cargado los archivos de formato integrados. Al dar formato a los objetos de .NET, Windows PowerShell utiliza la primera definicin de formato que encuentre para cada tipo de .NET. Si utiliza el parmetro AppendPath, Windows PowerShell buscar en los datos de los archivos integrados antes de detectar los datos de formato que se agrega n. Utilice este parmetro para agregar un archivo que da formato a un objeto de .NET al que no se hace referencia en los archivos de formato integrados. -PrependPath <string[]> Agrega los archivos de formato especificados a la sesin. Los archivos se cargan antes de que Windows PowerShell cargue los archivos de formato integrados.

Al dar formato a los objetos de .NET, Windows PowerShell utiliza la primera definicin de formato que encuentre para cada tipo de .NET. Si utiliza el parmetro PrependPath, Windows PowerShell buscar en los datos de los archivos que se agregan antes de detectar los datos de formato de los a rchivos integrados. Utilice este parmetro para agregar un archivo que da formato a un objeto de .NET al que tambin se hace referencia en los archivos de formato integrados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>update-formatdata Descripcin ----------Este comando vuelve a cargar los archivos de formato que carg anteriormente.

-------------------------- EJEMPLO 2 -------------------------C:\PS>update-formatdata -appendpath trace.format.ps1xml, log.format.ps1xml Descripcin ----------Este comando vuelve a cargar en la sesin los archivos de formato, incluidos dos archivos nuevos, Trace.format.ps1xml y Log.format.ps1xml. Dado que el comando utiliza el parmetro AppendPath, los datos de formato incluidos en los nuevos archivos se cargan despus de que se hayan cargado los datos de formato de los archivos integrados. Se utiliza el parmetro AppendPath porque los nuevos archivos contienen datos de formato para los objetos a los que no se hace referencia en los archivos integrados.

-------------------------- EJEMPLO 3 -------------------------C:\PS>update-formatdata -prependPath c:\test\NewFiles.format.ps1xml # Edit the NewFiles.format.ps1 file.

C:\PS> update-formatdata Descripcin ----------En este ejemplo, se muestra cmo volver a cargar un archivo de formato despus de haberlo modificado. El primer comando agrega el archivo NewFiles.format.ps1xml a la sesin. Utiliza el parmetro PrependPath porque el archivo contiene datos de formato para los objetos a los que se hace referencia en los archivos integrados. Despus de agregar el archivo NewFiles.format.ps1xml y probarlo en la sesin, el autor edita el archivo. El segundo comando usa el cmdlet Update-FormatData para volver a cargar los archivos de formato. Dado que el archivo NewFiles.format.ps1xml ya se carg anteriormente, Update-FormatData vuelve a cargarlo automticamente sin usar ningn parmetro.

NOTAS Para ver los ejemplos, escriba: "get-help Update-FormatData -examples". Para obtener ms informacin, escriba: "get-help Update-FormatData detailed". Para obtener informacin tcnica, escriba: "get-help Update-FormatData full". NOMBRE Start-Sleep SINOPSIS Suspende la actividad en un script o una sesin durante el perodo de tiempo especificado. SINTAXIS Start-Sleep -Milliseconds <int> [<CommonParameters>] Start-Sleep [-Seconds] <int> [<CommonParameters>] DESCRIPCIN El cmdlet Start-Sleep suspende la actividad en un script o una sesin durante el perodo de tiempo especificado. Puede utilizarlo para muchas tareas, por ejemplo, para esperar a que se complete una operacin o pausar antes de que se repita una operacin. PARMETROS -Milliseconds <int> Especifica el perodo de tiempo en milisegundos que el recurso est suspendido. El parmetro puede abreviarse como "-m". -Seconds <int> Especifica el perodo de tiempo en segundos que el recurso est suspendido. Se puede omitir el nombre del parmetro ("Seconds") o se puede abreviarlo como "-s".

<CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Start-Sleep -s 15 Descripcin ----------Este comando suspende durante 15 segundos la actividad de todos los comandos de la sesin.

-------------------------- EJEMPLO 2 -------------------------C:\PS>Start-Sleep -m 500 Descripcin ----------Este comando suspende durante medio segundo (500 milisegundos) la actividad de todos los comandos de la sesin.

NOTAS Para ver los ejemplos, escriba: "get-help Start-Sleep -examples". Para obtener ms informacin, escriba: "get-help Start-Sleep -detailed". Para obtener informacin tcnica, escriba: "get-help Start-Sleep -full". NOMBRE Tee-Object SINOPSIS Guarda el resultado de un comando en un archivo o una variable y lo muestra en la consola. SINTAXIS Tee-Object [-FilePath] <string> [-InputObject <psobject>] [<CommonParameters>] Tee-Object -Variable <string> [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet Tee-Object enva el resultado de un comando en dos direcciones (como la letra "T"). Lo almacena en un archivo o una variable y tambin lo enva a travs de la canalizacin. Si Tee-Object es el ltimo comando en la canalizacin, el resultado del comando se muestra en la consola. PARMETROS -FilePath <string>

Especifica el archivo en el que el cmdlet almacena el objeto. Se permite el uso de caracteres comodn siempre y cuando den lugar a un nico archivo. -InputObject <psobject> Especifica la entrada de objetos para el cmdlet. Especifique la variable que contiene los objetos o escriba un comando o una expresin que los obtenga. -Variable <string> Asigna a la variable especificada una referencia de los objetos de entrada. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-process | tee-object -filepath C:\Test1\testfile2.txt Handles ------83 272 81 81 ... NPM(K) -----4 6 3 4 PM(K) ----2300 1400 804 2008 WS(K) VM(M) ----- ----4520 39 3944 34 3284 21 5808 38 CPU(s) -----0.30 0.06 2.45 0.75 Id -4032 3088 148 3684 ProcessName ----------00THotkey alg ApntEx Apoint

Descripcin ----------Este comando obtiene una lista con los procesos que se ejecutan en el equipo y enva el resultado a un archivo. Dado que no se especifica una segunda ruta, el resultado se mostrar en la consola.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-process notepad | tee-object -variable proc | select-object processname,handles ProcessName ----------notepad notepad notepad notepad Handles ------43 37 38 38

Descripcin ----------Este comando obtiene una lista de los procesos que se ejecutan en el equipo y enva el resultado a una variable denominada "proc". A continuacin, canaliza los objetos resultantes a Select-Object, que selecciona las propiedades ProcessName y Handles. Tenga en cuenta que la variable $proc contie ne la informacin predeterminada devuelta por Get-Process.

NOTAS Para ver los ejemplos, escriba: "get-help Tee-Object -examples". Para obtener ms informacin, escriba: "get-help Tee-Object -detailed". Para obtener informacin tcnica, escriba: "get-help Tee-Object -full". NOMBRE Measure-Command SINOPSIS Mide el tiempo que tardan en ejecutarse los bloques de script y los cmdlets. SINTAXIS Measure-Command [-Expression] <scriptblock> [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet Measure-Command ejecuta un bloque de script o un cmdlet internamente, calcula el tiempo que dura la ejecucin de la operacin y devuelve el tiempo de ejecucin. PARMETROS -Expression <scriptblock> Especifica la expresin que se est cronometrando. Escriba la expresin entre llaves ({}). El nombre del parmetro ("Expression") es opcional. -InputObject <psobject> Especifica los objetos que representan las expresiones que se van a medir. Especifique la variable que contiene los objetos o escriba un comando o una expresin que los obtenga. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Measure-Command { get-eventlog "windows powershell" } Descripcin ----------Este comando mide el tiempo que tarda la ejecucin de un comando "geteventlog", que obtiene los eventos del registro de eventos de Windows PowerShell.

-------------------------- EJEMPLO 2 -------------------------C:\PS>measure-command {get-childitem c:\windows -include *.txt -recurse}

Days Hours Minutes Seconds Milliseconds Ticks TotalDays TotalHours TotalMinutes TotalSeconds TotalMilliseconds

: : : : : : : : : : :

0 0 0 8 618 86182763 9.9748568287037E-05 0.00239396563888889 0.143637938333333 8.6182763 8618.2763

C:\PS>measure-command {get-childitem c:\windows -filter "*.txt" recurse} Days Hours Minutes Seconds Milliseconds Ticks TotalDays TotalHours TotalMinutes TotalSeconds TotalMilliseconds : : : : : : : : : : : 0 0 0 1 140 11409189 1.32050798611111E-05 0.000316921916666667 0.019015315 1.1409189 1140.9189

Descripcin ----------Estos comandos muestran el valor que resulta de usar un filtro especfico del proveedor en los comandos de Windows PowerShell. El primer comando mide el tiempo que tarda en procesarse un comando Get-ChildItem recursivo que usa el parmetro Include. El segundo comando mide el tiempo que tarda en procesarse un comando Get-ChildItem recursivo que usa el parmetro Filter especfico del proveedor.

NOTAS Para ver los ejemplos, escriba: "get-help Measure-Command -examples". Para obtener ms informacin, escriba: "get-help Measure-Command detailed". Para obtener informacin tcnica, escriba: "get-help Measure-Command full". NOMBRE Import-LocalizedData SINOPSIS Importa los datos especficos del idioma en scripts y funciones segn la referencia cultural de la interfaz de usuario que se haya seleccionado para el sistema operativo. SINTAXIS Import-LocalizedData [-BindingVariable] <string> [[-UICulture] <string>] [-BaseDirectory <string>] [-FileName <string>] [-SupportedCommand <string[]>] [<CommonParameters>]

DESCRIPCIN El cmdlet Import-LocalizedData recupera dinmicamente las cadenas de un subdirectorio cuyo nombre coincide con el idioma de la interfaz de usuario del usuario actual del sistema operativo. Este cmdlet se ha diseado para que los scripts puedan mostrar los mensajes de usuario en el idioma que el usuario actual ha seleccionado para la interfaz de usuario. Import-LocalizedData importa los datos de los archivos .psd1 en los subdirectorios especficos del idioma dentro del directorio del script y los guarda en una variable local especificada en el comando. El cmdlet selecciona el subdirectorio y el archivo basndose en el valor de la variable autom tica $PSUICulture. Cuando se usa la variable local en el script para mostrar un mensaje de usuario, dicho mensaje aparece en el idioma de la interfaz de usuario del usuario. Puede utilizar los parmetros de Import-LocalizedData para especificar una referencia cultural de interfaz de usuario, una ruta de acceso y un nombre de archivo diferentes, agregar comandos compatibles y suprimir el mensaje de error que aparece si no se encuentran los archivos .psd1. El cmdlet Import-LocalizedData admite la internacionalizacin de los scripts en Windows PowerShell 2.0. Esta iniciativa tiene como objetivo atender mejor a los usuarios en todo el mundo ya que facilita a los scripts la tarea de mostrar los mensajes de usuario en el idioma de la interfaz de usua rio del usuario actual.Para obtener ms informacin sobre este tema y sobre el formato de los archivos .psd1, vea about_Script_Internationalization. PARMETROS -BaseDirectory <string> Especifica el directorio base donde estn ubicados los archivos .psd1. De forma predeterminada, se trata del directorio donde est ubicado el script. Import-LocalizedData busca el archivo .psd1 para el script en un subdirectorio especfico del idioma dentro del directorio base. -BindingVariable <string> Especifica una variable en la que se importan las cadenas de texto. Escriba un nombre de variable sin el signo de dlar ($). Cuando use Import-LocalizedData para reemplazar las cadenas de texto predeterminadas que se especifican en la seccin de datos de un script, asigne la seccin de datos a una variable y escriba el nombre de dicha variable en el valor del parmetro BindingVariable. A continuacin, cuando Impo rt-LocalizedData guarde el contenido importado en BindingVariable, los datos importados reemplazarn las cadenas de texto predeterminadas. Si no especifica cadenas de texto predeterminadas, podr seleccionar cualquier nombre de variable. -FileName <string> Especifica el nombre del archivo .psd1 que se va a importar. Escriba un nombre de archivo sin la extensin .psd1. El valor predeterminado es el nombre del script. Por ejemplo, si el script es FindFiles.ps1, Import-LocalizedData buscar FindFiles.psd1. Puede utilizar este parmetro para indicar a Import-LocalizedData que busque otro archivo .psd1.

-SupportedCommand <string[]> Especifica los cmdlets y funciones que solo generan datos. Utilice este parmetro para incluir los cmdlets y funciones que haya escrito o probado. Para obtener ms informacin, vea about_Script_Internationalization. -UICulture <string> Especifica una referencia cultural de interfaz de usuario alternativa. El valor predeterminado es el valor de la variable automtica $PsUICulture. Especifique una referencia cultural de interfaz de usuario con el formato "<idioma>-<regin>", como en-US, de-DE o ar-SA. El valor del parmetro UICulture determina el subdirectorio especfico del idioma (dentro del directorio base) desde el cual ImportLocalizedData obtiene el archivo .psd1 para el script. El cmdlet busca un subdirectorio con el mismo nombre que el valor del parmetro UICulture o la variable automtica $PsUICulture, como "de-DE" o "ar-SA". Si no encuentra el directorio o el directorio no contiene un archivo .psd1 para el script, buscar un subdirectorio con el nombre del cdi go de idioma, como "de" o "ar". Si no encuentra el subdirectorio o el archivo .psd1, el comando generar un error y los datos se mostrarn en el idioma predeterminado especificado en el script. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>import-localizeddata -bindingVariable messages Descripcin ----------Este comando importa cadenas de texto en la variable $messages. Utiliza todos los valores predeterminados para los parmetros del cmdlet. Si se incluye el comando en el script Archives.ps1 del directorio C:\test y el valor de la variable automtica $PsUICulture es zh-CN, ImportLocalizedData importar el archivo Archives.psd1 en el directorio C:\test\zh-CN.

-------------------------- EJEMPLO 2 -------------------------C:\PS>import-localizeddata -bindingVariable msgTbl -uiculture ar-SA filename Simple -baseDirectory C:\Data\Localized Descripcin ----------Este comando importa cadenas de texto en la variable $msgTbl de un script.

Utiliza el parmetro UICulture para indicar al cmdlet que importe los datos del archivo Simple.psd1 en el subdirectorio ar-SA de C:\Data\Localized.

-------------------------- EJEMPLO 3 -------------------------C:\PS># In C:\Test\en-US\test.psd1: ConvertFrom-StringData @' # English strings Msg1 = "The Name parameter is missing from the command." Msg2 = "This command requires the credentials of a member of the Administrators group on the computer." Msg3 = "Use $_ to represent the object that is being processed." '@ # In C:\Test\Test.ps1 import-localizeddata -bindingvariable messages write-host $messages.msg2 # In Windows PowerShell C:\PS> .\test.ps1 This command requires the credentials of a member of the Administrators group on the computer. Descripcin ----------En este ejemplo se muestra cmo utilizar datos localizados en un script simple. En la primera parte del ejemplo se muestra el contenido del archivo Test.psd1. Contiene un comando ConvertFrom-StringData que convierte una serie de cadenas de texto con nombre en una tabla hash. El archivo test.psd1 se encuentra en el subdirectorio en-US del directorio C:\Test que contiene el script. En la segunda parte del ejemplo se muestra el contenido del script Test.ps1. El script contiene un comando Import-LocalizedData que importa los datos del archivo .psd1 correspondiente en la variable $Messages y un comando Write-Host que escribe en el programa host uno de los mensajes almacenado s en la variable $Messages. En la ltima parte del ejemplo, se ejecuta el script. El resultado indica que se muestra el mensaje de usuario correcto en el idioma de la interfaz de usuario del usuario actual del sistema operativo.

-------------------------- EJEMPLO 4 -------------------------C:\PS># In TestScript.ps1 $UserMessages = DATA {

ConvertFrom-StringData @' # English strings Msg1 = "Enter a name." Msg2 = "Enter your employee ID." Msg3 = "Enter your building number." '@ } Import-LocalizedData -bindingVariable UserMessages $UserMessages.Msg1 ... Descripcin ----------En este ejemplo se muestra cmo utilizar Import-LocalizedData para reemplazar las cadenas de texto predeterminadas que estn definidas en la seccin de datos de un script. En este ejemplo, la seccin de datos del script TestScript.ps1 contiene un comando ConvertFrom-StringData que convierte el contenido de la seccin de datos en una tabla hash y la almacena en el valor de la variable $UserMessages. El script tambin incluye un comando Import-LocalizedData, que importa una tabla hash de las cadenas de texto traducidas desde el archivo TestScript.psd1 en el subdirectorio especificado por el valor de la variable $PsUICulture. Si el comando encuentra el archivo .psd1, guardar las cadenas tra ducidas del archivo en el valor de la misma variable $UserMessages, sobrescribiendo la tabla hash guardada por la lgica de la seccin de datos. El tercer comando muestra el primer mensaje almacenado en la variable $UserMessages. Si el comando Import-LocalizedData encuentra un archivo .psd1 para el idioma de $PsUICulture, el valor de la variable $UserMessages contendr las cadenas de texto traducidas. Si por algn motivo el comando genera un error, se mostrarn las cadenas de texto predeterminadas que estn definidas en la seccin de datos del script.

-------------------------- EJEMPLO 5 -------------------------C:\PS># In Day1.ps1 Import-LocalizedData -bindingVariable Day Day.MessageDate # In Day2.ps1 Import-LocalizedData -bindingVariable Day -errorAction:silentlycontinue Day.MessageDate C:\PS> .\Day1.ps1 Import-LocalizedData : Cannot find PowerShell data file 'Day1.psd1' in directory 'C:\ps-test\fr-BE\' or any parent culture directories. At C:\ps-test\Day1.ps1:17 char:21 + Import-LocalizedData <<<< Day Today is Tuesday

C:\PS> .\Day2.ps1 Today is Tuesday Descripcin ----------En este ejemplo se muestra cmo suprimir los mensajes de error que aparecen cuando Import-LocalizedData no encuentra los directorios correspondientes a la referencia cultural de la interfaz de usuario o no encuentra en esos directorios un archivo .psd1 para el script. Puede utilizar el parmetro comn ErrorAction con el valor "SilentlyContinue" para suprimir el mensaje de error. Esto resulta especialmente til cuando se han proporcionado mensajes de usuario en un idioma predeterminado o "de reserva" y no se requiere ningn mensaje de error. En este ejemplo se comparan dos scripts, Day1.ps1 y Day2.ps1, que incluyen un comando Import-LocalizedData. Los scripts son idnticos, salvo que Day2 utiliza el parmetro comn ErrorAction con el valor SilentlyContinue. En el resultado del ejemplo se muestran los resultados de ejecutar ambos scripts cuando la referencia cultural de la interfaz de usuario est establecida en fr-BE y no hay archivos o directorios correspondientes para dicha referencia cultural. Day1.ps1 muestra un mensaje de error y el resultado en ingls. Day2.ps1 solo muestra el resultado en ingls.

NOTAS Para ver los ejemplos, escriba: "get-help Import-LocalizedData examples". Para obtener ms informacin, escriba: "get-help Import-LocalizedData detailed". Para obtener informacin tcnica, escriba: "get-help ImportLocalizedData -full". NOMBRE Get-Culture SINOPSIS Obtiene la actual referencia cultural que se ha configurado en el sistema operativo. SINTAXIS Get-Culture [<CommonParameters>] DESCRIPCIN El cmdlet Get-Culture obtiene informacin sobre la configuracin de la actual referencia cultural. Esto incluye informacin sobre la actual configuracin de idioma del sistema, como la distribucin del teclado y el formato de presentacin de elementos como nmeros, monedas y fechas. Tambin puede utilizar el cmdlet Get-UICulture, que obtiene la actual referencia cultural de la interfaz de usuario en el sistema. La referencia

cultural de la interfaz de usuario determina qu cadenas de texto se utilizan para los elementos de la interfaz de usuario, como los mens y los mensa jes. PARMETROS <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-culture Descripcin ----------Este comando muestra informacin sobre la configuracin regional del equipo.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$c = get-culture C:\PS> $c | format-list -property * Parent : en LCID : 1033 KeyboardLayoutId : 1033 Name : en-US IetfLanguageTag : en-US DisplayName : English (United States) NativeName : English (United States) EnglishName : English (United States) TwoLetterISOLanguageName : en ThreeLetterISOLanguageName : eng ThreeLetterWindowsLanguageName : ENU CompareInfo : CompareInfo - 1033 TextInfo : TextInfo - 1033 IsNeutralCulture : False CultureTypes : SpecificCultures, InstalledWin32Cultures, FrameworkCultures NumberFormat : System.Globalization.NumberFormatInfo DateTimeFormat : System.Globalization.DateTimeFormatInfo Calendar : System.Globalization.GregorianCalendar OptionalCalendars : {System.Globalization.GregorianCalendar, System.Globalization.GregorianCalendar} UseUserOverride : True IsReadOnly : False C:\PS> $c.calendar MinSupportedDateTime : 1/1/0001 12:00:00 AM MaxSupportedDateTime : 12/31/9999 11:59:59 PM

AlgorithmType CalendarType Eras TwoDigitYearMax IsReadOnly

: : : : :

SolarCalendar Localized {1} 2029 False

C:\PS> $c.datetimeformat AMDesignator : Calendar : System.Globalization.GregorianCalendar DateSeparator : FirstDayOfWeek : CalendarWeekRule : FullDateTimePattern : LongDatePattern : LongTimePattern : MonthDayPattern : PMDesignator : RFC1123Pattern : ShortDatePattern : ShortTimePattern : SortableDateTimePattern : TimeSeparator : UniversalSortableDateTimePattern : YearMonthPattern : AbbreviatedDayNames : ShortestDayNames : DayNames : Wednesday...} AbbreviatedMonthNames : MonthNames : IsReadOnly : NativeCalendarName : AbbreviatedMonthGenitiveNames : MonthGenitiveNames : AM / Sunday FirstDay dddd, MMMM dd, yyyy h:mm:ss tt dddd, MMMM dd, yyyy h:mm:ss tt MMMM dd PM ddd, dd MMM yyyy HH':'mm':'ss 'GMT' M/d/yyyy h:mm tt yyyy'-'MM'-'dd'T'HH':'mm':'ss : yyyy'-'MM'-'dd HH':'mm':'ss'Z' MMMM, yyyy {Sun, Mon, Tue, Wed...} {Su, Mo, Tu, We...} {Sunday, Monday, Tuesday, {Jan, Feb, Mar, Apr...} {January, February, March, April...} False Gregorian Calendar {Jan, Feb, Mar, Apr...} {January, February, March, April...}

C:\PS> $c.datetimeformat.firstdayofweek Sunday Descripcin ----------En este ejemplo se muestra la gran cantidad de datos en el objeto de referencia cultural. Se indica cmo mostrar las propiedades y subpropiedades del objeto. El primer comando utiliza el cmdlet Get-Culture para obtener la configuracin de la actual referencia cultural en el equipo local. Almacena el objeto de referencia cultural resultante en la variable Sc. El segundo comando muestra todas las propiedades del referencia cultural. Utiliza un operador de canalizacin objeto de referencia cultural almacenado en $c al cmdlet Utiliza el parmetro Property para mostrar todas (*) las objeto. (Este comando se puede abreviar como "$c | fl *".) objeto de (|) para enviar el Format-List. propiedades del

Los comandos restantes exploran las propiedades del objeto de referencia cultural utilizando la notacin de puntos para mostrar los valores de las propiedades del objeto. Esta notacin puede usarse para mostrar el valor de cualquier propiedad del objeto. El tercer comando usa la notacin de puntos para mostrar el valor de la propiedad Calendar del objeto de referencia cultural. El cuarto comando usa la notacin de puntos para mostrar el valor de la propiedad DateTimeFormat del objeto de referencia cultural. Muchas propiedades de objeto tienen propiedades. El quinto comando utiliza la notacin de puntos para mostrar el valor de la propiedad FirstDayOfWeek de la propiedad DateTimeFormat.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Culture -examples". Para obtener ms informacin, escriba: "get-help Get-Culture -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Culture -full". NOMBRE Get-Date SINOPSIS Obtiene la fecha y hora actuales. SINTAXIS Get-Date [-Format <string>] [[-Date] <DateTime>] [-Day <int>] [DisplayHint {Date | Time | DateTime}] [-Hour <int>] [-Minute <int>] [-Month <int>] [-Second <int>] [-Year <int>] [<CommonParameters>] Get-Date [-UFormat <string>] [[-Date] <DateTime>] [-Day <int>] [DisplayHint {Date | Time | DateTime}] [-Hour <int>] [-Minute <int>] [-Month <int>] [-Second <int>] [-Year <int>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-Date obtiene un objeto DateTime que representa la fecha actual o una fecha especificada. Puede aplicar a la fecha y la hora varios formatos de Windows y UNIX. Puede utilizar Get-Date para generar una cadena de caracteres de fecha u hora y, a continuacin, enviarla a otros cmdlets o programas. PARMETROS -Date <DateTime> Especifica una fecha y hora. De manera predeterminada, Get-Date obtiene la fecha y la hora actuales del sistema. Escriba la fecha en un formato que sea estndar para la configuracin regional del sistema, como dd-MM-aaaa (alemn [Alemania]) o MM/dd/aaaa (ingls [Estados Unidos]). -Day <int> Especifica el da del mes que se va a mostrar. Escriba un valor comprendido entre 1 y 31. Este valor se muestra en lugar del da actual.

Si se especifica un valor superior al nmero de das del mes, Windows PowerShell suma el nmero de das al mes y muestra el resultado. Por ejemplo, "get-date -month 2 -day 31" mostrar "March 3", y no "February 31". -DisplayHint <DisplayHintType> Determina qu elementos de fecha y hora se muestran. Los valores vlidos son: -- Date: muestra solo la fecha -- Time: muestra solo la hora -- DateTime: muestra la fecha y la hora DateTime es el valor predeterminado. Este parmetro no afecta al objeto DateTime que Get-Date recupera. -Format <string> Muestra la fecha y la hora en el formato de Microsoft .NET Framework indicado por el especificador de formato. Escriba un especificador de formato. Para obtener una lista de los especificadores de formato disponibles, vea la clase DateTimeFormatInfo en MSDN (Microsoft Developer Network) Lib rary, en http://go.microsoft.com/fwlink/?LinkId=143638. Cuando se usa el parmetro Format, Windows PowerShell recupera nicamente las propiedades del objeto DateTime que necesita para mostrar la fecha en el formato especificado. Por tanto, es posible que algunos mtodos y propiedades de los objetos DateTime no estn disponibles. -Hour <int> Especifica la hora que se va a mostrar. Escriba un valor comprendido entre 1 y 23. Este valor se muestra en lugar de la hora actual. -Minute <int> Especifica el minuto que se va a mostrar. Escriba un valor comprendido entre 1 y 59. Este valor se muestra en lugar del minuto actual. -Month <int> Especifica el mes que se va a mostrar. Escriba un valor comprendido entre 1 y 12. Este valor se muestra en lugar del mes actual. -Second <int> Especifica el segundo que se va a mostrar. Escriba un valor comprendido entre 1 y 59. Este valor se muestra en lugar del segundo actual. -UFormat <string> Muestra la fecha y la hora en formato UNIX. Para obtener una lista de los especificadores de formato, vea la seccin Notas. Cuando se usa el parmetro UFormat, Windows PowerShell recupera nicamente las propiedades del objeto DateTime que necesita para mostrar la fecha en el formato especificado. Por tanto, es posible que algunos mtodos y propiedades de los objetos DateTime no estn disponibles. -Year <int> Especifica el ao que se va a mostrar. Escriba un valor comprendido entre 1 y 9999. Este valor se muestra en lugar del ao actual. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-date -DisplayHint date Tuesday, June 13, 2006 Descripcin ----------Este comando recupera un objeto DateTime, pero muestra nicamente la fecha. Usa el parmetro DisplayHint para indicar que solo debe mostrarse la fecha.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-date -format g 6/13/2006 12:43 PM Descripcin ----------Este comando recupera la fecha y la hora actuales y les aplica el formato corto. Usa el especificador de formato "g" de .NET Framework (General [fecha y hora cortas]) para especificar el formato.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-date -uformat "%Y / %m / %d / %A / %Z" 2006 / 06 / 13 / Tuesday / -07 Descripcin ----------Este comando recupera la fecha y la formato especificado por el comando. En completo (%Y), el nmero de mes con dos completo de la semana (%A) y el desfase

hora actuales y les aplica el este caso, el formato incluye el ao dgitos (%m), la fecha (%d), el da horario respecto a UTC ("Zulu").

-------------------------- EJEMPLO 4 -------------------------C:\PS>(get-date -year 2000 -month 12 -day 31).dayofyear 366 Descripcin ----------Este comando muestra el da del ao de la fecha actual. Por ejemplo, el 31 de diciembre es el da 365 del ao 2006, pero es el da 366 del ao 2000.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$a = get-date C:\PS> $a.IsDaylightSavingTime() True Descripcin ----------Estos comandos indican si la fecha y hora actuales se han ajustado al cambio de horario de verano o invierno en la configuracin local. El primer comando crea una variable denominada $a y, a continuacin, asigna a esta variable el objeto recuperado por Get-Date. A continuacin, aplica el mtodo IsDaylightSavingTime al objeto guardado en $a. Para ver los mtodos y propiedades del objeto DateTime, escriba: "get-date | get-member".

-------------------------- EJEMPLO 6 -------------------------C:\PS>$a = get-date C:\PS> $a.ToUniversalTime() Tuesday, June 13, 2006 8:09:19 PM Descripcin ----------Estos comandos transforman la fecha y hora actual en la hora UTC. El primer comando crea una variable denominada $a y, a continuacin, asigna a esta variable el objeto recuperado por Get-Date. A continuacin, aplica el mtodo ToUniversalTime al objeto guardado en $a.

-------------------------- EJEMPLO 7 -------------------------C:\PS>$a = get-wmiobject win32_bios -computer server01 $a | format-list -property Name, @{Label="BIOS Age"; ` Expression={(get-date) - $_.ConvertToDateTime($_.ReleaseDate)}} Name : Default System BIOS BIOS Age : 1345.17:31:07.1091047 Descripcin ----------Instrumental de administracin de Windows (WMI) usa un objeto date-time diferente al objeto date-time de .NET Framework que Get-Date devuelve. Para usar la informacin del objeto date-time de WMI en un comando con informacin del objeto date-time de Get-Date, debe usar el mtodo ConvertToDateTi

me para convertir los objetos CIM_DATETIME de WMI en objetos DateTime de .NET Framework. Los comandos de este ejemplo muestran el nombre y la antigedad del BIOS en el equipo remoto Server01. El primer comando utiliza el cmdlet Get-WmiObject para obtener una instancia de la clase Win32_BIOS en Server01 y, a continuacin, la almacena en la variable $a. El segundo comando usa el operador de canalizacin (|) para enviar el objeto de WMI almacenado en $a al cmdlet Format-List. El parmetro Property de Format-List se usa para especificar las dos propiedades que se van a mostrar en la lista, "Name" y "BIOS Age". La propiedad "BIOS Age" se especifi ca en una tabla hash. La tabla contiene la clave Label, que especifica el nombre de la propiedad, y la clave Expression, que contiene la expresin que calcula la antigedad del BIOS. La expresin usa el mtodo ConvertToDateTime para convertir cada instancia de ReleaseDate en un objeto DateTime de .NET Framework. A continuacin, el valor se resta del valor del cmdlet Get-Date, que, sin parmetros, obtiene la fecha actual. El carcter de acento grave (`) es el carcter de continuacin de lnea en Windows PowerShell.

-------------------------- EJEMPLO 8 -------------------------C:\PS>get-date Tuesday, June 13, 2006 12:43:42 PM Descripcin ----------Este comando obtiene un objeto DateTime y muestra la fecha y la hora actuales en formato largo para la configuracin regional del sistema, como si se escribiera "get-date -format F".

-------------------------- EJEMPLO 9 -------------------------C:\PS>get-date C:\PS> Tuesday, September 26, 2006 11:25:31 AM c:\PS>(get-date).ToString() 9/26/2006 11:25:31 AM C:\PS>get-date | add-content test.txt # Adds 9/26/2006 11:25:31 AM C:\PS>get-date -format F | add-content test.txt # Adds Tuesday, September 26, 2006 11:25:31 AM Descripcin -----------

Estos comandos muestran cmo utilizar Get-Date con Add-Content y otros cmdlets que convierten el objeto DateTime generado por Get-Date en una cadena. El primer comando muestra que el formato de presentacin predeterminado del comando "get-date" es el formato de fecha larga y hora larga. El segundo comando muestra que el formato de presentacin predeterminado del mtodo ToString() del objeto DateTime es el formato de fecha corta y hora corta. El tercer comando usa un operador de canalizacin para enviar el objeto DateTime al cmdlet Add-Content, que agrega el contenido al archivo Test.txt. Dado que Add-Content utiliza el mtodo ToString() del objeto DateTime, la fecha que se agrega tiene el formato de fecha corta y hora corta. El cuarto comando utiliza el parmetro Format de Get-Date para especificar el formato. Cuando se utiliza el parmetro Format o UFormat, Get-Date genera una cadena en lugar de un objeto DateTime. A continuacin, cuando se enva la cadena a Add-Content, se agrega al archivo Test.txt sin que se re alice cambio alguno.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Date -examples". Para obtener ms informacin, escriba: "get-help Get-Date -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Date -full". NOMBRE Get-Host SINOPSIS Obtiene un objeto que representa el actual programa host. Adems, de manera predeterminada, muestra la versin y la informacin regional de Windows PowerShell. SINTAXIS Get-Host [<CommonParameters>] DESCRIPCIN El cmdlet Get-Host obtiene un objeto que representa el programa que hospeda Windows PowerShell. De forma predeterminada, se muestran el nmero de versin de Windows PowerShell as como la actual configuracin regional y de idioma que el host utiliza. Sin embargo, el objeto de host contiene una gran cantidad de informacin, como informacin detallada sobre la versin de Windows PowerShell que se est ejecutando, la actual referencia cultural y la referencia cultural de la interfaz de usuario de Windows PowerShell. Este cmdlet puede usarse asimismo para personalizar las caractersticas de la interfaz de usuario del programa host, como los colores de texto y de fondo. PARMETROS <CommonParameters>

Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-host Name : ConsoleHost Version : 2.0 InstanceId : e4e0ab54-cc5e-4261-9117-4081f20ce7a2 UI : System.Management.Automation.Internal.Host.InternalHostUserInterface CurrentCulture : en-US CurrentUICulture : en-US PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy IsRunspacePushed : False Runspace : System.Management.Automation.Runspaces.LocalRunspace Descripcin ----------Este comando muestra informacin sobre la consola de Windows PowerShell, que es el programa que hospeda Windows PowerShell en este ejemplo. Incluye el nombre del host, la versin de Windows PowerShell que se est ejecutando en el host as como la actual referencia cultural y la referencia cultu ral de la interfaz de usuario. Las propiedades Version, UI, CurrentCulture, CurrentUICulture, PrivateData y Runspace contienen un objeto con propiedades muy tiles. Estas propiedades se examinarn ms adelante en ejemplos.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$h = get-host C:\PS> $win = $h.ui.rawui.windowsize C:\PS> $win.height = 10 C:\PS> $win.width = 10

C:\PS> $h.ui.rawui.set_windowsize($win) Descripcin ----------Este comando cambia el tamao de la ventana de Windows PowerShell a 10 x 10 pxeles.

-------------------------- EJEMPLO 3 -------------------------C:\PS>(get-host).version | format-list -property * Major Minor : 2 : 0

Build Revision MajorRevision MinorRevision

: : : :

-1 -1 -1 -1

Descripcin ----------Este comando obtiene informacin detallada sobre la versin de Windows PowerShell que se ejecuta en el host. Estos valores se pueden ver pero no cambiar. La propiedad Version de Get-Host contiene un objeto System.Version. Este comando utiliza un operador de canalizacin (|) para enviar el objeto de versin al cmdlet Format-List. El comando Format-List usa el parmetro Property con un asterisco (*) para mostrar todas las propiedades y valores de propiedad del objeto de versin.

-------------------------- EJEMPLO 4 -------------------------C:\PS>(get-host).currentculture | format-list -property * Parent : en LCID : 1033 KeyboardLayoutId : 1033 Name : en-US IetfLanguageTag : en-US DisplayName : English (United States) NativeName : English (United States) EnglishName : English (United States) TwoLetterISOLanguageName : en ThreeLetterISOLanguageName : eng ThreeLetterWindowsLanguageName : ENU CompareInfo : CompareInfo - 1033 TextInfo : TextInfo - 1033 IsNeutralCulture : False CultureTypes : SpecificCultures, InstalledWin32Cultures, FrameworkCultures NumberFormat : System.Globalization.NumberFormatInfo DateTimeFormat : System.Globalization.DateTimeFormatInfo Calendar : System.Globalization.GregorianCalendar OptionalCalendars : {System.Globalization.GregorianCalendar, System.Globalization.GregorianCalendar} UseUserOverride : True IsReadOnly : False Descripcin ----------Este comando obtiene informacin detallada sobre la actual referencia cultural establecida para la instancia de Windows PowerShell que se ejecuta en el host. Se trata de la misma informacin que el cmdlet Get-Culture devuelve. (De forma similar, la propiedad CurrentUICulture devuelve el mismo objeto que Get-UICulture.)

La propiedad CurrentCulture del objeto de host contiene un objeto System.Globalization.CultureInfo. Este comando utiliza un operador de canalizacin (|) para enviar el objeto CultureInfo al cmdlet Format-List. El comando Format-List usa el parmetro Property con un asterisco (*) para mostrar to das las propiedades y valores de propiedad del objeto CultureInfo.

-------------------------- EJEMPLO 5 -------------------------C:\PS>(get-host).currentculture.DateTimeFormat | format-list -property * AMDesignator : Calendar : System.Globalization.GregorianCalendar DateSeparator : FirstDayOfWeek : CalendarWeekRule : FullDateTimePattern : LongDatePattern : LongTimePattern : MonthDayPattern : PMDesignator : RFC1123Pattern : ShortDatePattern : ShortTimePattern : SortableDateTimePattern : TimeSeparator : UniversalSortableDateTimePattern : YearMonthPattern : AbbreviatedDayNames : ShortestDayNames : DayNames : Wednesday...} AbbreviatedMonthNames : MonthNames : IsReadOnly : NativeCalendarName : AbbreviatedMonthGenitiveNames : MonthGenitiveNames : AM / Sunday FirstDay dddd, MMMM dd, yyyy h:mm:ss tt dddd, MMMM dd, yyyy h:mm:ss tt MMMM dd PM ddd, dd MMM yyyy HH':'mm':'ss 'GMT' M/d/yyyy h:mm tt yyyy'-'MM'-'dd'T'HH':'mm':'ss : yyyy'-'MM'-'dd HH':'mm':'ss'Z' MMMM, yyyy {Sun, Mon, Tue, Wed...} {Su, Mo, Tu, We...} {Sunday, Monday, Tuesday, {Jan, Feb, Mar, Apr...} {January, February, March, April...} False Gregorian Calendar {Jan, Feb, Mar, Apr...} {January, February, March, April...}

Descripcin ----------Este comando devuelve informacin detallada sobre la propiedad DateTimeFormat de la actual referencia cultural que se utiliza para Windows PowerShell. La propiedad CurrentCulture del objeto de host contiene un objeto CultureInfo que, a su vez, tiene muchas propiedades tiles. Entre ellas, la propiedad DateTimeFormat contiene un objeto DateTimeFormatInfo con muchas propiedades tiles. Para obtener el tipo de un objeto almacenado en una propiedad de objeto, utilice el cmdlet Get-Member. Para mostrar los valores de propiedad del objeto, utilice el cmdlet Format-List.

-------------------------- EJEMPLO 6 -------------------------C:\PS>(get-host).ui.rawui | format-list -property * ForegroundColor BackgroundColor CursorPosition WindowPosition CursorSize BufferSize WindowSize MaxWindowSize MaxPhysicalWindowSize KeyAvailable WindowTitle : : : : : : : : : : : DarkYellow DarkBlue 0,390 0,341 25 120,3000 120,50 120,81 182,81 False Windows PowerShell 2.0 (04/11/2008 00:08:14)

Descripcin ----------Este comando muestra las propiedades de la propiedad RawUI del objeto de host. Al cambiar estos valores, se puede cambiar la apariencia del programa host.

-------------------------- EJEMPLO 7 -------------------------C:\PS>(get-host).ui.rawui.backgroundcolor = "Black" C:\PS> cls Descripcin ----------Estos comandos cambian a negro el color de fondo de la consola de Windows PowerShell. El comando "cls" es un alias de la funcin Clear-Host, que borra la pantalla y cambia el color de toda la pantalla al nuevo color. Este cambio solo surte efecto en la sesin actual. Si desea cambiar el color de fondo de la consola para todas las sesiones, agregue el comando a su perfil de Windows PowerShell.

-------------------------- EJEMPLO 8 -------------------------C:\PS>$host.privatedata.errorbackgroundcolor = "white" Descripcin ----------Este comando cambia a blanco el color de fondo de los mensajes de error. Este comando utiliza la variable automtica $host, que contiene el objeto de host del actual programa host. Get-Host devuelve el mismo objeto que el que contiene $host, de modo que se pueden usar esos objetos indistintamente. Este comando utiliza la propiedad PrivateData de $host como su propiedad ErrorBackgroundColor. Para ver todas las propiedades del objeto en la propiedad $host.privatedata, escriba "$host.privatedata | format-list * ".

NOTAS Para ver los ejemplos, escriba: "get-help Get-Host -examples". Para obtener ms informacin, escriba: "get-help Get-Host -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Host -full". NOMBRE Export-Alias SINOPSIS Exporta a un archivo la informacin sobre los alias actualmente definidos. SINTAXIS Export-Alias [-Path] <string> [[-Name] <string[]>] [-Append] [-As {Csv | Script}] [-Description <string>] [-Force] [-NoClobber] [-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Export-Alias exporta los alias de la sesin actual a un archivo. Si el archivo de salida no existe, el cmdlet lo crear. Export-Alias puede exportar los alias de un mbito determinado o todos los mbitos y puede generar los datos en formato CSV o como una serie de comandos Set-Alias que se pueden agregar a una sesin o un perfil de Windows PowerShell. PARMETROS -Append [<SwitchParameter>] Anexa el resultado al archivo especificado, en lugar de sobrescribir el contenido existente del archivo. -As <ExportAliasFormat> Determina el formato de los resultados. El valor predeterminado es CSV. Los valores vlidos son: -- CSV: formato de valores separados por comas (CSV). -- Script: crea un comando Set-Alias para cada alias exportado. Si asigna al nombre del archivo de salida la extensin .ps1, podr ejecutarlo como un script para agregar los alias a cualquier sesin. -Description <string> Agrega una descripcin al archivo exportado. La descripcin aparece como un comentario en la parte superior del archivo tras la informacin del encabezado. -Force [<SwitchParameter>] Sobrescribe el archivo de salida, incluso si est establecido el atributo de solo lectura en el archivo. De forma predeterminada, Export-Alias sobrescribe los archivos sin avisar, a menos que est establecido el atributo de solo lectura u oculto o se utilice el parmetro NoClobber en el comando. El parmetro NoClobber tiene precedencia sobre el parmetro Force cuando se utilizan ambos en un co

mando. El parmetro Force no puede obligar a Export-Alias a sobrescribir los archivos que tengan establecido el atributo oculto. -Name <string[]> Especifica los nombres de los alias que se van a exportar. Se permite el uso de caracteres comodn. De forma predeterminada, Export-Alias exporta todos los alias de la sesin o del mbito. -NoClobber [<SwitchParameter>] Evita que Export-Alias sobrescriba los archivos, incluso si se usa el parmetro Force en el comando. Si se omite el parmetro NoClobber, Export-Alias sobrescribir un archivo existente sin avisar, a menos que tenga establecido el atributo de solo lectura. NoClobber tiene precedencia sobre el parmetro Force, lo que permite a Export-Alias sobrescribir un archivo con el atributo de solo lect ura. NoClobber no evita que el parmetro Append agregue contenido a un archivo existente. -PassThru [<SwitchParameter>] Devuelve objetos que representan los alias exportados. De forma predeterminada, este cmdlet no genera resultados. -Path <string> Especifica la ruta de acceso al archivo de salida. Se permite el uso de caracteres comodn, pero el valor resultante debe indicar un nico nombre de archivo. Este parmetro es obligatorio. -Scope <string> Especifica el mbito desde el que deben exportarse los alias. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y 1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms informacin, vea about_Scopes. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>export-alias -path alias.csv Descripcin -----------

Este comando exporta la informacin actual de los alias a un archivo denominado Alias.csv del directorio actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>export-alias -path alias.csv -noclobber Descripcin ----------Este comando exporta los alias de la sesin actual a un archivo denominado Alias.csv. Como se ha especificado el parmetro NoClobber, el comando generar un error si ya existe un archivo denominado Alias.csv en el directorio actual.

-------------------------- EJEMPLO 3 -------------------------C:\PS>export-alias -path alias.csv -append -description "Appended Aliases" -force Descripcin ----------Este comando anexa los alias de la sesin actual al archivo Alias.csv. El comando utiliza el parmetro Description para agregar una descripcin a los comentarios en la parte superior del archivo. El comando tambin utiliza el parmetro Force para sobrescribir cualquier archivo Alias.csv existente, incluso si tiene establecido el atributo de solo lectura.

-------------------------- EJEMPLO 4 -------------------------C:\PS>export-alias -path alias.ps1 -as script C:\PS> add-content -path $profile -value (get-content alias.ps1) C:\PS> $s = new-pssession -computername Server01 C:\PS> invoke-command -session $s -filepath .\alias.ps1 Descripcin ----------En este ejemplo se muestra cmo utilizar el formato de archivo de script que Export-Alias genera. El primer comando exporta los alias de la sesin al archivo Alias.ps1. Utiliza el parmetro As con el valor Script para generar un archivo que contiene un comando Set-Alias para cada alias. El segundo comando agrega los alias del archivo Alias.ps1 al perfil CurrentUser-CurrentHost. (La ruta de acceso al perfil est guardada en la variable $profile.) El comando utiliza el cmdlet Get-Content para obtener

los alias del archivo Alias.ps1 y el cmdlet Add-Content para agregarlos al perf il. Para obtener ms informacin, vea about_Profiles. El tercer y cuarto comando agregan los alias del archivo Alias.ps1 a una sesin remota en el equipo Server01. El tercer comando usa el cmdlet NewPSSession para crear la sesin. El cuarto comando utiliza el parmetro FilePath del cmdlet Invoke-Command para ejecutar el archivo Alias.ps1 en la nu eva sesin.

NOTAS Para ver los ejemplos, escriba: "get-help Export-Alias -examples". Para obtener ms informacin, escriba: "get-help Export-Alias detailed". Para obtener informacin tcnica, escriba: "get-help Export-Alias full". NOMBRE Invoke-Expression SINOPSIS Ejecuta comandos o expresiones en el equipo local. SINTAXIS Invoke-Expression [-Command] <string> [<CommonParameters>] DESCRIPCIN El cmdlet Invoke-Expression evala o ejecuta la cadena especificada como un comando y devuelve los resultados de la expresin o del comando. Sin Invoke-Expression, la cadena enviada a la lnea de comandos se devolvera sin cambios. PARMETROS -Command <string> Especifica el comando o la expresin que se va a ejecutar. Escriba el comando o la expresin, o bien, una variable que contenga el comando o la expresin. Command es un parmetro obligatorio. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$command = "Get-Process" C:\PS> $command Get-Process C:\PS> invoke-expression $command

Handles ------296 270 67 1060 1400 ...

NPM(K) -----4 6 2 15 33

PM(K) ----1572 1328 620 12904 25280

WS(K) VM(M) ----- ----1956 20 800 34 484 20 11840 74 37544 223

CPU(s) -----0.53 0.06 0.22 11.48 38.44

Id -1348 2396 716 892 2564

ProcessName ----------AdtAgent alg ati2evxx CcmExec communicator

Descripcin ----------En este ejemplo se muestra el uso de Invoke-Expression para evaluar una expresin. Sin Invoke-Expression, la expresin se imprime pero no se evala. El primer comando asigna el valor "Get-Process" (una cadena) a la variable $command. El segundo comando muestra el efecto de escribir el nombre de variable en la lnea de comandos. Windows PowerShell devuelve la cadena. El tercer comando usa Invoke-Expression para evaluar la cadena.

-------------------------- EJEMPLO 2 -------------------------C:\PS>invoke-expression -command "C:\ps-test\testscript.ps1" C:\PS> "C:\ps-test\testscript.ps1" | invoke-expression Descripcin ----------Estos comandos utilizan Invoke-Expression para ejecutar un script, TestScript.ps1, en el equipo local. Los dos comandos son equivalentes. El primero usa el parmetro Command para especificar el comando que se va a ejecutar. El segundo utiliza un operador de canalizacin (|) para enviar la caden a de comando a Invoke-Expression.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$cmd = 'get-process | where {$_.cpu -gt 1000}' C:\PS> iex $command Descripcin ----------En este ejemplo se ejecuta una cadena de comando guardada en la variable $cmd. La cadena de comando se encuentra entre comillas simples porque incluye la variable $_, que representa el objeto actual. Si se encontrase entre comillas dobles, la variable $_ se reemplazara por su valor antes de ser guardada en la cadena $command.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$cmdlet_name = "get-eventlog" C:\PS> $example_number = 1 C:\PS> $example_code = (get-help $cmdlet_name).examples.example[($example_number-1)].code C:\PS> invoke-expression $example_code Descripcin ----------Este comando recupera y ejecuta el primer ejemplo en el tema de Ayuda del cmdlet Get-EventLog. Para ejecutar un ejemplo de otro cmdlet, cambie el valor de la variable $cmdlet_name al nombre del cmdlet. Adems, cambie la variable $example_number al nmero del ejemplo que desee ejecutar. El comando no se ejecutar correctamente si el nmero de ejemplo no es vlido.

NOTAS Para ver los ejemplos, escriba: "get-help Invoke-Expression -examples". Para obtener ms informacin, escriba: "get-help Invoke-Expression detailed". Para obtener informacin tcnica, escriba: "get-help Invoke-Expression full". NOMBRE Get-Alias SINOPSIS Obtiene los alias de la sesin actual. SINTAXIS Get-Alias [[-Name] <string[]>] [-Exclude <string[]>] [-Scope <string>] [<CommonParameters>] Get-Alias [-Definition <string[]>] [-Exclude <string[]>] [-Scope <string>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-Alias obtiene los alias (nombres alternativos para los comandos y archivos ejecutables) de la sesin actual. Este conjunto incluye los alias integrados, los alias importados o definidos por el usuario y los alias que se han agregado al perfil de Windows PowerShell. De forma predeterminada, Get-Alias toma un alias y devuelve el nombre de comando. Cuando se usa el parmetro Definition, Get-Alias toma un nombre de comando y devuelve sus alias. PARMETROS -Definition <string[]>

Obtiene los alias del elemento especificado. Escriba el nombre de un cmdlet, una funcin, un script, un archivo o un archivo ejecutable. Este parmetro se denomina Definition porque busca el nombre de elemento en la propiedad Definition del objeto de alias. -Exclude <string[]> Omite los elementos especificados. El valor de este parmetro califica los parmetros Name y Definition. Escriba un nombre, una definicin o un patrn, como "s*". Se permite el uso de caracteres comodn. -Name <string[]> Especifica los alias que se van a recuperar. Se permite el uso de caracteres comodn. De manera predeterminada, Get-Alias recupera todos los alias definidos para la sesin actual. El nombre del parmetro ("Name") es opcional. Tambin puede canalizar los nombres de alias a Get-Alias. -Scope <string> Obtiene solo los alias del mbito especificado. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y 1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms inform acin, vea about_Scopes. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-alias Descripcin ----------Este comando obtiene todos los alias de la sesin actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-alias -name g*, s* -exclude get-* Descripcin ----------Este comando obtiene todos los alias que comienzan con "g" o "s", salvo los alias que comienzan con "get-".

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-alias -definition Get-ChildItem Descripcin ----------Este comando obtiene los alias del cmdlet Get-ChildItem.

De forma predeterminada, el cmdlet Get-Alias obtiene el nombre de elemento cuando se conoce el alias. El parmetro Definition obtiene el alias cuando se conoce el nombre de elemento.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-alias | where-object {$_.Options -match "ReadOnly"} Descripcin ----------Este comando recupera todos los alias en los que el valor de la propiedad Options es ReadOnly. Este comando constituye un mtodo rpido para buscar los alias integrados en Windows PowerShell, ya que tienen la opcin ReadOnly. Options es solo una de las propiedades de los objetos AliasInfo que GetAlias recupera. Para obtener todos los mtodos y propiedades de los objetos AliasInfo, escriba "get-alias | get-member".

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-alias -definition "*-pssession" -exclude e* -scope global Descripcin ----------En este ejemplo se obtienen los alias de los comandos cuyo nombre termina con "- pssession", menos de los comandos cuyo nombre comienza con "e". El comando utiliza el parmetro Scope para aplicar el comando en el mbito global. Esto es til en los scripts cuando se desean obtener los alias de la sesin.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Alias -examples". Para obtener ms informacin, escriba: "get-help Get-Alias -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Alias -full". NOMBRE Get-Member SINOPSIS Obtiene las propiedades y los mtodos de objetos. SINTAXIS Get-Member [[-Name] <string[]>] [-Force] [-InputObject <psobject>] [MemberType {AliasProperty | CodeProperty | Property | NoteProperty | ScriptProperty | Properties | PropertySet | Method | CodeMethod | ScriptMethod | Methods | ParameterizedProperty | MemberSet | Event | All}] [-Static] [-View {Extended | Adapted | Base | All}] [<CommonParameters>]

DESCRIPCIN El cmdlet Get-Member obtiene los "miembros" (propiedades y mtodos) de los objetos. Para especificar el objeto, use el parmetro InputObject o canalice un objeto a Get-Member. Para recuperar informacin sobre los miembros estticos (miembros de la clase, no de la instancia), utilice el parmetro Static. Para obtener solo determinados tipos de miembros, como NoteProperties, use el parmetro MemberType. PARMETROS -Force [<SwitchParameter>] Agrega a la pantalla los miembros intrnsecos (PSBase, PSAdapted, PSObject, PSTypeNames) y los mtodos get_ y set_ generados por el compilador. De forma predeterminada, Get-Member obtiene estas propiedades en todas las vistas que no sean "Base" ni "Adapted", pero no las muestra. En la lista siguiente se describen las propiedades que se agregan mediante el parmetro Force: -- PSBase: propiedades originales del objeto de .NET Framework sin extensin ni adaptacin. Son las propiedades que se han definido para la clase de objeto y se muestran en MSDN. -- PSAdapted: propiedades y mtodos definidos en el sistema de tipos extendidos de Windows PowerShell. -- PSExtended: propiedades y mtodos que se agregaron a los archivos Types.ps1xml o mediante el cmdlet Add-Member. -- PSObject: adaptador que convierte el objeto base en un PsObject de Windows PowerShell. -- PSTypeNames: lista de tipos de objeto que describen el objeto, segn su especificidad. Al dar formato al objeto, Windows PowerShell busca los tipos en los archivos Format.ps1xml ubicados en el directorio de instalacin de Windows PowerShell ($pshome). Utiliza la definicin de formato del primer tipo que encuentre. -InputObject <psobject> Especifica el objeto cuyos miembros se recuperan. Utilizar el parmetro InputObject no equivale a canalizar un objeto a Get-Member. Las diferencias son: -- Cuando se canaliza una coleccin de objetos a Get-Member, GetMember obtiene los miembros de los objetos individuales en la coleccin, como las propiedades de los enteros en una matriz de enteros. -- Cuando se usa InputObject para enviar una coleccin de objetos, Get-Member obtiene los miembros de la coleccin, como las propiedades de la matriz en una matriz de enteros. -MemberType <PSMemberTypes> Obtiene nicamente los miembros con el tipo de miembro especificado. El valor predeterminado es All. Los valores apropiados para este parmetro son: -- AliasProperty: una propiedad que define un nuevo nombre para una propiedad existente.

-- CodeMethod: un mtodo que hace referencia a un mtodo esttico de una clase de .NET Framework. -- CodeProperty: una propiedad que hace referencia a una propiedad esttica de una clase de .NET Framework. -- Event: indica que el objeto enva un mensaje para indicar una accin o un cambio de estado. -- MemberSet: una coleccin predefinida de propiedades y mtodos, como PSBase, PSObject y PSTypeNames. -- Method: un mtodo del objeto subyacente de .NET Framework. -- NoteProperty: una propiedad con un valor esttico. -- ParameterizedProperty: una propiedad que toma parmetros y valores de parmetro. -- Property: una propiedad del objeto subyacente de .NET Framework. -- PropertySet: una coleccin predefinida de propiedades de objeto. -- ScriptMethod: un mtodo cuyo valor es el resultado de un script. -- ScriptProperty: una propiedad cuyo valor es el resultado de un script. -- All: obtiene todos los tipos de miembro. -- Methods: obtiene todos los tipos de mtodo del objeto (por ejemplo, Method, CodeMethod, ScriptMethod). -- Properties: obtiene todos los tipos de propiedad del objeto (por ejemplo, Property, CodeProperty, AliasProperty, ScriptProperty). No todos los objetos tienen cada tipo de miembro. Si especifica un tipo de miembro que el objeto no tiene, Windows PowerShell devuelve un valor NULL. Para obtener los tipos relacionados de los miembros, como todos los miembros extendidos, use el parmetro View. Si utiliza el parmetro MemberType con los parmetros Static o View, Get-Member obtiene los miembros que pertenecen a ambos conjuntos. -Name <string[]> Especifica el nombre de uno o varios mtodos o propiedades del objeto. Get-Member obtiene solo los mtodos y propiedades especificados. Si utiliza el parmetro Name con el parmetro MemberType, View o Static, Get-Member obtendr solo los miembros que cumplan los criterios de todos los parmetros. Para obtener un miembro esttico por su nombre, use el parmetro Static con el parmetro Name. -Static [<SwitchParameter>] Obtiene solo los mtodos y propiedades estticos del objeto. Los mtodos y propiedades estticos se definen en la clase de los objetos; no se definen en ninguna instancia concreta de la clase. Si utiliza el parmetro Static con el parmetro View, se omite el parmetro View. Si utiliza el parmetro Static con el parmetro MemberType, Get-Member obtiene solo los miembros que pertenecen a ambos conjuntos. -View <PSMemberViewTypes> Obtiene solo determinados tipos de miembros (propiedades y mtodos). Especifique uno o varios valores. El valor predeterminado es "Adapted, Extended". Los valores vlidos son:

-- Base: obtiene solo los mtodos y propiedades originales del objeto de .NET Framework (sin extensin ni adaptacin). -- Adapted: obtiene solo los mtodos y propiedades definidos en el sistema de tipos extendidos de Windows PowerShell. -- Extended: obtiene solo los mtodos y propiedades que se agregaron a los archivos Types.ps1xml o mediante el cmdlet Add-Member. -- All: obtiene los miembros en las vistas Base, Adapted y Extended. El parmetro View determina los miembros que se van a recuperar y no solo su presentacin. Para obtener determinados tipos de miembros, como propiedades de script, use el parmetro MemberType. Si utiliza los parmetros MemberType y View en el mismo comando, Get-Member obtiene los miembros que pertenecen a ambos conjuntos. Si utiliza los parmetros Static y View en el mismo comand o, se omitir el parmetro View. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-service | get-member TypeName: System.ServiceProcess.ServiceController Name MemberType Definition ---------------------Name AliasProperty Name = ServiceName Close Method System.Void Close() Continue Method System.Void Continue() CreateObjRef Method System.Runtime.Remoting.ObjRef CreateObjRef(Type requestedType) Dispose Method System.Void Dispose() Equals Method System.Boolean Equals(Object obj) ExecuteCommand Method System.Void ExecuteCommand(Int32 command) GetHashCode Method System.Int32 GetHashCode() GetLifetimeService Method System.Object GetLifetimeService() GetType Method System.Type GetType() InitializeLifetimeService Method System.Object InitializeLifetimeService() Pause Method System.Void Pause() Refresh Method System.Void Refresh() Start Method System.Void Start(), System.Void Start(String[] args) Stop Method System.Void Stop() ToString Method System.String ToString() WaitForStatus Method System.Void WaitForStatus(ServiceControllerStatus desiredStatus), System.Voi... CanPauseAndContinue Property System.Boolean CanPauseAndContinue {get;} CanShutdown Property System.Boolean CanShutdown {get;} CanStop Property System.Boolean CanStop {get;}

Container Property System.ComponentModel.IContainer Container {get;} DependentServices Property System.ServiceProcess.ServiceController[] DependentServices {get;} DisplayName Property System.String DisplayName {get;set;} MachineName Property System.String MachineName {get;set;} ServiceHandle Property System.Runtime.InteropServices.SafeHandle ServiceHandle {get;} ServiceName Property System.String ServiceName {get;set;} ServicesDependedOn Property System.ServiceProcess.ServiceController[] ServicesDependedOn {get;} ServiceType Property System.ServiceProcess.ServiceType ServiceType {get;} Site Property System.ComponentModel.ISite Site {get;set;} Status Property System.ServiceProcess.ServiceControllerStatus Status {get;} Descripcin ----------Este comando muestra los mtodos y propiedades de los objetos de proceso (System.ServiceProcess.ServiceController) generados por el cmdlet GetService. El comando utiliza el operador de canalizacin (|) para enviar el resultado de un comando Get-Service a Get-Member. Dado que la parte del comando correspondiente a Get-Member no tiene ningn parmetro, utiliza todos los valores predeterminados. Como tal, obtiene todos los tipos de miembro, pero no obtiene los miembros estticos ni muestra los miembros intrnsecos.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-service | get-member -force C:\PS> (get-service -schedule).psbase Descripcin ----------En este ejemplo, se obtienen todos los miembros (propiedades y mtodos) de los objetos de servicio (System.ServiceProcess.ServiceController) recuperados por el cmdlet Get-Service, incluidos los miembros intrnsecos, como PSBase y PSObject, y los mtodos get_ y set_. El primer comando utiliza el cmdlet Get-Service para obtener los objetos que representan los servicios en el sistema. Utiliza un operador de canalizacin (|) para pasar los objetos de servicio al cmdlet Get-Member. El comando Get-Member utiliza el parmetro Force para agregar a la presentacin los miembros intrnsecos de los objetos as como los miembros generados por el compilador. Get-Member obtiene estos miembros pero los oculta de forma predeterminada.

Estos mtodos y propiedades pueden usarse del mismo modo en que se usara un mtodo adaptado del objeto. El segundo comando indica cmo se va a mostrar el valor de la propiedad PSBase del servicio Schedule.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-service | get-member -view extended

TypeName: System.ServiceProcess.ServiceController Name MemberType Definition ---- ------------------Name AliasProperty Name = ServiceName Descripcin ----------Este comando obtiene los mtodos y propiedades de los objetos de servicio que se extendieron mediante el archivo Types.ps1xml o el cmdlet Add-Member. El comando Get-Member utiliza el parmetro View para obtener solo los miembros extendidos de los objetos de servicio. En este caso, el miembro extendido es la propiedad Name, que es una propiedad de alias de la propiedad ServiceName.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-eventlog -log system | gm -membertype scriptproperty TypeName: System.Diagnostics.EventLogEntry Name MemberType Definition ---------------------EventID ScriptProperty System.Object EventID {get=$this.get_EventID() band 0xFFFF;} Descripcin ----------Este comando obtiene las propiedades de script de los objetos de registro de eventos del registro del sistema en el visor de eventos. En este caso, la nica propiedad de script es EventID.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-eventlog -log system | get-member -membertype scriptproperty TypeName: System.Diagnostics.EventLogEntry Name ---MemberType ---------Definition ----------

EventID ScriptProperty System.Object EventID {get=$this.get_EventID() band 0xFFFF;} Descripcin ----------Este comando obtiene las propiedades de script de los objetos de registro de eventos del registro del sistema en el visor de eventos. El comando utiliza el parmetro MemberType para obtener solo los objetos que tengan el valor AliasProperty para su propiedad MemberType. El comando devuelve la propiedad EventID del objeto EventLog.

-------------------------- EJEMPLO 6 -------------------------C:\PS>$a = "get-process", "get-service", "get-culture", "get-psdrive", "get-executionpolicy" C:\PS> foreach ($cmdlet in $a) {invoke-expression $cmdlet | get-member name machinename} TypeName: System.Diagnostics.Process Name MemberType Definition ------------- ---------MachineName Property System.String MachineName {get;} TypeName: System.ServiceProcess.ServiceController Name MemberType Definition ------------- ---------MachineName Property System.String MachineName {get;set;} Descripcin ----------Este comando obtiene objetos con una propiedad MachineName de una lista de cmdlets. El primer comando almacena los nombres de varios cmdlets en una variable $a. El segundo comando usa una instruccin ForEach para invocar cada comando, enviar los resultados a Get-Member y limitar los resultados de GetMember a los miembros que tengan el nombre "MachineName". Los resultados muestran que solo los objetos de proceso (System.Diagnostics.Process) y los objetos de servicio (System.ServiceProcess.ServiceController) tienen una propiedad MachineName.

-------------------------- EJEMPLO 7 -------------------------C:\PS>$a = get-member -inputobject @(1) C:\PS>$a.count

1 C:\PS> $a = get-member -inputobject 1,2,3 TypeName: System.Object[] Name MemberType ------------Count AliasProperty Address Method Clone Method ... C:\PS>$a.count 1 Descripcin ----------En este ejemplo se muestra cmo buscar los mtodos y propiedades de una matriz de objetos cuando se dispone de solo un objeto del tipo dado. Dado que el objetivo del comando es obtener las propiedades de una matriz, el primer comando utiliza el parmetro InputObject. Utiliza el smbolo "arroba" (@) para indicar una matriz. En este caso, la matriz contiene solamente un objeto, el entero 1. El tercer comando usa el cmdlet Get-Member para obtener los mtodos y propiedades de una matriz de enteros y los guarda en la variable $a. El cuarto comando usa la propiedad Count de la matriz para obtener el nmero de objetos almacenados en la variable $a. Definition ---------Count = Length System.Object& Address(Int32 ) System.Object Clone()

NOTAS Para ver los ejemplos, escriba: "get-help Get-Member -examples". Para obtener ms informacin, escriba: "get-help Get-Member -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Member -full". NOMBRE Export-PSSession SINOPSIS Importa comandos de otra sesin y los guarda en un mdulo de Windows PowerShell. SINTAXIS Export-PSSession [-Session] <PSSession> [-OutputModule] <string> [[CommandName] <string[]>] [[-FormatTypeName] <string[]>] [-AllowClobber] [ArgumentList <Object[]>] [-CommandType {Alias | Function | Filter | Cmdlet | ExternalScript | Application | Script | All}] [-Encoding <string>] [-Force] [-Module <string[]>] [<CommonParameters>] DESCRIPCIN El cmdlet Export-PSSession obtiene cmdlets, funciones, alias y otros tipos de comando de otra PSSession en un equipo local o remoto y los guarda en un mdulo de Windows PowerShell. Para agregar los comandos del mdulo a la sesin actual, utilice el cmdlet Import-Module.

A diferencia de Import-PSSession, que importa los comandos de otra PSSession en la sesin actual, Export-PSSession guarda los comandos en un mdulo. Los comandos no se importan en la sesin actual. Para exportar los comandos, utilice primero el cmdlet New-PSSession para crear una PSSession que tenga los comandos que desee exportar. A continuacin, utilice el cmdlet Export-PSSession para exportar los comandos. De forma predeterminada, Export-PSSession exporta todos los comandos, salvo los que existen en la sesin actual. Sin embargo, se puede usar el parmetro CommandName para especificar los comandos que deben exportarse. El cmdlet Export-PSSession usa la caracterstica de comunicacin remota de Windows PowerShell. Cuando se importan comandos en la sesin actual, estos se ejecutan de forma implcita en la sesin original o en una sesin similar en el equipo original. PARMETROS -AllowClobber [<SwitchParameter>] Exporta los comandos especificados, incluso si tienen el mismo nombre que los comandos de la sesin actual. Si se importa un comando que tiene el mismo nombre que un comando de la sesin actual, el comando importado ocultar o reemplazar el comando original. Para obtener ms informacin, vea about_Command_Precedence. Export-PSSession no importa los comandos que tienen los mismos nombres que los comandos de la sesin actual. Este comportamiento predeterminado evita conflictos entre los nombres de comandos. -ArgumentList <Object[]> Exporta la variante del comando que resulta de usar los argumentos especificados (valores de parmetro). Por ejemplo, para exportar la variante del comando Get-Item en la unidad de certificado (Cert:) de PSSession en $s, escriba "export-pssession -session $s -command get-item -argumentlist cert:". -CommandName <string[]> Exporta solo los comandos con los nombres o patrones de nombre especificados. Se permite el uso de caracteres comodn. Utilice "CommandName" o su alias, "Name". De forma predeterminada, Export-PSSession exporta todos los comandos de la PSSession, salvo los que tienen el mismo nombre que los comandos de la sesin actual. De este modo, se evita que los comandos importados oculten o reemplacen los comandos de la sesin actual. Para exportar todos los comandos, incluidos los que ocultan o reemplazan otros comandos, utilice el parmetro AllowClobber. Si utiliza el parmetro CommandName, no se exportarn los archivos de formato de los comandos a menos que use el parmetro FormatTypeName. De forma similar, si utiliza el parmetro FormatTypeName, no se exportar ningn comando a menos que use el parmetro CommandName. -CommandType <CommandTypes> Exporta nicamente los tipos de objetos de comando especificados. Use "CommandType" o su alias, "Type".

Los valores vlidos son: -- Alias: todos los alias de Windows PowerShell en la sesin actual. -- All: todos los tipos de comandos. Es el equivalente de "getcommand *". -- Application: todos los archivos que no sean de Windows PowerShell en las rutas de acceso enumeradas en la variable de entorno Path ($env:path), incluidos los archivos .txt, .exe y .dll. -- Cmdlet: los cmdlets de la sesin actual. "Cmdlet" es el valor predeterminado. -- ExternalScript: todos los archivos .ps1 en las rutas de acceso enumeradas en la variable de entorno Path ($env:path). -- Filter y Function: todas las funciones de Windows PowerShell. -- Script: bloques de script en la sesin actual. -Encoding <string> Especifica la codificacin para los archivos de salida. Los valores vlidos son "Unicode", "UTF7", "UTF8", "ASCII", "UTF32", "BigEndianUnicode", "Default" y "OEM". El valor predeterminado es "UTF-8". -Force [<SwitchParameter>] Sobrescribe uno o varios archivos de salida existentes, incluso si tienen establecido el atributo de solo lectura. -FormatTypeName <string[]> Exporta solo las instrucciones de formato de los tipos de Microsoft .NET Framework especificados. Escriba los nombres de los tipos. De forma predeterminada, Export-PSSession exporta las instrucciones de formato de todos los tipos de .NET Framework que no formen parte del espacio de nombres System.Management.Automation. El valor de este parmetro debe ser el nombre de un tipo devuelto por un comando Get-FormatData en la sesin desde la que se importan los comandos. Para obtener todos los datos de formato de la sesin remota, escriba *. Si utiliza el parmetro FormatTypeName, no se exportar ningn comando a menos que use el parmetro CommandName. De forma similar, si utiliza el parmetro CommandName, no se exportarn los archivos de formato de los comandos a menos que use el parmetro FormatTypeName. -Module <string[]> Exporta solo los comandos de los complementos y mdulos especificados de Windows PowerShell. Escriba los nombres de los complementos y mdulos. No se permite el uso de caracteres comodn. Para obtener ms informacin, vea about_PSSnapins e Import-Module. -OutputModule <string> Especifica una ruta de acceso (opcional) y un nombre para el mdulo creado por Export-PSSession. La ruta de acceso predeterminada es $home\Documentos\WindowsPowerShell\Modules. Este parmetro es obligatorio. Si ya existe el subdirectorio del mdulo o cualquiera de los archivos creados por Export-PSSession, el comando generar un error. Para que se sobrescriban los archivos existentes, utilice el parmetro Force. -Session <PSSession> Especifica la PSSession de la que se exportan los comandos. Escriba una variable que contenga el objeto de sesin o escriba un comando que lo obtenga, como un comando Get-PSSession. Este parmetro es obligatorio.

<CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$s = new-pssession -computerName Server01 C:\PS> export-pssession -session $s -outputModule Server01 Descripcin ----------Los comandos de este ejemplo exportan todos los comandos de una PSSession en el equipo Server01 al mdulo Server01 en el equipo local, salvo los comandos que tienen el mismo nombre que los comandos de la sesin actual. Tambin se exportan los datos de formato de los comandos. El primer comando crea una PSSession en el equipo Server01. El segundo comando exporta los comandos y los datos de formato de la sesin al mdulo Server01.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$s = new-pssession -ConnectionUri http://exchange.microsoft.com/mailbox -credential exchangeadmin01@hotmail.com -authentication negotiate C:\PS> export-pssession -session $r -module exch* -commandname get-*, set-* -formattypename * -outputModule $pshome\Modules\Exchange -encoding ASCII Descripcin ----------Estos comandos exportan los comandos Get y Set de un complemento de Microsoft Exchange Server en un equipo remoto a un mdulo de Exchange en el directorio $pshome\Modules del equipo local. Al colocarse el mdulo en el directorio $pshome\Modules, todos los usuarios del equipo podrn obtener acceso al mismo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$s = new-pssession -computerName Server01 -credential Server01\User01 C:\PS> export-pssession -session $s -outputModule TestCmdlets -type cmdlet -commandname *test* -formattypename * C:\PS> remove-pssession $s C:\PS> import-module TestCmdlets

C:\PS> get-help test* C:\PS> test-files Descripcin ----------Estos comandos exportan los cmdlets de una PSSession en un equipo remoto y los guarda en un mdulo ubicado en el equipo local. A continuacin, los comandos agregan los cmdlets del mdulo a la sesin actual de modo que se puedan utilizar. El primer comando crea una PSSession en el equipo Server01 y la guarda en la variable $s. El segundo comando exporta los cmdlets cuyo nombre comienza con "Test" de la PSSession guardada en $s al mdulo TestCmdlets ubicado en el equipo local. El tercer comando usa el cmdlet Remove-PSSession para eliminar la PSSession guardada en $s de la sesin actual. Este comando muestra que la PSSession debe estar activa para poder utilizar los comandos importadas de dicha sesin. El cuarto comando, que se puede ejecutar en cualquier sesin y en cualquier momento, utiliza el cmdlet Import-Module para agregar los cmdlets del mdulo TestCmdlets a la sesin actual. El quinto comando utiliza el cmdlet Get-Help para obtener ayuda referente a los cmdlets cuyo nombre comienza con "Test". Una vez agregados a la sesin actual los comandos de un mdulo, puede utilizar los cmdlets GetHelp y Get-Command para obtener informacin sobre los comandos importados, tal y como los utilizara para cualquier comando de la sesin. El sexto comando utiliza el cmdlet Test-Files, que se export del equipo Server01 y se agreg a la sesin. Aunque no es obvio, el comando Test-Files se ejecuta en realidad en una sesin remota en el equipo del que se import el comando. Windows PowerShell crea una sesin a partir de la informacin almacenada en el mdulo.

-------------------------- EJEMPLO 4 -------------------------C:\PS>export-pssession -session $s -AllowClobber -outputModule AllCommands Descripcin ----------Este comando exporta a la sesin actual todos los comandos y datos de formato de la PSSession guardada en la variable $s. El comando utiliza el parmetro AllowClobber para incluir los comandos que tienen el mismo nombre que comandos de la sesin actual.

-------------------------- EJEMPLO 5 --------------------------

C:\PS>$options = New-PSSessionOption -NoMachineProfile C:\PS> $s = new-pssession -computername Server01 -sessionoption $options C:\PS> export-pssession -session $s -outputModule Server01 C:\PS> remove-pssession $s C:\PS> new-pssession -computername Server01 -sessionoption $options C:\PS> import-module Server01 Descripcin ----------En este ejemplo, se muestra cmo ejecutar los comandos exportados en una sesin con opciones concretas cuando est cerrada la PSSession de la que se exportaron los comandos. Cuando se usa Export-PSSession, la informacin sobre la PSSession original se guarda en el mdulo que se crea. Al importar el mdulo, si est cerrada la sesin remota original, el mdulo utilizar cualquier sesin remota abierta que est conectada al equipo original. Si la sesin actual no incluye una sesin remota con el equipo original, los comandos del mdulo restablecern una sesin con ese equipo. Sin embargo, Export-PSSession no guarda en el mdulo las opciones especiales, como las que se establecen mediante el parmetro SessionOption de NewPSSession . Por consiguiente, si desea ejecutar los comandos exportados en una sesin remota con opciones concretas, deber crear una sesin remota con las opciones que desee antes de importar el mdulo. El primer comando utiliza el cmdlet New-PSSessionOption para crear un objeto PSSessionOption y guarda este objeto en la variable $options. El segundo comando crea una PSSession con las opciones especificadas. El comando utiliza el cmdlet New-PSSession para crear una PSSession en el equipo Server01. Utiliza el parmetro SessionOption para enviar el objeto de opcin guardado en $options. El tercer comando usa el cmdlet Export-PSSession para exportar los comandos de la PSSession guardada en $s al mdulo Server01. El cuarto comando usa el cmdlet Remove-PSSession para eliminar la PSSession guardada en la variable $s. El quinto comando utiliza el cmdlet New-PSSession para crear una nueva PSSession que est conectada al equipo Server01. Esta PSSession tambin utiliza las opciones de sesin guardadas en la variable $options. El sexto comando usa el cmdlet Import-Module para importar los comandos del mdulo Server01. Los comandos del mdulo se ejecutan en la PSSession del equipo Server01.

NOTAS Para ver los ejemplos, escriba: "get-help Export-PSSession -examples".

Para obtener ms informacin, escriba: "get-help Export-PSSession detailed". Para obtener informacin tcnica, escriba: "get-help Export-PSSession full". NOMBRE Import-PSSession SINOPSIS Importa los comandos de otra sesin en la sesin actual. SINTAXIS Import-PSSession [-Session] <PSSession> [[-CommandName] <string[]>] [[FormatTypeName] <string[]>] [-AllowClobber] [-ArgumentList <Object[]>] [CommandType {Alias | Function | Filter | Cmdlet | ExternalScript | Application | Script | All}] [-Module <string[]>] [-Prefix <string>] [<CommonParamet ers>] DESCRIPCIN El cmdlet Import-PSSession importa en la sesin actual los comandos (por ejemplo, cmdlets, funciones y alias) de una PSSession en un equipo local o remoto. Se puede importar cualquier comando que Get-Command encuentre en la PSSession. Utilice un comando Import-PSSession para importar los comandos de un shell personalizado, como un shell de Microsoft Exchange Server, o de una sesin que incluya mdulos y complementos de Windows PowerShell u otros elementos que no se encuentren en la sesin actual. Para importar comandos, use primero el cmdlet New-PSSession para crear una PSSession. A continuacin, utilice el cmdlet Import-PSSession para importar los comandos. De forma predeterminada, Import-PSSession importa todos los comandos, salvo los que tienen el mismo nombre que los comandos de la sesin actual. Para importar todos los comandos, utilice el parmetro AllowClobber. Los comandos importados se pueden usar de la misma manera en que se utiliza cualquier comando en la sesin. Cuando se usa un comando importado, la parte importada del comando se ejecuta de forma implcita en la sesin desde la cual se import. Sin embargo, Windows PowerShell administra completa mente las operaciones remotas. El usuario ni siquiera necesita conocerlas; solo debe mantener abierta la conexin con la otra sesin (PSSession). Si la cierra, los comandos importados dejarn de estar disponibles. Dado que los comandos importados pueden tardar ms tiempo en ejecutarse que los comandos locales, Import-PSSession agrega un parmetro AsJob a cada comando importado. Este parmetro permite ejecutar el comando como un trabajo en segundo plano de Windows PowerShell. Para obtener ms informacin, vea about_Jobs. Cuando se usa Import-PSSession, Windows PowerShell agrega los comandos importados a un mdulo temporal que solo existe en esa sesin y devuelve un objeto que representa el mdulo. Para crear un mdulo persistente que pueda utilizar en sesiones futuras, utilice el cmdlet Export-PSSession.

El cmdlet Import-PSSession usa la caracterstica de comunicacin remota de Windows PowerShell. Cuando se importan comandos en la sesin actual, estos se ejecutan de forma implcita en la sesin original o en una sesin similar en el equipo original. PARMETROS -AllowClobber [<SwitchParameter>] Importa los comandos especificados, incluso si tienen el mismo nombre que los comandos de la sesin actual. Si se importa un comando que tiene el mismo nombre que un comando de la sesin actual, el comando importado ocultar o reemplazar el comando original. Para obtener ms informacin, vea about_Command_Precedence. De forma predeterminada, Import-PSSession no importa los comandos que tienen el mismo nombre que los comandos de la sesin actual. -ArgumentList <Object[]> Importa la variante del comando que resulta de usar los argumentos especificados (valores de parmetro). Por ejemplo, para importar la variante del comando Get-Item en la unidad de certificado (Cert:) de PSSession en $s, escriba "import-pssession -session $s -command get-item -argumentlist cert:". -CommandName <string[]> Importa solo los comandos con los nombres o patrones de nombre especificados. Se permite el uso de caracteres comodn. Utilice "CommandName" o su alias, "Name". De forma predeterminada, Import-PSSession importa todos los comandos de la sesin, salvo los que tienen el mismo nombre que los comandos de la sesin actual. De este modo, se evita que los comandos importados oculten o reemplacen los comandos de la sesin. Para importar todos los comandos, incluidos los que ocultan o reemplazan otros comandos, utilice el parmetro AllowClobber. Si utiliza el parmetro CommandName, no se importarn los archivos de formato de los comandos a menos que use el parmetro FormatTypeName. De forma similar, si utiliza el parmetro FormatTypeName, no se importar ningn comando a menos que use el parmetro CommandName. -CommandType <CommandTypes> Importa nicamente los tipos de objetos de comando especificados. El valor predeterminado es Cmdlet. Use "CommandType" o su alias, "Type". Los valores vlidos son: -- Alias: los alias de Windows PowerShell en la sesin remota. -- All: los cmdlets y funciones de la sesin remota. -- Application: todos los archivos que no sean archivos de Windows PowerShell en las rutas de acceso especificadas por la variable de entorno Path ($env:path) en la sesin remota, incluidos los archivos .txt, .exe y .dll. -- Cmdlet: los cmdlets de la sesin remota. "Cmdlet" es el valor predeterminado. -- ExternalScript: los archivos .ps1 en las rutas de acceso especificadas por la variable de entorno Path ($env:path) en la sesin remota.

-- Filter y Function: las funciones de Windows PowerShell en la sesin remota. -- Script: los bloques de script en la sesin remota. -FormatTypeName <string[]> Importa las instrucciones de formato de los tipos de Microsoft .NET Framework especificados. Escriba los nombres de los tipos. Se permite el uso de caracteres comodn. El valor de este parmetro debe ser el nombre de un tipo devuelto por un comando Get-FormatData en la sesin desde la que se importan los comandos. Para obtener todos los datos de formato de la sesin remota, escriba *. Si el comando no incluye el parmetro CommandName o FormatTypeName, Import-PSSession importar las instrucciones de formato de todos los tipos de .NET Framework devueltos por un comando Get-FormatData en la sesin remota. Si utiliza el parmetro FormatTypeName, no se importar ningn comando a menos que use el parmetro CommandName. De forma similar, si utiliza el parmetro CommandName, no se importarn los archivos de formato de los comandos a menos que use el parmetro FormatTypeName. -Module <string[]> Importa solo los comandos de los complementos y mdulos especificados de Windows PowerShell. Escriba los nombres de los complementos y mdulos. No se permite el uso de caracteres comodn. Para obtener ms informacin, vea about_PSSnapins e Import-Module. -Prefix <string> Agrega el prefijo especificado a los sustantivos en los nombres de los comandos importados. Utilice este parmetro para evitar conflictos entre nombres que podran producirse cuando diferentes comandos de la sesin tienen el mismo nombre. Por ejemplo, si especifica el prefijo "Remote" y, a continuacin, importa un cmdlet Get-Date, el cmdlet se conocer en la sesin como GetRemoteDate y no se confundir con el cmdlet Get-Date original. -Session <PSSession> Especifica la PSSession desde la que se importan los cmdlets. Escriba una variable que contenga el objeto de sesin o escriba un comando que lo obtenga, como un comando New-PSSession o Get-PSSession. Se puede especificar solamente una sesin. Este parmetro es obligatorio. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$s = new-pssession -computername Server01 C:\PS> import-pssession -session $s

Descripcin ----------Este comando importa en la sesin actual todos los comandos de una PSSession en el equipo Server01, salvo los comandos que tienen el mismo nombre que los comandos de la sesin actual. Dado que este comando no utiliza el parmetro CommandName, tambin importa todos los datos de formato requeridos para los comandos importados.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$s = new-pssession https://ps.testlabs.com/powershell C:\PS> import-pssession -session $s -commandname *-test -formatTypeName * C:\PS> new-test -name test1 C:\PS> get-test test1 | run-test Descripcin ----------Estos comandos importan los comandos cuyo nombre termina en "-test" de una PSSession en la sesin local y, a continuacin, muestran cmo utilizar un cmdlet importado. El primer comando utiliza el cmdlet New-PSSession para crear una PSSession. Guarda la PSSession en la variable $s. El segundo comando usa el cmdlet Import-PSSession para importar en la sesin actual los comandos de la PSSession almacenada en la variable $s. Utiliza el parmetro CommandName para especificar los comandos con el nombre Test y usa el parmetro FormatTypeName para importar los datos de formato d e los comandos Test. El tercer y el cuarto comando utilizan los comandos importados en la sesin actual. Dado que los comandos importados en realidad se agregan a la sesin actual, se usa la sintaxis local para ejecutarlos. No es necesario utilizar el cmdlet Invoke-Command para ejecutar un comando importado.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$s1 = new-pssession -computername s1 C:\PS> $s2 = new-pssession -computername s2 C:\PS> import-pssession -session s1 -type cmdlet -name New-Test, GetTest -FormatTypeName * C:\PS> import-pssession -session s2 -type cmdlet -name Set-Test FormatTypeName * C:\PS> new-test Test1 | set-test -runtype full Descripcin

----------En este ejemplo, se muestra que los cmdlets importados pueden usarse de la misma manera que los cmdlets locales. Estos comandos importan los cmdlets New-Test y Get-Test desde una PSSession en el equipo Server01 y el cmdlet Set-Test desde una PSSession en el equipo Server02. Aunque los cmdlets se importaron desde diferentes sesiones PSSession, se puede canalizar un objeto de un cmdlet a otro sin que se genere ningn error.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$s = new-pssession -computername Server01 C:\PS> import-pssession -session $s -commandname *-test* -formattypename * C:\PS> $batch = new-test -name Batch -asjob C:\PS> receive-job $batch Descripcin ----------En este ejemplo se muestra cmo ejecutar un comando importado como un trabajo en segundo plano. Dado que los comandos importados pueden tardar ms tiempo en ejecutarse que los comandos locales, Import-PSSession agrega un parmetro AsJob a cada comando importado. El parmetro AsJob permite ejecutar el comando como un trabajo en segundo plano. El primer comando crea una PSSession en el equipo Server01 y guarda el objeto PSSession en la variable $s. El segundo comando usa Import-PSSession para importar en la sesin actual los cmdlets Test de la PSSession almacenada en la variable $s. El tercer comando usa el parmetro AsJob del cmdlet New-Test importado para ejecutar un comando New-Test como trabajo en segundo plano. El comando guarda en la variable $batch el objeto de trabajo que New-Test devuelve. El cuarto comando utiliza el cmdlet Receive-Job para obtener los resultados del trabajo almacenado en la variable $batch.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$s = new-pssession -comp Server01 C:\PS> invoke-command -session $s {import-module TestManagement} C:\PS> import-pssession -session $s -module TestManagement Descripcin

----------En este ejemplo, se muestra cmo importar en la sesin actual los cmdlets y funciones de un mdulo de Windows PowerShell en un equipo remoto. El primer comando crea una PSSession en el equipo Server01 y la guarda en la variable $s. El segundo comando usa el cmdlet Invoke-Command para ejecutar un comando Import-Module en la PSSession almacenada en $s. Normalmente, un comando Import-Module en un perfil de Windows PowerShell agregara el mdulo a todas las sesiones, pero en las sesiones PSSession no se ejecutan perfiles. El tercer comando usa el parmetro Module de Import-PSSession para importar en la sesin actual los cmdlets y funciones del mdulo.

-------------------------- EJEMPLO 6 -------------------------C:\PS>import-pssession $s -CommandName Get-Date, SearchHelp formatTypeName * -AllowClobber -

Name : tmp_79468106-4e1d-4d90-af971154f9317239_tcw1zunz.ttf Path : C:\Users\User01\AppData\Local\Temp\tmp_794681064e1d-4d90-af97-1154f9317239_tcw1zunz.ttf\tmp_79468106-4e1d-4d90-af971154f9317239_ tcw1zunz.ttf.psm1 Description : Implicit remoting for http://server01.corp.fabrikam.com/wsman Guid : 79468106-4e1d-4d90-af97-1154f9317239 Version : 1.0 ModuleBase : C:\Users\User01\AppData\Local\Temp\tmp_794681064e1d-4d90-af97-1154f9317239_tcw1zunz.ttf ModuleType : Script PrivateData : {ImplicitRemoting} AccessMode : ReadWrite ExportedAliases : {} ExportedCmdlets : {} ExportedFunctions : {[Get-Date, Get-Date], [SearchHelp, SearchHelp]} ExportedVariables : {} NestedModules : {} Descripcin ----------En este ejemplo, se muestra que Import-PSSession crea un mdulo en un archivo temporal ubicado en el disco. Tambin se muestra que todos los comandos se convierten en funciones antes de ser importados en la sesin actual. El comando usa el cmdlet Import-PSSession para importar un cmdlet GetDate y una funcin SearchHelp en la sesin actual. El cmdlet Import-PSSession devuelve un objeto PSModuleInfo que representa el mdulo temporal. El valor de la propiedad Path muestra que Import-PSSession cre un archivo de mdulo de script (.psm1) en una

ubicacin temporal. La propiedad ExportedFunctions muestra que el cmdlet Get-Date y la func in SearchHelp se importaron como funciones.

-------------------------- EJEMPLO 7 -------------------------C:\PS>import-pssession $s -CommandName Get-Date -formatTypeName * AllowClobber C:\PS> get-command get-date CommandType ----------Function Cmdlet [-Month <Int32>] Name ---Get-Date Get-Date Definition ---------... Get-Date [[-Date] <DateTime>] [-Year <Int32>]

C:\PS> Get-Date 09074 C:\PS> (get-command -type cmdlet -name get-date).pssnapin.name Microsoft.PowerShell.Utility C:\PS> Microsoft.PowerShell.Utility\get-date Sunday, March 15, 2009 2:08:26 PM Descripcin ----------En este ejemplo, se muestra cmo ejecutar un comando ocultado por un comando importado. El primer comando importa un cmdlet Get-Date de la PSSession almacenada en la variable $s. Dado que la sesin actual incluye un cmdlet Get-Date, el parmetro AllowClobber es obligatorio en el comando. El segundo comando utiliza el cmdlet Get-Command para obtener los comandos Get-Date de la sesin actual. El resultado muestra que la sesin incluye el cmdlet Get-Date original y una funcin Get-Date. La funcin GetDate ejecuta el cmdlet Get-Date importado en la PSSession almacenada en la varia ble $s. El tercer comando ejecuta un comando Get-Date. Dado que las funciones tienen prioridad sobre los cmdlets, Windows PowerShell ejecuta la funcin Get-Date importada, que devuelve una fecha juliana. El cuarto y el quinto comando muestran cmo utilizar un nombre completo para ejecutar un comando ocultado por un comando importado. El cuarto comando obtiene el nombre del complemento de Windows PowerShell que agreg el cmdlet Get-Date original a la sesin actual. El quinto comando usa el nombre completo del cmdlet Get-Date que incluye el complemento para ejecutar un comando Get-Date. Para obtener ms informacin sobre la precedencia de los comandos y los comandos ocultos, vea about_Command_Precedence.

-------------------------- EJEMPLO 8 -------------------------C:\PS>import-pssession -session $s -commandName *Item* -AllowClobber Descripcin ----------Este comando importa los comandos cuyo nombre incluye "Item" desde la PSSession almacenada en $s. Dado que el comando incluye el parmetro CommandName pero no el parmetro FormatTypeData, solo se importa el comando. Utilice este comando si usa Import-PSSession para ejecutar un comando en un equipo remoto y ya dispone de los datos de formato del comando en la sesin actual.

-------------------------- EJEMPLO 9 -------------------------C:\PS>$m = import-pssession -session $s -CommandName *bits* formattypename *bits* C:\PS> get-command -module $m CommandType ----------Function Function Function Function Function Function Function Function Name ---Add-BitsFile Complete-BitsTransfer Get-BitsTransfer Remove-BitsTransfer Resume-BitsTransfer Set-BitsTransfer Start-BitsTransfer Suspend-BitsTransfer

Descripcin ----------Este comando muestra cmo utilizar el parmetro Module de Get-Command para determinar qu comandos se importaron en la sesin mediante un comando Import-PSSession. El primer comando utiliza el cmdlet Import-PSSession para importar los comandos cuyo nombre incluye "bits" desde la PSSession almacenada en la variable $s. El comando Import-PSSession devuelve un mdulo temporal y lo guarda en la variable $m. El segundo comando usa el cmdlet Get-Command para obtener los comandos exportados por el mdulo almacenado en la variable $m. El parmetro Module toma un valor de cadena, que se ha diseado para el nombre del mdulo. Sin embargo, cuando se enva un objeto de mdulo, Windows PowerShell utiliza el mtodo ToString en el objeto de mdulo, el cual devuelve el nombre del mdulo. El comando Get-Command equivale a "get-command $m.name".

NOTAS Para ver los ejemplos, escriba: "get-help Import-PSSession -examples". Para obtener ms informacin, escriba: "get-help Import-PSSession detailed". Para obtener informacin tcnica, escriba: "get-help Import-PSSession full". NOMBRE Import-Alias SINOPSIS Importa una lista de alias desde un archivo. SINTAXIS Import-Alias [-Path] <string> [-Force] [-PassThru] [-Scope <string>] [Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Import-Alias importa una lista de alias desde un archivo. PARMETROS -Force [<SwitchParameter>] Permite al cmdlet importar un alias que ya se ha definido y es de solo lectura. Puede usar el comando siguiente para mostrar informacin sobre los alias que estn definidos actualmente: get-alias | select-object name,Options El valor de la propiedad Options incluir "ReadOnly" si el alias correspondiente es de solo lectura. -PassThru [<SwitchParameter>] Devuelve un objeto que representa el alias. De forma predeterminada, este cmdlet no genera resultados. -Path <string> Especifica la ruta de acceso a un archivo que contiene informacin sobre los alias exportados. Se permite el uso de caracteres comodn, pero estos deben generar un solo nombre. -Scope <string> Especifica el mbito en el que se importan los alias. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y 1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms informacin, vea about_Scopes. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>import-alias test.txt Descripcin ----------Este comando importa la informacin de alias desde un archivo denominado test.txt.

NOTAS Para ver los ejemplos, escriba: "get-help Import-Alias -examples". Para obtener ms informacin, escriba: "get-help Import-Alias detailed". Para obtener informacin tcnica, escriba: "get-help Import-Alias full". NOMBRE Get-Random SINOPSIS Obtiene un nmero aleatorio o selecciona aleatoriamente objetos de una coleccin. SINTAXIS Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>] [<CommonParameters>] Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-Random obtiene un nmero aleatoriamente seleccionado. Si se enva una coleccin de objetos a Get-Random, este cmdlet obtiene uno o varios objetos aleatoriamente seleccionados de la coleccin. Si no se especifica ningn parmetro ni entrada, un comando Get-Random devuelve un entero sin signo de 32 bits aleatoriamente seleccionado entre 0 (cero) e Int32.MaxValue (0x7FFFFFFF, 2.147.483.647). Puede utilizar los parmetros de Get-Random para especificar un valor de inicializacin, valores mnimo y mximo, as como el nmero de objetos devueltos de una coleccin enviada. PARMETROS -Count <int> Determina el nmero de objetos que se van a devolver. El valor predeterminado es 1. Si el valor de Count es mayor que el nmero de objetos en la coleccin, Get-Random devuelve todos los objetos en orden aleatorio. -InputObject <Object[]> Especifica una coleccin de objetos. Get-Random obtiene en orden aleatorio los objetos aleatoriamente seleccionados de la coleccin.

Especifique los objetos, la variable que contiene los objetos, o bien, un comando o una expresin que los obtenga. Tambin puede canalizar una coleccin de ob jetos a Get-Random. -Maximum <Object> Especifica un valor mximo para el nmero aleatorio. Get-Random devuelve un valor menor que el valor mximo. Escriba un entero de 32 bits, un nmero de punto flotante de doble precisin o un objeto que se pueda convertir en un entero o valor de tipo double, como una cadena numrica ("100"). El valor de Maximum debe ser mayor que el valor de Minimum. Si el valor de Maximum o Minimum es un nmero de punto flotante, Get-Random devuelve un nmero de punto flotante aleatoriamente seleccionado. Si el valor de Minimum es un valor de tipo double (nmero de punto flotante), el valor predeterminado de Maximum es Double.MaxValue. En caso contrario, el valor predeterminado es Int32.MaxValue (2.147.483.647 o 0x7FFFFFFF). -Minimum <Object> Especifica un valor mnimo para el nmero aleatorio. Escriba un entero de 32 bits, un nmero de punto flotante de doble precisin o un objeto que se pueda convertir en un entero o valor de tipo double, como una cadena numrica ("100"). El valor predeterminado es 0 (cero). El valor de Minimum debe ser menor que el valor de Maximum. Si el valor de Maximum o Minimum es un nmero de punto flotante, Get-Random devuelve un nmero de punto flotante aleatoriamente seleccionado. -SetSeed <int> Especifica un valor de inicializacin para el generador de nmeros aleatorios. Este valor se utiliza para el comando actual y todos los comandos Get-Random subsiguientes en la sesin actual hasta que se vuelva a usar SetSeed o se cierre la sesin. No se puede restablecer el valor de inicial izacin en su valor predeterminado basado en el reloj. SetSeed no es un parmetro obligatorio. De forma predeterminada, Get-Random utiliza el reloj del sistema para generar un valor de inicializacin. Dado que SetSeed genera un comportamiento no aleatorio, se suele usar nicamente cuando se intenta reproducir el comportamiento, por ejemplo, al depurar o analizar un script que incluye comandos Get-Random. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-random 3951433 Descripcin -----------

Este comando obtiene un entero aleatorio comprendido entre 0 (cero) e Int32.MaxValue.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-random -maximum 100 47 Descripcin ----------Este comando obtiene un entero aleatorio comprendido entre 0 (cero) y 99.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-random -minimum -100 -maximum 100 -56 Descripcin ----------Este comando obtiene un entero aleatorio comprendido entre -100 y 99.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-random -min 10.7 -max 20.93 18.08467273887 Descripcin ----------Este comando obtiene un nmero de punto flotante aleatorio mayor o igual que 10,7 y menor que 20,92.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-random -input 1, 2, 3, 5, 8, 13 8 Descripcin ----------Este comando obtiene un nmero aleatoriamente seleccionado de la matriz especificada.

-------------------------- EJEMPLO 6 -------------------------C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count 3 3 1 13 Descripcin ----------Este comando obtiene en orden aleatorio tres nmeros aleatoriamente seleccionados de la matriz.

-------------------------- EJEMPLO 7 -------------------------C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count ([int]::MaxValue) 2 3 5 1 8 13 Descripcin ----------Este comando devuelve toda la coleccin en orden aleatorio. El valor del parmetro Count es la propiedad esttica MaxValue de los enteros. Para devolver una coleccin completa en orden aleatorio, escriba cualquier nmero mayor o igual que el nmero de objetos en la coleccin.

-------------------------- EJEMPLO 8 -------------------------C:\PS>get-random -input "red", "yellow", "blue" yellow Descripcin ----------Este comando devuelve un valor aleatorio de una coleccin no numrica.

-------------------------- EJEMPLO 9 -------------------------C:\PS>get-process | get-random Handles ------144 NPM(K) -----4 PM(K) ----2080 WS(K) VM(M) ----- ----488 36 CPU(s) -----0.48 Id ProcessName -- ----------3164 wmiprvse

Descripcin -----------

Este comando obtiene un proceso aleatoriamente seleccionado de la coleccin de procesos en el equipo.

-------------------------- EJEMPLO 10 -------------------------C:\PS>get-content servers.txt | get-random -count (get-content servers.txt).count | foreach {invoke-expression -computer $_ -command 'getprocess powershell'} Descripcin ----------Este comando ejecuta un comando en una serie de equipos remotos en orden aleatorio.

-------------------------- EJEMPLO 11 -------------------------C:\PS>get-random -max 100 -setseed 23 # Commands with the default seed are pseudorandom PS C:\ps-test> get-random -max 100 59 PS C:\ps-test> get-random -max 100 65 PS C:\ps-test> get-random -max 100 21 # Commands with the same seed are not random PS C:\ps-test> get-random -max 100 -setseed 23 74 PS C:\ps-test> get-random -max 100 -setseed 23 74 PS C:\ps-test> get-random -max 100 -setseed 23 74 # SetSeed results in a repeatable series PS C:\ps-test> get-random -max 100 -setseed 23 74 PS C:\ps-test> get-random -max 100 56 PS C:\ps-test> get-random -max 100 84 PS C:\ps-test> get-random -max 100 46 PS C:\ps-test> get-random -max 100 -setseed 23 74 PS C:\ps-test> get-random -max 100 56 PS C:\ps-test> get-random -max 100 84 PS C:\ps-test> get-random -max 100 46 Descripcin -----------

En este ejemplo, se muestra el efecto de utilizar el parmetro SetSeed. Dado que SetSeed genera un comportamiento no aleatorio, se suele usar nicamente para reproducir resultados, por ejemplo, al depurar o analizar un script.

-------------------------- EJEMPLO 12 -------------------------C:\PS>$files = dir -path c:\* -recurse C:\PS> $sample = $files | get-random -count 50 Descripcin ----------Estos comandos obtienen una muestra aleatoriamente seleccionada de 50 archivos de la unidad C: del equipo local.

-------------------------- EJEMPLO 13 -------------------------C:\PS>get-random 10001 7600 Descripcin ----------Este comando obtiene un entero aleatorio menor que 10001. Dado que el parmetro Maximum tiene la posicin 1, se puede omitir el nombre de parmetro cuando el valor es el primer parmetro o el nico parmetro sin nombre del comando.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Random -examples". Para obtener ms informacin, escriba: "get-help Get-Random -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Random -full". NOMBRE Get-UICulture SINOPSIS Obtiene la actual configuracin de la referencia cultural de la interfaz de usuario en el sistema operativo. SINTAXIS Get-UICulture [<CommonParameters>] DESCRIPCIN El cmdlet Get-UICulture obtiene informacin sobre la actual configuracin de la referencia cultural de la interfaz de usuario en Windows. La referencia cultural de la interfaz de usuario determina qu cadenas de texto se utilizan para los elementos de la interfaz de usuario, como los mens y lo

s mensajes. Tambin puede utilizar el cmdlet Get-Culture, que obtiene la actual referencia cultural en el sistema. La referencia cultural determina el formato en el que se muestran algunos elementos, como nmeros, monedas y fechas. PARMETROS <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-uiculture Descripcin ----------Este comando obtiene informacin sobre la referencia cultural de la interfaz de usuario actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-uiculture | format-list * Descripcin ----------Este comando muestra los valores de todas las propiedades de la referencia cultural de la interfaz de usuario actual en una lista.

-------------------------- EJEMPLO 3 -------------------------C:\PS>(get-uiculture).calendar Descripcin ----------Este comando muestra los valores actuales de la propiedad Calendar de la referencia cultural de la interfaz de usuario actual. Calendar es una propiedad de la referencia cultural de la interfaz de usuario. Para ver todas las propiedades, escriba "get-uiculture | get-member".

-------------------------- EJEMPLO 4 -------------------------C:\PS>(get-uiculture).datetimeformat.shortdatepattern Descripcin ----------Este comando muestra el patrn de fecha abreviada de la referencia cultural de la interfaz de usuario actual. Para ver todas las propiedades

secundarias de la propiedad DateTimeFormat de la referencia cultural de la interfaz de usuario, escriba "(get-uiculture).datetimeformat | gm".

NOTAS Para ver los ejemplos, escriba: "get-help Get-UICulture -examples". Para obtener ms informacin, escriba: "get-help Get-UICulture detailed". Para obtener informacin tcnica, escriba: "get-help Get-UICulture full". NOMBRE Get-Unique SINOPSIS Devuelve los elementos nicos de una lista ordenada. SINTAXIS Get-Unique [-AsString] [-InputObject <psobject>] [<CommonParameters>] Get-Unique [-OnType] [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-Unique compara cada elemento de una lista ordenada con el elemento siguiente, elimina los duplicados y devuelve una sola instancia de cada elemento. La lista debe estar ordenada para que el cmdlet funcione correctamente. PARMETROS -AsString [<SwitchParameter>] Trata los datos como una cadena. Sin este parmetro, los datos son tratados como si fueran un objeto. Por consiguiente, cuando se enva a GetUnique un conjunto de objetos del mismo tipo, como un conjunto de archivos, este cmdlet devuelve solamente uno (el primero). Puede usar este parmetr o para buscar valores nicos de las propiedades de objetos, como los nombres de archivo. -InputObject <psobject> Acepta la entrada del cmdlet Get-Unique. Especifique la variable que contiene los objetos o escriba un comando o una expresin que los obtenga. Get-Unique trata la entrada enviada mediante InputObject como un conjunto; no enumera los diferentes elementos del conjunto. Dado que el conjunto es un solo elemento, la entrada enviada mediante InputObject siempre se devuelve sin cambios. -OnType [<SwitchParameter>] Devuelve exclusivamente un objeto de cada tipo. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 --------------------------

C:\PS>$a = $(foreach ($line in get-content C:\Test1\File1.txt) {$line.tolower().split(" ")}) | sort | get-unique C:\PS> $a.count Descripcin ----------Estos comandos buscan el nmero de palabras nicas en un archivo de texto. El primer comando obtiene el contenido del archivo File.txt. Pone en minsculas cada lnea del texto y, a continuacin, separa cada palabra en una lnea diferente conforme al espacio (" "). A continuacin, ordena la lista resultante alfabticamente (opcin predeterminada) y usa el cmdlet Get-Un ique para eliminar las palabras duplicadas. Los resultados se almacenan en la variable $a. El segundo comando usa la propiedad Count de la coleccin de cadenas en la variable $a para determinar el nmero de elementos de $a.

-------------------------- EJEMPLO 2 -------------------------C:\PS>1,1,1,1,12,23,4,5,4643,5,3,3,3,3,3,3,3 | sort-object | Get-Unique Descripcin ----------Este comando busca los miembros nicos del conjunto de enteros. El primer comando toma una matriz de enteros escrita en la lnea de comandos, canaliza los enteros al cmdlet Sort-Object para ordenarlos y, a continuacin, los canaliza a Get-Unique para que se eliminen las entradas duplicadas.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-childitem | sort-object {$_.GetType()} | unique -OnType

Descripcin ----------Este comando usa el cmdlet Get-ChildItem para recuperar el contenido del directorio local, que contiene archivos y directorios. El operador de canalizacin (|) enva los resultados al cmdlet Sort-Object. La instruccin "$_.GetType()" aplica el mtodo GetType a cada archivo o directorio. A conti nuacin, Sort-Object ordena los elementos por tipo. Otro operador de canalizacin enva los resultados a Get-Unique. El parmetro OnType indica a Get-Unique que devuelva solo un objeto de cada tipo.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-process | sort-object | select processname | get-unique asstring

Descripcin ----------Este comando muestra los nombres de los procesos que se ejecutan en el equipo con los duplicados eliminados. El comando Get-Process obtiene todos los procesos del equipo. El operador de canalizacin (|) pasa el resultado a Sort-Object, que, de manera predeterminada, ordena los procesos alfabticamente por la propiedad ProcessName. Los resultados se canalizan al cmdlet Select-Object, que selecciona ni camente los valores de la propiedad ProcessName de cada objeto. A continuacin, se canalizan los resultados Get-Unique para que se eliminen las entradas duplicadas. El parmetro AsString indica a Get-Unique que trate los valores de ProcessName como cadenas. Sin este parmetro, Get-Unique tratara los valores de ProcessName como objetos y devolvera solamente una instancia del objeto, es decir, el primer nombre de proceso de la lista.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Unique -examples". Para obtener ms informacin, escriba: "get-help Get-Unique -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Unique -full". NOMBRE Write-Host SINOPSIS Escribe una salida personalizada en un host. SINTAXIS Write-Host [[-Object] <Object>] [-BackgroundColor {Black | DarkBlue | DarkGreen | DarkCyan | DarkRed | DarkMagenta | DarkYellow | Gray | DarkGray | Blue | Green | Cyan | Red | Magenta | Yellow | White}] [-ForegroundColor {Black | DarkBlue | DarkGreen | DarkCyan | DarkRed | DarkMagenta | DarkYel low | Gray | DarkGray | Blue | Green | Cyan | Red | Magenta | Yellow | White}] [-NoNewline] [-Separator <Object>] [<CommonParameters>] DESCRIPCIN El cmdlet Write-Host personaliza la salida. Puede especificar el color de texto mediante el parmetro ForegroundColor y el color de fondo mediante el parmetro BackgroundColor. El parmetro Separator permite especificar una cadena que se usar para separar los objetos mostrados. El resultado co ncreto depende del programa que hospede Windows PowerShell. PARMETROS -BackgroundColor <ConsoleColor> Especifica el color del fondo. No hay un color predeterminado. -ForegroundColor <ConsoleColor> Especifica el color del texto. No hay un color predeterminado. -NoNewline [<SwitchParameter>]

Establece que el contenido mostrado en la consola no finaliza con un carcter de nueva lnea. -Object <Object> Objetos que se van a mostrar en la consola. -Separator <Object> Cadena que va a separar los objetos que se muestran en la consola. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>write-host "no newline test " -nonewline no newline test C:\PS> Descripcin ----------Este comando muestra la entrada en la consola, pero debido al parmetro NoNewline, la salida va seguida directamente por el mensaje.

-------------------------- EJEMPLO 2 -------------------------C:\PS>write-host (2,4,6,8,10,12) -Separator ", +2= " 2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12 Descripcin ----------Este comando muestra los nmeros pares del 2 al 12. El parmetro Separator se usa para agregar la cadena , +2= (coma, espacio, +, 2, =, espacio).

-------------------------- EJEMPLO 3 -------------------------C:\PS>write-host (2,4,6,8,10,12) -Separator ", -> " -foregroundcolor DarkGreen -backgroundcolor white Descripcin ----------Este comando muestra los nmeros pares del 2 al 12. Usa el parmetro ForegroundColor para mostrar el texto en verde oscuro y el parmetro BackgroundColor para mostrar un fondo blanco.

-------------------------- EJEMPLO 4 --------------------------

C:\PS>write-host "Red on white text." -ForegroundColor red BackgroundColor white Red on white text. Descripcin ----------Este comando muestra la cadena "Red on white text". El texto es de color rojo, tal y como se define mediante el parmetro ForegroundColor. El fondo es blanco, tal y como se define mediante el parmetro BackgroundColor.

NOTAS Para ver los ejemplos, escriba: "get-help Write-Host -examples". Para obtener ms informacin, escriba: "get-help Write-Host -detailed". Para obtener informacin tcnica, escriba: "get-help Write-Host -full". NOMBRE Write-Error SINOPSIS Escribe un objeto en la secuencia de error. SINTAXIS Write-Error -ErrorRecord <ErrorRecord> [-CategoryActivity <string>] [CategoryReason <string>] [-CategoryTargetName <string>] [-CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParameters>] Write-Error [-Message] <string> [-Category {NotSpecified | OpenError | CloseError | DeviceError | DeadlockDetected | InvalidArgument | InvalidData | InvalidOperation | InvalidResult | InvalidType | MetadataError | NotImplemented | NotInstalled | ObjectNotFound | OperationStopped | OperationTime out | SyntaxError | ParserError | PermissionDenied | ResourceBusy | ResourceExists | ResourceUnavailable | ReadError | WriteError | FromStdErr | SecurityError}] [-ErrorId <string>] [-TargetObject <Object>] [CategoryActivity <string>] [-CategoryReason <string>] [-CategoryTargetName <string>] [CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParameters>] Write-Error -Exception <Exception> [-Category {NotSpecified | OpenError | CloseError | DeviceError | DeadlockDetected | InvalidArgument | InvalidData | InvalidOperation | InvalidResult | InvalidType | MetadataError | NotImplemented | NotInstalled | ObjectNotFound | OperationStopped | OperationT imeout | SyntaxError | ParserError | PermissionDenied | ResourceBusy | ResourceExists | ResourceUnavailable | ReadError | WriteError | FromStdErr | SecurityError}] [-ErrorId <string>] [-Message <string>] [-TargetObject <Object>] [-CategoryActivity <string>] [-CategoryReason <string>] [-Category TargetName <string>] [-CategoryTargetType <string>] [-RecommendedAction <string>] [<CommonParameters>] DESCRIPCIN El cmdlet Write-Error escribe un error en la secuencia de error de Windows PowerShell. De forma predeterminada, los errores se envan al programa host para que se muestren junto con los resultados.

Puede escribir un error enviando una cadena de mensaje de error, un objeto ErrorRecord o un objeto Exception.Utilice los dems parmetros de Write-Error para rellenar el registro de errores. PARMETROS -Category <ErrorCategory> Especifica la categora del error. NotSpecified.

El valor predeterminado es

Para obtener ms informacin sobre las categoras de error, vea el tema sobre la enumeracin ErrorCategory en MSDN (Microsoft Developer Network) Library, en http://go.microsoft.com/fwlink/?LinkId=143600 (puede estar en ingls). -CategoryActivity <string> Describe la accin que produjo el error. -CategoryReason <string> Explica cmo o por qu la actividad produjo el error. -CategoryTargetName <string> Especifica el nombre del objeto que se procesaba cuando se produjo el error. -CategoryTargetType <string> Especifica el tipo .NET del objeto que se procesaba cuando se produjo el error. -ErrorId <string> Especifica una cadena de identificador que identifica el error. La cadena debe ser nica para el error. -ErrorRecord <ErrorRecord> Especifica un objeto de registro de error que incluye propiedades que describen el error. Para obtener un objeto de registro de error, utilice el cmdlet NewObject o tome un objeto de registro de error de la matriz en la variable automtica $Error. -Exception <Exception> Especifica una excepcin que representa el error. Puede utilizar una excepcin en lugar de especificar un texto de mensaje o un registro de excepcin. -Message <string> Especifica el texto del mensaje de error. Si el texto incluye espacios o caracteres especiales, escrbalo entre comillas. Tambin puede canalizar una cadena de mensaje a Write-Error. -RecommendedAction <string> Describe la accin que el usuario debe emprender para resolver o evitar el error. -TargetObject <Object> Especifica el objeto que se procesaba cuando se produjo el error. Escriba el objeto (por ejemplo, una cadena), una variable que contenga el objeto o un comando que lo obtenga.

<CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-childitem | foreach-object { if ($_.gettype().tostring() -eq "Microsoft.Win32.RegistryKey") {write-error "Out-of-band object" -errorID B1 -targetobject $_ } else {$_ } } Descripcin ----------Este comando escribe un error cuando el cmdlet Get-ChildItem devuelve un objeto Microsoft.Win32.RegistryKey, como los objetos en la unidad HKLM: o HKCU del proveedor Registry de Windows PowerShell.

-------------------------- EJEMPLO 2 -------------------------C:\PS>write-error "Access denied."

Descripcin ----------Este comando escribe un error de acceso denegado. El comando utiliza el parmetro Message para especificar el mensaje, pero omite el nombre del parmetro opcional Message.

-------------------------- EJEMPLO 3 -------------------------C:\PS>write-error -message "Error: Too many input values." -category InvalidArgument Descripcin ----------Este comando escribe un error y especifica una categora de error.

NOTAS Para ver los ejemplos, escriba: "get-help Write-Error -examples". Para obtener ms informacin, escriba: "get-help Write-Error -detailed". Para obtener informacin tcnica, escriba: "get-help Write-Error -full". NOMBRE Write-Output SINOPSIS Enva los objetos especificados al siguiente comando en la canalizacin. Si es el ltimo comando en la canalizacin, los objetos se mostrarn en la consola.

SINTAXIS Write-Output [-InputObject] <PSObject[]> [<CommonParameters>] DESCRIPCIN El cmdlet Write-Output enva el objeto especificado al siguiente comando en la canalizacin. Si es el ltimo comando en la canalizacin, el objeto se mostrar en la consola. Write-Output enva los objetos a travs de la canalizacin primaria, tambin denominada "flujo de salida" o "canalizacin de salida". Para enviar objetos de error a travs de la canalizacin de errores, utilice WriteError. Este cmdlet se suele utilizar en scripts para mostrar cadenas y otros objetos en la consola. Sin embargo, como el comportamiento predeterminado consiste en mostrar los objetos al final de una canalizacin, normalmente no es necesario usar este cmdlet. Por ejemplo, "get-process | write-output" e quivale a "get-process". PARMETROS -InputObject <PSObject[]> Especifica los objetos que se van a enviar a travs de la canalizacin. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$p = get-process c:\PS> write-output $p c:\PS> $p Descripcin ----------Estos comandos obtienen objetos que representan los procesos que se ejecutan en el equipo y los muestran en la consola.

-------------------------- EJEMPLO 2 -------------------------C:\PS>write-output "test output" | get-member Descripcin ----------Este comando canaliza la cadena "test output" al cmdlet Get-Member, que muestra los miembros de la clase String, lo que pone de manifiesto que la cadena se ha pasado a travs de la canalizacin.

NOTAS Para ver los ejemplos, escriba: "get-help Write-Output -examples". Para obtener ms informacin, escriba: "get-help Write-Output detailed". Para obtener informacin tcnica, escriba: "get-help Write-Output full". NOMBRE Set-PSBreakpoint SINOPSIS Establece un punto de interrupcin en una lnea, un comando o una variable. SINTAXIS Set-PSBreakpoint -Command <string[]> [[-Script] <string[]>] [-Action <scriptblock>] [<CommonParameters>] Set-PSBreakpoint [-Script] <string[]> [-Line] <Int32[]> [[-Column] <int>] [-Action <scriptblock>] [<CommonParameters>] Set-PSBreakpoint -Variable <string[]> [[-Script] <string[]>] [-Mode {Read | Write | ReadWrite}] [-Action <scriptblock>] [<CommonParameters>] DESCRIPCIN El cmdlet Set-PSBreakpoint establece un punto de interrupcin en un script o cualquier comando que se ejecute en la sesin actual. Puede utilizar Set-PSBreakpoint para establecer un punto de interrupcin antes de la ejecucin de un script o comando o durante la depuracin cuando se detiene en otro punto de interrupcin. Nota: Set-PSBreakpoint no puede establecer un punto de interrupcin en un equipo remoto. Para depurar un script en un equipo remoto, copie el script en el equipo local y, a continuacin, deprelo localmente. Cada comando Set-PSBreakpoint interrupcin: -- Punto de interrupcin de determinadas coordenadas de lnea -- Punto de interrupcin de en comandos y funciones. -- Punto de interrupcin de en variables. crea uno de estos tres tipos de puntos de lnea: establece puntos de interrupcin en y columna. comando: establece puntos de interrupcin variable: establece puntos de interrupcin

Puede establecer un punto de interrupcin en varias lneas, comandos o variables de un solo comando Set-PSBreakpoint, pero cada comando SetPSBreakpoint establece solo un tipo de punto de interrupcin. En un punto de interrupcin, Windows PowerShell deja de ejecutarse temporalmente y pasa el control al depurador. El smbolo del sistema cambia a "DBG>" y el usuario dispone de diversos comandos del depurador. Sin embargo, se puede utilizar el parmetro Action para especificar una respuesta alte rnativa, como condiciones para el punto de interrupcin o instrucciones para llevar a cabo tareas adicionales, como tareas de registro o diagnstico.

El cmdlet Set-PSBreakpoint es uno de los diversos cmdlets diseados para depurar los scripts de Windows PowerShell. Para obtener ms informacin acerca del depurador de Windows PowerShell, vea about_Debuggers. PARMETROS -Action <scriptblock> Especifica los comandos que se ejecutan en cada punto de interrupcin, en lugar de interrumpir. Escriba un bloque de script que contenga los comandos. Puede utilizar este parmetro para establecer puntos de interrupcin condicionales o realizar otras tareas, como pruebas o registros. Si se omite este parmetro o no se especifica ninguna accin, la ejecucin se detiene en el punto de interrupcin y se inicia el depurador. Cuando se utiliza el parmetro Action, el bloque de script de Action se ejecuta en cada punto de interrupcin. La ejecucin no se detiene a menos que el bloque de script incluya la palabra clave Break. Si se utiliza la palabra clave Continue en el bloque de script, la ejecucin se reanuda h asta el siguiente punto de interrupcin. Para obtener ms informacin, vea about_Script_Blocks, about_Break y about_Continue. -Column <int> Especifica el nmero de la columna en el archivo de script donde se detiene la ejecucin. Escriba solo un nmero de columna. El valor predeterminado es la columna 1. El valor de Column se utiliza con el valor del parmetro Line para especificar el punto de interrupcin. Si el parmetro Line especifica varias lneas, el parmetro Column establece un punto de interrupcin en la columna especificada en cada una de las lneas especificadas. Windows PowerShe ll deja de ejecutarse antes de la instruccin o expresin que incluye el carcter en la lnea y la posicin de columna especificadas. Las columnas se cuentan a partir del margen superior izquierdo empezando por el nmero de columna 1 (no 0). Si se especifica una columna que no existe en el script, no se declarar un error pero el punto de interrupcin no se ejecutar nunca. -Command <string[]> Establece un punto de interrupcin de comando. Escriba nombres de comando, como "Get-Process" o nombres de funcin. Se permite el uso de caracteres comodn. La ejecucin se detiene justo antes de que se ejecute cada instancia de cada comando. Si el comando es una funcin, la ejecucin se detiene cada vez que se llama a la funcin y en cada seccin BEGIN, PROCESS y END. -Line <Int32[]> Establece un punto de interrupcin de lnea en un script. Escriba uno o varios nmeros de lnea, separados por comas. Windows PowerShell se detiene inmediatamente antes de que se ejecute la instruccin que comienza en cada una de las lneas especificadas. Las lneas se cuentan a partir del margen superior izquierdo del archivo de script empezando por el nmero de lnea 1 (no 0). Si se especifica una lnea en blanco, la ejecucin se detendr antes de la

siguiente lnea que no est en blanco. Si la lnea est fuera del intervalo, no se alcanza r nunca el punto de interrupcin. -Mode <VariableAccessMode> Determina el modo de acceso que desencadena los puntos de interrupcin de variables. El valor predeterminado es Write. Este parmetro solo es vlido cuando se usa el parmetro Variable en el comando. El modo se aplica a todos los puntos de interrupcin establecidos en el comando. Los valores vlidos son: -- Write: la ejecucin se detiene inmediatamente antes de que se escriba un nuevo valor en la variable. -- Read: la ejecucin se detiene cuando se lee la variable, es decir, cuando se obtiene acceso a su valor con el fin de asignarlo, mostrarlo o utilizarlo. En modo de lectura, la ejecucin no se detiene cuando cambia el valor de la variable. -- ReadWrite: la ejecucin se detiene cuando se lee la variable o se escribe en ella. -Script <string[]> Establece un punto de interrupcin en cada uno de los archivos de script especificados. Escriba la ruta de acceso y el nombre de uno o varios archivos de script. Si los archivos estn en el directorio actual, se puede omitir la ruta de acceso. Se permite el uso de caracteres comodn. De forma predeterminada, los puntos de interrupcin de variable y comando se establecen en cualquier comando que se ejecute en la sesin actual. Este parmetro es obligatorio nicamente en el caso de establecer un punto de interrupcin de lnea. -Variable <string[]> Establece un punto de interrupcin de variable. Especifique una lista delimitada por comas de variables sin signos de dlar ($). Utilice los parmetros Mode para determinar el modo de acceso que desencadena los puntos de interrupcin. El modo predeterminado, Write, detiene la ejecucin justo antes de que se escriba un nuevo valor en la variable. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>set-psbreakpoint -script sample.ps1 -line 5 Column Line Action Enabled HitCount Id : : : : : : 0 5 True 0 0

Script : C:\ps-test\sample.ps1 ScriptName : C:\ps-test\sample.ps1 Descripcin ----------Este comando establece un punto de interrupcin en la lnea 5 del script Sample.ps1. Como resultado, cuando se ejecute el script, la ejecucin se detendr inmediatamente antes de que se ejecute la lnea 5. Al establecer un nuevo punto de interrupcin por nmero de lnea, el cmdlet Set-PSBreakpoint genera un objeto de punto de interrupcin de lnea (System.Management.Automation.LineBreakpoint) que incluye el identificador del punto de interrupcin as como el nmero de veces que se alcanza, tal y como se muestra en el siguiente resultado de ejemplo.

-------------------------- EJEMPLO 2 -------------------------C:\PS>set-psbreakpoint -command Increment -script sample.ps1 Command Action Enabled HitCount Id Script ScriptName : : : : : : : Increment True 0 1 C:\ps-test\sample.ps1 C:\ps-test\sample.ps1

Descripcin ----------Este comando crea un punto de interrupcin de comando en la funcin Increment del cmdlet Sample.ps1. El script deja de ejecutarse inmediatamente antes de cada llamada a la funcin especificada. El resultado es un objeto de punto de interrupcin de comando. Antes de que se ejecute el script, el valor de la propiedad HitCount es 0.

-------------------------- EJEMPLO 3 -------------------------C:\PS>set-psbreakpoint -script sample.ps1 -variable Server -Mode ReadWrite Descripcin ----------Este comando establece un punto de interrupcin en la variable Server del script Sample.ps1. Utiliza el parmetro Mode con el valor ReadWrite para que se detenga la ejecucin si el valor de la variable es Read y justo antes de que cambie el valor.

-------------------------- EJEMPLO 4 -------------------------C:\PS>set-psbreakpoint -script Sample.ps1 -command "write*"

Descripcin ----------Este comando establece un punto de interrupcin en cada comando del script Sample.ps1 que comienza con "write", como "write-host".

-------------------------- EJEMPLO 5 -------------------------C:\PS>set-psbreakpoint -script test.ps1 -command DiskTest ` -action { (if $disk -gt 2) { break } } Descripcin ----------Este comando detiene la ejecucin en la funcin DiskTest del script Test.ps1 nicamente cuando el valor de la variable $disk es mayor que 2. Utiliza el cmdlet Set-PSBreakpoint para establecer un punto de interrupcin de comando en la funcin DiskTest. El valor de la accin es un bloque de script que comprueba el valor de la variable $disk en la funcin. La accin utiliza la palabra clave BREAK para detener la ejecucin si se cumple la condicin. La palabra clave alternativa (y predeterminada) es CONTINUE.

-------------------------- EJEMPLO 6 -------------------------C:\PS>set-psbreakpoint -command checkpoint-computer Id Command Enabled HitCount Action : : : : : 0 checkpoint-computer True 0

C:\PS> function CheckLog { >> get-eventlog -log Application | >> where {($_.source -like "TestApp") -and ($_.Message -like "*failed*")} >>} >> C:\PS> Checklog DEBUG: Hit breakpoint(s) DEBUG: Function breakpoint on 'prompt:Checklog' C:\PS>>> Descripcin ----------Este comando establece un punto de interrupcin en la funcin CheckLog. Dado que el comando no especifica un script, el punto de interrupcin se establece en cualquier elemento que se ejecute en la sesin actual. El depurador se interrumpe cuando se llama a la funcin pero no cuando se declara.

-------------------------- EJEMPLO 7 -------------------------C:\PS>set-psbreakpoint -script sample.ps1 -line 1, 14, 19 -column 2 action {&(log.ps1)} Column Line Action Enabled HitCount Id Script ScriptName Column Line Action Enabled HitCount Id Script ScriptName Column Line Action Enabled HitCount Id Script ScriptName : : : : : : : : : : : : : : : : : : : : : : : : 2 1 True 0 6 C:\ps-test\sample.ps1 C:\ps-test\sample.ps1 2 14 True 0 7 C:\ps-test\sample.ps1 C:\ps-test\sample.ps1 2 19 True 0 8 C:\ps-test\sample.ps1 C:\ps-test\sample.ps1

Descripcin ----------Este comando establece tres puntos de interrupcin de lnea en el script Sample.ps1. Establece un punto de interrupcin en la columna 2 en cada una de las lneas especificadas en el script. La accin especificada en el parmetro Action se aplica a todos los puntos de interrupcin.

NOTAS Para ver los ejemplos, escriba: "get-help Set-PSBreakpoint -examples". Para obtener ms informacin, escriba: "get-help Set-PSBreakpoint detailed". Para obtener informacin tcnica, escriba: "get-help Set-PSBreakpoint full". NOMBRE Write-Debug SINOPSIS Escribe un mensaje de depuracin en la consola. SINTAXIS Write-Debug [-Message] <string> [<CommonParameters>] DESCRIPCIN

El cmdlet Write-Debug escribe mensajes de depuracin en la consola desde un script o un comando. De forma predeterminada, los mensajes de depuracin no se muestran en la consola, pero se pueden mostrar mediante el parmetro Debug o la variable $DebugPreference. PARMETROS -Message <string> Especifica el mensaje de depuracin que se va a enviar a la consola. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Write-Debug "Cannot open file." Descripcin ----------Este comando escribe un mensaje de depuracin. Dado que el valor de $DebugPreference es "SilentlyContinue", el mensaje no se muestra en la consola.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$DebugPreference SilentlyContinue C:\PS> Write-Debug "Cannot open file." C:\PS> C:\PS> Write-Debug "Cannot open file." -debug DEBUG: Cannot open file. Descripcin ----------En este ejemplo se muestra cmo utilizar el parmetro comn Debug para invalidar el valor de la variable $DebugPreference para un comando determinado. El primer comando muestra el valor de la variable $DebugPreference, que es el valor predeterminado "SilentlyContinue". El segundo comando escribe un mensaje de depuracin pero, debido al valor de $DebugPreference, el mensaje no aparece. El tercer comando escribe un mensaje de depuracin. Utiliza el parmetro comn Debug para invalidar el valor de $DebugPreference y mostrar los mensajes de depuracin generados por este comando. Como resultado, aunque el valor de $DebugPreference es "SilentlyContinue", el mensaje de depuracin aparece.

Para obtener ms informacin sobre el parmetro comn Debug, vea about_CommonParameters.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$DebugPreference SilentlyContinue C:\PS> Write-Debug "Cannot open file." C:\PS> C:\PS> $DebugPreference = "Continue" C:\PS> Write-Debug "Cannot open file." DEBUG: Cannot open file. Descripcin ----------Este comando muestra el efecto de cambiar el valor de la variable $DebugPreference en la presentacin de los mensajes de depuracin. El primer comando muestra el valor de la variable $DebugPreference, que es el valor predeterminado "SilentlyContinue". El segundo comando escribe un mensaje de depuracin pero, debido al valor de $DebugPreference, el mensaje no aparece. El tercer comando asigna el valor "Continue" a la variable $DebugPreference. El cuarto comando escribe un mensaje de depuracin, que aparece en la consola. Para obtener ms informacin sobre $DebugPreference, vea about_Preference_Variables.

NOTAS Para ver los ejemplos, escriba: "get-help Write-Debug -examples". Para obtener ms informacin, escriba: "get-help Write-Debug -detailed". Para obtener informacin tcnica, escriba: "get-help Write-Debug -full". NOMBRE Write-Verbose SINOPSIS Escribe texto en la secuencia de mensaje detallada. SINTAXIS Write-Verbose [-Message] <string> [<CommonParameters>]

DESCRIPCIN El cmdlet Write-Verbose escribe texto en la secuencia de mensaje detallada de Windows PowerShell. Normalmente, se usa la secuencia de mensaje detallada para entregar informacin sobre el procesamiento que se utiliza para depurar un comando. De forma predeterminada, no se muestra la secuencia de mensaje detallada, pero se puede mostrarla cambiando el valor de la variable $VerbosePreference o utilizando el parmetro comn Verbose en cualquier comando. PARMETROS -Message <string> Especifica el mensaje que se va a mostrar. Este parmetro es obligatorio. Tambin puede canalizar una cadena de mensaje a VerboseMessage. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Write-Verbose -message "Searching the Application Event Log." C:\PS> Write-Verbose -message "Searching the Application Event Log." verbose Descripcin ----------Estos comandos utilizan el cmdlet Write-Verbose para mostrar un mensaje de estado. De forma predeterminada, no se muestra el mensaje. El segundo comando usa el parmetro comn Verbose, que muestra todos los mensajes detallados, independientemente del valor de la variable $VerbosePreference.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$VerbosePreference = "Continue" C:\PS> Write-Verbose "Copying file $filename" Descripcin ----------Estos comandos utilizan el cmdlet Write-Verbose para mostrar un mensaje de estado. De forma predeterminada, no se muestra el mensaje. El primer comando asigna el valor "Continue" a la variable de preferencia $VerbosePreference. El valor predeterminado, "SilentlyContinue", suprime los mensajes detallados. El segundo comando escribe un mensaje detallado.

NOTAS Para ver los ejemplos, escriba: "get-help Write-Verbose -examples". Para obtener ms informacin, escriba: "get-help Write-Verbose detailed". Para obtener informacin tcnica, escriba: "get-help Write-Verbose full". NOMBRE Write-Warning SINOPSIS Escribe un mensaje de advertencia. SINTAXIS Write-Warning [-Message] <string> [<CommonParameters>] DESCRIPCIN El cmdlet Write-Warning escribe un mensaje de advertencia en el host de Windows PowerShell. La respuesta a la advertencia depende del valor de la variable $WarningPreference del usuario y del uso del parmetro comn WarningAction. PARMETROS -Message <string> Especifica el mensaje de advertencia. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>write-warning "This is only a test warning." Descripcin ----------Este comando muestra el mensaje "WARNING: This is only a test warning" (ADVERTENCIA: esta es solo una advertencia de prueba).

-------------------------- EJEMPLO 2 -------------------------C:\PS>$w = "This is only a test warning." C:\PS> $w | write-warning Descripcin ----------En este ejemplo se muestra que se puede utilizar un operador de canalizacin (|) para enviar una cadena a Write-Warning. La cadena se puede guardar en una variable, tal y como se muestra en este comando, o canalizar directamente a Write-Warning.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$warningpreference Continue C:\PS> write-warning "This is only a test warning." This is only a test warning. C:\PS> $warningpreference = "SilentlyContinue" C:\PS> write-warning "This is only a test warning." C:\PS> C:\PS> $warningpreference = "Stop" C:\PS> write-warning "This is only a test warning." WARNING: This is only a test message. Write-Warning : Command execution stopped because the shell variable "WarningPreference" is set to Stop. At line:1 char:14 + write-warning <<<< "This is only a test message." Descripcin ----------En este ejemplo se muestra el efecto que tiene el valor de la variable $WarningPreference en un comando Write-Warning. El primer comando muestra el valor predeterminado de la variable $WarningPreference, el cual es "Continue". Como resultado, cuando se escribe una advertencia, se muestra el mensaje de advertencia y la ejecucin contina. Cuando cambia el valor de la variable $WarningPreference, el comando Write-Warning tiene otro efecto. El valor "SilentlyContinue" suprime la advertencia. El valor "Stop" muestra la advertencia y, a continuacin, detiene la ejecucin del comando. Para obtener ms informacin sobre la variable $WarningPreference, vea about_Preference_Variables.

-------------------------- EJEMPLO 4 -------------------------C:\PS>write-warning "This is only a test warning." -warningaction Inquire WARNING: This is only a test warning. Confirm Continue with this operation? [Y] Yes [A] Yes to All [H] Halt Command (default is "Y"): Descripcin

[S] Suspend

[?] Help

----------En este ejemplo se muestra el efecto del parmetro comn WarningAction en un comando Write-Warning. El parmetro comn WarningAction puede usarse con cualquier cmdlet para determinar cmo Windows PowerShell va a responder a las advertencias generadas por dicho comando. El parmetro comn Warnin gAction invalida el valor de $WarningPreference nicamente para ese comando en cuestin. Este comando usa el cmdlet Write-Warning para mostrar una advertencia. El parmetro comn WarningAction con el valor "Inquire" indica al sistema que avise al usuario cuando el comando muestre una advertencia. Para obtener ms informacin sobre el parmetro comn WarningAction, vea about_CommonParameters.

NOTAS Para ver los ejemplos, escriba: "get-help Write-Warning -examples". Para obtener ms informacin, escriba: "get-help Write-Warning detailed". Para obtener informacin tcnica, escriba: "get-help Write-Warning full". NOMBRE Get-PSBreakpoint SINOPSIS Obtiene los puntos de interrupcin establecidos en la sesin actual. SINTAXIS Get-PSBreakpoint [[-Script] <string[]>] [<CommonParameters>] Get-PSBreakpoint -Command <string[]> [-Script <string[]>] [<CommonParameters>] Get-PSBreakpoint [-Id] <Int32[]> [<CommonParameters>] Get-PSBreakpoint [-Type] <BreakpointType[]> [-Script <string[]>] [<CommonParameters>] Get-PSBreakpoint -Variable <string[]> [-Script <string[]>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-PSBreakPoint obtiene los puntos de interrupcin establecidos en la sesin actual. Se pueden usar los parmetros del cmdlet para obtener puntos de interrupcin concretos. Un punto de interrupcin es un punto en un comando o script donde la ejecucin se detiene temporalmente para que se puedan examinar las instrucciones incluidas en el script. Get-PSBreakpoint es uno de los diversos cmdlets diseados para la depuracin de los scripts y comandos de Windows PowerSh ell. Para obtener ms informacin acerca del depurador de Windows PowerShell, vea about_Debuggers.

PARMETROS -Command <string[]> Obtiene los puntos de interrupcin de comando establecidos en los nombres de comando especificados. Escriba los nombres de comando, como el nombre de un cmdlet o una funcin. -Id <Int32[]> Obtiene los puntos de interrupcin con los identificadores especificados. Escriba los identificadores en una lista delimitada por comas. Tambin puede canalizar los identificadores de los puntos de interrupcin a Get-PSBreakpoint. -Script <string[]> Obtiene solamente los puntos de interrupcin de los scripts especificados. Escriba la ruta de acceso (opcional) y el nombre de uno o varios archivos de script. La ubicacin predeterminada es el directorio actual. -Type <BreakpointType[]> Obtiene nicamente los puntos de interrupcin de los tipos especificados. Especifique uno o varios tipos. Los valores vlidos son Line, Command y Variable. Tambin puede canalizar los tipos de punto de interrupcin a Get-PSBreakpoint. -Variable <string[]> Obtiene los puntos de interrupcin de variable establecidos en los nombres de variable especificados. Escriba los nombres de variable sin signo de dlar. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-psbreakpoint Descripcin ----------Este comando obtiene todos los puntos de interrupcin establecidos en todos los scripts y funciones de la sesin actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-psbreakpoint -Id 2 Function Action Enabled HitCount Id Script ScriptName : : : : : : : Increment True 0 2 C:\ps-test\sample.ps1 C:\ps-test\sample.ps1

Descripcin -----------

Este comando obtiene el punto de interrupcin con el identificador 2.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$b = set-psbreakpoint -script sample.ps1 -function increment C:\PS> $b.Id | get-psbreakpoint Descripcin ----------Estos comandos muestran cmo se obtiene un punto de interrupcin canalizando un identificador de punto de interrupcin a Get-PSBreakpoint. El primer comando utiliza el cmdlet Set-PSBreakpoint para crear un punto de interrupcin en la funcin Increment del script Sample.ps1. Guarda el objeto de punto de interrupcin en la variable $b. El segundo comando usa el operador de punto (.) para obtener la propiedad Id del objeto de punto de interrupcin almacenado en la variable $b. Utiliza un operador de canalizacin (|) para enviar el identificador al cmdlet Get-PSBreakpoint. Como resultado, Get-PSBreakpoint obtiene el punto de interrupcin con el identificador especificado.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-psbreakpoint -script Sample.ps1, SupportScript.ps1 Descripcin ----------Este comando obtiene todos los puntos de interrupcin en los archivos Sample.ps1 y SupportScript.ps1. Este comando no obtiene los puntos de interrupcin establecidos en otros scripts o funciones de la sesin.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-psbreakpoint -command Read-Host, Write-Host -script Sample.ps1 Descripcin ----------Este comando obtiene todos los puntos de interrupcin establecidos en los comandos Read-Host o Write-Host del archivo Sample.ps1.

-------------------------- EJEMPLO 6 -------------------------C:\PS>get-psbreakpoint -type Command -script Sample.ps1

Descripcin ----------Este comando obtiene todos los puntos de interrupcin de comando en el archivo Sample.ps1.

-------------------------- EJEMPLO 7 -------------------------C:\PS>get-psbreakpoint -variable Index, Swap Descripcin ----------Este comando obtiene los puntos de interrupcin establecidos en las variables $index y $swap de la sesin actual.

-------------------------- EJEMPLO 8 -------------------------C:\PS>get-psbreakpoint -type line, variable -script Sample.ps1 Descripcin ----------Este comando obtiene todos los puntos de interrupcin de lnea y variable en el script Sample.ps1.

NOTAS Para ver los ejemplos, escriba: "get-help Get-PSBreakpoint -examples". Para obtener ms informacin, escriba: "get-help Get-PSBreakpoint detailed". Para obtener informacin tcnica, escriba: "get-help Get-PSBreakpoint full". NOMBRE Get-PSCallStack SINOPSIS Muestra la actual pila de llamadas. SINTAXIS Get-PSCallStack [<CommonParameters>] DESCRIPCIN El cmdlet Get-PSCallStack muestra la actual pila de llamadas. Si bien se ha diseado para usarlo con el depurador de Windows PowerShell, este cmdlet puede usarse para mostrar la pila de llamadas en un script o una funcin fuera del depurador. Para ejecutar un comando Get-PSCallStack desde el depurador, escriba "k" o "get-pscallstack".

PARMETROS <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>function my-alias { $p = $args[0] get-alias | where {$_.definition -like "*$p"} | ft definition, name auto } PS C:\ps-test> set-psbreakpoint -command my-alias Command Action Enabled HitCount Id Script : : : : : : my-alias True 0 0 prompt

PS C:\ps-test> my-alias get-content Entering debug mode. Use h or ? for help. Hit Command breakpoint on 'prompt:my-alias' my-alias get-content [DBG]: PS C:\ps-test> s $p = $args[0] DEBUG: Stepped to ': $p = $args[0] '

[DBG]: PS C:\ps-test> s get-alias | Where {$_.Definition -like "*$p*"} | ft Definition, [DBG]: PS C:\ps-test>get-pscallstack Name Location ----------prompt prompt my-alias prompt prompt prompt CommandLineParameters --------------------{} {} {} UnboundArguments ---------------{} {get-content} {}

[DBG]: PS C:\ps-test> o Definition ---------Get-Content Get-Content Name ---gc cat

Get-Content type Descripcin ----------Este comando utiliza el cmdlet Get-PSCallStack para mostrar la pila de llamadas de My-Alias, una funcin simple que obtiene los alias de un nombre de cmdlet. El primer comando escribe la funcin en el smbolo del sistema de Windows PowerShell. El segundo comando usa el cmdlet Set-PSBreakpoint para establecer un punto de interrupcin en la funcin My-Alias. El tercer comando usa la funcin My-Alias para obtener todos los alias del cmdlet GetContent en la sesin actual. El depurador interrumpe la llamada a la funcin. Dos comandos (s) paso a paso por lnea consecutivos empiezan a ejecutar la funcin lnea por lnea. A continuacin, se usa un comando Get-PSCallStack para recuperar la pila de llamadas. El ltimo comando es un comando Step-Out (o) que cierra el depurador y contina ejecutando el script hasta el final.

NOTAS Para ver los ejemplos, escriba: "get-help Get-PSCallStack -examples". Para obtener ms informacin, escriba: "get-help Get-PSCallStack detailed". Para obtener informacin tcnica, escriba: "get-help Get-PSCallStack full". NOMBRE Send-MailMessage SINOPSIS Enva un mensaje de correo electrnico. SINTAXIS Send-MailMessage [-To] <string[]> [-Subject] <string> -From <string> [[Body] <string>] [[-SmtpServer] <string>] [-Attachments <string[]>] [-Bcc <string[]>] [-BodyAsHtml] [-Cc <string[]>] [-Credential <PSCredential>] [DeliveryNotificationOption {None | OnSuccess | OnFailure | Delay | Never}] [ -Encoding <Encoding>] [-Priority {Normal | Low | High}] [-UseSsl] [<CommonParameters>] DESCRIPCIN El cmdlet Send-MailMessage enva un mensaje de correo electrnico desde Windows PowerShell. PARMETROS -Attachments <string[]> Especifica la ruta de acceso y el nombre de los archivos que se van a adjuntar al mensaje de correo electrnico. Puede utilizar este parmetro o canalizar las rutas de acceso y los nombres de archivo a Send-MailMessage. -Bcc <string[]>

Especifica las direcciones de correo electrnico que reciben una copia del correo pero que no figuran como destinatarios del mensaje. Escriba nombres (opcional) y la direccin de correo electrnico, como "Nombre <alguien@example.com>". -Body <string> Especifica el cuerpo (contenido) del mensaje de correo electrnico. -BodyAsHtml [<SwitchParameter>] Indica que el valor del parmetro Body contiene HTML. -Cc <string[]> Especifica las direcciones de correo electrnico a las que se enva una copia carbn (CC) del mensaje de correo electrnico. Escriba nombres (opcional) y la direccin de correo electrnico, como "Nombre <alguien@example.com>". -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01". O bien, escriba un objeto PSCredential, como el devuelto por el cmdlet Get-Credential. -DeliveryNotificationOption <DeliveryNotificationOptions> Especifica las opciones de notificacin de entrega para el mensaje de correo electrnico. Puede especificar varios valores. "None" es el valor predeterminado. El alias de este parmetro es "dno". Las notificaciones de entrega se envan en un mensaje de correo electrnico a la direccin especificada en el valor del parmetro To. Los valores vlidos son: -- None: ninguna notificacin. -- OnSuccess: se enva una notificacin si la entrega se ha realizado correctamente. -- OnFailure: se enva una notificacin si la entrega no se ha realizado correctamente. -- Delay: se enva una notificacin si se retrasa la entrega. -- Never: no se enva nunca una notificacin. -Encoding <Encoding> Especifica la codificacin utilizada para el cuerpo y el asunto. Los valores vlidos son ASCII, UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, Default y OEM. El valor predeterminado es ASCII. -From <string> Especifica la direccin de origen del correo. Escriba un nombre (opcional) y una direccin de correo electrnico, como "Nombre <alguien@example.com>". Este parmetro es obligatorio. -Priority <MailPriority> Especifica la prioridad del mensaje de correo electrnico. Los valores vlidos son Normal, High y Low. Normal es el valor predeterminado. -SmtpServer <string> Especifica el nombre del servidor SMTP que enva el mensaje de correo electrnico.

El valor predeterminado es el valor de la variable de preferencia $PSEmailServer. Si no se establece la variable de preferencia y se omite este parmetro, el comando generar un error. -Subject <string> Especifica el asunto del mensaje de correo electrnico. Este parmetro es obligatorio. -To <string[]> Especifica las direcciones de destino del correo. Escriba nombres (opcional) y la direccin de correo electrnico, como "Nombre <alguien@example.com>". Este parmetro es obligatorio. -UseSsl [<SwitchParameter>] Se usa el protocolo Capa de sockets seguros (SSL) para establecer una conexin con el equipo remoto al que se va a enviar el correo. De forma predeterminada, no se usa SSL. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>send-mailmessage -to "User01 <user01@example.com>" -from "User02 <user02@example.com>" -subject "Test mail" Descripcin ----------Este comando enva un mensaje de correo electrnico de User01 a User02. El mensaje de correo tiene un asunto, el cual es obligatorio, pero no tiene cuerpo, el cual es opcional. Adems, dado que no se especifica el parmetro SmtpServer, Send-MailMessage usa el valor de la variable de preferencia $PSEmailServer para el servidor SMTP.

-------------------------- EJEMPLO 2 -------------------------C:\PS>send-mailmessage -from "User01 <user01@example.com>" -to "User02 <user02@example.com>", "User03 <user03@example.com>" -subject "Sending the Attachment" -body "Forgot to send the attachment. Sending now." -Attachment "data.csv" -priority High -dno onSuccess, onFailure -smtpServer smtp.fabr ikam.com Descripcin ----------Este comando enva un mensaje de correo electrnico con datos adjuntos de User01 a otros dos usuarios. Especifica "High" como valor de prioridad y solicita una notificacin de entrega por correo electrnico cuando se entregan los mensajes de correo electrnico o cuando no se entregan.

-------------------------- EJEMPLO 3 -------------------------C:\PS>send-mailmessage -to "User01 <user01@example.com>" -from "ITGroup <itdept@example.com>" -cc "User02 <user02@example.com>" -bcc ITMgr <itmgr@example.com> -subject "Don't forget today's meeting!" -credential domain01\admin01 -useSSL Descripcin ----------Este comando enva un mensaje de correo electrnico de User01 a la lista de distribucin de correo ITGroup con una copia (CC) para User02 y una copia oculta (CCO) para el administrador de TI (ITMgr). El comando utiliza las credenciales de un administrador de dominio y el parmetro UseSSL.

NOTAS Para ver los ejemplos, escriba: "get-help Send-MailMessage -examples". Para obtener ms informacin, escriba: "get-help Send-MailMessage detailed". Para obtener informacin tcnica, escriba: "get-help Send-MailMessage full". NOMBRE Get-TraceSource SINOPSIS Obtiene los componentes de Windows PowerShell instrumentados para realizar un seguimiento. SINTAXIS Get-TraceSource [[-Name] <string[]>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-TraceSource obtiene los orgenes de seguimiento de los componentes de Windows PowerShell que se encuentran actualmente en uso. Puede usar los datos para determinar de qu componentes Windows PowerShell se puede hacer un seguimiento. Cuando se realiza un seguimiento, el componente genera mensajes detallados cobre cada paso en su procesamiento interno. Los programadores usan los datos de seguimiento para supervisar el flujo de datos, la ejecucin de programas y los errores. Los cmdlets de seguimiento se han diseado para los programadores de Windows PowerShell, pero estn a disposicin de todos los usuarios. PARMETROS -Name <string[]> Obtiene nicamente los orgenes de seguimiento especificados. Se permite el uso de caracteres comodn. El nombre del parmetro ("Name") es opcional. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba:

"get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-traceSource *provider*

Descripcin ----------Este comando obtiene todos los orgenes de seguimiento que tienen nombres con la palabra "provider".

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-tracesource Descripcin ----------Este comando obtiene todos los componentes de Windows PowerShell de los que se puede hacer un seguimiento.

NOTAS Para ver los ejemplos, escriba: "get-help Get-TraceSource -examples". Para obtener ms informacin, escriba: "get-help Get-TraceSource detailed". Para obtener informacin tcnica, escriba: "get-help Get-TraceSource full". NOMBRE Remove-PSBreakpoint SINOPSIS Elimina los puntos de interrupcin de la consola actual. SINTAXIS Remove-PSBreakpoint [-Id] <Int32[]> [-Confirm] [-WhatIf] [<CommonParameters>] Remove-PSBreakpoint [-Breakpoint] <Breakpoint[]> [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Remove-PSBreakpoint elimina un punto de interrupcin. Especifique un objeto o identificador de punto de interrupcin. Cuando se quita un punto de interrupcin, el objeto de punto de interrupcin deja de estar disponible o deja de funcionar. Si ha guardado un objeto de punto de interrupcin en una variable, se mantiene la referencia pero el punto de interrupcin no funciona. Remove-PSBreakpoint es uno de los diversos cmdlets diseados para depurar los scripts de Windows PowerShell. Para obtener ms informacin acerca del depurador de Windows PowerShell, vea about_Debuggers.

PARMETROS -Breakpoint <Breakpoint[]> Especifica los puntos de interrupcin que se van a eliminar. Escriba una variable que contenga objetos de punto de interrupcin o un comando que los obtenga, como un comando Get-PSBreakpoint. Tambin puede canalizar los objetos de punto de interrupcin a Remove-PSBreakpoint. -Id <Int32[]> Elimina los puntos de interrupcin con los identificadores especificados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-breakpoint | remove-breakpoint Descripcin ----------Este comando elimina todos los puntos de interrupcin en la consola actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$b = set-psbreakpoint -script sample.ps1 -variable Name C:\PS> $b | remove-psbreakpoint Descripcin ----------Este comando elimina un punto de interrupcin. El primer comando utiliza el cmdlet Set-PSBreakpoint para crear un punto de interrupcin en la variable Name del script Sample.ps1. A continuacin, guarda el objeto de punto de interrupcin en la variable $b. El segundo comando usa el cmdlet Remove-PSBreakpoint para eliminar el nuevo punto de interrupcin. Utiliza un operador de canalizacin (|) para enviar al cmdlet Remove-PSBreakpoint el objeto de punto de interrupcin guardado en la variable $b. Como resultado de este comando, si se ejecuta el script, se ejecutar completamente sin detenerse. Adems, el cmdlet Get-PSBreakpoint no devolver este punto de interrupcin.

-------------------------- EJEMPLO 3 -------------------------C:\PS>remove-psbreakpoint -id 2 Descripcin ----------Este comando elimina el punto de interrupcin con el identificador 2.

-------------------------- EJEMPLO 4 -------------------------C:\PS>function del-psb { get-psbreakpoint | remove-psbreakpoint } Descripcin ----------Esta funcin simple elimina todos los puntos de interrupcin en la consola actual. Usa el cmdlet Get-PSBreakpoint para obtener los puntos de interrupcin. A continuacin, utiliza un operador de canalizacin (|) para enviar los puntos de interrupcin al cmdlet Remove-PSBreakpoint, que los elimin a. Como resultado, se puede escribir "del-psb" en lugar del comando completo. Para guardar la funcin, agrguela a su perfil de Windows PowerShell.

NOTAS Para ver los ejemplos, escriba: "get-help Remove-PSBreakpoint examples". Para obtener ms informacin, escriba: "get-help Remove-PSBreakpoint detailed". Para obtener informacin tcnica, escriba: "get-help Remove-PSBreakpoint -full". NOMBRE Enable-PSBreakpoint SINOPSIS Habilita los puntos de interrupcin en la consola actual. SINTAXIS Enable-PSBreakpoint [-Id] <Int32[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Enable-PSBreakpoint [-Breakpoint] <Breakpoint[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Enable-PSBreakpoint vuelve a habilitar los puntos de interrupcin deshabilitados. Puede utilizarlo para habilitar todos los

puntos de interrupcin o puede especificar los puntos de interrupcin enviando objetos o identificadores de punto de interrupcin. Un punto de interrupcin es un punto en un script donde la ejecucin se detiene temporalmente para que se puedan examinar las instrucciones incluidas en el script. Los nuevos puntos de interrupcin se habilitan automticamente, pero es posible deshabilitarlos mediante el cmdlet DisablePSBreakp oint. Tcnicamente, este cmdlet cambia a True el valor de la propiedad Enabled de un objeto de punto de interrupcin. Enable-PSBreakpoint es uno de los diversos cmdlets diseados para depurar los scripts de Windows PowerShell. Para obtener ms informacin acerca del depurador de Windows PowerShell, vea about_Debuggers. PARMETROS -Breakpoint <Breakpoint[]> Especifica los puntos de interrupcin que se van a habilitar. Escriba una variable que contenga objetos de punto de interrupcin o un comando que los obtenga, como un comando Get-PSBreakpoint. Tambin puede canalizar los objetos de punto de interrupcin a Enable-PSBreakpoint. -Id <Int32[]> Habilita los puntos de interrupcin con los identificadores especificados. El valor predeterminado es todos los puntos de interrupcin. Escriba los identificadores o una variable que los contenga. (No puede canalizar los identificadores a Enable-PSBreakpoint.) Para obtener el identificador de un punto de interrupcin, utilice el cmdlet Get-PSBreakpoint. -PassThru [<SwitchParameter>] Devuelve un objeto que representa el punto de interrupcin habilitado. De forma predeterminada, este cmdlet no genera resultados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-psbreakpoint | enable-psbreakpoint Descripcin ----------Este comando habilita todos los puntos de interrupcin en la consola actual. Este comando puede abreviarse como: "gbp | ebp".

-------------------------- EJEMPLO 2 -------------------------C:\PS>enable-psbreakpoint -id 0, 1, 5 Descripcin ----------Este comando habilita los puntos de interrupcin con los identificadores 0, 1 y 5.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$b = set-psbreakpoint -script sample.ps1 -variable Name C:\PS> $b | disable-psbreakpoint -passthru AccessMode Variable Action Enabled HitCount Id Script ScriptName : : : : : : : : Write Name False 0 0 C:\ps-test\sample.ps1 C:\ps-test\sample.ps1

C:\PS> $b | enable-psbreakpoint -passthru AccessMode Variable Action Enabled HitCount Id Script ScriptName : : : : : : : : Write Name True 0 0 C:\ps-test\sample.ps1 C:\ps-test\sample.ps1

Descripcin ----------Estos comandos vuelven a habilitar un punto de interrupcin que se ha deshabilitado. El primer comando utiliza el cmdlet Set-PSBreakpoint para crear un punto de interrupcin en la variable "Name" del script Sample.ps1. A continuacin, guarda el objeto de punto de interrupcin en la variable $b. El segundo comando usa el cmdlet Disable-PSBreakpoint para deshabilitar el nuevo punto de interrupcin. Utiliza un operador de canalizacin (|) para enviar el objeto de punto de interrupcin almacenado en $b al cmdlet Disable-PSBreakpoint y utiliza el parmetro PassThru de Disable-PSBreakpoint para mostrar el objeto de punto de interrupcin deshabilitado. De este modo, se puede comprobar que el valor de la propiedad Enabled del objeto de punto de interrupcin es False. El tercer comando habilitar el punto de para enviar el objeto Enable-PSBreakpoint y para usa el cmdlet Enable-PSBreakpoint para volver a interrupcin. Utiliza un operador de canalizacin (|) de punto de interrupcin almacenado en $b al cmdlet utiliza el parmetro PassThru de Enable-PSBreakpoint

mostrar el objeto de punto de interrupcin. De este modo, se puede comprobar que el valor de la propiedad Enabled del objeto de punto de interrupcin es True. Los resultados se muestran en el siguiente ejemplo.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$b = get-psbreakpoint -id 3, 5 C:\PS> enable-psbreakpoint -breakpoint $b Descripcin ----------Estos comandos habilitan un conjunto de puntos de interrupcin especificando sus objetos de punto de interrupcin. El primer comando utiliza el cmdlet Get-PSBreakpoint para obtener los puntos de interrupcin y los guarda en la variable $b. El segundo comando usa el cmdlet Enable-PSBreakpoint y su parmetro Breakpoint para habilitar los puntos de interrupcin. Este comando equivale a "enable-psbreakpoint -id 3, 5".

NOTAS Para ver los ejemplos, escriba: "get-help Enable-PSBreakpoint examples". Para obtener ms informacin, escriba: "get-help Enable-PSBreakpoint detailed". Para obtener informacin tcnica, escriba: "get-help Enable-PSBreakpoint -full". NOMBRE Disable-PSBreakpoint SINOPSIS Deshabilita los puntos de interrupcin en la consola actual. SINTAXIS Disable-PSBreakpoint [-Id] <Int32[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Disable-PSBreakpoint [-Breakpoint] <Breakpoint[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Disable-PSBreakpoint deshabilita los puntos de interrupcin, lo que garantiza que no se alcanzarn cuando se ejecute el script. Puede utilizarlo para deshabilitar todos los puntos de interrupcin o puede especificar los puntos de interrupcin enviando objetos o identificadores de punt o de interrupcin.

Tcnicamente, este cmdlet cambia a False el valor de la propiedad Enabled de un objeto de punto de interrupcin. Para volver a habilitar un punto de interrupcin, utilice el cmdlet Enable-PSBreakpoint. De forma predeterminada, los puntos de interrupcin estn habilitados si se crean mediante el cmdlet Set-PSBreakpoint. Un punto de interrupcin es un punto en un script donde la ejecucin se detiene temporalmente para que se puedan examinar las instrucciones incluidas en el script. Disable-PSBreakpoint es uno de los diversos cmdlets diseados para la depuracin de los scripts de Windows PowerShell. Para obtener ms informacin acerca del depurador de Windows PowerShell, vea about_Debuggers. PARMETROS -Breakpoint <Breakpoint[]> Especifica los puntos de interrupcin que se van a deshabilitar. Escriba una variable que contenga objetos de punto de interrupcin o un comando que los obtenga, como un comando Get-PSBreakpoint. Tambin puede canalizar los objetos de punto de interrupcin al cmdlet DisablePSBreakpoint. -Id <Int32[]> Deshabilita los puntos de interrupcin con los identificadores especificados. Escriba los identificadores o una variable que los contenga. No puede canalizar los identificadores a Disable-PSBreakpoint. -PassThru [<SwitchParameter>] Devuelve un objeto que representa los puntos de interrupcin habilitados. De forma predeterminada, este cmdlet no genera resultados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$b = set-psbreakpoint -script sample.ps1 -variable name C:\PS> $b | disable-psbreakpoint Descripcin ----------Estos comandos deshabilitan un punto de interrupcin que se acaba de crear. El primer comando utiliza el cmdlet Set-PSBreakpoint para crear un punto de interrupcin en la variable Name del script Sample.ps1. A continuacin, guarda el objeto de punto de interrupcin en la variable $b.

El segundo comando usa el cmdlet Disable-PSBreakpoint para deshabilitar el nuevo punto de interrupcin. Utiliza un operador de canalizacin (|) para enviar el objeto de punto de interrupcin guardado en la variable $b al cmdlet Disable-PSBreakpoint. Como resultado de este comando, el valor de la propiedad Enabled del objeto de punto de interrupcin almacenado en $b es False.

-------------------------- EJEMPLO 2 -------------------------C:\PS>disable-psbreakpoint -id 0 Descripcin ----------Este comando deshabilita el punto de interrupcin con el identificador 0.

-------------------------- EJEMPLO 3 -------------------------C:\PS>disable-psbreakpoint -breakpoint ($b = set-psbreakpoint -script sample.ps1 -line 5) C:\PS> $b Descripcin ----------Este comando crea un nuevo punto de interrupcin que estar deshabilitado hasta que se habilite. Utiliza el cmdlet Disable-PSBreakpoint para deshabilitar el punto de interrupcin. El valor del parmetro Breakpoint es un comando SetPSBreakpoint que establece un nuevo punto de interrupcin, genera un objeto de punto de interrupcin y guarda el objeto en la variable $b. Los parmetros de cmdlet que toman un objeto como valor pueden aceptar una variable que contiene el objeto o un comando que obtiene o genera el objeto. En este caso, dado que Set-PSBreakpoint genera un objeto de punto de interrupcin, se puede utilizarlo como valor del parmetro Breakpoint. El segundo comando muestra el objeto de punto de interrupcin en el valor de la variable $b.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-psbreakpoint | disable-psbreakpoint Descripcin ----------Este comando deshabilita todos los puntos de interrupcin en la consola actual. Este comando puede abreviarse como: "gbp | dbp".

NOTAS Para ver los ejemplos, escriba: "get-help Disable-PSBreakpoint examples". Para obtener ms informacin, escriba: "get-help Disable-PSBreakpoint detailed". Para obtener informacin tcnica, escriba: "get-help DisablePSBreakpoint -full". NOMBRE Select-XML SINOPSIS Busca texto en una cadena o documento XML. SINTAXIS Select-XML -Content <string[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>] Select-XML [-Path] <string[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>] Select-XML [-Xml] <XmlNode[]> [-Xpath] <string> [-Namespace <hashtable>] [<CommonParameters>] DESCRIPCIN El cmdlet Select-XML permite utilizar consultas XPath para buscar texto en cadenas y documentos XML. Escriba una consulta XPath y utilice el parmetro Content, Path o Xml para especificar el XML en el que se va a buscar. PARMETROS -Content <string[]> Especifica la cadena que contiene el XML en el que se va a buscar. Tambin puede canalizar cadenas a Select-XML. -Namespace <hashtable> Especifica una tabla hash de los espacios de nombres utilizados en el XML. Use el formato @{<nombreDeEspacioDeNombres> = <valorDeEspacioDeNombres>}. -Path <string[]> Especifica la ruta de acceso y el nombre de los archivos XML en los que se va a buscar.Se permite el uso de caracteres comodn. -Xml <XmlNode[]> Especifica uno o varios nodos XML. Se requiere un parmetro Path o XML en cada comando. Un documento XML se procesar como una coleccin de nodos XML. Si se canaliza un documento XML a Select-XML, se buscar de manera independiente en cada nodo del documento cuando pase por la canalizacin. -Xpath <string> Especifica una consulta de bsqueda XPath. El lenguaje de consulta distingue entre maysculas y minsculas. Este parmetro es obligatorio.

<CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$path = "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml" C:\PS> select-xml -path $path -xpath "/Types/Type/Members/AliasProperty" Descripcin ----------En este ejemplo, se buscan los elementos secundarios del nodo AliasProperty en el archivo Types.ps1xml.

-------------------------- EJEMPLO 2 -------------------------C:\PS>select-xml -path test*.xml, help.xml -xpath "/Tests/Test[1]/Name" Descripcin ----------Este comando utiliza Select-XML para buscar en varios archivos XML.

-------------------------- EJEMPLO 3 -------------------------C:\PS>[xml]$Types = get-content "$env:windir\System32\WindowsPowerShell\v1.0\Types.ps1xml" C:\PS> select-xml -xml $Types -xpath "//MethodName" Descripcin ----------En este ejemplo se muestra cmo canalizar un documento XML a SearchPath.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$namespace = @{command="http://schemas.microsoft.com/maml/dev/command/2004/10"; maml="http://schemas.microsoft.com/maml/2004/10"; dev="http://schemas.microsoft.com/maml/dev/2004/10"} C:\PS> $path = "$env:windir\System32\WindowsPowerShell\V1.0\en-us\*dllHelp.xml" C:\PS> select-xml -path $path -namespace $namespace -xpath "//command:name" Text ---Node ---Path ----

Add-Computer name C:\Windows\System32\WindowsPowerShell\V... Add-Content name C:\Windows\System32\WindowsPowerShell\V... Checkpoint-Computer name C:\Windows\System32\WindowsPowerShell\V... Clear-Content name C:\Windows\System32\WindowsPowerShell\V... Clear-EventLog name C:\Windows\System32\WindowsPowerShell\V... ... Descripcin ----------En este ejemplo se muestra cmo utilizar el cmdlet Select-XML para buscar en los archivos de ayuda de cmdlet basados en XML de Windows PowerShell. El primer comando crea una tabla hash que representa el espacio de nombres XML y lo guarda en la variable $namespace. El segundo comando guarda la ruta de acceso a los archivos de ayuda en la variable $path. El tercer comando usa Select-Xml para buscar nombres de cmdlet en el XML mediante la bsqueda de etiquetas Command:Name en los archivos.

-------------------------- EJEMPLO 5 -------------------------C:\PS>select-xml -content $xml -xpath "//edition" C:\PS> $xml = @" <?xml version="1.0" encoding="utf-8"?> <Book> <projects> <project name="Book1" date="2009-01-20"> <editions> <edition language="English">En.Book1.com</edition> <edition language="German">Ge.Book1.Com</edition> <edition language="French">Fr.Book1.com</edition> <edition language="Polish">Pl.Book1.com</edition> </editions> </project> </projects> </Book> "@ C:\PS> select-xml -content $xml -xpath "//edition" Text ---En.Book1.com Ge.Book1.Com Fr.Book1.com Pl.Book1.com Node ---edition edition edition edition Path ---InputStream InputStream InputStream InputStream

C:\PS> $xml | select-xml -xpath "//edition"

Text ---En.Book1.com Ge.Book1.Com Fr.Book1.com Pl.Book1.com

Node ---edition edition edition edition

Path ---InputStream InputStream InputStream InputStream

Descripcin ----------En este ejemplo se utiliza el parmetro Content de Select-XML para buscar contenido XML en una cadena multilnea intercalada en el cdigo. El primer comando guarda en la variable $xml la cadena multilnea intercalada en el cdigo. El segundo comando usa el parmetro Content para especificar el contenido XML de la variable $xml. El tercer comando es equivalente al segundo. Utiliza un operador de canalizacin (|) para enviar el contenido XML almacenado en la variable $xml al cmdlet Select-XML. Para obtener ms informacin sobre las cadenas multilnea intercaladas en el cdigo, escriba about_Quoting_Rules.

NOTAS Para ver los ejemplos, escriba: "get-help Select-XML -examples". Para obtener ms informacin, escriba: "get-help Select-XML -detailed". Para obtener informacin tcnica, escriba: "get-help Select-XML -full". NOMBRE Group-Object SINOPSIS Agrupa los objetos que contienen el mismo valor para las propiedades especificadas. SINTAXIS Group-Object [-AsHashTable] [-AsString] [[-Property] <Object[]>] [CaseSensitive] [-Culture <string>] [-InputObject <psobject>] [-NoElement] [<CommonParameters>] DESCRIPCIN El cmdlet una propiedad cada valor de elementos con

Group-Object muestra los objetos en grupos segn el valor de concreta. Group-Object devuelve una tabla con una fila por propiedad y una columna en la que se muestra el nmero de ese valor.

Si se especifican varias propiedades, Group-Object agrupa primero por el valor de la primera propiedad y, a continuacin, dentro de cada grupo, agrupa por el valor de la siguiente propiedad. PARMETROS -AsHashTable [<SwitchParameter>]

Devuelve el grupo como una tabla hash. Las claves de la tabla hash son los valores de propiedad por los que se agrupan los objetos. Los valores de la tabla hash son los objetos que tienen ese valor de propiedad. Si no se utiliza con ningn otro parmetro, AsHashTable devuelve cada tabla hash en la que cada clave es una instancia del objeto agrupado. Cuando se utiliza con el parmetro AsString, las claves en la tabla hash son cadenas. -AsString [<SwitchParameter>] Convierte las claves de tabla hash en cadenas. De forma predeterminada, estas claves son instancias del objeto agrupado. Este parmetro es vlido nicamente cuando se usa con el parmetro AsHashTable. -CaseSensitive [<SwitchParameter>] Determina que debe distinguirse entre maysculas y minsculas en las agrupaciones. Sin este parmetro, el uso de maysculas y minsculas puede ser diferente en los valores de propiedad de los objetos de un grupo. -Culture <string> Especifica la referencia cultural que se va a usar en las comparaciones de cadenas. -InputObject <psobject> Especifica los objetos que se van a agrupar. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. Cuando se usa el parmetro InputObject para enviar una coleccin de objetos a Group-Object, este cmdlet recibe un objeto que representa la coleccin. Como resultado, crea un solo grupo con ese objeto como miembro. Para agrupar los objetos de una coleccin, canalice los objetos a Group-Object. -NoElement [<SwitchParameter>] Omite de los resultados los miembros de un grupo. -Property <Object[]> Especifica las propiedades de la agrupacin. Los objetos se organizan en grupos segn el valor de la propiedad especificada. El valor del parmetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, cree una tabla hash con una clave Expression que especifique una cadena o un valor de bloque de script. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-childitem *.doc | group-object -property length Descripcin ----------Este comando obtiene los archivos de la ubicacin actual que tienen la extensin .doc y los agrupa segn su tamao.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-childitem | sort-object -property extension | group-object property extension Descripcin ----------Este comando obtiene los archivos que se encuentran en la ubicacin actual, los ordena segn su extensin y, a continuacin, los agrupa por extensin. Observe que primero se ordenan y despus se agrupan los archivos.

-------------------------- EJEMPLO 3 -------------------------C:\PS>1..35 | group-object -property {$_ % 2},{$_ % 3} Descripcin ----------En este ejemplo se muestra cmo utilizar los bloques de script como valor del parmetro Property. Este comando muestra los enteros de 1 a 35, agrupados segn el resto que queda al dividirlos entre 2 3.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$events = get-eventlog -logname system -newest 1000 C:\PS> $events | group-object -property eventID Count ----44 5 1 Name ---Information Error Warning Group ----{System.Diagnostics.EventLogEntry, {System.Diagnostics.EventLogEntry, {System.Diagnostics.EventLogEntry}

Descripcin ----------Estos comandos muestran las 1000 entradas ms recientes del registro de eventos del sistema agrupadas segn su identificador de evento. El primer comando utiliza el cmdlet Get-EventLog para recuperar los eventos y usa el operador de asignacin (=) para guardarlos en la variable $events. El segundo comando usa un operador de canalizacin (|) para enviar los eventos almacenados en la variable $events al cmdlet Group-Object. El comando utiliza el parmetro Property para especificar que los eventos deben agruparse segn el valor de su propiedad EventID. En el resultado, la columna Count representa el nmero de entradas de cada grupo, la columna Name representa los valores de EventID que definen un grupo y la columna Group representa los objetos de cada grupo.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-process | group-object -property priorityclass Count Name Group ----- -------55 Normal {System.Diagnostics.Process System.Diagnostics.Process (alg), System.Dia... 1 {System.Diagnostics.Process 3 High {System.Diagnostics.Process System.Diagnostics.Process (winlogon), System.D... 2 BelowNormal {System.Diagnostics.Process

(AdtAgent), (Idle)} (Newproc), (winperf),

C:\PS>get-process | group-object -property company -noelement Count Name ----- ---55 Normal 1 3 High 2 BelowNormal Descripcin ----------En este ejemplo se muestra el efecto del parmetro NoElement. Estos comandos agrupan los procesos del equipo por clase de prioridad. El primer comando utiliza el cmdlet Get-Process para obtener los procesos del equipo. Utiliza un operador de canalizacin (|) para enviar los resultados a Group-Object, que agrupa los objetos en funcin del valor de la propiedad PriorityClass del proceso. El segundo comando es idntico al primero, salvo en que utiliza el parmetro NoElement para eliminar de los resultados los miembros del grupo. El resultado es una tabla con solo el recuento y el nombre de los valores de propiedad. Los resultados se muestran en el siguiente ejemplo.

-------------------------- EJEMPLO 6 -------------------------C:\PS>get-eventlog -logname system -newest 1000 | group-object -property {$_.TimeWritten - $_.TimeGenerated} Descripcin ----------Este comando muestra cmo proporcionar el valor del parmetro Property como un bloque de script. Este comando muestra las 1000 entradas ms recientes del registro de eventos del sistema agrupadas segn el tiempo transcurrido entre su creacin y su insercin en el registro.

El comando utiliza el cmdlet Get-EventLog para obtener las entradas del registro de eventos. Utiliza un operador de canalizacin (|) para enviar las entradas al cmdlet Group-Object. El valor del parmetro Property se especifica como un bloque de script (una expresin entre llaves). El resultado de la evaluacin del bloque de script es el tiempo transcurrido entre la creacin de la entrada del registro y su introduccin en el registro. Este valor se usa para agrupar los 1000 eventos ms recientes.

-------------------------- EJEMPLO 7 -------------------------C:\PS>get-childitem | group-object extension -noelement Count ----21 82 9 5 12 5 36 1 3 6 1 2 Name ---.txt .cmd .log .xml .htm .ps1 .psc1 .exe .csv .psd1 .bat

Descripcin ----------Este comando agrupa los elementos del directorio actual por extensin de nombre de archivo. Utiliza el parmetro NoElement para omitir los miembros del grupo. Los resultados se muestran en el siguiente ejemplo.

-------------------------- EJEMPLO 8 -------------------------C:\PS>"a", "b", "c", "c", "d" | get-unique a b c d C:\PS> "a", "b", "c", "c", "d" | group-object -noelement | where {$_.Count -gt 1} Count Name ----- ---2 c C:\PS> get-process | group-object -property Name -noelement | where {$_.count -gt 1} Count Name ----- ----

2 5 2 2

csrss svchost winlogon wmiprvse

Descripcin ----------En este ejemplo se muestra cmo buscar los valores de propiedad nicos y no nicos (repetidos) en una coleccin. El primer comando obtiene los elementos nicos de una matriz canalizando la matriz al cmdlet Get-Unique. El segundo comando obtiene los elementos no nicos de una matriz. Canaliza la matriz al cmdlet Group-Object, que agrupa los objetos por valor. Los grupos resultantes se canalizan al cmdlet Where-Object, que selecciona los objetos con grupos con ms de un miembro. El tercer comando muestra un uso prctico de esta tcnica. Utiliza el mismo mtodo para buscar en el equipo procesos con el mismo nombre. Los resultados se muestran en el siguiente ejemplo.

-------------------------- EJEMPLO 9 -------------------------C:\PS>$a = get-command get-*, set-* -type cmdlet | group-object property verb -ashashtable -asstring C:\PS> $a Name Value -------Get {Get-PSCallStack, Get-PSBreakpoint, Get-PSDrive, GetPSSession...} Set {Set-Service, Set-StrictMode, Set-PSDebug, SetPSSessionConfiguration...} C:\PS> $a.get CommandType Name -------------Cmdlet Get-PSCallStack [-ErrorAction <ActionPrefer... Cmdlet Get-PSBreakpoint [-Verbose] [-Debug] [-ErrorA... Cmdlet Get-PSDrive Scope <String>] [-PSProvider... ... Definition ---------Get-PSCallStack [-Verbose] [-Debug] Get-PSBreakpoint [[-Id] <Int32[]>] Get-PSDrive [[-Name] <String[]>] [-

Descripcin ----------En este ejemplo se utilizan los parmetros AsHashTable y AsString para devolver los grupos en una tabla hash, es decir, como una coleccin de pares clave-valor. En la tabla hash resultante, cada valor de propiedad es una clave y los elementos de grupo son los valores. Dado que cada clave es una propiedad del

objeto de tabla hash, se puede utilizar la notacin de puntos para mostrar los valores. El primer comando obtiene los cmdlets Get y Set de la sesin, los agrupa por verbo, devuelve los grupos como una tabla hash y guarda la tabla hash en una variable $a. El segundo comando muestra la tabla hash almacenada en $a. Hay dos pares clave-valor, uno para los cmdlets Get y otro para los cmdlets Set. El tercer comando utiliza la notacin de puntos para mostrar los valores de la clave Get en $a. Los valores son objetos CmdletInfo. El parmetro AsString no convierte los objetos de los grupos en cadenas.

NOTAS Para ver los ejemplos, escriba: "get-help Group-Object -examples". Para obtener ms informacin, escriba: "get-help Group-Object detailed". Para obtener informacin tcnica, escriba: "get-help Group-Object full". NOMBRE Sort-Object SINOPSIS Ordena los objetos por los valores de las propiedades. SINTAXIS Sort-Object [[-Property] <Object[]>] [-CaseSensitive] [-Culture <string>] [-Descending] [-InputObject <psobject>] [-Unique] [<CommonParameters>] DESCRIPCIN El cmdlet Sort-Object organiza los objetos en orden ascendente o descendente segn los valores de las propiedades del objeto. Puede especificar una sola propiedad o varias propiedades (para ordenar segn varias claves) y puede seleccionar una ordenacin con o sin distincin entre maysculas y minsculas. Asimismo, puede indicar a Sort-Object que muestre solo los objetos con un valor nico para una propiedad concreta. PARMETROS -CaseSensitive [<SwitchParameter>] Indica que al ordenar debe distinguirse entre maysculas y minsculas. De manera predeterminada, no se distingue entre maysculas y minsculas al ordenar. -Culture <string> Especifica la configuracin cultural que se va a usar durante la ordenacin. -Descending [<SwitchParameter>] Ordenar los objetos de forma descendente. El valor predeterminado es el orden ascendente.

El parmetro Descending se aplica a todas las propiedades. Para ordenar por algunas propiedades en orden ascendente y por otras en orden descendente, debe especificar sus valores de propiedad mediante una tabla hash. Para obtener ms informacin, vea los ejemplos. -InputObject <psobject> Especifica los objetos que se van a ordenar. Cuando se usa el parmetro InputObject para enviar una coleccin de elementos, Sort-Object recibe un objeto que representa la coleccin. Dado que no se puede ordenar un solo objeto, Sort-Object devuelve toda la coleccin sin modificarla. Para ordenar objetos, canalcelos a Sort-Object. -Property <Object[]> Especifica las propiedades que se van a usar al ordenar. Los objetos se ordenan segn los valores de estas propiedades. Escriba los nombres de las propiedades. Se permite el uso de caracteres comodn. Si se especifican varias propiedades, los objetos se ordenan en primer lugar por la primera propiedad. Si varios objetos tienen el mismo valor para la primera propiedad, dichos objetos se ordenarn por la segunda propiedad. Este proceso continuar hasta que no haya ms propiedades o grupos de objetos especificados. Si no se especifican propiedades, el cmdlet ordenar segn las propiedades predeterminadas del tipo de objeto. El valor del parmetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -- Expression <cadena> o <bloque de script> -- Ascending <valor booleano> -- Descending <valor booleano> -Unique [<SwitchParameter>] Elimina los duplicados y devuelve solo los miembros nicos de la coleccin. Puede utilizar este parmetro en lugar del cmdlet Get-Unique. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-childitem | sort-object Mode ----a---a---a---a---a---a--LastWriteTime ------------9/13/2005 4:24 PM 9/6/2005 4:19 PM 9/21/2005 3:49 PM 8/22/2005 4:14 PM 9/27/2005 10:33 AM 9/15/2005 10:31 AM Length -----0 12 529 22 24 398 Name ---0 a.csv a.Ps a.pl a.txt a.vbs

-a---a---a---a---a---a---a---a---a--...

7/21/2005 8/28/2005 10/25/2005 7/21/2005 8/29/2005 9/21/2005 8/10/2005 8/4/2004 9/6/2005

12:39 11:30 1:59 9:49 5:42 12:46 2:10 5:00 4:20

PM PM PM AM PM PM PM AM PM

37066 5412 125 59 7111 8771 798 110 245

a.xml a.xslt AdamTravel.txt add2Num.Ps add-content.xml aliens.Ps array.xml AUTORUN.INF b.csv

Descripcin ----------Este comando ordena los subdirectorios y los archivos del directorio actual. Dado que no se especifica ninguna propiedad, los archivos y directorios se organizan en orden alfabtico ascendente por su propiedad de ordenacin predeterminada, Name.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-childitem | sort-object -property length Mode ----a---a---a---a---a---a---a---a---a--LastWriteTime ------------12/3/2006 5:35 PM 9/6/2006 3:33 PM 7/26/2006 10:01 AM 8/18/2006 9:02 AM 8/18/2006 9:02 AM 9/6/2006 3:33 PM 7/26/2006 9:28 AM 7/29/2006 7:15 PM 7/29/2006 7:15 PM Length -----2 15 30 52 52 56 80 84 84 Name ---pref.txt count.txt filenoext temp.ps1 temp.msh fivewords.txt date.csv test2.txt test.ps1

Descripcin ----------Este comando muestra el nmero de archivos del directorio actual en orden ascendente en funcin de la longitud del archivo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-process | sort-object -property WS | select-object -last 5 Handles ------1105 2526 974 1371 2145 NPM(K) -----25 66 19 22 58 PM(K) ----44236 37668 22844 42192 93088 WS(K) VM(M) ----- ----18932 197 36836 221 45928 371 61872 323 70680 619 CPU(s) -----93.81 393.27 88.39 75.75 396.69 Id -2032 868 3952 1584 3908 ProcessName ----------iexplore svchost WINWORD INFOPATH OUTLOOK

Descripcin ----------Este comando muestra los cinco procesos del equipo con el mayor uso de la memoria segn el tamao de sus espacios de trabajo.

El comando utiliza el cmdlet Get-Process para obtener una lista de procesos. Utiliza un operador de canalizacin (|) para enviar los resultados al cmdlet Sort-Object, que ordena los objetos segn los espacios de trabajo. Otro operador de canalizacin enva los resultados al cmdlet SelectObject, que muestra solo los ltimos cinco elementos de la lista.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-history | sort-object -descending Id -51 50 49 48 47 46 45 44 43 42 CommandLine ----------get-history | get-history | get-history | get-history | get-history | get-history | get-history | cd $pshome get-childitem gci *.txt

sort sort sort sort sort sort sort

-descending -descending -descending -descending -descending -descending -descending

| sort-object

Descripcin ----------Este comando ordena los objetos HistoryInfo con la propiedad Id como clave predeterminada.

-------------------------- EJEMPLO 5 -------------------------C:\PS>C:\PS> get-service | sort-object -property ` @{Expression="Status";Descending=$true}, ` @{Expression="DisplayName";Descending=$false} Status -----Running Running Running Running Running ... Stopped Stopped Stopped Stopped Stopped Stopped Name ---ALG Ati HotKey Poller wuauserv BITS Client for NFS clr_optimizatio... Alerter AppMgmt aspnet_state ATI Smart ClipSrv DisplayName ----------Application Layer Gateway Service Ati HotKey Poller Automatic Updates Background Intelligent Transfer Ser... Client for NFS .NET Runtime Optimization Service v... Alerter Application Management ASP.NET State Service ATI Smart ClipBook

Descripcin ----------Este comando muestra los servicios del equipo en orden descendente de Status y orden ascendente de DisplayName.

El comando utiliza el cmdlet Get-Service para obtener los servicios en el equipo. Utiliza un operador de canalizacin (|) para enviar los servicios al cmdlet Sort-Object. Para ordenar una propiedad en orden ascendente y otra propiedad en orden descendente, el comando utiliza una tabla hash para el valor del parmetro Property. La tabla hash utiliza una clave Expression para especificar el nombre de propiedad y una clave Ascending o Descending para especificar el criterio de ordenacin. De forma predeterminada, se ordenan los valores de Status de forma ascendente y se muestran las propiedades con el valor "Running" para Status antes de las propiedades con el valor "Stopped" para Status. Cuando se ordena de forma ascendente, "Stopped" aparece antes de "Running" porque Status es una propiedad enumerada en la que el valor de "Stopped" (1) es menor que el valor de "Running" (4).

-------------------------- EJEMPLO 6 -------------------------C:\PS>get-childitem *.txt | sort-object -property @{Expression={$_.LastWriteTime - $_.CreationTime}; Ascending=$false} | Format-Table LastWriteTime, CreationTime LastWriteTime ------------2/21/2006 10:22:20 AM 2/27/2006 8:14:24 AM 2/24/2006 1:26:19 PM 1/5/2006 12:01:35 PM 2/24/2006 9:25:40 AM 2/24/2006 9:40:01 AM 2/21/2006 10:21:30 AM CreationTime -----------10/3/2005 4:19:40 PM 2/23/2006 10:41:08 PM 2/23/2006 11:23:36 PM 1/5/2006 11:35:30 AM 2/24/2006 9:22:24 AM 2/24/2006 9:39:41 AM 2/21/2006 10:21:30 AM

Descripcin ----------Este comando ordena los archivos de texto en orden descendente en funcin del perodo de tiempo transcurrido entre CreationTime y LastWriteTime.

-------------------------- EJEMPLO 7 -------------------------C:\PS>get-content servers.txt localhost test01 server01 server02 localhost server01 C:\PS> get-content servers.txt | sort-object -unique localhost server01

server02 test01 Descripcin ----------Estos comandos ordenan los nombres de servidores en un archivo de texto. El segundo comando usa el cmdlet Sort-Object con el parmetro Unique para devolver una lista ordenada sin duplicados.

NOTAS Para ver los ejemplos, escriba: "get-help Sort-Object -examples". Para obtener ms informacin, escriba: "get-help Sort-Object -detailed". Para obtener informacin tcnica, escriba: "get-help Sort-Object -full". NOMBRE Get-Variable SINOPSIS Obtiene las variables de la consola actual. SINTAXIS Get-Variable [[-Name] <string[]>] [-Exclude <string[]>] [-Include <string[]>] [-Scope <string>] [-ValueOnly] [<CommonParameters>] DESCRIPCIN El cmdlet Get-Variable obtiene las variables de Windows PowerShell en la consola actual. Puede recuperar los valores de las variables especificando el parmetro ValueOnly y filtrar las variables devueltas por nombre. PARMETROS -Exclude <string[]> Omite los elementos especificados. Se permite el uso de caracteres comodn. -Include <string[]> Especifica nicamente los elementos sobre los que actuar el cmdlet y excluye a todos los dems. Se permite el uso de caracteres comodn. -Name <string[]> Especifica el nombre de la variable. -Scope <string> Obtiene nicamente las variables del mbito especificado. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y 1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms informacin, vea about_Scopes. -ValueOnly [<SwitchParameter>] Obtiene nicamente el valor de la variable. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-variable m* Descripcin ----------Este comando muestra las variables cuyo nombre comienza por la letra "m". Tambin se muestra el valor de las variables.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-variable m* -valueonly Descripcin ----------Este comando muestra nicamente los valores de las variables cuyo nombre comienza por la letra "m".

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-variable -include M*,P* | sort-object name Descripcin ----------Este comando obtiene informacin sobre las variables cuyo nombre comienza por la letra "M" o "P". Los resultados se canalizan al cmdlet SortObject, se ordenan por nombre y se muestran.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-variable -scope 0 C:\PS> compare-object (get-variable -scope 0) (get-variable -scope 1) Descripcin ----------El primer comando obtiene solo las variables definidas en el mbito local. Equivale a "get-variable -scope local" y puede abreviarse como "gv -s 0". El segundo comando usa el cmdlet Compare-Object para obtener las variables que estn definidas en el mbito principal (Scope 1) pero que se pueden ver nicamente en el mbito local (Scope 0).

NOTAS Para ver los ejemplos, escriba: "get-help Get-Variable -examples".

Para obtener ms informacin, escriba: "get-help Get-Variable detailed". Para obtener informacin tcnica, escriba: "get-help Get-Variable full". NOMBRE Write-Progress SINOPSIS Muestra una barra de progreso en la ventana de comandos de Windows PowerShell. SINTAXIS Write-Progress [-Activity] <string> [-Status] <string> [[-Id] <int>] [Completed] [-CurrentOperation <string>] [-ParentId <int>] [-PercentComplete <int>] [-SecondsRemaining <int>] [-SourceId <int>] [<CommonParameters>] DESCRIPCIN El cmdlet Write-Progress muestra en una ventana de comandos de Windows PowerShell una barra de progreso que describe el estado de la ejecucin de un comando o script. Puede seleccionar los indicadores que la barra refleja as como el texto que aparece encima y debajo de la barra de progreso. PARMETROS -Activity <string> Especifica la primera lnea de texto en el encabezado situado encima de la barra de estado. Este texto describe la actividad de cuyo progreso se informa. -Completed [<SwitchParameter>] Indica si la barra de progreso est visible. Si se omite este parmetro, Write-Progress mostrar la informacin de progreso. -CurrentOperation <string> Especifica la lnea de texto situada debajo de la barra de progreso. Este texto describe la operacin que se est ejecutando. -Id <int> Especifica un identificador que distingue cada barra de progreso de las dems. Utilice este parmetro cuando cree ms de una barra de progreso en un solo comando. Si las barras de progreso no tienen identificadores diferentes, aparecern superpuestas en lugar de mostrarse en serie. -ParentId <int> Identifica la actividad principal de la actividad actual. Use el valor -1 si la actividad actual no tiene actividad principal. -PercentComplete <int> Especifica el porcentaje de la actividad que se ha completado. Use el valor -1 si no se conoce el porcentaje finalizado o no es aplicable. -SecondsRemaining <int> Especifica el nmero previsto de segundos que quedan hasta que finalice la actividad. Use el valor -1 si no se conoce el nmero de segundos que queda o no es aplicable. -SourceId <int> Identifica el origen del registro.

-Status <string> Especifica la segunda lnea de texto en el encabezado situado encima de la barra de estado. Este texto describe el estado actual de la actividad. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>for ($i = 1; $i -lt 101; $i++ ) {for ($j=0;$j -lt 10000;$j++) {} write-progress -activity "Search in Progress" -status "% Complete:" -percentcomplete $i;} Descripcin ----------Este comando muestra el progreso de dos bucles For anidados. El primer bucle cuenta hasta 100. Por cada incremento de ese bucle, el segundo bucle cuenta hasta 10000. El comando Write-Progress incluye un encabezado de barra de estado ("activity"), una lnea de estado y la variable $i (contador en el bucle For), que indica la finalizacin relativa de la tarea.

-------------------------- EJEMPLO 2 -------------------------C:\PS>for($i = 1; $i -lt 101; $i++ ) {write-progress -activity Updating -status progress-> -percentcomplete $i -currentOperation OuterLoop} for($i = 1; $i -lt 101; $i++ ) {write-progress -activity Updating -status progress percentcomplete $i -id 1 -currentOperation InnerLoop} Updating progress -> [oooooooooooooooooo ] OutsideLoop Updating progress [oooooooooooooooooo ] InnerLoop Descripcin ----------En este ejemplo, se muestra el progreso de dos bucles For anidados. Cada bucle viene representado por una barra de progreso. El comando Write-Progress para la segunda barra de progreso incluye el parmetro Id, que la distingue de la primera barra de progreso. Sin este parmetro, las barras de progreso apareceran superpuestas en lugar de mostrarse una debajo de la otra.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$events = get-eventlog -logname system C:\PS> $events | foreach-object -begin {clear-host;$i=0;$out=""} ` -process {if($_.message -like "*bios*") {$out=$out + $_.Message}; $i = $i+1;` write-progress -activity "Searching Events" ` -status "Progress:" -percentcomplete ($i/$events.count*100)} ` -end {$out} Descripcin ----------Este comando muestra el progreso de un comando para buscar la cadena "bios" en el registro de eventos del sistema. En la primera lnea del comando, el cmdlet Get-EventLog obtiene los eventos del registro de eventos del sistema y los almacena en la variable $events. En la segunda lnea, los eventos se canalizan al cmdlet ForEach-Object. Antes de que se inicie el procesamiento, se usa el cmdlet Clear-Host para borrar la pantalla, se establece la variable de contador $i en cero y se establece la variable de salida $out en una cadena vaca. En la tercera lnea, que es el bloque de script Process del cmdlet ForEach-Object, el cmdlet busca "bios" en la propiedad de mensaje de cada objeto entrante. Si se encuentra la cadena, se agrega el mensaje a la variable $out. En la cuarta lnea, la variable de contador $i se incrementa para registrar que se ha examinado otro evento. La quinta lnea usa el cmdlet Write-Progress con valores para los campos de texto Activity y Status que crean la primera y la segunda lnea del encabezado de la barra de progreso, respectivamente. El valor del parmetro PercentComplete se calcula dividiendo el nmero de eventos procesados ($i) entre el nmero total de eventos recuperados ($events.count) y, a continuacin, multiplicando ese resultado por 100. En la ltima lnea, se usa el parmetro End del cmdlet ForEach-Object para mostrar los mensajes que estn almacenados en la variable $out.

NOTAS Para ver los ejemplos, escriba: "get-help Write-Progress -examples". Para obtener ms informacin, escriba: "get-help Write-Progress detailed". Para obtener informacin tcnica, escriba: "get-help Write-Progress full". NOMBRE New-Object SINOPSIS Crea una instancia de un objeto de Microsoft .NET Framework o COM.

SINTAXIS New-Object -ComObject <string> [-Strict] [-Property <hashtable>] [<CommonParameters>] New-Object [-TypeName] <string> [[-ArgumentList] <Object[]>] [-Property <hashtable>] [<CommonParameters>] DESCRIPCIN El cmdlet New-Object crea una instancia de un objeto de .NET Framework o COM. Puede especificarse el tipo de una clase de .NET Framework o un identificador de programacin (ProgID) de un objeto COM. De manera predeterminada, el usuario escribe el nombre completo de una clase de .NET Framework y el cmdlet devuelve una referencia a una instancia de dicha clase. Para crear una instancia de un objeto COM, hay que usar el parmetro ComObject y especificar el ProgID del objeto como su valor. PARMETROS -ArgumentList <Object[]> Especifica una lista de argumentos que se van a pasar al constructor de la clase de .NET Framework. Separe los elementos de la lista mediante comas (,). El alias de ArgumentList es Args. -ComObject <string> Especifica el identificador de programacin (ProgID) del objeto COM. -Property <hashtable> Establece los valores de propiedad e invoca los mtodos del nuevo objeto. Especifique una tabla hash donde las claves son nombres de propiedades o mtodos y los valores son valores de propiedad o argumentos de mtodo. New-Object crea el objeto y establece cada valor de propiedad e invoca cada mtodo en el orden en que aparecen en la tabla hash. Si el nuevo objeto se deriva de la clase PSObject y se especifica una propiedad que no existe en el objeto, New-Object agrega la propiedad especificada al objeto como NoteProperty. Si el objeto no es un PSObject, el comando generar un error que no es de terminacin. -Strict [<SwitchParameter>] Establece que debe producirse un error si el objeto COM que se est intentando crear usa un ensamblado de interoperabilidad. Permite distinguir los objetos COM reales de los objetos de .Net Framework con contenedores CCW (COM callable wrapper). -TypeName <string> Especifica el nombre completo de la clase de .NET Framework. No se pueden especificar a la vez los parmetros TypeName y ComObject. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters".

-------------------------- EJEMPLO 1 -------------------------C:\PS>new-object -typename System.Version -argumentlist "1.2.3.4" Major ----1 Minor ----2 Build ----3 Revision -------4

Descripcin ----------Este comando crea un objeto System.Version con la cadena "1.2.3.4" como constructor.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$ie = new-object -comobject InternetExplorer.Application -property @{navigate2="www.microsoft.com"; visible = $true} Descripcin ----------Este comando crea una instancia del objeto COM que representa la aplicacin Internet Explorer. Usa el parmetro Property para llamar al mtodo Navigate2 y establecer la propiedad Visible del objeto en $true de modo que pueda verse la aplicacin. Este comando equivale a: $ie = new-object -comobject InternetExplorer.Application $ie.navigate2("www.microsoft.com") $ie.visible = $true

-------------------------- EJEMPLO 3 -------------------------C:\PS>$a=new-object -comobject Word.Application -strict -property @{visible=$true} New-Object : The object written to the pipeline is an instance of the type "Microsoft.Office.Interop.Word.ApplicationClass" from the component's prima ry interop assembly. If this type exposes different members than the IDispa tch members, scripts written to work with this object might not work if the primary interop assembly is not installed. At line:1 char:14 + $a=New-Object <<<< -COM Word.Application -Strict; $a.visible=$true Descripcin ----------Este comando pone de manifiesto que al especificar el parmetro Strict, el cmdlet New-Object genera un error que no es de terminacin cuando el objeto COM que se ha creado usa un ensamblado de interoperabilidad.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$objshell = new-object -comobject "Shell.Application" C:\PS> $objshell | get-member C:\PS> $objshell.ToggleDesktop() Descripcin ----------El comando usa el parmetro ComObject para crear un objeto COM con el identificador de programacin "Shell.Application". Almacena el objeto resultante en la variable $objShell. El segundo comando canaliza la variable $objShell al cmdlet Get-Member, que muestra las propiedades y los mtodos del objeto COM. El tercer comando llama al mtodo ToggleDesktop del objeto para minimizar las ventanas abiertas en el escritorio.

NOTAS Para ver los ejemplos, escriba: "get-help New-Object -examples". Para obtener ms informacin, escriba: "get-help New-Object -detailed". Para obtener informacin tcnica, escriba: "get-help New-Object -full". NOMBRE Select-Object SINOPSIS Selecciona las propiedades especificadas de un objeto o un conjunto de objetos. Tambin puede seleccionar objetos nicos de una matriz de objetos o un nmero especfico de objetos del principio o del final de una matriz de objetos. SINTAXIS Select-Object [[-Property] <Object[]>] [-ExcludeProperty <string[]>] [ExpandProperty <string>] [-First <int>] [-InputObject <psobject>] [-Last <int>] [-Skip <int>] [-Unique] [<CommonParameters>] Select-Object [-Index <Int32[]>] [-InputObject <psobject>] [-Unique] [<CommonParameters>] DESCRIPCIN El cmdlet Select-Object obtiene nicamente las propiedades especificadas de un objeto o conjunto de objetos. Tambin puede seleccionar objetos nicos de una matriz de objetos o un nmero especfico de objetos del principio o del final de una matriz de objetos. Si se usa Select-Object para seleccionar determinadas propiedades, el cmdlet copia los valores de estas propiedades de los objetos de entrada y crea nuevos objetos con las propiedades especificadas y los valores copiados.

Use el parmetro Property para especificar las propiedades que desee seleccionar. O bien, utilice los parmetros First, Last, Unique, Skip e Index para seleccionar objetos concretos de una matriz de objetos de entrada. Para lograr un filtro de objetos ms especfico, use el cmdlet Where-Object. PARMETROS -ExcludeProperty <string[]> Quita las propiedades especificadas de la seleccin. Se permite el uso de caracteres comodn. Este parmetro solo es efectivo si el comando tambin incluye el parmetro Property. El valor del parmetro Property puede ser una propiedad calculada, que es una tabla hash que especifica un nombre y calcula un valor para la presentacin de la propiedad. Las claves vlidas son: -- Name o Label <cadena> -- Expression <cadena> o <bloque de script> Para obtener ms informacin, vea los ejemplos. -ExpandProperty <string> Especifica la propiedad que se va a seleccionar e indica que debe intentarse expandir esa propiedad. Se permite el uso de caracteres comodn en el nombre de la propiedad. Por ejemplo, si la propiedad especificada es una matriz, se incluirn en el resultado todos los valores de la matriz. Si la propiedad contiene un objeto, se mostrarn en el resultado las propiedades de dicho objeto. -First <int> Especifica el nmero de objetos que se van a seleccionar al comienzo de una matriz de objetos de entrada. -Index <Int32[]> Selecciona objetos de una matriz basndose en sus valores de ndice. Escriba los ndices en una lista delimitada por comas. Los ndices en una matriz comienzan a partir de 0, donde 0 representa el primer valor y (n-1) representa el ltimo valor. -InputObject <psobject> Especifica los objetos que se van a enviar al cmdlet a travs de la canalizacin. Este parmetro permite canalizar objetos a Select-Object. -Last <int> Especifica el nmero de objetos que se van a seleccionar al final de una matriz de objetos de entrada. -Property <Object[]> Especifica las propiedades que se van a seleccionar. Se permite el uso de caracteres comodn. El valor del parmetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -- Name (o Label) <cadena> -- Expression <cadena> o <bloque de script>

-Skip <int> Omite (no selecciona) el nmero especificado de elementos. De forma predeterminada, el parmetro Skip cuenta desde el principio de la matriz o lista de objetos, pero si el comando utiliza el parmetro Last, cuenta desde el final de la matriz o lista. A diferencia del parmetro Index, que empieza a contar desde 0, el parmetro Skip comienza a contar a partir de 1. -Unique [<SwitchParameter>] Especifica que si un subconjunto de los objetos de entrada tiene propiedades y valores idnticos, solo se seleccionar un nico miembro del subconjunto. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-process | select-object ProcessName,Id,WS Descripcin ----------Este comando muestra una lista de procesos. Solo se muestran el nombre, el identificador y el espacio de trabajo de los procesos.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-process | select-object processname -expandproperty modules | format-list ProcessName Size Company FileVersion ProductVersion Description Product ModuleName FileName BaseAddress : : : : : : : : : : 00THotkey 256 TOSHIBA Corporation 1, 0, 0, 27 6, 2, 0, 0 THotkey TOSHIBA THotkey 00THotkey.exe C:\WINDOWS\system32\00THotkey.exe 4194304

Descripcin ----------Este comando muestra la informacin sobre los mdulos que se usan en los procesos que se ejecutan en un equipo. Usa el parmetro ExpandProperty para mostrar los detalles que se incluye en la propiedad de los mdulos.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-process | sort-object -property WS | select-object -Last 5

Handles ------2866 577 826 1367 1612

NPM(K) -----320 17 11 14 44

PM(K) ----33432 23676 75448 73152 66080

WS(K) VS(M) ----- ----45764 203 50516 265 76712 188 88736 216 92780 380

CPU(s) -----222.41 50.58 19.77 61.69 900.59

Id -1292 4388 3780 676 6132

ProcessName ----------svchost WINWORD Ps Ps INFOPATH

Descripcin ----------Este comando muestra los cinco procesos que estn usando la mayor parte de la memoria. El cmdlet Sort-Object se usa para ordenar los procesos en funcin del uso de memoria (espacio de trabajo); el cmdlet Select-Object se usa para seleccionar los ltimos cinco miembros de la matriz de objetos re sultante.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-process | select-object -property ProcessName,@{Name="Start Day"; Expression = {$_.StartTime.DayOfWeek}} ProcessName ---alg ati2evxx ati2evxx ... StartDay -------Wednesday Wednesday Thursday

Descripcin ----------Este comando muestra el nombre y el da de inicio de los procesos que se ejecutan en un equipo. Los valores del parmetro Property son ProcessName y la propiedad calculada "Start Day". La propiedad "Start Day" se agrega mediante una tabla hash con las claves Name y Expression.

-------------------------- EJEMPLO 5 -------------------------C:\PS>"a","b","c","a","a","a" | select-object -unique a b c Descripcin ----------Este comando muestra caracteres nicos procedentes de una matriz de caracteres.

-------------------------- EJEMPLO 6 --------------------------

C:\PS>$a = get-eventlog -log "Windows PowerShell" C:\PS> $a | select-object -index 0, ($a.count - 1) Descripcin ----------Estos comandos obtienen el primer evento (ms reciente) y el ltimo evento (ms antiguo) del registro de eventos de Windows PowerShell. El primer comando utiliza el cmdlet Get-EventLog para obtener todos los eventos del registro de Windows PowerShell. Guarda los eventos en la variable $a. El segundo comando usa un operador de canalizacin (|) para enviar los eventos guardados en $a al cmdlet Select-Object. El comando Select-Object utiliza el parmetro Index para seleccionar los elementos por su nmero de ndice. El ndice del primer evento es 0. El ndice del ltimo evento es el nmero de elementos en $a menos 1.

-------------------------- EJEMPLO 7 -------------------------C:\PS>new-pssession -computername (get-content servers.txt | selectobject -skip 1) Descripcin ----------Este comando crea una nueva PSSession en cada uno de los equipos incluidos en los archivos Servers.txt, salvo en el primero. Este comando utiliza el cmdlet Select-Object para seleccionar todos los equipos menos el primero en una lista de nombres de equipo. La lista de equipos resultante se establece como valor del parmetro ComputerName del cmdlet New-PSSession.

NOTAS Para ver los ejemplos, escriba: "get-help Select-Object -examples". Para obtener ms informacin, escriba: "get-help Select-Object detailed". Para obtener informacin tcnica, escriba: "get-help Select-Object full". NOMBRE New-Variable SINOPSIS Crea una nueva variable. SINTAXIS New-Variable [-Name] <string> [[-Value] <Object>] [-Description <string>] [-Force] [-Option {None | ReadOnly | Constant | Private | AllScope}] [-PassThru] [-Scope <string>] [-Visibility {Public | Private}] [Confirm] [-WhatIf] [<CommonParameters>]

DESCRIPCIN El cmdlet New-Variable crea una nueva variable en Windows PowerShell. Se puede asignar un valor a la variable en el momento de crearla, o bien, se puede asignar o cambiar el valor despus de crear la variable. Se pueden usar los parmetros de New-Variable para establecer las propiedades de la variable (como las que crean variables constantes o de solo lectura), establecer el mbito de la variable y determinar si la variable es pblica o privada. Normalmente, se crea una nueva variable escribiendo su nombre y valor, como "$var = 3", pero se puede utilizar el cmdlet New-Variable con sus parmetros. PARMETROS -Description <string> Especifica la descripcin de la variable. -Force [<SwitchParameter>] Permite crear una nueva variable con un nombre idntico al de una variable de solo lectura existente. De forma predeterminada, las variables se pueden sobrescribir, a menos que el valor de Option sea ReadOnly o Constant. Para obtener ms informacin, vea el parmetro Option. -Name <string> Especifica el nombre de la nueva variable. -Option <ScopedItemOptions> Establece el valor de la propiedad Options de la nueva variable. Los valores vlidos son: -- None: no establece opciones. ("None" es el valor predeterminado.) -- ReadOnly: no se puede cambiar el valor de la variable, excepto con el parmetro Force. Se puede usar Remove-Variable para eliminar la variable. -- Constant: no se puede eliminar la variable y no se pueden cambiar sus propiedades. El valor "Constant" est disponible nicamente cuando se crea un alias. No se puede cambiar la opcin de una variable existente a "Constant". -- Private: la variable solo est disponible en el mbito especificado por el parmetro Scope. La heredan los mbitos secundarios. (Este valor no est relacionado con el valor "Private" del parmetro Visibility.) -- AllScope: la variable se copia en los nuevos mbitos que se creen. Para ver la propiedad Options de las variables, escriba "getvariable| format-table -property name, options -autosize". -PassThru [<SwitchParameter>] Devuelve un objeto que representa la nueva variable. De forma predeterminada, este cmdlet no genera resultados.

-Scope <string> Determina el mbito de la nueva variable. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y 1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms informacin, vea about_Scopes. -Value <Object> Especifica el valor inicial de la variable. -Visibility <SessionStateEntryVisibility> Determina si la variable puede verse fuera de la sesin en la que se cre. Este parmetro se ha diseado para utilizarlo en scripts y comandos que se entregan a otros usuarios. Los valores vlidos son: -- Public: la variable puede verse. ("Public" es el valor predeterminado.) -- Private: la variable no puede verse. Cuando una variable es privada, no aparece en las listas de variables, como las devueltas por Get-Variable, ni en las presentaciones de la unidad Variable:. Los comandos para leer o cambiar el valor de una variable privada devuelven un error. Sin embargo, el usuario puede ejecutar comandos que utilizan una variable privada si dichos comandos se escribieron en la sesin en la que se defini la variable. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>new-variable days Descripcin ----------Este comando crea una nueva variable denominada "days". No hay ningn valor que siga inmediatamente al comando.

-------------------------- EJEMPLO 2 -------------------------C:\PS>new-variable zipcode -value 98033 Descripcin -----------

Este comando crea una variable denominada "zipcode" y le asigna el valor "98033".

-------------------------- EJEMPLO 3 -------------------------C:\PS>new-variable -name max -value 256 -option readonly new-variable -name max -value 1024 new-variable -name max -value 1024 -force C:\PS> new-variable -name max -value 256 -option readonly C:\PS> new-variable -name max -value 1024 New-Variable : A variable with name 'max' already exists. At line:1 char:13 + new-variable <<<< -name max -value 1024 C:\PS> new-variable -name max -value 1024 -force Descripcin ----------En este ejemplo se muestra cmo utilizar la opcin ReadOnly de NewVariable para evitar que se sobrescriba una variable. El primer comando crea una nueva variable denominada Max y establece su valor en "256". Utiliza el parmetro Option con el valor ReadOnly. El segundo comando intenta crear una segunda variable con el mismo nombre. Este comando devuelve un error porque se ha establecido la opcin de solo lectura en la variable. El tercer comando usa el parmetro Force para invalidar la proteccin de solo lectura en la variable. En este caso, se ejecuta correctamente el comando para crear una nueva variable con el mismo nombre.

-------------------------- EJEMPLO 4 -------------------------C:\PS>new-variable -name counter -visibility private #Effect of private variable in a module. C:\PS> get-variable c* Name ---Culture ConsoleFileName ConfirmPreference CommandLineParameters Value ----en-US High {}

C:\PS> $counter "Cannot access the variable '$counter' because it is a private variable" C:\PS> Get-Counter

Name ---Counter1 ...

Value ----3.1415

Descripcin ----------Este comando muestra el comportamiento de una variable privada en un mdulo. El mdulo contiene el cmdlet Get-Counter, que tiene una variable privada denominada "Counter". El comando utiliza el parmetro Visibility con el valor "Private" para crear la variable. En el resultado del ejemplo se muestra el comportamiento de una variable privada. El usuario que carg el mdulo no puede ver ni cambiar el valor de la variable Counter, pero dicha variable la pueden leer y cambiar los comandos del mdulo.

NOTAS Para ver los ejemplos, escriba: "get-help New-Variable -examples". Para obtener ms informacin, escriba: "get-help New-Variable detailed". Para obtener informacin tcnica, escriba: "get-help New-Variable full". NOMBRE Export-Clixml SINOPSIS Crea una representacin basada en XML de uno o varios objetos y la guarda en un archivo. SINTAXIS Export-Clixml [-Path] <string> -InputObject <psobject> [-Depth <int>] [Encoding <string>] [-Force] [-NoClobber] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Export-Clixml crea una representacin basada en XML de uno o varios objetos y la guarda en un archivo. Puede usar el cmdlet Import-CLIXML para volver a crear el objeto guardado de acuerdo con el contenido de dicho archivo. Este cmdlet es similar a ConvertTo-XML, salvo en que Export-Clixml almacena el XML resultante en un archivo. ConvertTo-XML devuelve el XML de modo que se puede continuar procesndolo en Windows PowerShell. PARMETROS -Depth <int> Especifica el nmero de niveles de objetos contenidos que se incluye en la representacin XML. El valor predeterminado es 2. El valor predeterminado se puede invalidar para el tipo de objeto en los archivos Types.ps1xml. Para obtener ms informacin, vea about_Types.ps1xml.

-Encoding <string> Especifica el tipo de codificacin del archivo de destino. Los valores vlidos son ASCII, UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, Default y OEM. El valor predeterminado es UTF8. -Force [<SwitchParameter>] Fuerza al cmdlet a borrar el atributo de slo lectura del archivo de salida, si es necesario. El cmdlet intentar restablecer el atributo de slo lectura cuando el comando finalice su ejecucin. -InputObject <psobject> Especifica el objeto que se va a convertir. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. Tambin puede canalizar los objetos a Export-Clixml. -NoClobber [<SwitchParameter>] Comprueba que el cmdlet no sobrescribe el contenido de un archivo existente. De forma predeterminada, si existe un archivo en la ruta de acceso especificada, Export-Clixml lo sobrescribe sin avisar. -Path <string> Especifica la ruta de acceso al archivo en el que se va a guardar la representacin XML del objeto. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>"This is a test" | export-clixml sample.xml Descripcin ----------Este comando crea un archivo XML que almacena una representacin de la cadena "This is a test" (esto es una prueba).

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-acl C:\test.txt | export-clixml -Path fileacl.xml C:\PS> $fileacl = import-clixml fileacl.xml Descripcin ----------En este ejemplo se muestra cmo exportar un objeto a un archivo XML y, a continuacin, crear un objeto importando el XML del archivo.

El primer comando usa el cmdlet Get-ACL para obtener el descriptor de seguridad del archivo Test.txt. Utiliza un operador de canalizacin para pasar el descriptor de seguridad a Export-Clixml, que almacena una representacin basada en XML del objeto en un archivo denominado FileACL.xml. El segundo comando usa el cmdlet Import-Clixml para crear un objeto a partir del XML en el archivo FileACL.xml. A continuacin, guarda el objeto en la variable $FileAcl.

NOTAS Para ver los ejemplos, escriba: "get-help Export-Clixml -examples". Para obtener ms informacin, escriba: "get-help Export-Clixml detailed". Para obtener informacin tcnica, escriba: "get-help Export-Clixml full". NOMBRE Import-Clixml SINOPSIS Importa un archivo CLIXML y crea los objetos correspondientes en Windows PowerShell. SINTAXIS Import-Clixml [-Path] <string[]> [<CommonParameters>] DESCRIPCIN El cmdlet Import-Clixml importa un archivo CLIXML con datos que representan objetos de Microsoft .NET Framework y crea los objetos en Windows PowerShell. PARMETROS -Path <string[]> Especifica la ubicacin de los archivos XML que se van a convertir en objetos de Windows PowerShell. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-process | export-clixml pi.xml C:\PS> $processes = import-clixml pi.xml Descripcin ----------Este comando usa el cmdlet Export-Clixml para guardar una copia serializada de la informacin de proceso devuelta por Get-Process. A continuacin, usa Import-Clixml para recuperar el contenido del archivo

serializado y crear de nuevo un objeto que se almacena en la variable $processes.

NOTAS Para ver los ejemplos, escriba: "get-help Import-Clixml -examples". Para obtener ms informacin, escriba: "get-help Import-Clixml detailed". Para obtener informacin tcnica, escriba: "get-help Import-Clixml full". NOMBRE ConvertTo-XML SINOPSIS Crea una representacin basada en XML de un objeto. SINTAXIS ConvertTo-XML [-InputObject] <psobject> [-As <string>] [-Depth <int>] [NoTypeInformation] [<CommonParameters>] DESCRIPCIN El cmdlet ConvertTo-Xml crea una representacin basada en XML de uno o varios objetos de Microsoft .NET Framework. Para utilizar este cmdlet, canalice uno o varios objetos al cmdlet o utilice el parmetro InputObject para especificar el objeto. Cuando se canalizan varios objetos a ConvertTo-XML o se utiliza el parmetro InputObject para enviar varios objetos, ConvertTo-XML devuelve un solo documento XML que incluye representaciones de todos los objetos. Este cmdlet es similar a Export-Clixml, salvo en que Export-Clixml almacena el XML resultante en un archivo. ConvertTo-XML devuelve el XML de modo que se puede continuar procesndolo en Windows PowerShell. PARMETROS -As <string> Determina el formato de los resultados. Los valores vlidos son: -- String: devuelve una sola cadena. -- Stream: devuelve una matriz de cadenas. -- Document: devuelve un objeto XmlDocument. Stream es el valor predeterminado. -Depth <int> Especifica el nmero de niveles de objetos contenidos que se incluye en la representacin XML. El valor predeterminado es 1. Por ejemplo, si las propiedades del objeto tambin contienen objetos, para guardar una representacin XML de las propiedades de los objetos contenidos, debe especificar una profundidad de 2. El valor predeterminado se puede invalidar para el tipo de objeto en los archivos Types.ps1xml. Para obtener ms informacin, vea about_Types.ps1xml.

-InputObject <psobject> Especifica el objeto que se va a convertir. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. Tambin puede canalizar los objetos a ConvertTo-XML. -NoTypeInformation [<SwitchParameter>] Omite el atributo Type de los nodos de objeto. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-date | convertto-xml Descripcin ----------Este comando convierte la fecha actual (objeto DateTime) en XML.

-------------------------- EJEMPLO 2 -------------------------C:\PS>convertto-xml -as Document -inputObject (get-process) -depth 3 Descripcin ----------Este comando convierte en un documento XML los objetos de proceso que representan todos los procesos del equipo. Los objetos se expanden a una profundidad de tres niveles.

NOTAS Para ver los ejemplos, escriba: "get-help ConvertTo-XML -examples". Para obtener ms informacin, escriba: "get-help ConvertTo-XML detailed". Para obtener informacin tcnica, escriba: "get-help ConvertTo-XML full". NOMBRE Set-Variable SINOPSIS Establece el valor de una variable. Crea la variable si no existe ninguna con el nombre solicitado. SINTAXIS Set-Variable [-Name] <string[]> [[-Value] <Object>] [-Description <string>] [-Exclude <string[]>] [-Force] [-Include <string[]>] [-Option {None | ReadOnly | Constant | Private | AllScope}] [-PassThru] [-Scope <string>] [-Visibility {Public | Private}] [-Confirm] [-WhatIf] [<CommonParameters>]

DESCRIPCIN El cmdlet Set-Variable asigna un valor a la variable especificada o cambia el valor actual. Si la variable no existe, el cmdlet la crea. PARMETROS -Description <string> Especifica la descripcin de la variable. -Exclude <string[]> Omite los elementos especificados. El valor de este parmetro califica el parmetro Path. Escriba un patrn o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodn. -Force [<SwitchParameter>] Permite crear una variable con el mismo nombre que una variable de solo lectura existente o cambiar el valor de una variable de solo lectura. De forma predeterminada, las variables se pueden sobrescribir, a menos que el valor de Option sea "ReadOnly" o "Constant". Para obtener ms informacin, vea el parmetro Option. -Include <string[]> Cambia nicamente los elementos especificados. El valor de este parmetro califica el parmetro Name. Escriba un nombre o patrn de nombre, como "c*". Se permite el uso de caracteres comodn. -Name <string[]> Especifica el nombre de la variable. -Option <ScopedItemOptions> Cambia el valor de la propiedad Options de la variable. Los valores vlidos son: -- None: no establece opciones. ("None" es el valor predeterminado.) -- ReadOnly: no se pueden cambiar las propiedades de la variable, excepto con el parmetro Force. Se puede usar Remove-Variable para eliminar la variable. -- Constant: no se puede eliminar la variable y no se pueden cambiar sus propiedades. El valor "Constant" est disponible nicamente cuando se crea un alias. No se puede cambiar la opcin de una variable existente a "Constant". -- Private: la variable solo est disponible en el mbito especificado por el parmetro Scope. La heredan los mbitos secundarios. -- AllScope: la variable se copia en los nuevos mbitos que se creen. Para ver la propiedad Options de las variables, escriba "getvariable| format-table -property name, options -autosize". -PassThru [<SwitchParameter>] Devuelve un objeto que representa la nueva variable. De forma predeterminada, este cmdlet no genera resultados. -Scope <string>

Determina el mbito de la variable. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y 1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms informacin, vea a bout_Scopes. -Value <Object> Especifica el valor de la variable. -Visibility <SessionStateEntryVisibility> Determina si la variable puede verse fuera de la sesin en la que se cre. Este parmetro se ha diseado para utilizarlo en scripts y comandos que se entregan a otros usuarios. Los valores vlidos son: -- Public: la variable puede verse. ("Public" es el valor predeterminado.) -- Private: la variable no puede verse. Cuando una variable es privada, no aparece en las listas de variables, como las devueltas por Get-Variable, ni en las presentaciones de la unidad Variable:. Los comandos para leer o cambiar el valor de una variable privada devuelven un error. Sin embargo, el usuario puede ejecutar comandos que utilizan una variable privada si dichos comandos se escribieron en la sesin en la que se defini la variable. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>set-variable -name desc -value "A description" C:\PS>get-variable -name desc Descripcin ----------Estos comandos establecen el valor de la variable "desc" como "A description" y, a continuacin, obtienen el valor de la variable.

-------------------------- EJEMPLO 2 -------------------------C:\PS>set-variable -name processes -value (Get-Process) -option constant -scope global -description "All processes" -passthru | format-list -property *

Descripcin ----------Este comando crea una variable global de solo lectura que contiene todos los procesos del sistema; a continuacin, muestra todas las propiedades de la variable. El comando usa el cmdlet Set-Variable para crear la variable. Usa el parmetro PassThru para crear un objeto que representa la nueva variable y utiliza el operador de canalizacin (|) para pasar el objeto al cmdlet Format-List. Usa el parmetro Property de Format-List con el valor All (*) para mostrar todas las propiedades de la variable que se acaba de crear. El valor, "(Get-Process)", se escribe entre parntesis para asegurar que se ejecuta antes de almacenarse en la variable. De lo contrario, la variable contendra las palabras "Get-Process".

-------------------------- EJEMPLO 3 -------------------------C:\PS># set-variable -name counter -visibility private C:\PS> new-variable -name counter -visibility public -value 26 C:\PS> $counter 26 C:\PS> get-variable c* Name Value ---- ----Culture en-US ConsoleFileName ConfirmPreference High CommandLineParameters {} Counter 26 C:\PS> set-variable -name counter -visibility private C:\PS> get-variable c* Name Value ---- ----Culture en-US ConsoleFileName ConfirmPreference High CommandLineParameters {} C:\PS> $counter "Cannot access the variable '$counter' because it is a private variable" C:\PS> .\use-counter.ps1 Commands completed successfully. Descripcin -----------

Este comando muestra cmo cambiar la visibilidad de una variable a "Private". Esta variable se puede leer y cambiar mediante scripts con los permisos requeridos, pero el usuario no puede verla. En el resultado de ejemplo se muestra la diferencia entre el comportamiento de variables pblicas y el de variables privadas.

NOTAS Para ver los ejemplos, escriba: "get-help Set-Variable -examples". Para obtener ms informacin, escriba: "get-help Set-Variable detailed". Para obtener informacin tcnica, escriba: "get-help Set-Variable full". NOMBRE Remove-Variable SINOPSIS Elimina una variable y su valor. SINTAXIS Remove-Variable [-Name] <string[]> [-Exclude <string[]>] [-Force] [Include <string[]>] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Remove-Variable elimina una variable y su valor del mbito en el que est definida, como la sesin actual. Este cmdlet no se puede usar para eliminar variables que se han definido como constantes o que son propiedad del sistema. PARMETROS -Exclude <string[]> Omite los elementos especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -Force [<SwitchParameter>] Permite al cmdlet quitar una variable, incluso si es de solo lectura. Aunque use el parmetro Force, el cmdlet no puede quitar una constante. -Include <string[]> Elimina nicamente los elementos especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -Name <string[]> Especifica el nombre de la variable que se va a eliminar. El nombre del parmetro ("Name") es opcional. -Scope <string> Especifica el mbito en el que es vlido este alias. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y

1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms i nformacin, vea about_Scopes. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>remove-variable Smp Descripcin ----------Este comando elimina la variable $Smp.

NOTAS Para ver los ejemplos, escriba: "get-help Remove-Variable -examples". Para obtener ms informacin, escriba: "get-help Remove-Variable detailed". Para obtener informacin tcnica, escriba: "get-help Remove-Variable full". NOMBRE Clear-Variable SINOPSIS Borra el valor de una variable. SINTAXIS Clear-Variable [-Name] <string[]> [-Exclude <string[]>] [-Force] [Include <string[]>] [-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Clear-Variable borra los datos almacenados en una variable, pero no elimina la variable. Como resultado, el nuevo valor de la variable es NULL (vaco). Si se ha especificado un tipo de objeto o dato para la variable, Clear-Variable mantiene el tipo del objeto almacenado en la variable . PARMETROS -Exclude <string[]>

Omite los elementos especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -Force [<SwitchParameter>] Permite al cmdlet borrar una variable incluso si es de solo lectura. Aunque use el parmetro Force, el cmdlet no puede borrar constantes. -Include <string[]> Borra nicamente los elementos especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -Name <string[]> Especifica el nombre de la variable que se va a borrar. Se permite el uso de caracteres comodn. Esto parmetro es obligatorio, pero el nombre del parmetro ("Name") es opcional. -PassThru [<SwitchParameter>] Devuelve un objeto que representa la variable que se ha borrado. De forma predeterminada, este cmdlet no genera resultados. -Scope <string> Especifica el mbito en el que es vlido este alias. Los valores vlidos son "Global", "Local", "Script" o el nmero correspondiente al mbito actual (entre 0 y el nmero de mbitos, donde 0 es el mbito actual y 1 su mbito principal). "Local" es el valor predeterminado. Para obtener ms i nformacin, vea about_Scopes. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>clear-variable my* -global Descripcin ----------Este comando elimina el valor de las variables globales que comienzan con "my".

-------------------------- EJEMPLO 2 -------------------------C:\PS>$a=3 C:\PS>&{ clear-variable a }

C:\PS>$a 3 Descripcin ----------Estos comandos demuestran que cuando se borra una variable en un mbito secundario, no se elimina su valor en el mbito principal. El primer comando establece el valor de la variable $a en "3". El segundo comando usa el operador de invocacin (&) para ejecutar un comando Clear-Variable en un nu evo mbito. La variable se borra en el mbito secundario (aunque no exista), pero no se borra en el mbito local. El tercer comando, que obtiene el valor de $a, muestra que el valor "3" no resulta afectado.

-------------------------- EJEMPLO 3 -------------------------C:\PS>clear-variable -name processes Descripcin ----------Este comando borra el valor de la variable $processes. La variable $processes todava existe, pero su valor es nulo.

NOTAS Para ver los ejemplos, escriba: "get-help Clear-Variable -examples". Para obtener ms informacin, escriba: "get-help Clear-Variable detailed". Para obtener informacin tcnica, escriba: "get-help Clear-Variable full". NOMBRE Get-Module SINOPSIS Obtiene los mdulos que se han importado, o que se pueden importar, en la sesin actual. SINTAXIS Get-Module [-All] [-ListAvailable] [-Name <string[]>] [<CommonParameters>] Get-Module [[-Name] <string[]>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-Module obtiene los mdulos que se han importado, o se pueden importar, en la sesin. Get-Module se limita a obtener los mdulos; no los importa. Para importar los mdulos a la sesin, se utiliza Import-Module. PARMETROS -All [<SwitchParameter>] Obtiene los objetos de mdulo para todos los archivos del mdulo.

Sin el parmetro All, Get-Module obtiene solamente el objeto de mdulo del archivo de mdulo predeterminado. El cmdlet selecciona los tipos de archivo en el orden siguiente: archivos de manifiesto (.psd1), archivos de mdulo de script (.psm1), archivos de mdulo binario (.dll) y archivos de script (.ps1). -ListAvailable [<SwitchParameter>] Obtiene todos los mdulos que se pueden importar en la sesin. GetModule obtiene los mdulos en las rutas de acceso especificadas por la variable de entorno $env:PSModulePath. Sin este parmetro, Get-Module obtiene solamente los mdulos que se han importado en la sesin. -Name <string[]> Obtiene solamente mdulos con los nombres o patrones de nombre especificados. Se permite el uso de caracteres comodn. Tambin se pueden canalizar los nombres a Get-Module. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-module Descripcin ----------Este comando obtiene los mdulos que se han importado en la sesin actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-module -listAvailable Descripcin ----------Este comando obtiene los mdulos que se pueden importar en la sesin actual. Get-Module busca mdulos disponibles en la ruta de acceso especificada por la variable de entorno $env:PSModulePath. Para obtener ms informacin sobre PSModulePath, vea about_Modules y about_Environment_Variables.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-module -listAvailable -all Descripcin -----------

Este comando obtiene todos los archivos exportados para todos los mdulos disponibles.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-module | get-member -type property TypeName: System.Management.Automation.PSModuleInfo Name ---AccessMode Description ExportedAliases ExportedCmdlets ExportedFunctions ExportedVariables Guid ModuleBase ModuleType Name NestedModules OnRemove Path PrivateData SessionState Version MemberType ---------Property Property Property Property Property Property Property Property Property Property Property Property Property Property Property Property Definition ---------System.Management.Automation.ModuleAcc System.String Description {get;set;} System.Collections.Generic.Dictionary` System.Collections.Generic.Dictionary` System.Collections.Generic.Dictionary` System.Collections.Generic.Dictionary` System.Guid Guid {get;} System.String ModuleBase {get;} System.Management.Automation.ModuleTyp System.String Name {get;} System.Collections.ObjectModel.ReadOnl System.Management.Automation.ScriptBlo System.String Path {get;} System.Object PrivateData {get;set;} System.Management.Automation.SessionSt System.Version Version {get;}

Descripcin ----------Este comando obtiene las propiedades del objeto PSModuleInfo que GetModule devuelve. Hay un objeto para cada archivo de mdulo. Se pueden utilizar las propiedades para aplicar formato y filtrar los objetos de mdulo. Para obtener ms informacin sobre las propiedades, vea el artculo sobre propiedades de PSModule en MSDN (Microsoft Developer Network) Library, en http://go.microsoft.com/fwlink/?LinkId=143624.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-module -listAvailable -all | format-table -property name, moduletype, path -groupby name -auto Name: MyTestCmdlets Name ModuleType Path ------------- ---MyTestCmdlets Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestCmdlets\TestCmdlets.d ll Name: PSDiagnostics Name ModuleType Path

------------- ---PSDiagnostics Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnosti cs.psd1 PSDiagnostics Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnosti cs.psm1 Name: FileTransfer Name ModuleType Path ------------- ---FileTransfer Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer .psd1 Descripcin ----------Este comando obtiene todos los archivos de mdulo (importados y disponibles) y los agrupa por nombre de mdulo. Esto permite ver los archivos de mdulo que cada script est exportando.

-------------------------- EJEMPLO 6 -------------------------C:\PS>$m = get-module -list -name FileTransfer | where {$_.moduletype eq "Manifest"} C:\PS> get-content $m.path @{ GUID="{8FA5064B-8479-4c5c-86EA-0D311FE48875}" Author="Microsoft Corporation" CompanyName="Microsoft Corporation" Copyright=" Microsoft Corporation. All rights reserved." ModuleVersion="1.0.0.0" Description="Windows Powershell File Transfer Module" PowerShellVersion="2.0" CLRVersion="2.0" NestedModules="Microsoft.BackgroundIntelligentTransfer.Management" FormatsToProcess="FileTransfer.Format.ps1xml" RequiredAssemblies=Join-Path $psScriptRoot "Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll" } Descripcin ----------Estos comandos muestran el contenido del manifiesto de mdulo para el mdulo Windows PowerShell File Transfer. El primer comando obtiene el objeto PSModuleInfo que representa el manifiesto de mdulo para el mdulo File Transfer. Guarda el objeto en la variable $m. El segundo comando utiliza la notacin de puntos para obtener la ruta de acceso al archivo de manifiesto, que se almacena en la propiedad Path del objeto. A continuacin, utiliza el cmdlet Get-Content para obtener el contenido del archivo de manifiesto en la ruta de acceso especificada.

No es obligatorio que los mdulos tengan archivos de manifiesto. En caso de que s lo tengan, solamente se necesita que el manifiesto incluya un nmero de versin. Sin embargo, los archivos de manifiesto suelen proporcionar informacin de gran utilidad sobre un mdulo, sus requisitos y su conte nido.

-------------------------- EJEMPLO 7 -------------------------C:\PS>get-module -listAvailable property * -name FileTransfer | format-list -

Name : FileTransfer Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer\FileTransfer .psd1 Description : Powershell File Transfer Module Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer PrivateData : Version : 1.0.0.0 ModuleType : Manifest AccessMode : ReadWrite ExportedFunctions : {} ExportedCmdlets : {} NestedModules : {} ExportedVariables : {} ExportedAliases : {} SessionState : System.Management.Automation.SessionState OnRemove : Descripcin ----------Este comando muestra todas las propiedades del mdulo FileTransfer en una lista. Dado que el mdulo no se ha importado todava en la sesin, las propiedades Exported* y la propiedad NestedModules no se rellenan todava. Estas propiedades se rellenan solo despus de que los elementos se hayan exportado y se hayan creado instancias de los mdulos anidados.

-------------------------- EJEMPLO 8 -------------------------C:\PS>dir (get-module -listavailable FileTransfer).modulebase Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer Mode ---d----a--LastWriteTime ------------12/16/2008 12:36 PM 11/19/2008 11:30 PM Length Name ------ ---en-US 16184 FileTransfer.Format.ps1xml

-a--11/20/2008 11:30 PM 1044 FileTransfer.psd1 -a--12/16/2008 12:20 AM 108544 Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll Descripcin ----------Este comando enumera los archivos en el directorio del mdulo. Esta es otra manera de determinar lo que existe en un mdulo antes de importarlo. Es posible que algunos mdulos tengan archivos de Ayuda o archivos Lame que describen el mdulo.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Module -examples". Para obtener ms informacin, escriba: "get-help Get-Module -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Module -full". NOMBRE Remove-Module SINOPSIS Quita mdulos de la sesin actual. SINTAXIS Remove-Module [-ModuleInfo] <PSModuleInfo[]> [-Force] [-Confirm] [WhatIf] [<CommonParameters>] Remove-Module [-Name] <string[]> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Remove-Module quita los miembros de un mdulo de la sesin actual. Si el mdulo incluye un ensamblado (.dll), se quitan todos los miembros implementados por el ensamblado, pero el ensamblado no se descarga. PARMETROS -Force [<SwitchParameter>] Quita mdulos aunque su modo de acceso sea de solo lectura. -ModuleInfo <PSModuleInfo[]> Especifica los objetos de mdulo que se han de quitar. Escriba una variable que contenga un objeto de mdulo (PSModuleInfo) o un comando que lo obtenga, como un comando Get-Module. Tambin se pueden canalizar objetos de mdulo a Remove-Module. -Name <string[]> Especifica los nombres de los mdulos que se han de quitar. Se permite el uso de caracteres comodn. Tambin se pueden canalizar cadenas de nombre a Remove-Module. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>]

Describe lo que ocurrira si se ejecutara el comando, sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>remove-module -name BitsTransfer Descripcin ----------Este comando quita el mdulo BitsTransfer de la sesin actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-module | remove-module Descripcin ----------Este comando quita todos los mdulos de la sesin actual.

-------------------------- EJEMPLO 3 -------------------------C:\PS>"FileTransfer", "PSDiagnostics" | remove-module -verbose VERBOSE: Performing operation "Remove-Module" on Target "filetransfer (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\f iletransfer\filetransfer.psd1')". VERBOSE: Performing operation "Remove-Module" on Target "Microsoft.BackgroundIntelligentTransfer.Management (Path: 'C:\Windows\ assembly\GAC_MSIL\Microsoft.BackgroundIntelligentTransfer.Management\1.0.0.0 __31bf3856ad364e35\Microsoft.BackgroundIntelligentTransfe r.Management.dll')". VERBOSE: Performing operation "Remove-Module" on Target "psdiagnostics (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ psdiagnostics\psdiagnostics.psd1')". VERBOSE: Removing imported function 'Start-Trace'. VERBOSE: Removing imported function 'Stop-Trace'. VERBOSE: Removing imported function 'Enable-WSManTrace'. VERBOSE: Removing imported function 'Disable-WSManTrace'. VERBOSE: Removing imported function 'Enable-PSWSManCombinedTrace'. VERBOSE: Removing imported function 'Disable-PSWSManCombinedTrace'. VERBOSE: Removing imported function 'Set-LogProperties'. VERBOSE: Removing imported function 'Get-LogProperties'. VERBOSE: Removing imported function 'Enable-PSTrace'. VERBOSE: Removing imported function 'Disable-PSTrace'. VERBOSE: Performing operation "Remove-Module" on Target "PSDiagnostics (Path: 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ psdiagnostics\PSDiagnostics.psm1')".

Descripcin ----------Este comando quita los mdulos FileTransfer y PSDiagnostics de la sesin actual. El comando utiliza un operador de canalizacin (|) para enviar los nombres de mdulo a Remove-Module. Utiliza el parmetro comn Verbose para obtener informacin detallada sobre los miembros que se quitan. Los mensajes Verbose muestran los elementos que se quitan. Los mensajes difieren porque el mdulo BitsTransfer incluye un ensamblado que implementa sus cmdlets y un mdulo anidado con su propio ensamblado. El mdulo PSDiagnostics incluye un archivo de script de mdulo (.psm1) que exporta funcio nes.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$a = get-module BitsTransfer C:\PS> remove-module -moduleInfo $a Descripcin ----------Este comando utiliza el parmetro ModuleInfo para quitar el mdulo BitsTransfer.

NOTAS Para ver los ejemplos, escriba: "get-help Remove-Module -examples". Para obtener ms informacin, escriba: "get-help Remove-Module detailed". Para obtener informacin tcnica, escriba: "get-help Remove-Module full". NOMBRE New-ModuleManifest SINOPSIS Crea un nuevo manifiesto de mdulo. SINTAXIS New-ModuleManifest [-Path] <string> -Author <string> -CompanyName <string> -Copyright <string> -Description <string> -FileList <string[]> FormatsToProcess <string[]> -ModuleToProcess <string> -NestedModules <string[]> -RequiredAssemblies <string[]> -TypesToProcess <string[]> [AliasesToExport <string[]>] [-ClrVersion <Version>] [-CmdletsToExport <string[]>] [DotNetFrameworkVersion <Version>] [-FunctionsToExport <string[]>] [-Guid <Guid>] [-ModuleList <Object[]>] [-ModuleVersion <Version>] [-PassThru] [PowerShellHostName <string>] [-PowerShellHostVersion <Version>] [PowerShellVers ion <Version>] [-PrivateData <Object>] [-ProcessorArchitecture {None | MSIL | X86 | IA64 | Amd64}] [-RequiredModules <Object[]>] [-ScriptsToProcess

<string[]>] [-VariablesToExport <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet New-ModuleManifest crea un nuevo archivo de manifiesto de mdulo (.psd1), rellena sus valores y guarda el archivo de manifiesto en la ruta de acceso especificada. Los autores de manifiesto para su contiene una tabla el contenido y los dete rminan cmo se para un mdulo. mdulos pueden utilizar este cmdlet para crear un mdulo. Un manifiesto de mdulo es un archivo .psd1 que hash. Las claves y los valores de la tabla hash describen atributos del mdulo, definen los requisitos previos y procesan los componentes. No se requieren manifiestos

New-ModuleManifest crea un manifiesto que incluye todas las claves de manifiesto de uso comn, de modo que se pueda utilizar el resultado predeterminado como plantilla de manifiesto. Para agregar o cambiar valores, o para agregar claves de mdulo que este cmdlet no agrega, abra el archivo resul tante en un editor de texto. Cada parmetro de este cmdlet (excepto Path y PassThru) crea una clave de manifiesto de mdulo y su valor. En un manifiesto de mdulo, slo se requiere la clave ModuleVersion. Sin embargo, otros parmetros de este cmdlet son obligatorios. Como consecuencia, se puede escribir un comando "New-Mod uleManifest" sin parmetros y el cmdlet solicitar valores para otras claves de uso comn. Para dejar el valor vaco, presione ENTRAR. Para obtener una descripcin completa del formato, los efectos y los requisitos de un manifiesto de mdulo, vea el artculo sobre cmo escribir un mdulo de manifiesto en MSDN (Microsoft Developer Network) Library, en http://go.microsoft.com/fwlink/?LinkId=143613. PARMETROS -AliasesToExport <string[]> Especifica los alias que el mdulo exporta. Se permite el uso de caracteres comodn. Este parmetro se puede utilizar para restringir los alias que el mdulo exporta. Puede quitar alias de la lista de alias exportados, pero no puede agregar alias a la lista. Si se omite este parmetro, New-ModuleManifest crear una clave AliasesToExport cuyo valor ser * (todo); esto significa que el manifiesto exportar todos los alias exportados por el mdulo. -Author <string> Especifica el autor del mdulo. El cmdlet requiere este parmetro, pero la clave Author no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave Author con el nombre del usuario actual. -ClrVersion <Version>

Especifica la versin de Common Language Runtime (CLR) de Microsoft .NET Framework que el mdulo requiere. Si se omite este parmetro, New-ModuleManifest crear una clave CLRVersion cuyo valor ser una cadena vaca. -CmdletsToExport <string[]> Especifica los cmdlets que el mdulo exporta. Se permite el uso de caracteres comodn. Este parmetro se puede utilizar para restringir los cmdlets que el mdulo exporta. Puede quitar cmdlets de la lista de cmdlets exportados, pero no puede agregar cmdlets a la lista. Si se omite este parmetro, New-ModuleManifest crear una clave CmdletsToExport cuyo valor ser * (todo); esto significa que el manifiesto exportar todos los cmdlets exportados por el mdulo. -CompanyName <string> Identifica la compaa o el proveedor que cre el mdulo. El cmdlet requiere este parmetro, pero la clave CompanyName no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave CompanyName con el valor "Unknown". -Copyright <string> Especifica una instruccin de copyright para el mdulo. El cmdlet requiere este parmetro, pero la clave Copyright no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave Copyright con el valor "(c) <ao> <nombreDeUsuario>. All rights reserved." donde <ao> e s el actual ao y <nombreDeUsuario> es el valor de la clave Author o el nombre del usuario actual (si se ha especificado). -Description <string> Describe el contenido del mdulo. El cmdlet requiere este parmetro, pero la clave Description no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave Description cuyo valor ser una cadena vaca. -DotNetFrameworkVersion <Version> Especifica la versin de Microsoft .NET Framework que el mdulo requiere. Si se omite este parmetro, New-ModuleManifest crear una clave DotNetFrameWorkVersion cuyo valor ser una cadena vaca. -FileList <string[]> Especifica todos los elementos que se incluyen en el mdulo. Esta clave est diseada para actuar como inventario de mdulo. Estos archivos no se exportan automticamente con el mdulo. El cmdlet requiere este parmetro, pero la clave FileList no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave FileList cuyo valor ser una matriz vaca.

-FormatsToProcess <string[]> Especifica los archivos de formato (.ps1xml) que se ejecutan al importar el mdulo. Al importar un mdulo, Windows PowerShell ejecuta el cmdlet UpdateFormatData con los archivos especificados. Dado que los archivos de formato no estn supeditados a un mbito concreto, afectan a todos los estados de sesin de la sesin. El cmdlet requiere este parmetro, pero la clave FormatsToProcess no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave FormatsToProcess cuyo valor ser una matriz vaca. -FunctionsToExport <string[]> Especifica las funciones que el mdulo exporta. Se permite el uso de caracteres comodn. Este parmetro se puede utilizar para restringir las funciones que el mdulo exporta. Puede quitar funciones de la lista de funciones exportadas, pero no puede agregar funciones a la lista. Si se omite este parmetro, New-ModuleManifest crear una clave FunctionsToExport cuyo valor ser * (todo); esto significa que el manifiesto exportar todas las funciones exportadas por el mdulo. -Guid <Guid> Especifica un identificador nico para el mdulo. Se puede usar el GUID para distinguir entre mdulos con el mismo nombre. Si omite este parmetro, New-ModuleManifest crea una clave de GUID en el manifiesto y genera un GUID para el valor. Para crear un nuevo GUID en Windows PowerShell, escriba "[guid]::NewGuid()". -ModuleList <Object[]> Muestra una lista de todos los mdulos que se empaquetan con este mdulo. Escriba cada nombre de mdulo como una cadena o escriba una tabla hash con las claves ModuleName y GUID. La tabla hash tambin puede tener una clave ModuleVersion opcional. Esta clave est diseada para actuar como inventario de mdulo. Estos mdulos no se procesan automticamente. Si se omite este parmetro, New-ModuleManifest crear una clave ModuleList en el manifiesto cuyo valor ser una matriz vaca. -ModuleToProcess <string> Especifica el archivo primario o "raz" del mdulo. Cuando se importa el mdulo, los miembros que se exportan del archivo de mdulo raz se importan en el estado de sesin del autor de llamada. Escriba el nombre de archivo de un mdulo de script (.psm1) o un mdulo binario (.dll). Si un mdulo tiene un archivo de manifiesto y no se ha designado ningn archivo raz en la clave ModuleToProcess, el manifiesto se convierte en el archivo primario del mdulo y el mdulo se convierte en un "mdulo de manifiesto" (ModuleType = Manifest).

Para exportar miembros de .psm1 o archivos .dll en un mdulo que tiene un manifiesto, los nombres de esos archivos se deben especificar en los valores de las claves NestedModules o ModuleToProcess en el manifiesto. De lo contrario, no se exportan sus miembros. El cmdlet requiere este parmetro, pero la clave ModuleToProcess no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave ModuleToProcess cuyo valor ser una cadena vaca. -ModuleVersion <Version> Especifica la versin del mdulo. El cmdlet no requiere este parmetro, pero se requiere una clave ModuleVersion en el manifiesto. Si se omite este parmetro, NewModuleManifest crear una clave ModuleVersion con el valor "1.0". -NestedModules <string[]> Especifica los mdulos de script (.psm1) y los mdulos binarios (.dll) que se importan en el estado de sesin del mdulo. Los archivos de la clave NestedModules se ejecutan en el orden en que se enumeran en el valor. Normalmente, los mdulos anidados contienen comandos que el mdulo de raz necesita para su procesamiento interno. De forma predeterminada, los comandos de los mdulos anidados se exportan desde el estado de sesin del mdulo al estado de sesin del autor de llamada, pero el mdulo raz pue de restringir los comandos que exporta (por ejemplo, mediante el comando Export-Module). Los mdulos anidados en el estado de sesin del mdulo estn disponibles para el mdulo raz, pero un comando Get-Module no los devuelve en el estado de sesin del autor de llamada. Los scripts (.ps1) que se enumeran en la clave NestedModules se ejecutan en el estado de sesin del mdulo, no en el estado de sesin del autor de llamada. Para ejecutar un script en el estado de sesin del autor de llamada, se debe incluir el nombre del archivo de script en el valor de la clave ScriptsToProcess del manifiesto. El cmdlet requiere este parmetro, pero la clave NestedModules no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave NestedModules cuyo valor ser una matriz vaca. -PassThru [<SwitchParameter>] Escribe el manifiesto de mdulo resultante en la consola, adems de crear un archivo .psd1. De forma predeterminada, este cmdlet no genera resultados. -Path <string> Especifica la ruta de acceso y el nombre de archivo del nuevo manifiesto de mdulo. Escriba una ruta de acceso y un nombre de archivo con la extensin .psd1, como "$pshome\Modules\MyModule\MyModule.psd1". Este parmetro es obligatorio. Si se especifica la ruta de acceso a un archivo existente, NewModuleManifest reemplazar el archivo sin avisar, a menos que el archivo tenga el atributo de solo lectura.

El manifiesto debe ubicarse en el directorio del mdulo y el nombre de archivo de manifiesto debe ser igual que el nombre de directorio del mdulo, pero con la extensin .psd1. Nota: no se pueden utilizar variables, como $pshome o $home, en respuesta a una solicitud de un valor de parmetro Path. Para utilizar una variable, incluya el parmetro Path en el comando. -PowerShellHostName <string> Especifica el nombre del programa host de Windows PowerShell que el mdulo requiere. Escriba el nombre del programa host, por ejemplo, "Host ISE de Windows PowerShell" o "ConsoleHost". No se permite el uso de caracteres comodn. Para buscar el nombre de un programa host, se escribe "$host.name" en el programa. Si se omite este parmetro, New-ModuleManifest crear una clave PowerShellHostName cuyo valor ser una cadena vaca. -PowerShellHostVersion <Version> Especifica la versin mnima del programa host de Windows PowerShell que funciona con el mdulo. Escriba un nmero de versin, como 1.1. Si se omite este parmetro, New-ModuleManifest crear una clave PowerShellHostName cuyo valor ser una cadena vaca. -PowerShellVersion <Version> Especifica la versin mnima de Windows PowerShell que funcionar con este mdulo. Escriba 1.0 o 2.0. Los requisitos para versiones posteriores a 2.0 no son obligatorios. Si se omite este parmetro, New-ModuleManifest crear una clave PowerShellVersion cuyo valor ser una cadena vaca. -PrivateData <Object> Especifica los datos que se pasan al mdulo cuando se importa. Si se omite este parmetro, New-ModuleManifest crear una clave PrivateData cuyo valor ser una cadena vaca. -ProcessorArchitecture <ProcessorArchitecture> Especifica la arquitectura de procesador que el mdulo requiere. Los valores vlidos son x86, AMD64, IA64 y None (desconocido o no especificado). Si se omite este parmetro, New-ModuleManifest crear una clave ProcessorArchitecture cuyo valor es una cadena vaca. -RequiredAssemblies <string[]> Especifica los archivos de ensamblado (.dll) que el mdulo requiere. Windows PowerShell carga los ensamblados especificados antes de que se actualicen los tipos o los formatos, se importen los mdulos anidados o se importe el archivo de mdulo que se especifica en el valor de la clave Modul eToProcess. Este parmetro se utiliza para mostrar una lista de todos los ensamblados que el mdulo requiere, incluso los que se deben cargar para actualizar los archivos de formato o tipo enumerados en las claves TypesToProcess o FormatsToProcess, aunque tambin se enumeren como mdulos binarios en la clave NestedModules.

El cmdlet requiere este parmetro, pero la clave RequiredAssemblies no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave RequiredAssemblies cuyo valor ser una matriz vaca. -RequiredModules <Object[]> Especifica los mdulos que deben estar en el estado de sesin global. Si los mdulos requeridos no estn en el estado de sesin global, se producir un error al intentar importar este mdulo. Escriba cada nombre de mdulo como una cadena o escriba una tabla hash con las claves ModuleName y GUID. La tabla hash tambin puede tener una clave ModuleVersion opcional. Para obtener ms informacin, vea los ejemplos. Windows PowerShell no importa los mdulos requeridos automticamente. Se limita a comprobar que los mdulos requeridos estn presentes. Sin embargo, los mdulos pueden incluir scripts (.ps1) que importen los mdulos requeridos al estado de sesin global. Si se omite este parmetro, New-ModuleManifest crear una clave RequiredModules cuyo valor ser una matriz vaca. -ScriptsToProcess <string[]> Especifica los archivos de script (.ps1) que se ejecutan en el estado de sesin del autor de llamada al importar el mdulo. Estos scripts se pueden utilizar para preparar un entorno, del mismo modo que se hara con un script de inicio de sesin. Para especificar scripts que se ejecuten en la sesin del mdulo, se utiliza la clave NestedModules. Si se omite este parmetro, New-ModuleManifest crear una clave ScriptsToProcess cuyo valor ser una matriz vaca. -TypesToProcess <string[]> Especifica los archivos de tipo (.ps1xml) que se ejecutan al importar el mdulo. Al importar el mdulo, Windows PowerShell ejecuta el cmdlet UpdateTypeData con los archivos especificados. Dado que los archivos de tipo no estn supeditados a un mbito concreto, afectan a todos los estados de sesin de la sesin. El cmdlet requiere este parmetro, pero la clave TypesToProcess no se requiere en el manifiesto. Si se omite este parmetro y no se especifica un valor cuando se solicite, New-ModuleManifest crear una clave TypesToProcess cuyo valor ser una matriz vaca. -VariablesToExport <string[]> Especifica las variables que el mdulo exporta. Se permite el uso de caracteres comodn. Este parmetro se puede utilizar para restringir las variables que el mdulo exporta. Puede quitar variables de la lista de variables exportadas, pero no puede agregar variables a la lista. Si se omite este parmetro, New-ModuleManifest crear una clave VariablesToExport cuyo valor ser * (todo); esto significa que el manifiesto exportar todas las variables exportadas por el mdulo.

-Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando, sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>New-ModuleManifest Path: C:\Users\User01\Documents\WindowsPowerShell\Modules\TestModule\Test-Module.psd1 NestedModules[0]: BackgroundModule.psm1 Author: Jinghao Liu CompanyName: Fabrikam, Inc. Copyright: Copyright 2009 Liu Jinghao. All rights reserved. ModuleToProcess: TestModule.psm1 Description: Cmdlets to find common errors in scripts. TypesToProcess[0]: TestTypes.ps1xml FormatsToProcess[0]: TestFormat.ps1xml RequiredAssemblies[0]: Test.dll FileList[0]: Test-Module.psd1 FileList[1]: Test-Module.psm1 FileList[2]: BackgroundModule.psm1 FileList[3]: TestTypes.ps1xml FileList[4]: TestFormat.ps1xml FileList[5]: Test.dll FileList[6]: TestIcon.ico Descripcin ----------Este comando crea un nuevo manifiesto de mdulo. El cmdlet solicita los parmetros que requiere, incluido el parmetro Path, y crea un archivo de manifiesto en la ubicacin especificada. El resultado de este comando muestra respuestas de ejemplo a las solicitudes. Para utilizar los valores predeterminados, presione ENTRAR. La solicitud real, y su tratamiento de frases entrecomilladas y no entrecomilladas, depender del programa host en el que Windows PowerShell se est ejecutando.

-------------------------- EJEMPLO 2 -------------------------C:\PS>New-ModuleManifest -PowerShellVersion 1.0 -AliasesToExport JKBC, DRC, TAC Descripcin -----------

Este comando crea un nuevo manifiesto de mdulo. El comando incluye parmetros que el cmdlet no requiere (o solicita confirmacin). Se pueden incluir otros valores de clave de manifiesto en el smbolo del sistema.

-------------------------- EJEMPLO 3 -------------------------C:\PS>New-ModuleManifest -RequiredModules FileTransfer,@{ModuleName="BackgroundModule";GUID="486569a2-2784-48bf-af1570ba837a64d0";ModuleVersion="3.5"} Descripcin ----------En este ejemplo se muestra la forma de utilizar los formatos de cadena y tabla hash del valor de parmetro RequiredModules. Las cadenas y tablas hash se pueden utilizar en el mismo comando. Este comando crea un manifiesto de mdulo para un mdulo que requiere el mdulo FileTransfer y un mdulo (ficticio) denominado "BackgroundModule". El comando utiliza un formato de cadena para especificar el nombre del mdulo FileTransfer, y el formato de tabla hash para especificar el nombre, un GUID y una versin de BackgroundModule.

NOTAS Para ver los ejemplos, escriba: "get-help New-ModuleManifest -examples". Para obtener ms informacin, escriba: "get-help New-ModuleManifest detailed". Para obtener informacin tcnica, escriba: "get-help New-ModuleManifest -full". NOMBRE New-Module SINOPSIS Crea un nuevo mdulo dinmico que slo existe en memoria. SINTAXIS New-Module [-Name] <string> [-ScriptBlock] <scriptblock> [-ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Function <string[]>] [ReturnResult] [<CommonParameters>] New-Module [-ScriptBlock] <scriptblock> [-ArgumentList <Object[]>] [AsCustomObject] [-Cmdlet <string[]>] [-Function <string[]>] [-ReturnResult] [<CommonParameters>] DESCRIPCIN El cmdlet New-Module crea un mdulo dinmico a partir de un bloque de script. Los miembros del mdulo dinmico, tales como funciones y variables, estn disponibles inmediatamente en la sesin y permanecen disponibles hasta cerrar la misma. De forma predeterminada, y al igual que sucede en los mdulos estticos, los cmdlet y las funciones de un mdulo dinmico se exportan, mientras que

las variables y alias, no. No obstante, es posible utilizar el cmdlet Export-ModuleMember y los parmetros del cmdlet New-Module para invalidar los valores predeterminados. Los mdulos dinmicos solo existen en memoria, no en disco. Al igual que sucede con todos los mdulos, los miembros de mdulos dinmicos se ejecutan en un mbito de mdulo privado que es un elemento secundario del mbito global. Get-Module no puede obtener un mdulo dinmico, pero Get-Command p uede obtener los miembros exportados. Para hacer que un mdulo dinmico est disponible para Get-Module, se debe canalizar un comando New-Module a Import-Module, o bien canalizar el objeto de mdulo que New-Module devuelve a Import-Module. Esta accin agrega el mdulo dinmico a la lista de Get-Module, pero no guarda el mdulo en d isco ni lo hace persistente. PARMETROS -ArgumentList <Object[]> Especifica argumentos (valores de parmetro) que se pasan al bloque de script. -AsCustomObject [<SwitchParameter>] Devuelve un objeto personalizado con miembros que representan los miembros de mdulo. Cuando se utiliza el parmetro AsCustomObject, New-Module crea el mdulo dinmico, importa los miembros de mdulo en la sesin actual y, a continuacin, devuelve un objeto PSCustomObject en lugar de un objeto PSModuleInfo. Se puede guardar el objeto personalizado en una variable y usar la n otacin de puntos para invocar los miembros. Si el mdulo tiene varios miembros con el mismo nombre, como una funcin y una variable cuyo nombre sea "A", el objeto personalizado solo tiene acceso a un miembro con cada nombre. -Cmdlet <string[]> Exporta solamente los cmdlets especificados del mdulo en la sesin actual. Se debe escribir una lista de cmdlets separados por comas. Se permite el uso de caracteres comodn. De forma predeterminada, se exportan todos los cmdlets del mdulo. No se pueden definir los cmdlets en un bloque de script, pero un mdulo dinmico puede incluir los cmdlets si los importa de un mdulo binario. -Function <string[]> Exporta solamente las funciones especificadas del mdulo en la sesin actual. Escriba una lista de funciones separadas por comas. Se permite el uso de caracteres comodn. De forma predeterminada, se exportan todas las funciones definidas en un mdulo. -Name <string> Especifica un nombre para el nuevo mdulo. Tambin se puede canalizar un nombre de mdulo a New-Module. El valor predeterminado es un nombre autogenerado que empieza por "__DynamicModule_" y va seguido de un GUID que especifica la ruta de acceso al mdulo dinmico.

-ReturnResult [<SwitchParameter>] Ejecuta el bloque de script y devuelve los resultados de bloque de script en lugar de devolver un objeto de mdulo. -ScriptBlock <scriptblock> Especifica el contenido del mdulo dinmico. Incluya el contenido entre llaves ({}) para crear un bloque de script. Este parmetro es obligatorio. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>new-module -scriptblock {function Hello {"Hello!"}} Name Path Description Guid Version ModuleBase ModuleType PrivateData AccessMode ExportedAliases ExportedCmdlets ExportedFunctions ExportedVariables NestedModules : : : : : : : : : : : : : : __DynamicModule_2ceb1d0a-990f-45e4-9fe4-89f0f6ead0e5 2ceb1d0a-990f-45e4-9fe4-89f0f6ead0e5 00000000-0000-0000-0000-000000000000 0.0 Script ReadWrite {} {} {[Hello, Hello]} {} {}

Descripcin ----------Este comando crea un nuevo mdulo dinmico con una funcin denominada "Hello". El comando devuelve un objeto de mdulo que representa el nuevo mdulo dinmico.

-------------------------- EJEMPLO 2 -------------------------C:\PS>new-module -scriptblock {function Hello {"Hello!"}} Name Path Description Guid Version ModuleBase ModuleType PrivateData AccessMode ExportedAliases ExportedCmdlets ExportedFunctions ExportedVariables : : : : : : : : : : : : : __DynamicModule_2ceb1d0a-990f-45e4-9fe4-89f0f6ead0e5 2ceb1d0a-990f-45e4-9fe4-89f0f6ead0e5 00000000-0000-0000-0000-000000000000 0.0 Script ReadWrite {} {} {[Hello, Hello]} {}

NestedModules C:\PS> get-module C:\PS>

: {}

C:\PS> get-command Hello CommandType ----------Function Name ---Hello Definition ---------"Hello!"

Descripcin ----------En este ejemplo se muestra que los mdulos dinmicos no son devueltos por el cmdlet Get-Module, pero que el cmdlet Get-Command devuelve los miembros que estos mdulos exportan.

-------------------------- EJEMPLO 3 -------------------------C:\PS>New-Module -scriptblock {$SayHelloHelp="Type 'SayHello', a space, and a name."; function SayHello ($name) { "Hello, $name" }; ExportModuleMember -function SayHello -Variable SayHelloHelp} C:\PS> $SayHelloHelp Type 'SayHello', a space, and a name. C:\PS> SayHello Jeffrey Hello, Jeffrey Descripcin ----------Este comando utiliza el cmdlet Export-ModuleMember para exportar una variable en la sesin actual. Sin el comando Export-ModuleMember, slo se exporta la funcin. Los resultados muestran que tanto la variable como la funcin se exportaron en la sesin.

-------------------------- EJEMPLO 4 -------------------------C:\PS>new-module -scriptblock {function Hello {"Hello!"}} -name GreetingModule | import-module C:\PS> get-module Name Path Description Guid Version ModuleBase ModuleType PrivateData AccessMode : : : : : : : : : GreetingModule d54dfdac-4531-4db2-9dec-0b4b9c57a1e5 00000000-0000-0000-0000-000000000000 0.0 Script ReadWrite

ExportedAliases ExportedCmdlets ExportedFunctions ExportedVariables NestedModules

: : : : :

{} {} {[Hello, Hello]} {} {}

C:\PS> get-command hello CommandType Definition -------------------Function "Hello!" Name ---Hello

Descripcin ----------Este comando muestra que se puede hacer que un mdulo dinmico est disponible para el cmdlet Get-Module canalizando el mdulo dinmico al cmdlet Import-Module. El primer comando utiliza un operador de canalizacin (|) para enviar el objeto de mdulo que New-Module genera al cmdlet Import-Module. El comando utiliza el parmetro Name de New-Module para asignar un nombre simple al mdulo. Dado que Import-Module no devuelve objetos de forma predeterminada , este comando no genera resultados. El segundo comando utiliza el cmdlet Get-Module para obtener los mdulos de la sesin. El resultado muestra que Get-Module puede obtener el nuevo mdulo dinmico. El tercer comando usa el cmdlet Get-Command para obtener la funcin Hello que el mdulo dinmico exporta.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$m = new-module -scriptblock {function Hello ($name) {"Hello, $name"}; function Goodbye ($name) {"Goodbye, $name"}} -AsCustomObject C:\PS> $m C:\PS> $m | get-member TypeName: System.Management.Automation.PSCustomObject Name ---Equals GetHashCode GetType ToString Goodbye Hello MemberType ---------Method Method Method Method ScriptMethod ScriptMethod Definition ---------bool Equals(System.Object obj) int GetHashCode() type GetType() string ToString() System.Object Goodbye(); System.Object Hello();

PS C:\ps-test> $m.goodbye("Jane") Goodbye, Jane

PS C:\ps-test> $m.hello("Manoj") Hello, Manoj PS C:\ps-test> goodbye Jane Goodbye, Jane PS C:\ps-test> hello Manoj Hello, Manoj Descripcin ----------En este ejemplo se muestra la forma de utilizar el parmetro AsCustomObject de New-Module para generar un objeto personalizado con mtodos de script que representan las funciones exportadas. El primer comando utiliza el cmdlet New-Module para generar un mdulo dinmico con dos funciones, Hello y Goodbye. El comando utiliza el parmetro AsCustomObject para generar un objeto personalizado, en lugar del objeto PSModuleInfo que New-Module genera de forma predeterminada. El comando guar da el objeto personalizado en la variable $m. El segundo comando intenta mostrar el valor de la variable $m. No aparece contenido. El tercer comando usa un operador de canalizacin (|) para enviar el objeto personalizado al cmdlet Get-Member, que muestra las propiedades y mtodos del objeto personalizado. Los resultados muestran que el objeto tiene mtodos de script que representan las funciones Hello y Goodbye. Los comandos cuarto y quinto utilizan el formato de mtodo de script para llamar a las funciones Hello y Goodbye. Los comandos sexto y sptimo llaman a las funciones especificando el nombre de funcin y valor de parmetro.

-------------------------- EJEMPLO 6 -------------------------C:\PS>new-module -scriptblock {function SayHello {"Hello, World!"}; SayHello} -returnResult Hello, World! Descripcin ----------Este comando utiliza el parmetro ReturnResult para solicitar los resultados de ejecutar el bloque de script en lugar de solicitar un objeto de mdulo. El bloque de script del nuevo mdulo define la funcin SayHello y, a continuacin, llama a la funcin.

NOTAS Para ver los ejemplos, escriba: "get-help New-Module -examples". Para obtener ms informacin, escriba: "get-help New-Module -detailed". Para obtener informacin tcnica, escriba: "get-help New-Module -full".

NOMBRE Import-Module SINOPSIS Agrega mdulos a la sesin actual. SINTAXIS Import-Module [-Name] <string[]> [-Alias <string[]>] [-ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Version>] [<CommonParameters>] Import-Module [-Assembly] <Assembly[]> [-Alias <string[]>] [ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [Function <string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Version>] [<CommonParameters>] Import-Module [-ModuleInfo] <PSModuleInfo[]> [-Alias <string[]>] [ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [Function <string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Version>] [<CommonParameters>] DESCRIPCIN El cmdlet Import-Module agrega uno o ms mdulos a la sesin actual. Un mdulo es un paquete que contiene miembros (tales como cmdlets, proveedores, scripts, funciones, variables y otras herramientas y archivos) que se pueden utilizar en Windows PowerShell. Una vez importado un mdulo, sus miembros se pueden utilizar en la sesin. Para importar un mdulo, se utiliza el parmetro Name, Assembly o ModuleInfo para identificar el mdulo que se ha de importar. De forma predeterminada, Import-Module importa todos los miembros que el mdulo exporta, pero se pueden utilizar los parmetros Alias, Function, Cmdlet y Variable para restringir los miembros que se importan. Import-Module importa un mdulo solo en la sesin actual. Para importar el mdulo en todas las sesiones, se agrega un comando Import-Module al perfil de Windows PowerShell. Para obtener ms informacin sobre perfiles, vea about_Profiles. Para obtener ms informacin sobre los mdulos, vea about_Modules. PARMETROS -Alias <string[]> Importa nicamente los alias especificados del mdulo en la sesin actual. Escriba una lista de alias separados por comas. Se permite el uso de caracteres comodn. Algunos mdulos exportan automticamente los alias seleccionados en la sesin al importar el mdulo. Este parmetro permite seleccionar entre los alias exportados. -ArgumentList <Object[]>

Especifica argumentos (valores de parmetro) que se pasan a un mdulo de script durante la ejecucin del comando Import-Module. Este parmetro es vlido solamente cuando se importa un mdulo de script. Tambin puede hacerse referencia a ArgumentList por su alias, "arg". Para obtener ms informacin, vea about_Aliases. -AsCustomObject [<SwitchParameter>] Devuelve un objeto personalizado con miembros que representan los miembros de mdulo importados. Este parmetro slo es vlido para mdulos de script. Cuando se usa el parmetro AsCustomObject, Import-Module importa los miembros de mdulo en la sesin y, a continuacin, devuelve un objeto PSCustomObject, en lugar de un objeto PSModuleInfo. Se puede guardar el objeto personalizado en una variable y usar la notacin de puntos para invocar l os miembros. -Assembly <Assembly[]> Importa los cmdlets y proveedores implementados en los objetos de ensamblado especificados. Se debe escribir una variable que contenga objetos de ensamblado o un comando que cree dichos objetos. Tambin se puede canalizar un objeto de ensamblado a Import-Module. Cuando se utiliza este parmetro, slo se importan los cmdlets y proveedores implementados por los ensamblados especificados. Si el mdulo contiene otros archivos, no se importan, con lo que podran estar omitindose miembros importantes del mdulo. Utilice este parmetro para depurar y pro bar el mdulo, o si recibe instrucciones del autor del mdulo para utilizarlo. -Cmdlet <string[]> Importa nicamente los cmdlets especificados del mdulo en la sesin actual. Escriba una lista de cmdlets. Se permite el uso de caracteres comodn. Algunos mdulos exportan automticamente los cmdlets seleccionados en la sesin al importar el mdulo. Este parmetro permite seleccionar entre los cmdlets exportados. -Force [<SwitchParameter>] Vuelve a importar un mdulo y sus miembros, aunque el mdulo o sus miembros tengan un modo de acceso de solo lectura. -Function <string[]> Importa nicamente las funciones especificadas del mdulo en la sesin actual. Escriba una lista de funciones. Se permite el uso de caracteres comodn. Algunos mdulos exportan automticamente las funciones seleccionadas en la sesin al importar el mdulo. Este parmetro permite seleccionar entre las funciones exportadas. -Global [<SwitchParameter>] Cuando se utiliza en un mdulo de script (.psm1), este parmetro importa los mdulos en el estado de la sesin global. Este parmetro es efectivo nicamente cuando aparece en un mdulo de script. De lo contrario, se omite.

De forma predeterminada, los comandos de un mdulo de script (incluso los comandos de los mdulos anidados) se importan en el estado de sesin del autor de llamada. Para restringir los comandos que un mdulo exporta, se utiliza un comando Export-ModuleMember en el mdulo de script. -ModuleInfo <PSModuleInfo[]> Especifica los objetos de mdulo que se han de importar. Se debe especificar una variable que contenga los objetos de mdulo o un comando que los obtenga, como un comando "get-module -listavailable". Tambin se pueden canalizar objetos de mdulo a Import-Module. -Name <string[]> Especifica los nombres de los mdulos que se han de importar. Escriba el nombre del mdulo o el nombre de un archivo del mdulo, por ejemplo un archivo .psd1, .psm1, .dll o .ps1. Las rutas de acceso de archivos son opcionales. No se permite el uso de caracteres comodn. Tambin se pueden ca nalizar nombres de mdulo y nombres de archivo a Import-Module. Si se omite una ruta de acceso, Import-Module busca el mdulo en las rutas de acceso guardadas en la variable de entorno PSModulePath ($env:PSModulePath). Siempre que sea posible, debe especificarse solamente el nombre de mdulo. Cuando se especifica un nombre de archivo, solamente se importan los miembros que se implementan en ese archivo. Si el mdulo contiene otros archivos, no se importan, con lo que podran estar omitindose miembros imp ortantes del mdulo. -PassThru [<SwitchParameter>] Devuelve objetos que representan los mdulos que se importaron. De forma predeterminada, este cmdlet no genera resultados. Notas -- Cuando se canaliza el resultado de un comando "get-module listavailable" a un comando Import-Module con el parmetro PassThru, ImportModule devuelve el objeto que Get-Module le ha pasado sin actualizar el objeto. Como consecuencia, las propiedades Exported y NestedModules no se rellena n todava. -- Cuando se utiliza el parmetro Prefix para especificar un prefijo para el miembro, el prefijo no aparece en los nombres de miembro en las propiedades del objeto de mdulo. El objeto registra lo que se export antes de aplicarse el prefijo. -Prefix <string> Agrega el prefijo especificado a los sustantivos en los nombres de miembros de mdulo importados. Este parmetro se utiliza para evitar conflictos entre nombres que podran producirse cuando hay miembros diferentes de la sesin que tienen el mismo nombre. Este parmetro no cambia el mdulo ni afecta a los archivos que el mdulo importa para su propio uso (denominados "mdulos anidados") . Solamente afecta a los nombres de miembros en la sesin actual. Por ejemplo, si se especifica el prefijo "UTC" y, a continuacin, se importa un cmdlet Get-Date, el cmdlet se conoce en la sesin como GetUTCDate y no se confunde con el cmdlet Get-Date original.

-Variable <string[]> Importa nicamente las variables especificadas del mdulo en la sesin actual. Escriba una lista de variables. Se permite el uso de caracteres comodn. Algunos mdulos exportan automticamente las variables seleccionadas en la sesin al importar el mdulo. Este parmetro permite seleccionar entre las variables exportadas. -Version <Version> Especifica la versin del mdulo que se ha de importar. Utilice este parmetro cuando tenga versiones diferentes del mismo mdulo en el sistema. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>import-module -name BitsTransfer Descripcin ----------Este comando importa los miembros del mdulo BitsTransfer en la sesin actual. El nombre de parmetro Name (-Name) es opcional y se puede omitir. De forma predeterminada, Import-Module no genera resultados cuando importa un mdulo. Para solicitar resultados, utilice el parmetro PassThru o AsCustomObject, o bien el parmetro comn Verbose.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-module -listAvailable | import-module Descripcin ----------Este comando importa todos los mdulos disponibles en la ruta de acceso especificada por la variable de entorno PSModulePath ($env:psmodulepath) en la sesin actual.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$m = get-module -ListAvailable BitsTransfer, ServerBackup C:\PS> import-module -moduleInfo $m Descripcin ----------Estos comandos importan los miembros de los mdulos BitsTransfer y ServerBackup en la sesin actual.

El primer comando utiliza el cmdlet Get-Module para obtener objetos PSModuleInfo que representan mdulos BitsTransfer y ServerBackup. Guarda los objetos en la variable $m. El parmetro ListAvailable se requiere cuando se estn obteniendo mdulos que no se han importado todava en la sesin. El segundo comando usa el parmetro ModuleInfo de Import-Module para importar los mdulos en la sesin actual. Estos comandos equivalen a utilizar un operador de canalizacin (|) para enviar los resultados de un comando Get-Module a Import-Module.

-------------------------- EJEMPLO 4 -------------------------C:\PS>import-module -name c:\ps-test\modules\test -verbose VERBOSE: VERBOSE: VERBOSE: VERBOSE: VERBOSE: Loading module from path 'C:\ps-test\modules\Test\Test.psm1'. Exporting function 'my-parm'. Exporting function 'get-parm'. Exporting function 'get-spec'. Exporting function 'get-specDetails'.

Descripcin ----------Este comando utiliza una ruta de acceso explcita para identificar el mdulo que se ha de importar. Tambin utiliza el parmetro comn Verbose para obtener una lista de los elementos importados del mdulo. Sin los parmetros Verbose, PassThru o AsCustomObject, Import-Module no genera resultados cuando importa un mdulo.

-------------------------- EJEMPLO 5 -------------------------C:\PS>import-module BitsTransfer -cmdlet Add-BitsTransferFile, GetBitsTransfer C:\PS> get-module BitsTransfer Name : BitsTransfer Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer\BitsTransfer .psd1 Description : Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875 Version : 1.0.0.0 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer ModuleType : Manifest PrivateData : AccessMode : ReadWrite ExportedAliases : {} ExportedCmdlets : {[Add-BitsTransfer, Add-BitsTransfer], [CompleteBitsTransfer, Complete-BitsTransfer], [Get-BitsTransfer, Get-BitsTransfer], [Rem ove-BitsTransfer, Remove-BitsTransfer]...} ExportedFunctions : {}

ExportedVariables : {} NestedModules : {Microsoft.BackgroundIntelligentTransfer.Management} C:\PS> get-command -module BitsTransfer CommandType Name Definition ----------- ------------Cmdlet Add-BitsTransfer Add-BitsTransfer [-BitsJob] <BitsJob[]> [-Source] <String[]> [[-Destination] <String[]>] [-Verbose] [-Debug] [ErrorA... Cmdlet Get-BitsTransfer Get-BitsTransfer [[-Name] <String[]>] [AllUsers] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [WarningActi... Descripcin ----------En este ejemplo se muestra cmo restringir los miembros de mdulo que se importan en la sesin y el efecto de este comando en la sesin. El primer comando importa solamente los cmdlets Add-BitsTransfer y GetBitsTransfer del mdulo BitsTransfer. El comando utiliza el parmetro Cmdlet para restringir los cmdlets que el mdulo importa. Tambin se pueden utilizar los parmetros Alias, Variable y Function para restringir otros miemb ros que un mdulo importa. El segundo comando usa el cmdlet Get-Module para obtener el objeto que representa el mdulo BitsTransfer. La propiedad ExportedCmdlets muestra una lista de todos los cmdlets que el mdulo exporta, aunque no todos ellos se hayan importado. El tercer comando usa el parmetro Module del cmdlet Get-Command para obtener los comandos que se importaron del mdulo BitsTransfer. Los resultados confirman que solamente se importaron los cmdlets AddBitsTransfer y Get-BitsTransfer.

-------------------------- EJEMPLO 6 -------------------------C:\PS>import-module BitsTransfer -prefix PS -passthru Name : bitstransfer Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\bitstransfer\bitstransfer .psd1 Description : Guid : 8fa5064b-8479-4c5c-86ea-0d311fe48875 Version : 1.0.0.0 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\bitstransfer ModuleType : Manifest PrivateData : AccessMode : ReadWrite ExportedAliases : {} ExportedCmdlets : {[Add-BitsTransfer, Add-BitsTransfer], [RemoveBitsTransfer, Remove-BitsTransfer], [Complete-BitsTransfer, CompleteBitsTransfer] , [Get-BitsTransfer, Get-BitsTransfer]...}

ExportedFunctions : {} ExportedVariables : {} NestedModules : {Microsoft.BackgroundIntelligentTransfer.Management} C:\PS> get-command -module bitstransfer CommandType Name -------------Cmdlet Add-PSBitsTransfer BitsJob] <BitsJob[]> [-Source] <String[]> ... Cmdlet Complete-PSBitsTransfer BitsJob] <BitsJob[]> [-Verbose] [-Deb... Cmdlet Get-PSBitsTransfer <String[]>] [-AllUsers] [-Verbose] ... Cmdlet Remove-PSBitsTransfer BitsJob] <BitsJob[]> [-Verbose] [-Debug... Cmdlet Resume-PSBitsTransfer BitsJob] <BitsJob[]> [-Asynchronous] [-... Cmdlet Set-PSBitsTransfer BitsJob] <BitsJob[]> [-DisplayName <String... Cmdlet Start-PSBitsTransfer Source] <String[]>] [[-Destination] <St... Cmdlet Suspend-PSBitsTransfer BitsJob] <BitsJob[]> [-Verbose] [-Debu... Definition ---------Add-PSBitsTransfer [Complete-PSBitsTransfer [Get-PSBitsTransfer [[-Name] Remove-PSBitsTransfer [Resume-PSBitsTransfer [Set-PSBitsTransfer [Start-PSBitsTransfer [[Suspend-PSBitsTransfer [-

Descripcin ----------Estos comandos importan el mdulo BitsTransfer en la sesin actual, agregan un prefijo a los nombres de miembro y, a continuacin, muestran los nombres de miembro con prefijo. El primer comando utiliza el cmdlet Import-Module para importar el mdulo BitsTransfer. Utiliza el parmetro Prefix para agregar el prefijo PS a todos los miembros que se importan del mdulo y el parmetro PassThru para devolver un objeto de mdulo que representa el mdulo importado. El objeto de mdulo que el comando devuelve tiene una propiedad ExportedCmdlets que muestra los miembros exportados. El prefijo no aparece en los nombres de cmdlet, porque se aplica despus de que los miembros se exporten (pero antes de que se importen). El segundo comando usa el cmdlet Get-Command para obtener los miembros que se han importado del mdulo. Usa el parmetro Module para especificar el mdulo. Los resultados muestran que se ha aplicado prefijo correctamente a los miembros de mdulo. El prefijo que se utiliza se aplica solamente a los miembros de la sesin actual. No cambia el mdulo.

-------------------------- EJEMPLO 7 -------------------------C:\PS>get-module -list | format-table -property name, moduletype -auto Name ModuleType ------------Show-Calendar Script BitsTransfer Manifest

PSDiagnostics TestCmdlets

Manifest Script

C:\PS> $a = import-module -name Show-Calendar -asCustomObject C:\PS> $a | get-member TypeName: System.Management.Automation.PSCustomObject Name ---Equals GetHashCode GetType ToString Show-Calendar MemberType ---------Method Method Method Method ScriptMethod Definition ---------bool Equals(System.Object obj) int GetHashCode() type GetType() string ToString() System.Object Show-Calendar();

C:\PS> $a."show-calendar"() Descripcin ----------Estos comandos muestran cmo se obtiene y utiliza el objeto personalizado que Import-Module devuelve. Los objetos personalizados incluyen miembros sintticos que representan cada uno de los miembros de mdulo importados. Por ejemplo, los cmdlets y funciones de un mdulo se convierten en mtodos de script del objeto personalizado. Los objetos personalizados son muy tiles en scripting. Tambin son tiles cuando varios objetos importados tienen el mismo nombre. El uso del mtodo de script de un objeto equivale a especificar el nombre completo de un miembro importado, incluido su nombre de mdulo. El parmetro AsCustomObject slo se puede utilizar con un mdulo de script, por lo que la primera tarea consiste en determinar cul de los mdulos disponibles es un mdulo de script. El primer comando utiliza el cmdlet Get-Module para obtener los mdulos disponibles. El comando utiliza un operador de canalizacin (|) para pasar los objetos de mdulo al cmdlet Format-Table, que muestra los parmetros Name y ModuleType de cada mdulo en una tabla. El segundo comando usa el cmdlet Import-Module para importar el mdulo de script Show-Calendar. El comando utiliza el parmetro AsCustomObject para solicitar un objeto personalizado. El comando guarda el objeto personalizado resultante en la variable $a. El tercer comando usa un operador de canalizacin para enviar la variable $a al cmdlet Get-Member, que obtiene las propiedades y mtodos de PSCustomObject en $a. Los resultados muestran un mtodo de script ShowCalendar. El ltimo comando utiliza el mtodo de script Show-Calendar. El nombre de mtodo se debe colocar entre comillas, porque incluye un guin.

-------------------------- EJEMPLO 8 --------------------------

C:\PS>import-module BitsTransfer C:\PS> import-module BitsTransfer -force -prefix PS Descripcin ----------Este ejemplo muestra cmo utilizar el parmetro Force de Import-Module al volver a importar un mdulo en la misma sesin. El primer comando importa el mdulo BitsTransfer. El segundo comando vuelve a importar el mdulo, utilizando esta vez el parmetro Prefix. El segundo comando tambin incluye el parmetro Force, que quita el mdulo y, a continuacin, lo importa de nuevo. Sin este parmetro, la sesin incluira dos copias de cada cmdlet BitsTransfer, una con el nombre estndar y uno con el nombre con prefijo.

-------------------------- EJEMPLO 9 -------------------------C:\PS>get-date Saturday, September 12, 2009 6:47:04 PM C:\PS> import-module TestModule C:\PS> get-date 09255 C:\PS> get-command get-date | format-table -property commandtype, name, pssnapin, module -auto CommandType ----------Function Cmdlet Name ---Get-Date Get-Date pssnapin -------Microsoft.PowerShell.Utility Module -----TestModule

C:\PS> Microsoft.PowerShell.Utility\get-date Saturday, September 12, 2009 6:33:23 PM Descripcin ----------En este ejemplo se muestra cmo ejecutar comandos ocultados por comandos importados. El primer comando ejecuta el cmdlet Get-Date que se incluye con Windows PowerShell. Devuelve un objeto DateTime con la fecha actual. El segundo comando importa el mdulo TestModule. Este mdulo incluye una funcin denominada Get-Date que devuelve la fecha juliana. El tercer comando ejecuta el comando Get-Date otra vez. Dado que las funciones tienen precedencia sobre los cmdlets, se ha ejecutado la funcin Get-Date del mdulo TestModule en lugar del cmdlet Get-Date.

El cuarto comando muestra que hay dos comandos Get-Date en la sesin, una funcin del mdulo TestModule y un cmdlet del complemento Microsoft.PowerShell.Utility. El quinto comando ejecuta el cmdlet oculto calificando su nombre con el nombre del complemento. Para obtener ms informacin sobre la precedencia en Windows PowerShell, vea about_command_precedence.

NOTAS Para ver los ejemplos, escriba: "get-help Import-Module -examples". Para obtener ms informacin, escriba: "get-help Import-Module detailed". Para obtener informacin tcnica, escriba: "get-help Import-Module full". NOMBRE Export-ModuleMember SINOPSIS Especifica los miembros de mdulo que se exportan. SINTAXIS Export-ModuleMember [[-Function] <string[]>] [-Alias <string[]>] [Cmdlet <string[]>] [-Variable <string[]>] [<CommonParameters>] DESCRIPCIN El cmdlet Export-ModuleMember especifica los miembros de mdulo (tales como cmdlets, funciones, variables y alias) que se exportan de un archivo de mdulo de script (.psm1) o de un mdulo dinmico creado mediante el cmdlet New-Module. Este cmdlet slo se puede utilizar en un archivo de mdulo d e script o en un mdulo dinmico. Si un mdulo de script no incluye un comando Export-ModuleMember, las funciones del mdulo de script se exportan, pero las variables y alias no. Cuando un mdulo de script incluye un comando Export-ModuleMember, solamente se exportan los miembros especificados en el comando Export-ModuleMember. Si un mdulo de script contiene varios comandos Export-ModuleMember, se exportan solamente los miembros enumerados en un comando ExportModuleMember. Tambin se puede utilizar Export-ModuleMember para exportar miembros que el mdulo de script importa de otros mdulos. PARMETROS -Alias <string[]> Especifica los alias que se exportan del archivo de mdulo de script. Escriba los nombres de alias. Se permite el uso de caracteres comodn. -Cmdlet <string[]>

Especifica los cmdlets que se exportan del archivo de mdulo de script. Escriba los nombres de cmdlet. Se permite el uso de caracteres comodn. No se pueden crear cmdlets en un archivo de mdulo de script, pero se pueden importar cmdlets de un mdulo binario a un mdulo de script y volver a exportarlos del mdulo de script. -Function <string[]> Especifica las funciones que se exportan del archivo de mdulo de script. Escriba los nombres de funcin. Se permite el uso de caracteres comodn. Tambin se pueden canalizar cadenas de nombre de funcin a ExportModuleMember. -Variable <string[]> Especifica las variables que se exportan del archivo de mdulo de script. Escriba los nombres de variable (sin signo de dlar). Se permite el uso de caracteres comodn. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Export-ModuleMember -function * -alias * Descripcin ----------Este comando exporta los alias y funciones definidos en el mdulo de script. Para exportar los alias, que no se exportan de forma predeterminada, tambin se deben especificar explcitamente las funciones. De lo contrario, solo se exportarn los alias.

-------------------------- EJEMPLO 2 -------------------------C:\PS>Export-ModuleMember -function Get-Test, New-Test, Start-Test alias gtt, ntt, stt Descripcin ----------Este comando exporta tres alias y tres funciones definidos en el mdulo de script. Este formato de comando se puede usar para especificar los nombres de los miembros de mdulo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>Export-ModuleMember

Descripcin ----------Este comando especifica que no se exporta ningn miembro definido en el mdulo de script. Este comando evita que se exporten los miembros de mdulo, pero no oculta los miembros. Los usuarios pueden leer y copiar los miembros de mdulo o utilizar el operador de llamada (&) para invocar los miembros de mdulo que no se exportan.

-------------------------- EJEMPLO 4 -------------------------C:\PS>Export-ModuleMember -variable increment Descripcin ----------Este comando exporta solamente la variable $increment del mdulo de script. No se exporta ningn otro miembro. Si se desea exportar una variable adems de exportar las funciones de un mdulo, el comando Export-ModuleMember debe incluir los nombres de todas las funciones y el nombre de la variable.

-------------------------- EJEMPLO 5 -------------------------C:\PS># From TestModule.psm1 function new-test { <function code> } export-modulemember -function new-test function validate-test { <function code> } function start-test { <function code> } set-alias stt start-test export-modulemember -function *-test -alias stt Descripcin ----------Estos comandos muestran cmo se interpretan varios comandos ExportModuleMember en un archivo de mdulo de script (.psm1). Estos comandos crean tres funciones y un alias y, a continuacin, exportan dos de las tres funciones y el alias. Sin los comandos Export-ModuleMember, se exportaran las tres funciones, pero no se exportara el alias. Con los comandos Export-ModuleMember, solo se exportan las funciones Get-Test y Start-Test, y el alias STT.

-------------------------- EJEMPLO 6 --------------------------

C:\PS>new-module -script {function SayHello {"Hello!"}; set-alias Hi SayHello; Export-ModuleMember -alias Hi -function SayHello} Descripcin ----------Este comando muestra cmo se utiliza Export-ModuleMember en un mdulo dinmico que se crea mediante el cmdlet New-Module. En este ejemplo, Export-ModuleMember se utiliza para exportar tanto el alias "Hi" como la funcin "SayHello" en el mdulo dinmico.

-------------------------- EJEMPLO 7 -------------------------C:\PS>function export { param ( [parameter(mandatory=$true)] [validateset("function","variable")] $type, [parameter(mandatory=$true)] $name, [parameter(mandatory=$true)] $value ) if ($type -eq "function") { Set-item "function:script:$name" $value Export-ModuleMember $name } else { Set-Variable -scope Script $name $value Export-ModuleMember -variable $name } } export function New-Test { ... } function helper { ... } export variable interval 0 $interval = 2 Descripcin ----------Este ejemplo incluye una funcin denominada Export que declara una funcin o crea una variable y, a continuacin, escribe un comando ExportModuleMember para la funcin o variable. De este modo es posible declarar y exportar una funcin o variable en un mismo comando. Para utilizar la funcin Export, debe incluirse en el mdulo de script. Para exportar una funcin, se debe escribir "Export" antes de la palabra clave Function.

Para exportar una variable, se utiliza el formato siguiente a fin de declararla y establecer su valor: export variable <nombreDeVariable> <valor> Los comandos del ejemplo muestran el formato correcto. En este ejemplo, solo se exportan la funcin New-Test y la variable $Interval.

NOTAS Para ver los ejemplos, escriba: "get-help Export-ModuleMember examples". Para obtener ms informacin, escriba: "get-help Export-ModuleMember detailed". Para obtener informacin tcnica, escriba: "get-help Export-ModuleMember -full". NOMBRE Test-ModuleManifest SINOPSIS Comprueba que un archivo de manifiesto de mdulo describa con exactitud el contenido de un mdulo. SINTAXIS Test-ModuleManifest [-Path] <string> [<CommonParameters>] DESCRIPCIN El cmdlet Test-ModuleManifest comprueba que los archivos enumerados en el archivo de manifiesto de mdulo (.psd1) existan en las rutas de acceso especificadas. Este cmdlet est diseado para ayudar a los autores de mdulos a probar sus archivos de manifiesto. Los usuarios de mdulos pueden utilizar tambin este cmdlet en scripts y comandos para detectar errores antes de ejecutar scripts que dependen del mdulo. El mdulo que no cmdlet cmdlet Test-ModuleManifest devuelve un objeto que representa el (el mismo tipo de objeto que Get-Module devuelve). Si hay archivos se encuentran en las ubicaciones especificadas en el manifiesto, el tambin genera un error por cada uno de los archivos que faltan.

PARMETROS -Path <string> Especifica la ruta de acceso al archivo de manifiesto de mdulo. Debe especificarse una ruta de acceso (opcional) y el nombre del archivo de manifiesto de mdulo con la extensin .psd1. La ubicacin predeterminada es el directorio actual. Este parmetro es obligatorio. El nombre del parmet ro ("Path") es opcional. Tambin se puede canalizar una ruta de acceso a Test-ModuleManifest. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba:

"get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>test-ModuleManifest -path $pshome\Modules\TestModule.psd1 Descripcin ----------Este comando prueba el manifiesto de mdulo TestModule.psd1.

-------------------------- EJEMPLO 2 -------------------------C:\PS>"$pshome\Modules\TestModule.psd1" | test-modulemanifest Test-ModuleManifest : The specified type data file 'C:\Windows\System32\Wi ndowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml' could not be pro cessed because the file was not found. Please correct the path and try aga in. At line:1 char:34 + "$pshome\Modules\TestModule.psd1" | test-modulemanifest <<<< + CategoryInfo : ResourceUnavailable: (C:\Windows\System32\Win dowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml:String) [TestModul eManifest], FileNotFoundException + FullyQualifiedErrorId : Modules_TypeDataFileNotFound,Microsoft. PowerShell.Commands.TestModuleManifestCommandName Name : TestModule Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Test Module\TestModule.psd1 Description : Guid : 6f0f1387-cd25-4902-b7b4-22cff6aefa7b Version : 1.0 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Test Module ModuleType : Manifest PrivateData : AccessMode : ReadWrite ExportedAliases : {} ExportedCmdlets : {} ExportedFunctions : {} ExportedVariables : {} NestedModules : {} Descripcin ----------Este comando utiliza un operador de canalizacin (|) para enviar una cadena de ruta de acceso a Test-ModuleManifest. En el resultado del comando se muestra que la prueba no se super porque no se encontr el archivo TestTypes.ps1xml enumerado en el manifiesto.

-------------------------- EJEMPLO 3 -------------------------C:\PS>function Bool-ModuleManifest ($path) {$a = dir $path | test-modulemanifest -erroraction SilentlyContinue; $?} Descripcin ----------Esta funcin es como Test-ModuleManifest, pero devuelve un valor booleano: "True" si el manifiesto super la prueba y "False" en caso contrario. La funcin utiliza el cmdlet Get-ChildItem (alias = dir) para obtener el manifiesto de mdulo especificado por la variable $path. Utiliza un operador de canalizacin (|) para pasar el objeto de archivo al cmdlet TestModuleManifest. El comando Test-ModuleManifest utiliza el parmetro comn ErrorAction con el valor SilentlyContinue para suprimir la presentacin de los errores generados por el comando. Tambin guarda el objeto PSModuleInfo que TestModuleManifest devuelve en la variable $a, por lo que no se muestra el objeto . A continuacin, en un comando independiente (con el signo de punto y coma [;] como separador de comandos), muestra el valor de la variable automtica $?, que devuelve "True" si el comando anterior no gener un error y "False" en caso contrario. Esta funcin se puede utilizar en instrucciones condicionales, como las que pueden preceder a un comando Import-Module o a un comando que utiliza el mdulo.

NOTAS Para ver los ejemplos, escriba: "get-help Test-ModuleManifest examples". Para obtener ms informacin, escriba: "get-help Test-ModuleManifest detailed". Para obtener informacin tcnica, escriba: "get-help Test-ModuleManifest -full". NOMBRE Export-Console SINOPSIS Exporta los nombres de complementos de la sesin actual a un archivo de consola. SINTAXIS Export-Console [[-Path] <string>] [-Force] [-NoClobber] [-Confirm] [WhatIf] [<CommonParameters>]

DESCRIPCIN El cmdlet Export-Console exporta los nombres de los complementos de Windows PowerShell de la sesin actual a un archivo de consola de Windows PowerShell (.psc1). Puede usar este cmdlet para guardar los complementos para su utilizacin en sesiones futuras. Para agregar los complementos del archivo de consola .psc1 a una sesin, inicie Windows PowerShell (Powershell.exe) en la lnea de comandos por medio de Cmd.exe o de otra sesin de Windows PowerShell y, a continuacin, use el parmetro PSConsoleFile de Powershell.exe para especificar el archivo de consola. Para obtener ms informacin sobre los complementos de Windows PowerShell, vea about_PSSnapins. PARMETROS -Force [<SwitchParameter>] Sobrescribe los datos de un archivo de consola sin avisar, aunque el archivo tenga el atributo de solo lectura. El atributo de solo lectura se modifica y no se restablece cuando finaliza la ejecucin del comando. -NoClobber [<SwitchParameter>] No se sobrescribir un archivo de consola existente (es decir, no remplazar su contenido). De forma predeterminada, si existe un archivo en la ruta de acceso especificada, Export-Console sobrescribe el archivo sin avisar. -Path <string> Especifica una ruta de acceso y un nombre de archivo para el archivo de consola (*.psc1). Escriba una ruta de acceso (opcional) y un nombre. No se permite el uso de caracteres comodn. Si escribe solamente un nombre de archivo, Export-Console crear un archivo con ese nombre y la extensin de nombre de archivo ".psc1" en el directorio actual. Este parmetro es obligatorio, a menos que haya abierto Windows PowerShell con el parmetro PSConsoleFile o haya exportado un archivo de consola durante la sesin actual. Tambin es necesario si usa el parmetro NoClobber para evitar que se sobrescriba el archivo de consola actual. Si omite este parmetro, Export-Console sobrescribir (reemplazar el contenido) del ltimo archivo de consola usado en esta sesin. La ruta de acceso al ltimo archivo de consola usado se almacenar en el valor de la variable automtica $ConsoleFileName. Para obtener ms informacin, vea a bout_Automatic_Variables. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters".

-------------------------- EJEMPLO 1 -------------------------C:\PS>export-console -path $pshome\Consoles\ConsoleS1.psc1 Descripcin ----------Este comando exporta los nombres de los complementos de Windows PowerShell de la sesin actual al archivo ConsoleS1.psc1 en el subdirectorio Consoles del directorio de instalacin de Windows PowerShell, $pshome.

-------------------------- EJEMPLO 2 -------------------------C:\PS>export-console Descripcin ----------Este comando exporta los nombres de los complementos de Windows PowerShell de la sesin actual al ltimo archivo de consola de Windows PowerShell usado en la sesin actual. Sobrescribe el contenido del archivo anterior. Si no ha exportado un archivo de consola durante la sesin actual, se le pedir permiso para continuar y, a continuacin, un nombre de archivo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>add-pssnapin NewPSSnapin C:\PS> export-console -path NewPSSnapinConsole.psc1 C:\PS> powershell.exe -PsConsoleFile NewPsSnapinConsole.psc1 Descripcin ----------Estos comandos agregan el complemento NewPSSnapin de Windows PowerShell a la sesin actual, exportan los nombres de los complementos de Windows PowerShell de la sesin actual a un archivo de consola y, a continuacin, inician una sesin de Windows PowerShell con el archivo de consola. El primer comando usa el cmdlet Add-PSSnapin para agregar el complemento NewPSSnapin a la sesin actual. Solo se pueden agregar complementos de Windows PowerShell registrados en el sistema. El segundo comando exporta los nombres de los complementos de Windows PowerShell al archivo NewPSSnapinConsole.psc1. El tercer comando inicia Windows PowerShell con el archivo NewPSSnapinConsole.psc1. Dado que el archivo de consola incluye el nombre del complemento de Windows PowerShell, los cmdlets y los proveedores del complemento estarn disponibles en la sesin actual.

-------------------------- EJEMPLO 4 --------------------------

C:\PS>export-console -path Console01 C:\PS> notepad console01.psc1 <?xml version="1.0" encoding="utf-8"?> <PSConsoleFile ConsoleSchemaVersion="1.0"> <PSVersion>2.0</PSVersion> <PSSnapIns> <PSSnapIn Name="NewPSSnapin" /> </PSSnapIns> </PSConsoleFile> Descripcin ----------Este comando exporta los nombres de los complementos de Windows PowerShell de la sesin actual al archivo Console01.psc1 del directorio actual. El segundo comando muestra el contenido del archivo Console01.psc1 en Notepad (Bloc de notas).

-------------------------- EJEMPLO 5 -------------------------C:\PS>powershell.exe -PSConsoleFile Console01.psc1 C:\PS> add-pssnapin MySnapin C:\PS> export-console NewConsole.psc1 C:\PS> $consolefilename C:\PS> add-pssnapin SnapIn03 C:\PS> export-console Descripcin ----------En este ejemplo se muestra la forma de utilizar la variable automtica $ConsoleFileName para determinar el archivo de consola que se actualizar si se utiliza Export-Console sin un valor de parmetro Path. El primer comando utiliza el parmetro PSConsoleFile de PowerShell.exe para abrir Windows PowerShell con el archivo Console01.psc1. El segundo comando usa el cmdlet Add-PSSnapin para agregar el complemento MySnapin de Windows PowerShell a la sesin actual. El tercer comando usa el cmdlet Export-Console para exportar los nombres de todos los complementos de Windows PowerShell de la sesin al archivo NewConsole.psc1. El cuarto comando utiliza el parmetro $ConsoleFileName para mostrar el ltimo archivo de consola utilizado. En el resultado de ejemplo se muestra que NewConsole.ps1 es el ltimo archivo utilizado. El quinto comando agrega SnapIn03 a la consola actual.

El sexto comando usa el cmdlet ExportConsole sin un parmetro Path. Este comando exporta los nombres de todos los complementos de Windows PowerShell de la sesin actual al ltimo archivo utilizado, NewConsole.psc1.

NOTAS Para ver los ejemplos, escriba: "get-help Export-Console -examples". Para obtener ms informacin, escriba: "get-help Export-Console detailed". Para obtener informacin tcnica, escriba: "get-help Export-Console full". NOMBRE Format-List SINOPSIS Aplica a la salida el formato de una lista de propiedades en la que cada propiedad aparece en una nueva lnea. SINTAXIS Format-List [[-Property] <Object[]>] [-DisplayError] [-Expand <string>] [-Force] [-GroupBy <Object>] [-InputObject <psobject>] [-ShowError] [-View <string>] [<CommonParameters>] DESCRIPCIN El cmdlet Format-List aplica a la salida el formato de una lista de propiedades en la que cada propiedad aparece en una lnea diferente. Puede utilizar Format-List para dar formato y mostrar como una lista todas las propiedades o propiedades seleccionadas de un objeto (format-list *). Dado que cada elemento dispone de ms espacio en una lista que en una tabla, Windows PowerShell muestra ms propiedades del objeto en la lista, y hay menos probabilidades de que se trunquen los valores de las propiedades. PARMETROS -DisplayError [<SwitchParameter>] Muestra los errores en la lnea de comandos. -Expand <string> Da formato al objeto Collection, as como a los objetos de la coleccin. Este parmetro se ha diseado para dar un formato a los objetos que sea compatible con la interfaz ICollection (System.Collections). El valor predeterminado es EnumOnly. Los valores vlidos son: -- EnumOnly: muestra las propiedades de los objetos de la coleccin. -- CoreOnly: muestra las propiedades del objeto Collection. -- Both: muestra las propiedades del objeto Collection y de los objetos de la coleccin. -Force [<SwitchParameter>] Indica al cmdlet que muestre toda la informacin de error. Se utiliza con los parmetros DisplayError o ShowError. De forma predeterminada, cuando el objeto de error se escribe en la secuencia de error o de presentacin, se muestra solo parte de la informacin de error.

-GroupBy <Object> Da formato a la salida de los grupos en funcin de un valor o una propiedad compartida. Especifique una expresin o una propiedad de la salida. El valor del parmetro GroupBy puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -- Name (o Label) <cadena> -- Expression <cadena> o <bloque de script> -- FormatString <cadena> -InputObject <psobject> Especifica los objetos a los que se les va a dar formato. Especifique la variable que contiene los objetos o escriba un comando o una expresin que los obtenga. -Property <Object[]> Especifica las propiedades del objeto que se van a mostrar y el orden en el que van a aparecer. Se permite el uso de caracteres comodn. Si se omite este parmetro, las propiedades que aparezcan en la presentacin dependern del objeto que se est mostrando. El nombre del parmetro ("Property") es opcional. Los parmetros Property y View no se pueden usar en el mismo comando. El valor del parmetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -- Name (o Label) <cadena> -- Expression <cadena> o <bloque de script> -- FormatString <cadena> -ShowError [<SwitchParameter>] Enva los errores a travs de la canalizacin. -View <string> Especifica el nombre de un formato de lista alternativo o una vista alternativa. Los parmetros Property y View no se pueden usar en el mismo comando. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-service | format-list Descripcin ----------Este comando aplica el formato de lista a la informacin sobre los servicios del equipo. De manera predeterminada, a los servicios se les asigna un formato de tabla. El cmdlet Get-Service obtiene los objetos que representan los servicios de un equipo. El operador de canalizacin (|) pasa los re

sultados a travs de la canalizacin a Format-List. A continuacin, el comando Format-List aplica a la informacin de los servicios el formato de una lista y la enva al cmdlet de salida predeterminado para mostrarla.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$a = get-childitem $pshome\*.ps1xml Descripcin ----------Estos comandos muestran informacin sobre los archivos PS1XML del directorio de Windows PowerShell en forma de lista. El primer comando obtiene los objetos que representan los archivos y los almacena en la variable $a. El segundo comando usa Format-List para dar formato a la informacin sobre l os objetos almacenados en $a. Este comando usa el parmetro InputObject para pasar la variable a Format-List, que enva el resultado con formato al cmdlet de salida predeterminado para mostrarlo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-process | format-list -property name, basepriority, priorityclass Descripcin ----------Este comando muestra el nombre, la prioridad base y la clase de propiedad de cada proceso del equipo. Usa el cmdlet Get-Process para obtener los objetos que representan cada proceso. El operador de canalizacin (|) pasa los objetos de proceso a travs de la canalizacin a Format-List, que aplic a a los procesos el formato de una lista de las propiedades especificadas. El nombre del parmetro "Property" es opcional y, por tanto, puede omitirse.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-process winlogon | format-list -property * Descripcin ----------Este comando muestra todas las propiedades del proceso Winlogon. Usa el cmdlet Get-Process para obtener el objeto que representa este proceso. El operador de canalizacin (|) pasa el objeto del proceso Winlogon a travs de la canalizacin a Format-List. El comando usa el parmetro Property para especificar las propiedades y usa * para indicar todas las propiedades. Dado que el nombre del parmetro Property es opcional, puede omitirlo y escribir el comando de esta manera: "format-list *". Format-List enva automticamente los resultados al cmdlet de salida predeterminado para mostrarl os.

NOTAS Para ver los ejemplos, escriba: "get-help Format-List -examples". Para obtener ms informacin, escriba: "get-help Format-List -detailed". Para obtener informacin tcnica, escriba: "get-help Format-List -full". NOMBRE Format-Custom SINOPSIS Usa una vista personalizada para dar formato a la salida. SINTAXIS Format-Custom [[-Property] <Object[]>] [-Depth <int>] [-DisplayError] [Expand <string>] [-Force] [-GroupBy <Object>] [-InputObject <psobject>] [ShowError] [-View <string>] [<CommonParameters>] DESCRIPCIN El cmdlet Format-Custom da formato al resultado de un comando en una vista alternativa. Format-Custom se ha diseado para mostrar vistas que no sean simplemente tablas o listas. Puede usar las vistas definidas en los archivos *format.PS1XML del directorio Windows PowerShell o puede crear sus pr opias vistas en nuevos archivos PS1XML y usar el cmdlet UpdateFormatData para agregarlas a Windows PowerShell. PARMETROS -Depth <int> Especifica el nmero de columnas de la presentacin. -DisplayError [<SwitchParameter>] Muestra los errores en la lnea de comandos. -Expand <string> Da formato al objeto Collection, as como a los objetos de la coleccin. Este parmetro se ha diseado para dar un formato a los objetos que sea compatible con la interfaz ICollection (System.Collections). El valor predeterminado es EnumOnly. Los valores vlidos son: -- EnumOnly: muestra las propiedades de los objetos de la coleccin. -- CoreOnly: muestra las propiedades del objeto Collection. -- Both: muestra las propiedades del objeto Collection y de los objetos de la coleccin. -Force [<SwitchParameter>] Indica al cmdlet que muestre toda la informacin de error. Se utiliza con los parmetros DisplayError o ShowError. De forma predeterminada, cuando el objeto de error se escribe en la secuencia de error o de presentacin, se muestra solo parte de la informacin de error. -GroupBy <Object> Da formato a la salida de los grupos en funcin de un valor o una propiedad compartida. Especifique una expresin o una propiedad de la salida.

El valor del parmetro GroupBy puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -- Name (o Label) <cadena> -- Expression <cadena> o <bloque de script> -- FormatString <cadena> -InputObject <psobject> Especifica los objetos a los que se les va a dar formato. Especifique la variable que contiene los objetos o escriba un comando o una expresin que los obtenga. -Property <Object[]> Especifica las propiedades del objeto que se van a mostrar y el orden en el que van a aparecer. Se permite el uso de caracteres comodn. Si se omite este parmetro, las propiedades que aparezcan en la presentacin dependern del objeto que se est mostrando. El nombre del parmetro ("Property") es opcional. Los parmetros Property y View no se pueden usar en el mismo comando. El valor del parmetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -- Expression <cadena> o <bloque de script> -- Depth <int32> -ShowError [<SwitchParameter>] Enva los errores a travs de la canalizacin. -View <string> Especifica el nombre de un formato alternativo o una vista alternativa. Si omite este parmetro, Format-Custom utiliza una vista personalizada predeterminada. Los parmetros Property y View no se pueden usar en el mismo comando. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-command start-transcript | format-custom -view MyView Descripcin ----------Este comando aplica a la informacin sobre el cmdlet Start-Transcript el formato definido en la vista MyView, una vista personalizada creada por el usuario. Para ejecutar correctamente este comando, primero debe crear un nuevo archivo PS1XML, definir la vista MyView y, a continuacin, usar el c omando Update-FormatData para agregar el archivo PS1XML a Windows PowerShell.

-------------------------- EJEMPLO 2 --------------------------

C:\PS>get-process Winlogon | format-custom Descripcin ----------Este comando aplica a la informacin sobre el proceso Winlogon el formato de una vista alternativa personalizada. Dado que el comando no usa el parmetro View, Format-Custom usa una vista personalizada predeterminada para dar formato a los datos.

NOTAS Para ver los ejemplos, escriba: "get-help Format-Custom -examples". Para obtener ms informacin, escriba: "get-help Format-Custom detailed". Para obtener informacin tcnica, escriba: "get-help Format-Custom full". NOMBRE Add-PSSnapin SINOPSIS Agrega uno o ms complementos de Windows PowerShell a la sesin actual. SINTAXIS Add-PSSnapin [-Name] <string[]> [-PassThru] [<CommonParameters>] DESCRIPCIN El cmdlet Add-PSSnapin agrega complementos registrados de Windows PowerShell a la sesin actual. Una vez agregados los complementos, puede usar los cmdlets y proveedores que los complementos admiten en la sesin actual. Para agregar el complemento a todas las sesiones futuras de Windows PowerShell, agregue un comando Add-PSSnapin al perfil de Windows PowerShell. Para obtener ms informacin, vea about_Profiles. PARMETROS -Name <string[]> Especifica el nombre del complemento. (Se trata de Name, no AssemblyName ni ModuleName). Para buscar los nombres de los complementos registrados en el sistema, escriba "get-pssnapin -registered". -PassThru [<SwitchParameter>] Devuelve un objeto que representa cada complemento agregado. De forma predeterminada, este cmdlet no genera resultados. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 --------------------------

C:\PS>add-PSSnapIn Microsoft.Exchange, Microsoft.Windows.AD Descripcin ----------Este comando agrega los complementos Microsoft Exchange y Active Directory a la sesin actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-pssnapin -registered | add-pssnapin -passthru Descripcin ----------Este comando agrega todos los complementos registrados de Windows PowerShell a la sesin. Usa el cmdlet Get-PSSnapin con el parmetro Registered para obtener objetos que representan cada uno de los complementos registrados. El operador de canalizacin (|) pasa el resultado a AddPSSnapin, que l os agrega a la sesin. El parmetro PassThru devuelve los objetos que representan cada uno de los complementos agregados.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-pssnapin Descripcin ----------En este ejemplo se muestra el proceso de registrar un complemento en el sistema y agregarlo despus a la sesin. Utiliza ManagementFeatures, un complemento ficticio implementado en un archivo denominado ManagementCmdlets.dll. El primer comando obtiene los complementos que se han agregado a la sesin actual, incluidos los complementos que se instalan con Windows PowerShell. En este ejemplo, no se devuelve ManagementFeatures. Esto indica que no se ha agregado a la sesin. get-pssnapin El segundo comando obtiene los complementos que se han registrado en el sistema (incluidos los que ya se han agregado a la sesin). No incluye los complementos que se instalan con Windows PowerShell. get-pssnapin -registered En este caso, el comando no devuelve ningn complemento. Esto indica que el complemento ManagementFeatures no se ha registrado en el sistema. El tercer comando crea un alias, "installutil", para la ruta de acceso a la herramienta InstallUtil en .NET Framework.

set-alias installutil $env:windir\Microsoft.NET\Framework\v2.0.50727\installutil.exe El cuarto comando utiliza la herramienta InstallUtil para registrar el complemento. El comando especifica la ruta de acceso a ManagementCmdlets.dll, nombre de archivo o "nombre de mdulo" del complemento. installutil C:\Dev\Management\ManagementCmdlets.dll El quinto comando es igual que el segundo. Esta vez, se utiliza para comprobar que el complemento ManagementCmdlets se ha registrado. get-pssnapin -registered El sexto comando usa el cmdlet Add-PSSnapin para agregar el complemento ManagementFeatures a la sesin. Especifica el nombre del complemento, ManagementFeatures, no el nombre de archivo. add-pssnapin ManagementFeatures Para comprobar que el complemento se agrega a la sesin, el sptimo comando usa el parmetro Module del cmdlet Get-Command. Muestra los elementos agregados a la sesin por un complemento o mdulo. get-command -module ManagementFeatures Tambin se puede utilizar la propiedad PSSnapin del objeto que GetCommand devuelve para buscar el complemento o mdulo en que se origina un cmdlet. El octavo comando utiliza la notacin de puntos para buscar el valor de la propiedad PSSnapin del comando Set-Alias. (get-command set-alias).pssnapin

NOTAS Para ver los ejemplos, escriba: "get-help Add-PSSnapin -examples". Para obtener ms informacin, escriba: "get-help Add-PSSnapin detailed". Para obtener informacin tcnica, escriba: "get-help Add-PSSnapin full". NOMBRE Remove-PSSnapin SINOPSIS Quita complementos de Windows PowerShell de la sesin actual. SINTAXIS Remove-PSSnapin [-Name] <string[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Remove-PSSnapin quita un complemento de Windows PowerShell de la sesin actual. Puede usarlo para quitar complementos que haya agregado a

Windows PowerShell, pero no para quitar los complementos que se instalan con Windows PowerShell. Una vez quitado un complemento de la sesin actual, permanece cargado, pero los cmdlets y proveedores del complemento dejan de estar disponibles en la sesin. PARMETROS -Name <string[]> Especifica los nombres de complementos de Windows PowerShell que se han de quitar de la sesin actual. El nombre de parmetro ("Name") es opcional y se permiten caracteres comodn (*) en el valor. -PassThru [<SwitchParameter>] Devuelve un objeto que representa el complemento. De forma predeterminada, este cmdlet no genera resultados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando, sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>remove-pssnapin -name Microsoft.Exchange Descripcin ----------Este comando quita el complemento Microsoft.Exchange de la sesin actual. Cuando el comando se completa, los cmdlets y proveedores que el complemento admita no estarn disponibles en la sesin.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-PSSnapIn smp* | remove-PSSnapIn Descripcin ----------Este comando quita de la sesin actual los complementos de Windows PowerShell cuyos nombres empiezan por "smp". El comando usa el cmdlet Get-PSSnapin para obtener los objetos que representan los complementos. El operador de canalizacin (|) enva los resultados al cmdlet Remove-PSSnapin, que los quita de la sesin. Los proveedores y cmdlets que este complemento admite dejan de estar disponibles en la ses in.

Cuando se canalizan objetos a Remove-PSSnapin, los nombres de los objetos se asocian al parmetro Name, que acepta los objetos de la canalizacin que tengan una propiedad Name.

-------------------------- EJEMPLO 3 -------------------------C:\PS>remove-pssnapin -name *event* Descripcin ----------Este comando quita todos los complementos de Windows PowerShell que tienen nombres que incluyen "event". Este comando especifica el nombre de parmetro "Name", pero el nombre de parmetro se puede omitir porque es opcional.

NOTAS Para ver los ejemplos, escriba: "get-help Remove-PSSnapin -examples". Para obtener ms informacin, escriba: "get-help Remove-PSSnapin detailed". Para obtener informacin tcnica, escriba: "get-help Remove-PSSnapin full". NOMBRE Get-PSSnapin SINOPSIS Obtiene los complementos de Windows PowerShell que hay en el equipo. SINTAXIS Get-PSSnapin [[-Name] <string[]>] [-Registered] [<CommonParameters>] DESCRIPCIN El cmdlet Get-PSSnapin obtiene los complementos de Windows PowerShell que se han agregado a la sesin actual o se han registrado en el sistema. Los complementos se enumeran en el orden en que se detectan. Get-PSSnapin obtiene solamente complementos registrados. Para registrar un complemento de Windows PowerShell, se utiliza la herramienta InstallUtil incluida con Microsoft .NET Framework 2.0. Para obtener ms informacin, vea el tema referente al registro de cmdlets, proveedores y aplicaciones h ost en MSDN (Microsoft Developer Network) Library, en http://go.microsoft.com/fwlink/?LinkId=143619. PARMETROS -Name <string[]> Obtiene nicamente los complementos especificados de Windows PowerShell. Escriba los nombres de uno o ms complementos de Windows PowerShell. Se permite el uso de caracteres comodn. El nombre del parmetro ("Name") es opcional. -Registered [<SwitchParameter>]

Obtiene los complementos de Windows PowerShell que se han registrado en el sistema (aunque no se hayan agregado todava a la sesin). Los complementos que se instalan con Windows PowerShell no aparecen en esta lista. Sin este parmetro, Get-PSSnapin obtiene los complementos de Windows PowerShell que se han agregado a la sesin. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-PSSnapIn Descripcin ----------Este comando obtiene los complementos de Windows PowerShell cargados actualmente en la sesin. Esto incluye los complementos que se instalan con Windows PowerShell y los agregados a la sesin.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-PSSnapIn -registered Descripcin ----------Este comando obtiene los complementos de Windows PowerShell registrados en el equipo, incluidos los que ya se han agregado a la sesin. El resultado no incluye los complementos que se instalan con Windows PowerShell ni las bibliotecas de vnculos dinmicos (DLL) de los complementos de Windows P owerShell que no se hayan registrado todava en el sistema.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-PSSnapIn smp* Descripcin ----------Este comando obtiene los complementos de Windows PowerShell incluidos en la sesin actual cuyos nombres empiezan por "smp".

NOTAS Para ver los ejemplos, escriba: "get-help Get-PSSnapin -examples". Para obtener ms informacin, escriba: "get-help Get-PSSnapin detailed". Para obtener informacin tcnica, escriba: "get-help Get-PSSnapin full".

NOMBRE Set-StrictMode SINOPSIS Establece y exige reglas de codificacin en expresiones, scripts y bloques de script. SINTAXIS Set-StrictMode -Off [<CommonParameters>] Set-StrictMode -Version <Version> [<CommonParameters>] DESCRIPCIN El cmdlet Set-StrictMode configura el modo estricto para el mbito actual (y todos los mbitos secundarios) y lo activa y desactiva. Cuando el modo estricto est activado, Windows PowerShell genera un error fatal cuando el contenido de una expresin, script o bloque de script infringe las regla s de codificacin recomendadas bsicas. Utilice el parmetro Version para determinar qu reglas de codificacin se exigen. A diferencia del cmdlet Set-PSDebug, Set-StrictMode afecta solamente al mbito actual y sus mbitos secundarios, por lo que puede utilizarse en un script o funcin sin afectar al mbito global. Cuando Set-StrictMode est desactivado, se supone que las variables no inicializadas (Version 1) tienen el valor 0 (cero) o $null, dependiendo del tipo. Las referencias a propiedades no existentes devuelven $null y los resultados de sintaxis de funcin no vlida varan segn el error. No se per miten las variables sin nombre. PARMETROS -Off [<SwitchParameter>] Desactiva el modo estricto. Este parmetro tambin desactiva "SetPSDebug -Strict". -Version <Version> Especifica las condiciones que producen un error en modo estricto. Este parmetro es obligatorio. Los valores vlidos son: "1.0", "2.0" y "Latest". En la lista siguiente se muestra el efecto de cada valor. 1.0 -- Prohbe las referencias a las variables no inicializadas, salvo las variables no inicializadas contenidas en cadenas. 2.0 -- Prohbe las referencias a variables no inicializadas (incluidas las variables no inicializadas contenidas en cadenas). -- Prohbe las referencias a propiedades no existentes de un objeto. -- Prohbe las llamadas a funciones que utilizan la sintaxis de llamada a mtodos. -- Prohbe una variable sin nombre (${}). Latest:

-- Selecciona la ltima (ms estricta) versin disponible. Este valor se usa para asegurarse de que los scripts utilizan la versin ms estricta disponible, aunque se agreguen nuevas versiones a Windows PowerShell. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>set-strictmode -version 1.0 C:\PS> $a -gt 5 False The variable $a cannot be retrieved because it has not been set yet. At line:1 char:3 + $a <<<< -gt 5 + CategoryInfo : InvalidOperation: (a:Token) [], RuntimeException + FullyQualifiedErrorId : VariableIsUndefined Descripcin ----------Este comando activa el modo estricto y lo establece en la versin 1.0. En consecuencia, se producir un error si se intenta hacer referencia a variables no inicializadas. En el resultado de ejemplo se muestra el efecto del modo estricto en la versin 1.0.

-------------------------- EJEMPLO 2 -------------------------C:\PS># set-strictmode -version 2.0 # Strict mode is off by default. C:\PS> function add ($a, $b) {$a + $b} C:\PS> add 3 4 7 C:\PS> add(3,4) 3 4 C:\PS> set-strictmode -version 2.0 C:\PS> add(3,4) The function or command was called like a method. Parameters should be separated by spaces, as described in 'Get-Help about_Parameter.' At line:1 char:4 + add <<<< (3,4) + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : StrictModeFunctionCallWithParens

C:\PS> set-strictmode -off C:\PS> $string = "This is a string". C:\PS> $string.Month C:\PS> C:\PS> set-strictmode -version 2.0 C:\PS> $string = "This is a string". C:\PS> $string.Month Property 'month' cannot be found on this object; make sure it exists. At line:1 char:9 + $string. <<<< month + CategoryInfo : InvalidOperation: (.:OperatorToken) [], RuntimeException + FullyQualifiedErrorId : PropertyNotFoundStrict Descripcin ----------Este comando activa el modo estricto y lo establece en la versin 2.0. En consecuencia, Windows PowerShell generar un error si se utiliza la sintaxis de mtodo (parntesis y comas) en la llamada a una funcin o se hace referencia a variables no inicializadas o a propiedades que no existen. En el resultado de ejemplo se muestra el efecto del modo estricto en la versin 2.0. Sin el modo estricto de versin 2.0, el valor "(3,4)" se interpreta como un nico objeto de matriz al que no se agrega nada. Con el modo estricto de la versin 2.0, se interpreta correctamente como sintaxis imperfecta para enviar dos valores. Sin la versin 2.0, la referencia a la propiedad Month inexistente de una cadena devuelve solamente null. Con la versin 2.0, se interpreta correctamente como un error de referencia.

NOTAS Para ver los ejemplos, escriba: "get-help Set-StrictMode -examples". Para obtener ms informacin, escriba: "get-help Set-StrictMode detailed". Para obtener informacin tcnica, escriba: "get-help Set-StrictMode full". NOMBRE Receive-Job SINOPSIS Obtiene los resultados de los trabajos en segundo plano de Windows PowerShell en la sesin actual. SINTAXIS Receive-Job [-Job] <Job[]> [[-ComputerName] <string[]>] [-Keep] [NoRecurse] [<CommonParameters>] Receive-Job [[-InstanceId] <Guid[]>] [-Keep] [-NoRecurse] [<CommonParameters>]

Receive-Job [-Job] <Job[]> [[-Location] <string[]>] [-Keep] [-NoRecurse] [<CommonParameters>] Receive-Job [[-Name] <string[]>] [-Keep] [-NoRecurse] [<CommonParameters>] Receive-Job [-Job] <Job[]> [[-Session] <PSSession[]>] [-Keep] [NoRecurse] [<CommonParameters>] Receive-Job [-Id] <Int32[]> [-Keep] [-NoRecurse] [<CommonParameters>] DESCRIPCIN El cmdlet Receive-Job obtiene los resultados de los trabajos en segundo plano de Windows PowerShell. Receive-Job se utiliza para obtener los resultados de los trabajos iniciados mediante el cmdlet Start-Job o el parmetro AsJob de cualquier cmdlet. Puede obtener los resultados de todos los trab ajos o identificar los trabajos por su nombre, identificador, identificador de instancia, nombre de equipo, ubicacin o sesin, o enviando un objeto de trabajo. Cuando se inicia un trabajo en segundo plano de Windows PowerShell, el trabajo se inicia, pero los resultados no aparecen inmediatamente. En su lugar, el comando devuelve un objeto que representa el trabajo en segundo plano. El objeto de trabajo contiene informacin til sobre el trabajo, pero no contiene los resultados. Este mtodo permite continuar trabajando en la sesin mientras se ejecuta el trabajo. Para obtener ms informacin sobre los trabajos en segundo plano en Windows PowerShell, vea about_Jobs. Para obtener los resultados del comando, se utiliza el cmdlet ReceiveJob. Receive-Job obtiene los resultados generados en el momento de enviarse el comando Receive-Job. Si los resultados no se han completado todava, se pueden ejecutar comandos Receive-Job adicionales para obtener los resultad os restantes. De forma predeterminada, los resultados del trabajo se eliminan del sistema al recibirlos, pero se puede utilizar el parmetro Keep para guardar los resultados y poder recibirlos de nuevo. Para eliminar los resultados del trabajo, hay que recibirlos de nuevo (sin el parmetro Keep), cerrar la s esin o utilizar el cmdlet Remove-Job para eliminar el trabajo de la sesin. PARMETROS -ComputerName <string[]> Obtiene los resultados de trabajos que se ejecutaron en los equipos especificados. Escriba los nombres de equipo. El valor predeterminado son todos los trabajos de la sesin actual. Este parmetro selecciona entre los resultados de trabajos que se almacenan en el equipo local. No obtiene datos de equipos remotos. A fin de obtener resultados de trabajos que se almacenan en equipos remotos, se utiliza el cmdlet Invoke-Command para ejecutar un comando Receive-Job de forma remota. -Id <Int32[]> Obtiene los resultados de trabajos con los identificadores especificados. El valor predeterminado son todos los trabajos de la sesin actual.

El identificador es un entero que identifica de forma nica el trabajo en la sesin actual. Es ms fcil de recordar y escribir que el identificador de instancia, pero es nico solamente en la sesin actual. Puede escribir uno o varios identificadores (separados por comas). Para buscar el i dentificador de un trabajo, se escribe "Get-Job" sin parmetros. -InstanceId <Guid[]> Obtiene los resultados de trabajos con los identificadores de instancia especificados. El valor predeterminado son todos los trabajos de la sesin actual. Un identificador de instancia es un GUID que identifica de forma nica el trabajo en el equipo. Para obtener el identificador de instancia de un trabajo, se utiliza el cmdlet Get-Job. -Job <Job[]> Especifica el trabajo para el que se recuperan los resultados. Este parmetro es obligatorio en un comando Receive-Job. Escriba una variable que contenga el trabajo o un comando que lo obtenga. Tambin se puede canalizar un objeto de trabajo a Receive-Job. -Keep [<SwitchParameter>] Guarda los resultados del trabajo en el sistema, incluso despus de haberlos recibido. De forma predeterminada, los resultados del trabajo se eliminan una vez recuperados. Para eliminar los resultados, se usa Receive-Job para volver a recibirlos sin el parmetro Keep, se cierra la sesin o se utiliza el cmdlet Remove-Job para eliminar el trabajo de la sesin. -Location <string[]> Obtiene solamente los resultados de trabajos con la ubicacin especificada. El valor predeterminado son todos los trabajos de la sesin actual. -Name <string[]> Obtiene los resultados de trabajos con el nombre simple especificado. El valor predeterminado son todos los trabajos de la sesin actual. -NoRecurse [<SwitchParameter>] Obtiene solamente resultados del trabajo especificado. De forma predeterminada, Receive-Job tambin obtiene los resultados de todos los trabajos secundarios del trabajo especificado. -Session <PSSession[]> Obtiene los resultados de trabajos que se ejecutaron en la sesin de Windows PowerShell (PSSession) especificada. Escriba una variable que contenga la PSSession o un comando que la obtenga, como un comando GetPSSession. El valor predeterminado son todos los trabajos de la sesin actual. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 --------------------------

C:\PS>$job = start-job -scriptblock {get-process} C:\PS> receive-job -job $job Descripcin ----------Estos comandos utilizan el parmetro Job para obtener los resultados de un trabajo concreto. El primer comando utiliza el cmdlet Start-Job para iniciar un trabajo que ejecuta un comando "Get-Process". El comando utiliza el operador de asignacin (=) para guardar el objeto de trabajo resultante en la variable $job. El segundo comando utiliza el cmdlet Receive-Job para obtener los resultados del trabajo. Usa el parmetro Job para especificar el trabajo.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$job = start-job -scriptblock {get-process} C:\PS> $job | receive-job Descripcin ----------Este ejemplo es como el Ejemplo 2, con la salvedad de que el comando utiliza un operador de canalizacin (|) para enviar el objeto de trabajo a Receive-Job. Como consecuencia, el comando no necesita un parmetro Job para especificar el trabajo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$j = invoke-command -computername Server01, Server02, Server03 scriptblock {get-service} -AsJob C:\PS> $j.childjobs Id -2 3 4 Name ---Job2 Job3 Job4 State ----Completed Completed Completed HasMoreData ----------True True True -keep PSComputerName -------------Server02 Server02 Server02 Server02 Location -------Server01 Server02 Server03 Command ------get-service get-service get-service

C:\PS> receive-job -name Job3 Status -----Running Stopped Running Running Name ----------AeLookupSvc ALG Appinfo AppMgmt DisplayName ----------Application Application Application Application

Experience Layer Gateway Service Information Management

Descripcin -----------

Estos comandos utilizan el parmetro Name de Receive-Job para obtener los resultados de uno de los trabajos en segundo plano que se ejecutan en equipos remotos. El primer comando utiliza el cmdlet Invoke-Command para iniciar un trabajo en segundo plano que ejecuta un comando Get-Service en tres equipos remotos. El comando utiliza el parmetro AsJob para ejecutar el comando como un trabajo en segundo plano. El comando guarda el objeto de trabajo resulta nte en la variable $j. Cuando se utiliza el parmetro AsJob de Invoke-Command para iniciar un trabajo, el objeto de trabajo se crea en el equipo local, aunque el trabajo se ejecute en los equipos remotos. Como consecuencia, se utilizan comandos locales para administrar el trabajo. Adems, cuando se utiliza AsJob, Windows PowerShell devuelve un objeto de trabajo que contiene un trabajo secundario para cada trabajo iniciado. En este caso, el objeto de trabajo contiene tres trabajos secundarios, uno para cada trabajo en cada equipo remoto. El segundo comando usa el mtodo de puntos para mostrar el valor de la propiedad ChildJobs del objeto de trabajo en $j. La presentacin muestra que el comando cre tres trabajos secundarios, uno para el trabajo en cada equipo remoto. El tercer comando usa el cmdlet Receive-Job para obtener los resultados del trabajo secundario Job3 que se ejecut en el equipo Server02. Utiliza el parmetro Name para especificar el nombre del trabajo secundario y el parmetro Keep para guardar los resultados del trabajo despus de haberse re cibido.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$s = new-pssession -computername Server01, Server02, Server03 C:\PS> $j = invoke-command -session $s -scriptblock {start-job scriptblock {get-eventlog -logname system}} C:\PS> $j Id -1 2 3 Name ---Job1 Job2 Job3 State ----Completed Completed Completed HasMoreData ----------True True True Location -------Localhost Localhost Localhost Command ------get-eventlog system get-eventlog system get-eventlog system

C:\PS> $results = invoke-command -session $s -scriptblock {param($j) receive-job -job $j} -ArgumentList $j Descripcin ----------En este ejemplo se muestra la forma de obtener los resultados de los trabajos en segundo plano ejecutados en tres equipos remotos. El primer comando utiliza el cmdlet New-PSSession para crear tres PSSessions, una en cada uno de los servidores especificados en el comando. Guarda las PSSessions en la variable $s.

El segundo comando usa el cmdlet Invoke-Command para ejecutar un comando Start-Job en cada una de las PSSessions de la variable $s. El trabajo ejecuta un comando Get-Eventlog que obtiene los eventos en el registro del sistema. El comando guarda los resultados en la variable $j. Dado que el comando utiliz Invoke-Command para ejecutar el comando Start-Job, el comando inici realmente tres trabajos independientes en cada uno de los tres equipos. Como consecuencia, el comando devolvi tres objetos de trabajo que representan tres trabajos ejecutados localmente en tres equ ipos diferentes. El tercer comando muestra los tres objetos de trabajo en $j. El cuarto comando utiliza Invoke-Command para ejecutar un comando Receive-Job en cada una de las PSSessions contenidas en $s y guarda los resultados en la variable $results. Dado que $j es una variable local, el bloque de script utiliza la palabra clave "param" para declarar las variables en el comando y el parmetro ArgumentList para proporcionar el valor de $j.

NOTAS Para ver los ejemplos, escriba: "get-help Receive-Job -examples". Para obtener ms informacin, escriba: "get-help Receive-Job -detailed". Para obtener informacin tcnica, escriba: "get-help Receive-Job -full". NOMBRE Stop-Job SINOPSIS Detiene un trabajo en segundo plano de Windows PowerShell. SINTAXIS Stop-Job [[-InstanceId] <Guid[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Job [-Job] <Job[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Job [[-Name] <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Job [-Id] <Int32[]> [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Stop-Job [-State {NotStarted | Running | Completed | Failed | Stopped | Blocked}] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Stop-Job detiene los trabajos en segundo plano de Windows PowerShell que estn en curso. Puede utilizar este cmdlet para detener todos los trabajos o detener trabajos seleccionndolos por su nombre, identificador, identificador de instancia o estado, o pasando un objeto de trabajo a S top-Job.

Puede utilizar Stop-Job para detener los trabajos que se iniciaron utilizando Start-Job o el parmetro AsJob de Invoke-Command. Cuando se detiene un trabajo en segundo plano, Windows PowerShell completa todas las tareas pendientes en la cola de ese trabajo y, a continuacin, lo finaliza. Una ve z enviado este comando, no se agregan nuevas tareas a la cola. Este cmdlet no elimina trabajos en segundo plano. Para eliminar un trabajo, se utiliza Remove-Job. PARMETROS -Id <Int32[]> Detiene trabajos con los identificadores especificados. El valor predeterminado son todos los trabajos de la sesin actual. El identificador es un entero que identifica de forma nica el trabajo en la sesin actual. Es ms fcil de recordar y escribir que InstanceId, pero es nico solamente en la sesin actual. Puede escribir uno o varios identificadores (separados por comas). Para buscar el identificador de un trabajo, se escribe "Get-Job" sin parmetros. -InstanceId <Guid[]> Detiene solamente trabajos con los identificadores de instancia especificados. El valor predeterminado son todos los trabajos. Un identificador de instancia es un GUID que identifica de forma nica el trabajo en el equipo. Para buscar el identificador de instancia de un trabajo, se utiliza Get-Job. -Job <Job[]> Especifica los trabajos que se han de detener. Escriba una variable que contenga los trabajos o un comando que los obtenga. Tambin puede utilizar un operador de canalizacin para enviar trabajos al cmdlet StopJob. De forma predeterminada, Stop-Job elimina todos los trabajos que se iniciar on en la sesin actual. -Name <string[]> Detiene solamente los trabajos con los nombres simples especificados. Escriba los nombres de trabajo en una lista separada por comas o use caracteres comodn (*) para escribir un patrn de nombre de trabajo. De forma predeterminada, Stop-Job detiene todos los trabajos creados en la sesin a ctual. Como no se garantiza que el nombre simple sea nico, utilice los parmetros WhatIf y Confirm al detener trabajos por nombre. -PassThru [<SwitchParameter>] Devuelve un objeto que representa el nuevo trabajo en segundo plano. De forma predeterminada, este cmdlet no genera resultados. -State <JobState> Detiene solamente trabajos contenidos en el estado especificado. Los valores vlidos son NotStarted, Running, Completed, Stopped, Failed y Blocked. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando.

-WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando, sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$s = new-pssession -computername Server01 -credential domain01\admin02 C:\PS> $j = invoke-command -session $s -scriptblock {start-job scriptblock {get-eventlog system}} C:\PS> invoke-command -session $s -scriptblock {param($j) stop-job -job $j} -ArgumentList $j Descripcin ----------En este ejemplo se muestra la forma de utilizar el cmdlet Stop-Job para detener un trabajo que se est ejecutando en un equipo remoto. Dado que el trabajo se inici utilizando Invoke-Command para ejecutar un comando Start-Job de forma remota, el objeto de trabajo se almacena en el equipo remoto y se debe utilizar otro comando Invoke-Command para ejecutar un comando Stop-Job de forma remota. Para obtener ms informacin sobre t rabajos en segundo plano remotos, vea about_Remote_Jobs. El primer comando crea una sesin de Windows PowerShell (PSSession) en el equipo Server01 y guarda el objeto de sesin en la variable $s. El comando utiliza las credenciales de un administrador de dominio. El segundo comando usa el cmdlet Invoke-Command para ejecutar un comando Start-Job en la sesin. El comando del trabajo obtiene todos los eventos del registro de eventos del sistema. El objeto de trabajo resultante se almacena en la variable $j. El tercer comando detiene el trabajo. Utiliza el cmdlet Invoke-Command para ejecutar un comando Stop-Job en la PSSession en Server01. Dado que los objetos de trabajo se almacenan en $j, que es una variable en el equipo local, el comando utiliza la palabra clave "param" para declarar las variabl es locales en el comando y el parmetro ArgumentList para proporcionar valores a las variables. Cuando el comando se completa, el trabajo se detiene y la PSSession en $s est disponible para su uso.

-------------------------- EJEMPLO 2 -------------------------C:\PS>stop-job -state failed Descripcin -----------

Este comando detiene todos los trabajos cuyo valor de State sea "Failed".

-------------------------- EJEMPLO 3 -------------------------C:\PS>stop-job -name job1 Descripcin ----------Este comando detiene el trabajo en segundo plano Job1.

-------------------------- EJEMPLO 4 -------------------------C:\PS>stop-job -id 1, 3, 4 Descripcin ----------Este comando detiene tres trabajos. Los identifica por sus identificadores.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-job | stop-job Descripcin ----------Este comando detiene todos los trabajos en segundo plano en la sesin actual.

-------------------------- EJEMPLO 6 -------------------------C:\PS>stop-job -state blocked Descripcin ----------Este comando detiene todos los trabajos cuyo estado de trabajo sea "Blocked".

-------------------------- EJEMPLO 7 -------------------------C:\PS>get-job | format-table ID, Name, Command, @{Label="State";Expression={$_.jobstateinfo.state}}, I nstanceID -auto Id Name Command -- ---- ------State ----InstanceId ----------

1 Job1 start-service schedule Running 05abb67a-2932-4bd5-b331c0254b8d9146 3 Job3 start-service schedule Running c03cbd45-19f3-4558-ba94ebe41b68ad03 5 Job5 get-service s* Blocked e3bbfed1-9c53-401a-a2c3a8db34336adf C:\PS> stop-job -instanceid e3bbfed1-9c53-401a-a2c3-a8db34336adf Descripcin ----------Estos comandos muestran la forma de detener un trabajo segn su identificador de instancia. El primer comando utiliza un comando Get-Job para obtener los trabajos en la sesin actual. El comando utiliza un operador de canalizacin (|) para enviar los trabajos a un comando Format-Table, que muestra una tabla de las propiedades especificadas de cada trabajo. La tabla incluye el identifi cador de instancia de cada trabajo. Utiliza una propiedad calculada para mostrar el estado del trabajo. El segundo comando usa un comando Stop-Job con el parmetro InstanceID para detener un trabajo seleccionado.

-------------------------- EJEMPLO 8 -------------------------C:\PS>$j = invoke-command -computername Server01 -scriptblock {geteventlog system} -asjob C:\PS> $j | stop-job -passthru Id -5 system Name ---Job5 State ---Stopped HasMoreData ----------True Location -------judithh-tablet Command ------get-eventlog

Descripcin ----------En este ejemplo se muestra la forma de utilizar el cmdlet Stop-Job para detener un trabajo que se est ejecutando en un equipo remoto. Dado que el trabajo se inici utilizando el parmetro AsJob de InvokeCommand, el objeto de trabajo se encuentra en el equipo local, aunque el trabajo se ejecute en el equipo remoto. Por tanto, se puede utilizar un comando Stop-Job local para detener el trabajo. El primer comando utiliza el cmdlet Invoke-Command para iniciar un trabajo en segundo plano en el equipo Server01. El comando utiliza el parmetro AsJob para ejecutar el comando remoto como un trabajo en segundo plano. Este comando devuelve un objeto de trabajo, que es el mismo objeto de trabajo que Start-Job devuelve. El comando guarda el objeto de trabajo en la variable $j. El segundo comando usa un operador de canalizacin para enviar el trabajo contenido en la variable $j a Stop-Job. El comando utiliza el parmetro PassThru para indicar a Stop-Job que devuelva un objeto de

trabajo. La presentacin del objeto de trabajo confirma que el estado del trabajo es "Stop ped". Para obtener ms informacin sobre trabajos en segundo plano remotos, vea about_Remote_Jobs.

NOTAS Para ver los ejemplos, escriba: "get-help Stop-Job -examples". Para obtener ms informacin, escriba: "get-help Stop-Job -detailed". Para obtener informacin tcnica, escriba: "get-help Stop-Job -full". NOMBRE Wait-Job SINOPSIS Suprime el smbolo del sistema hasta que uno o todos los trabajos en segundo plano de Windows PowerShell que se ejecutan en la sesin se completen. SINTAXIS Wait-Job [[-InstanceId] <Guid[]>] [-Any] [-Timeout <int>] [<CommonParameters>] Wait-Job [-Job] <Job[]> [-Any] [-Timeout <int>] [<CommonParameters>] Wait-Job [[-Name] <string[]>] [-Any] [-Timeout <int>] [<CommonParameters>] Wait-Job [-Id] <Int32[]> [-Any] [-Timeout <int>] [<CommonParameters>] Wait-Job [-State {NotStarted | Running | Completed | Failed | Stopped | Blocked}] [-Any] [-Timeout <int>] [<CommonParameters>] DESCRIPCIN El cmdlet Wait-Job espera a que los trabajos en segundo plano de Windows PowerShell se completen antes de mostrar el smbolo del sistema. Se puede esperar a que se complete cualquier trabajo en segundo plano o a que se completen todos los trabajos en segundo plano; tambin se puede establecer u n tiempo de espera mximo para el trabajo. Wait-Job se puede utilizar para obtener los trabajos en segundo plano iniciados mediante Start-Job o mediante el parmetro AsJob de InvokeCommand. Una vez completados los comandos del trabajo, Wait-Job muestra el smbolo del sistema y devuelve un objeto de trabajo para que sea posible canalizarlo a otro comando. PARMETROS -Any [<SwitchParameter>] Muestra el smbolo del sistema (y devuelve el objeto de trabajo) cuando se completa cualquier trabajo. De forma predeterminada, Wait-Job espera a que se completen todos los trabajos especificados antes de que se muestre el smbolo del sistema.

-Id <Int32[]> Espera a los trabajos con los identificadores especificados. El identificador es un entero que identifica de forma nica el trabajo en la sesin actual. Es ms fcil de recordar y escribir que InstanceId, pero es nico solamente en la sesin actual. Puede escribir uno o varios identificadores (separados por comas). Para buscar el identificador de un trabajo, se escribe "Get-Job" sin parmetros. -InstanceId <Guid[]> Espera a los trabajos con los identificadores de instancia especificados. El valor predeterminado son todos los trabajos. Un identificador de instancia es un GUID que identifica de forma nica el trabajo en el equipo. Para buscar el identificador de instancia de un trabajo, se utiliza Get-Job. -Job <Job[]> Espera a los trabajos especificados. Escriba una variable que contenga los objetos de trabajo o un comando que obtenga dichos objetos. Tambin se puede utilizar un operador de canalizacin para enviar objetos de trabajo al cmdlet Wait-Job. De forma predeterminada, Wait-Job espera a todos lo s trabajos creados en la sesin actual. -Name <string[]> Espera a los trabajos con el nombre simple especificado. -State <JobState> Espera a los trabajos con el estado especificado. Los valores vlidos son NotStarted, Running, Completed, Stopped, Failed y Blocked. -Timeout <int> Determina el tiempo de espera mximo para cada trabajo en segundo plano, en segundos. Con el valor predeterminado -1, se espera a que se complete el trabajo, independientemente del tiempo que tarde en ejecutarse. El tiempo empieza a contarse cuando se enva el comando Wait-Job y no el coman do Start-Job. Si se supera este perodo de tiempo, la espera finaliza y se vuelve al smbolo del sistema, aunque el trabajo se siga ejecutando. No se muestra ningn mensaje de error. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-job | wait-job Descripcin ----------Este comando espera a que todos los trabajos en segundo plano que se ejecutan en la sesin se completen.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$s = new-pssession server01, server02, server03 C:\PS> invoke-command -session $s -scriptblock {start-job -name Date1 scriptblock {get-date}} C:\PS> $done = invoke-command -session $s -command {wait-job -name Date1} C:\PS> $done.count 3 Descripcin ----------En este ejemplo se muestra la forma de utilizar el cmdlet Wait-Job con trabajos iniciados en equipos remotos mediante el cmdlet Start-Job. Los comandos Start-Job y Wait-Job se envan al equipo remoto utilizando el cmdlet Invoke-Command. En este ejemplo se utiliza Wait-Job para determinar si se ha completado un comando Get-Date que se ejecuta como trabajo en segundo plano en tres equipos diferentes. El primer comando crea una sesin de Windows PowerShell (PSSession) en cada uno de los tres equipos remotos y las almacena en la variable $s. El segundo comando usa el cmdlet Invoke-Command para ejecutar un comando Start-Job en cada una de las tres sesiones en $s. Todos los trabajos se denominan Date1. El tercer comando utiliza el cmdlet Invoke-Command para ejecutar un comando Wait-Job. Este comando espera a que los trabajos Date1 en cada equipo se completen. Almacena la coleccin (matriz) de objetos de trabajo resultante en la variable $done. El cuarto comando utiliza la propiedad Count de la matriz de objetos de trabajo en la variable $done para determinar cuntos trabajos se completan.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$s = new-pssession (get-content machines.txt) C:\PS> $c = 'get-eventlog -log system | where {$_.EntryType -eq "error" -and $_.Source -eq "LSASRV"} | out-file errors.txt' C:\PS> invoke-command -session $s -scriptblock {param($c)start-job scriptblock {$c}} -ArgumentList $c C:\PS> invoke-command -session $s -scriptblock {wait-job -any} Descripcin ----------En este ejemplo se utiliza el parmetro Any de Wait-Job para determinar cundo se completa el primero de los trabajos en segundo plano que se

ejecutan en la sesin actual. Tambin muestra la forma de utilizar el cmdlet Wait-Job para esperar a que se completen los trabajos remotos. El primer comando crea una PSSession en cada uno de los equipos enumerados en el archivo Machines.txt y almacena las PSSessions en la variable $s. El comando utiliza el cmdlet Get-Content para obtener el contenido del archivo. El comando Get-Content se coloca entre parntesis para garantizar qu e se ejecuta antes que el comando New-PSSession. El segundo comando almacena una cadena de comando Get-EventLog (entre comillas) en la variable $c. El tercer comando usa el cmdlet Invoke-Command para ejecutar un comando Start-Job en cada una de las sesiones en $s. El comando Start-Job inicia un trabajo en segundo plano que ejecuta el comando en $c. Dado que la variable $c est en el equipo local, el comando utiliza la palabra clave "param" para declarar las variables locales en el comando y el parmetro ArgumentList para proporcionar los valores para esas variables. El cuarto comando utiliza el cmdlet Invoke-Command para ejecutar un comando Wait-Job en las sesiones. Utiliza el cmdlet Wait-Job para esperar hasta que se complete el primero de los trabajos de los equipos remotos.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$s = new-pssession Server01, Server02, Server03 C:\PS> $jobs = invoke-command -session $s -scriptblock {start-job script {get-date}} C:\PS> $done = invoke-command -session $s -scriptblock {wait-job timeout 30} Descripcin ----------En este ejemplo se muestra la forma de utilizar el parmetro Timeout de Wait-Job a fin de establecer un tiempo de espera mximo para los trabajos que se ejecutan en equipos remotos. El primer comando crea una PSSession en cada uno de los tres equipos remotos (Server01, Server02 y Server03) y guarda las PSSessions en la variable $s. El segundo comando usa el cmdlet Invoke-Command para ejecutar un comando Start-Job en cada una de las PSSessions contenidas en $s. Guarda los objetos de trabajo resultantes en la variable $jobs. El tercer comando usa el cmdlet Invoke-Command para ejecutar un comando Wait-Job en cada una de las PSSessions en $s. El comando Wait-Job determina si todos los comandos se han completado en 30 segundos. Utiliza el parmetro Timeout con un valor de 30 (segundos) para establecer el tiempo de esp era mximo y guarda los resultados del comando en la variable $done. En este caso, despus de transcurridos 30 segundos, solo se ha completado el comando en el equipo Server02. Wait-Job finaliza la espera,

muestra el smbolo del sistema y devuelve el objeto que representa el trabajo que se ha completado. La variable $done contiene un objeto de trabajo que representa el trabajo que se ejecut en Server02.

-------------------------- EJEMPLO 5 -------------------------C:\PS>wait-job -id 1,2,5 -any Descripcin ----------Este comando identifica tres trabajos por sus identificadores y espera a que cualquiera de ellos se complete. El smbolo del sistema se devuelve cuando el primer trabajo se completa.

-------------------------- EJEMPLO 6 -------------------------C:\PS>wait-job -name DailyLog -timeout 120 Descripcin ----------Este comando espera 120 segundos (dos minutos) a que el trabajo DailyLog se complete. Si el trabajo no se completa en los dos minutos siguientes, el smbolo del sistema se devuelve en cualquier caso y el trabajo contina ejecutndose en segundo plano.

-------------------------- EJEMPLO 7 -------------------------C:\PS>wait-job -name Job3 Descripcin ----------Este comando Wait-Job utiliza el nombre de trabajo para identificar el trabajo al que se espera.

-------------------------- EJEMPLO 8 -------------------------C:\PS>C:\PS> $j = start-job -script {get-childitem *.ps1| where {$_lastwritetime -gt ((get-date) - (new-timespan -days 7))}} C:\PS> $j | wait-job Descripcin ----------En este ejemplo se muestra la forma de utilizar el cmdlet Wait-Job con trabajos iniciados en el equipo local mediante el cmdlet Start-Job.

Estos comandos inician un trabajo que obtiene los archivos de script de Windows PowerShell que se agregaron o actualizaron la ltima semana. El primer comando utiliza el cmdlet Start-Job para iniciar un trabajo en segundo plano en el equipo local. El trabajo ejecuta un comando GetChildItem que obtiene todos los archivos con la extensin de nombre de archivo ".ps1" que se agregaron o actualizaron la ltima semana. El tercer comando usa el cmdlet Wait-Job para esperar a que el trabajo se complete. Cuando el trabajo se completa, el comando muestra el objeto de trabajo, que contiene informacin sobre el trabajo.

-------------------------- EJEMPLO 9 -------------------------C:\PS>$s = new-pssession Server01, Server02, Server03 C:\PS> $j = invoke-command -session $s -scriptblock {get-process} -asjob C:\PS> $j | wait-job Descripcin ----------En este ejemplo se muestra la forma de utilizar el cmdlet Wait-Job con los trabajos iniciados en equipos remotos mediante el parmetro AsJob del cmdlet Invoke-Command. Cuando se usa AsJob, el trabajo se crea en el equipo local y los resultados se devuelven automticamente al equipo local, aunqu e el trabajo se ejecute en los equipos remotos. En este ejemplo se utiliza Wait-Job para determinar si se ha completado un comando Get-Process que se ejecuta en las sesiones de los tres equipos remotos. El primer comando crea PSSessions en tres equipos y las almacena en la variable $s. El segundo comando usa el cmdlet Invoke-Command para ejecutar un comando Get-Process en cada una de las tres PSSessions en $s. El comando utiliza el parmetro AsJob para ejecutar el comando de forma asincrnica como un trabajo en segundo plano. El comando devuelve un objeto de trabajo, al igual que los trabajos iniciados utilizando Start-Job, y el objeto de trabajo se almacena en la variable $j. El tercer comando usa un operador de canalizacin (|) para enviar el objeto de trabajo en $j al cmdlet Wait-Job. Observe que no se requiere un comando Invoke-Command en este caso, porque el trabajo reside en el equipo local.

-------------------------- EJEMPLO 10 -------------------------C:\PS>get-job Id -1 service Name ---Job1 State ----Completed HasMoreData ----------True Location Command -------------localhost,server01.. get-

4 where

Job4

Completed

True

localhost

dir |

C:\PS> wait-job -id 1 Descripcin ----------Este comando espera al trabajo cuyo valor de identificador es 1.

NOTAS Para ver los ejemplos, escriba: "get-help Wait-Job -examples". Para obtener ms informacin, escriba: "get-help Wait-Job -detailed". Para obtener informacin tcnica, escriba: "get-help Wait-Job -full". NOMBRE Remove-PSSession SINOPSIS Cierra una o ms sesiones de Windows PowerShell (PSSessions). SINTAXIS Remove-PSSession [[-ComputerName] <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-PSSession [-Id] <Int32[]> [-Confirm] [-WhatIf] [<CommonParameters>] Remove-PSSession [-InstanceId <Guid[]>] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-PSSession [-Name <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-PSSession [-Session] <PSSession[]> [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Remove-PSSession cierra las sesiones de Windows PowerShell (PSSessions) de la sesin actual. Detiene los comandos que se estn ejecutando en la PSSession, finaliza la PSSession y libera los recursos que la PSSession estaba utilizando. Si la PSSession est conectada a un equipo remoto, Remove-PSSession tambin cierra la conexin entre los equipos local y remoto. Para quitar una PSSession, debe escribirse el parmetro Name, ComputerName, ID o InstanceID de la sesin. Si ha guardado la PSSession en una variable, el objeto de sesin permanece en la variable, pero el estado de la PSSession es "Closed" (cerrado). PARMETROS -ComputerName <string[]>

Cierra las PSSessions que estn conectadas a los equipos especificados. Se permite el uso de caracteres comodn. Se debe escribir el nombre NetBIOS, la direccin IP o el nombre de dominio completo de uno o varios equipos remotos. Para especificar el equipo local, escriba el nombre del equipo, "localhost", o bien, un punto (.). -Id <Int32[]> Cierra las PSSessions con los identificadores especificados. Escriba uno o ms identificadores (separados por comas) o use el operador de intervalo (..) para especificar un intervalo de identificadores. Un identificador es un entero que identifica de forma nica la PSSession en la sesin actual. Es ms fcil de recordar y escribir que InstanceId, pero es nico solamente en la sesin actual. Para buscar el identificador de una PSSession, se utiliza Get-PSSession sin parmetros. -InstanceId <Guid[]> Cierra las PSSessions con los identificadores de instancia especificados. El identificador de instancia es un GUID que identifica de forma nica una PSSession en la sesin actual. InstanceID es nico, aunque se estn ejecutando varias sesiones en un solo equipo. InstanceID se almacena en la propiedad InstanceID del objeto que representa una PSSession. Para buscar el valor de InstanceID de las PSSessions de la sesin actual, escriba "get-pssession | format-table Name, ComputerName, InstanceId". -Name <string[]> Cierra las PSSessions con los nombres simples especificados. Se permite el uso de caracteres comodn. Dado que el nombre simple de una PSSession podra no ser nico, al utilizar el parmetro Name, considere tambin la posibilidad de utilizar el parmetro WhatIf o Confirm en el comando Remove-PSSession. -Session <PSSession[]> Especifica los objetos de sesin de las PSSessions que se han de cerrar. Escriba una variable que contenga las PSSessions o un comando que las cree u obtenga, como un comando New-PSSession o Get-PSSession. Tambin se pueden canalizar uno o ms objetos de sesin a Remove-PSSession. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando, sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>remove-pssession -id 1, 2

Descripcin ----------Este comando quita las PSSessions cuyo identificador es 1 y 2.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-pssession | remove-pssession C:\PS> remove-pssession -session (get-pssession) C:\PS> $s = get-pssession C:\PS> remove-pssession -session $s". Descripcin ----------Estos comandos quitan todas las PSSessions de la sesin actual. Aunque los tres formatos de comando son diferentes, tienen el mismo efecto.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$r = get-pssession -computername Serv* $r | remove-pssession Descripcin ----------Estos comandos cierran las PSSessions que estn conectadas a equipos que tienen nombres que empiezan por "Serv".

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-pssession | where {$_.port -eq 90} | remove-pssession Descripcin ----------Este comando cierra las PSSessions que estn conectadas al puerto 90. Se puede utilizar este formato de comando para identificar PSSessions por propiedades distintas de ComputerName, Name, InstanceID e ID.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-pssession | ft computername, instanceID ComputerName -----------Server01 localhost Server02 Server03 InstanceId ---------------875d231b-2788-4f36-9f67-2e50d63bb82a c065ffa0-02c4-406e-84a3-dacb0d677868 4699cdbc-61d5-4e0d-b916-84f82ebede1f 4e5a3245-4c63-43e4-88d0-a7798bfc2414 -auto

TX-TEST-01

fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

C:\PS> remove-pssession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85 Descripcin ----------Estos comandos muestran la forma de cerrar una PSSession basndose en su identificador de instancia (RemoteRunspaceID). El primer comando utiliza el cmdlet Get-PSsession para obtener las PSSessions en la sesin actual. Utiliza un operador de canalizacin (|) para enviar las PSSessions al cmdlet Format-Table (alias: ft), que aplica formato a sus propiedades ComputerName e InstanceID en una tabla. El parmetro Aut oSize ("auto") comprime las columnas para la presentacin. En la presentacin resultante, el administrador puede identificar la PSSession que se ha de cerrar, as como copiar y pegar el parmetro InstanceID de esa PSSession en el segundo comando. El segundo comando usa el cmdlet Remove-PSSession para quitar la PSSession con el identificador de instancia especificado.

-------------------------- EJEMPLO 6 -------------------------C:\PS>function EndPSS { get-pssession | remove-pssession } Descripcin ----------Esta funcin elimina todas las PSSessions en la sesin actual. Despus de agregar esta funcin al perfil de Windows PowerShell, para eliminar todas las sesiones basta con escribir "endpss".

NOTAS Para ver los ejemplos, escriba: "get-help Remove-PSSession -examples". Para obtener ms informacin, escriba: "get-help Remove-PSSession detailed". Para obtener informacin tcnica, escriba: "get-help Remove-PSSession full". NOMBRE Start-Job SINOPSIS Inicia un trabajo en segundo plano de Windows PowerShell. SINTAXIS Start-Job [-ScriptBlock] <scriptblock> [[-InitializationScript] <scriptblock>] [-ArgumentList <Object[]>] [-Authentication {Default | Basic | Negotiate | NegotiateWithImplicitCredential | Credssp | Digest | Kerberos}] [-Credential <PSCredential>] [-InputObject <psobject>] [-Name <string>] [-Run As32] [<CommonParameters>]

Start-Job [[-FilePath] <string>] [[-InitializationScript] <scriptblock>] [-ArgumentList <Object[]>] [-Authentication {Default | Basic | Negotiate | NegotiateWithImplicitCredential | Credssp | Digest | Kerberos}] [-Credential <PSCredential>] [-InputObject <psobject>] [-Name <string>] [-RunAs32] [<CommonParameters>] DESCRIPCIN El cmdlet Start-Job inicia un trabajo en segundo plano de Windows PowerShell en el equipo local. Un trabajo en segundo plano de Windows PowerShell ejecuta un comando "en segundo plano" sin interactuar con la sesin actual. Cuando se inicia un trabajo en segundo plano, se devuelve inmediatamente un objeto de trabajo, aunque el trabajo tarde un tiempo prolongado en completarse. Puede continu ar trabajando en la sesin sin interrupcin mientras el trabajo se ejecuta. El objeto de trabajo contiene informacin til sobre el trabajo, pero no contiene los resultados del mismo. Una vez completado el trabajo, se utiliza el cmdlet Receive-Job para obtener sus resultados. Para obtener ms informacin sobre trabajos de segundo plano, vea about_Jobs. Para ejecutar un trabajo en segundo plano en un equipo remoto, se utiliza el parmetro AsJob que est disponible en muchos cmdlets, o bien el cmdlet Invoke-Command para ejecutar un comando Start-Job en el equipo remoto. Para obtener ms informacin, vea about_Remote_Jobs. PARMETROS -ArgumentList <Object[]> Especifica los argumentos (valores de parmetro) para el script especificado por el parmetro FilePath. Dado que todos los valores que siguen al nombre de parmetro ArgumentList se interpretan como valores de ArgumentList, el parmetro ArgumentList debe ser el ltimo parmetro en el comando. -Authentication <AuthenticationMechanism> Especifica el mecanismo que se utiliza para autenticar las credenciales del usuario. Los valores vlidos son Default, Basic, Credssp, Digest, Kerberos, Negotiate y NegotiateWithImplicitCredential. El valor predeterminado es Default. La autenticacin CredSSP est disponible solo en Windows Vista, Windows Server 2008 y versiones posteriores de Windows. Para obtener informacin acerca de los valores de este parmetro, vea la descripcin de la enumeracin System.Management.Automation.Runspaces.AuthenticationMechanism en MSDN. PRECAUCIN: la autenticacin Credential Security Service Provider (CredSSP), en la que las credenciales del usuario pasan a un equipo remoto para su autenticacin, est diseada para los comandos que requieren autenticacin en ms de un recurso, como acceso a un recurso compartido de red re mota. Este mecanismo aumenta el riesgo que supone la operacin remota para la seguridad. Si el equipo remoto est en peligro, las credenciales que se le pasen podrn usarse para controlar la sesin de red. -Credential <PSCredential>

Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno del cmdlet Get-Credential. -FilePath <string> Ejecuta el script local especificado como un trabajo en segundo plano. Escriba la ruta de acceso y el nombre de archivo del script o canalice una ruta de acceso de script a Start-Job. El script debe residir en el equipo local o en un directorio al que pueda obtener acceso el equipo local. Cuando se usa este parmetro, Windows PowerShell convierte el contenido del archivo de script especificado en un bloque de script y ejecuta este como un trabajo en segundo plano. -InitializationScript <scriptblock> Especifica comandos que se ejecutan antes de que se inicie el trabajo. Incluya los comandos entre llaves ({ }) para crear un bloque de script. Este parmetro se utiliza para preparar la sesin en la que se ejecuta el trabajo. Por ejemplo, se puede utilizar para agregar funciones, complementos y mdulos a la sesin. -InputObject <psobject> Especifica la entrada al comando. Escriba una variable que contenga los objetos o un comando o expresin que genere los objetos. En el valor del parmetro ScriptBlock, utilice la variable automtica $input para representar los objetos de entrada. -Name <string> Especifica un nombre simple para el nuevo trabajo. El nombre se puede utilizar para identificar el trabajo en otros cmdlets de trabajo, como Stop-Job. El nombre simple predeterminado es Job#, donde "#" es un nmero ordinal que se incrementa para cada trabajo. -RunAs32 [<SwitchParameter>] Ejecuta el trabajo en un proceso de 32 bits. Este parmetro se utiliza para forzar que el trabajo se ejecute en un proceso de 32 bits en un sistema operativo de 64 bits. -ScriptBlock <scriptblock> Especifica los comandos que se han de ejecutar en el trabajo en segundo plano. Incluya los comandos entre llaves ({ }) para crear un bloque de script. Este parmetro es obligatorio. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 --------------------------

C:\PS>start-job -scriptblock {get-process} C:\PS> start-job -command "get-process" Id --1 Name ---Job1 State ----Running HasMoreData ----------True Location -------localhost Command ------get-process

Descripcin ----------Este comando inicia un trabajo en segundo plano que ejecuta un comando Get-Process. El comando devuelve un objeto de trabajo con informacin sobre el trabajo. El smbolo del sistema se devuelve inmediatamente para poder trabajar en la sesin mientras el trabajo se ejecuta en segundo plano.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$jobWRM = invoke-command -computerName (get-content servers.txt) scriptblock {get-service winrm} -jobname WinRM -throttlelimit 16 -AsJob Descripcin ----------Este comando utiliza el cmdlet Invoke-Command y su parmetro AsJob para iniciar un trabajo en segundo plano que ejecuta un comando "get-service winrm" en numerosos equipos. Dado que el comando se ejecuta en un servidor con un trfico de red importante, el comando utiliza el parmetro ThrottleLi mit de Invoke-Command para limitar el nmero de comandos simultneos a 16. El comando utiliza el parmetro ComputerName para especificar los equipos en que se ejecuta el trabajo. El valor del parmetro ComputerName es un comando Get-Content que obtiene el texto en el archivo Servers.txt, un archivo de nombres de equipo en un dominio. El comando utiliza el parmetro ScriptBlock para especificar el comando y el parmetro JobName para especificar un nombre simple para el trabajo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$j = start-job -scriptblock {get-eventlog -log system} -credential domain01\user01 C:\PS> $j | format-list -property * HasMoreData StatusMessage Location Command JobStateInfo Finished InstanceId Id Name ChildJobs Output : : : : : : : : : : : True localhost get-eventlog -log system Running System.Threading.ManualResetEvent 2d9d775f-63e0-4d48-b4bc-c05d0e177f34 1 Job1 {Job2} {}

Error Progress Verbose Debug Warning StateChanged

: : : : : :

{} {} {} {} {}

C:\PS> $j.JobStateInfo.state Completed C:\PS> $results = receive-job -job $j C:\PS> $results Index Time ----- ---84366 Feb 18 19:20 description... 84365 Feb 18 19:16 description... 84364 Feb 18 19:10 description... ... Type Source --------Information Service Control M... Information Service Control M... Information Service Control M... EventID Message ------- ------7036 The 7036 The 7036 The

Descripcin ----------Estos comandos administran un trabajo en segundo plano que obtiene todos los eventos del registro del sistema en el visor de eventos. El trabajo se ejecuta en el equipo local. El primer comando utiliza el cmdlet Start-Job para iniciar el trabajo. Utiliza el parmetro Credential para especificar la cuenta de usuario de un usuario que tiene permiso para ejecutar el trabajo en el equipo. A continuacin, guarda el objeto de trabajo que Start-Job devuelve en la variable $ j. En este momento, puede reanudar la otra tarea mientras el trabajo se completa. El segundo comando usa un operador de canalizacin (|) para pasar el objeto de trabajo en $j al cmdlet Format-List. El comando Format-List usa el parmetro Property con el valor * (todo) para mostrar todas las propiedades del objeto de trabajo en una lista. El tercer comando muestra el valor de la propiedad JobStateInfo. Esta propiedad contiene el estado del trabajo. El cuarto comando utiliza el cmdlet Receive-Job para obtener los resultados del trabajo. Almacena los resultados en la variable $results. El ltimo comando muestra el contenido de la variable $results.

-------------------------- EJEMPLO 4 -------------------------C:\PS>start-job -filepath c:\scripts\sample.ps1 Descripcin -----------

Este comando ejecuta el script Sample.ps1 como un trabajo en segundo plano.

-------------------------- EJEMPLO 5 -------------------------C:\PS>start-job -name WinRm -scriptblock {get-process winrm} Descripcin ----------Este comando ejecuta un trabajo en segundo plano que obtiene el proceso de WinRM en el equipo local. El comando utiliza el parmetro ScriptBlock para especificar el comando que se ejecuta en el trabajo en segundo plano. Utiliza el parmetro Name para especificar un nombre simple para el nuevo t rabajo.

-------------------------- EJEMPLO 6 -------------------------C:\PS>start-job -name GetMappingFiles -initializationScript {importmodule MapFunctions} -scriptblock {Get-Map -name * | set-content D:\Maps.tif} -runAs32 Descripcin ----------Este comando inicia un trabajo que recopila gran cantidad de datos y los guarda en un archivo .tif. El comando utiliza el parmetro InitializationScript para ejecutar un bloque de script que importa un mdulo necesario. Tambin utiliza el parmetro RunAs32 para ejecutar el trabajo en un proceso de 32 bits aunque el equipo tenga un sistema operativo de 64 bits.

NOTAS Para ver los ejemplos, escriba: "get-help Start-Job -examples". Para obtener ms informacin, escriba: "get-help Start-Job -detailed". Para obtener informacin tcnica, escriba: "get-help Start-Job -full". NOMBRE Get-Job SINOPSIS Obtiene los trabajos en segundo plano de Windows PowerShell que se estn ejecutando en la sesin actual. SINTAXIS Get-Job [-Command <string[]>] [<CommonParameters>] Get-Job [[-InstanceId] <Guid[]>] [<CommonParameters>] Get-Job [[-Name] <string[]>] [<CommonParameters>] Get-Job [[-Id] <Int32[]>] [<CommonParameters>]

Get-Job [-State {NotStarted | Running | Completed | Failed | Stopped | Blocked}] [<CommonParameters>] DESCRIPCIN El cmdlet segundo plano utilizar para bien mediante

Get-Job obtiene objetos que representan los trabajos en que se iniciaron en la sesin actual. Get-Job se puede obtener los trabajos que se iniciaron mediante Start-Job, o el parmetro AsJob de cualquier cmdlet.

Sin parmetros, un comando "Get-Job" obtiene todos los trabajos de la sesin actual. Puede utilizar los parmetros de Get-Job para obtener trabajos concretos. El objeto de trabajo que Get-Job devuelve contiene informacin til sobre el trabajo, pero no contiene los resultados del trabajo. Para obtener los resultados, use el cmdlet Receive-Job. Un trabajo en segundo plano de Windows PowerShell es un comando que se ejecuta "en segundo plano" sin interactuar con la sesin actual. Normalmente, se utiliza un trabajo en segundo plano para ejecutar un comando complejo que necesita mucho tiempo para completarse. Para obtener ms informacin sobre los trabajos en segundo plano en Windows PowerShell, vea about_Jobs. PARMETROS -Command <string[]> Obtiene los trabajos que incluyen el comando especificado. El valor predeterminado son todos los trabajos. Escriba un comando (como una cadena). Puede utilizar caracteres comodn para especificar un patrn de comando. -Id <Int32[]> Obtiene solamente trabajos con los identificadores especificados. El identificador es un entero que identifica de forma nica el trabajo en la sesin actual. Es ms fcil de recordar y escribir que el identificador de instancia, pero es nico solamente en la sesin actual. Puede escribir uno o varios identificadores (separados por comas). Para buscar el i dentificador de un trabajo, se escribe "Get-Job" sin parmetros. -InstanceId <Guid[]> Obtiene trabajos con los identificadores de instancia especificados. El valor predeterminado son todos los trabajos. Un identificador de instancia es un GUID que identifica de forma nica el trabajo en el equipo. Para buscar el identificador de instancia de un trabajo, se utiliza Get-Job. -Name <string[]> Obtiene el trabajo con los nombres simples especificados. Escriba un nombre de trabajo o use caracteres comodn para escribir un patrn de nombre de trabajo. De forma predeterminada, Get-Job obtiene todos los trabajos de la sesin actual. -State <JobState> Obtiene solamente trabajos en el estado especificado. Los valores vlidos son NotStarted, Running, Completed, Stopped, Failed y Blocked. De

forma predeterminada, Get-Job obtiene todos los trabajos de la sesin actual. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-job Descripcin ----------Este comando obtiene todos los trabajos en segundo plano iniciados en la sesin actual. No incluye trabajos creados en otras sesiones, aunque los trabajos se ejecuten en el equipo local.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$j = get-job -name Job1 C:\PS> $ID = $j.InstanceID C:\PS> $ID Guid ---03c3232e-1d23-453b-a6f4-ed73c9e29d55 C:\PS> stop-job -instanceid $ID Descripcin ----------Estos comandos muestran la forma de obtener el identificador de instancia de un trabajo y usarlo a continuacin para detenerlo. A diferencia del nombre de un trabajo, que no es nico, el identificador de instancia es nico. El primer comando utiliza el cmdlet Get-Job para obtener un trabajo. Utiliza el parmetro Name para identificar el trabajo. El comando almacena el objeto de trabajo que Get-Job devuelve en la variable $j. En este ejemplo, solo hay un trabajo con el nombre especificado. El segundo comando obtiene la propiedad InstanceId del objeto de la variable $j y lo almacena en la variable $ID. El tercer comando muestra el valor de la variable $ID. El cuarto comando utiliza el cmdlet Stop-Job para detener el trabajo. Utiliza el parmetro InstanceId para identificar el trabajo y la variable $ID para representar el identificador de instancia del trabajo.

-------------------------- EJEMPLO 3 --------------------------

C:\PS>get-job -command "*get-process*" Descripcin ----------Este comando obtiene los trabajos del sistema que incluyen un comando Get-Process. Utiliza el parmetro Command de Get-Job para limitar los trabajos recuperados. Adems, utiliza caracteres comodn (*) para obtener trabajos que incluyen un comando Get-Process en cualquier lugar de la cadena de c omando.

-------------------------- EJEMPLO 4 -------------------------C:\PS>"*get-process*" | get-job Descripcin ----------Al igual que el comando del ejemplo anterior, este comando obtiene los trabajos del sistema que incluyen un comando Get-Process. El comando utiliza un operador de canalizacin (|) para enviar una cadena (entre comillas dobles) al cmdlet Get-Job. Es el equivalente del comando anterior.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-job -state NotStarted Descripcin ----------Este comando obtiene solamente los trabajos que se han creado pero no se han iniciado todava. Estos trabajos son los programados para ejecutarse en el futuro y los que no estn programados todava.

-------------------------- EJEMPLO 6 -------------------------C:\PS>get-job -name job* Descripcin ----------Este comando obtiene todos los trabajos cuyos nombres comienzan por "job". Dado que "job<nmero>" es el nombre predeterminado de un trabajo, este comando obtiene todos los trabajos a los que no se ha asignado un nombre explcitamente.

-------------------------- EJEMPLO 7 -------------------------C:\PS>start-job -scriptblock {get-process} -name MyJob C:\PS> $j = get-job -name MyJob

C:\PS> $j Id -1 Name ---myjob State ----Completed HasMoreData ----------True Location -------localhost Command ------get-process

C:\PS> receive-job -job $j Handles ------124 783 96 ... NPM(K) -----4 16 4 PM(K) ----13572 11428 4252 WS(K) VM(M) ----- ----12080 59 13636 100 3764 59 CPU(s) -----Id -1140 548 3856 ProcessName ----------audiodg CcmExec ccmsetup

Descripcin ----------En este ejemplo se muestra la forma de utilizar Get-Job para obtener un objeto de trabajo y usarlo a continuacin para representar el trabajo en un comando. El primer comando utiliza el cmdlet Start-Job para iniciar un trabajo en segundo plano que ejecuta un comando Get-Process en el equipo local. El comando utiliza el parmetro Name de Start-Job para asignar un nombre simple al trabajo. El segundo comando usa Get-Job para obtener el trabajo. Utiliza el parmetro Name de Get-Job para identificar el trabajo. El comando guarda el objeto de trabajo resultante en la variable $j. El tercer comando muestra el valor del objeto de trabajo en la variable $j. El valor de la propiedad State muestra que el trabajo se ha completado. El valor de la propiedad HasMoreData muestra que hay resultados disponibles del trabajo que no se han recuperado todava. El cuarto comando utiliza el cmdlet Receive-Job para obtener los resultados del trabajo. Utiliza el objeto de trabajo en la variable $j para representar el trabajo. Tambin se puede utilizar un operador de canalizacin para enviar un objeto de trabajo a Receive-Job.

-------------------------- EJEMPLO 8 -------------------------C:\PS>start-job -scriptblock {get-eventlog system} C:\PS> invoke-command -computername S1 -scriptblock {get-eventlog system} -AsJob C:\PS> invoke-command -computername S2 -scriptblock {start-job scriptblock {get-eventlog system}} C:\PS> get-job Id -1 2 Name ---Job1 Job2 State ----Running Running HasMoreData ----------True True Location -------localhost S1 Command ------get-eventlog system get-eventlog system

C:\PS> invoke-command -computername S2 -scriptblock {get-job} Id -4 Name ---Job4 State ----Running HasMoreData ----------True Location -------localhost Command ------get-eventlog system

Descripcin ----------En este ejemplo se muestra que el cmdlet Get-Job puede obtener todos los trabajos que se iniciaron en la sesin actual, aunque se hayan iniciado utilizando mtodos diferentes. El primer comando utiliza el cmdlet Start-Job para iniciar un trabajo en el equipo local. El segundo comando usa el parmetro AsJob de Invoke-Command para iniciar un trabajo en el equipo S1. Aunque los comandos del trabajo se ejecutan en el equipo remoto, el objeto de trabajo se crea en el equipo local, por lo que se han de utilizar comandos locales para administrar el trabajo. El tercer comando usa el cmdlet Invoke-Command para ejecutar un comando Start-Job en el equipo S2. Con este mtodo, el objeto de trabajo se crea en el equipo remoto, por lo que se han de utilizar comandos remotos para administrar el trabajo. El cuarto comando utiliza Get-Job para obtener los trabajos almacenados en el equipo local. El quinto comando utiliza Invoke-Command para ejecutar un comando GetJob en el equipo S2. En el resultado de ejemplo se muestran los resultados de los comandos Get-Job. Para obtener ms informacin sobre cmo se ejecutan trabajos en segundo plano en equipos remotos, vea about_Remote_Jobs.

-------------------------- EJEMPLO 9 -------------------------C:\PS>start-job -scriptblock {get-process} Id Command -------1 get-process Name ---Job1 State ----Failed HasMoreData ----------False Location -------localhost

C:\PS> (get-job).jobstateinfo | format-list -property * State : Failed Reason : C:\PS> get-job | format-list * HasMoreData : False StatusMessage :

Location Command JobStateInfo Finished InstanceId Id Name ChildJobs Output Error Progress Verbose Debug Warning StateChanged

: : : : : : : : : : : : : : :

localhost get-process Failed System.Threading.ManualResetEvent fb792295-1318-4f5d-8ac8-8a89c5261507 1 Job1 {Job2} {} {} {} {} {} {}

C:\PS> (get-job -name job2).jobstateinfo.reason Connecting to remote server using WSManCreateShellEx api failed. The async callback gave the following error message : Access is denied. Descripcin ----------Este comando muestra la forma de utilizar el objeto de trabajo que GetJob devuelve para investigar por qu se produjo un error en un trabajo. Tambin muestra la forma de obtener los trabajos secundarios de cada trabajo. El primer comando utiliza el cmdlet Start-Job para iniciar un trabajo en el equipo local. El objeto de trabajo que Start-Job devuelve muestra que se produjo un error en el trabajo. El valor de la propiedad State es "Failed". El segundo comando usa Get-Job para obtener el objeto de trabajo. El comando utiliza el mtodo de puntos para obtener el valor de la propiedad JobStateInfo del objeto. Utiliza un operador de canalizacin para enviar el objeto en la propiedad JobStateInfo al cmdlet Format-List, que aplica format o a todas las propiedades del objeto (*) en una lista. El resultado del comando Format-List muestra que el valor de la propiedad Reason del trabajo est en blanco. El tercer comando investiga ms detalles. Utiliza un comando Get-Job para obtener el trabajo y, a continuacin, utiliza un operador de canalizacin para enviar el objeto de trabajo completo al cmdlet FormatList, que muestra todas las propiedades del trabajo en una lista. La presentacin de todas las propiedades en el objeto de trabajo muestra que el trabajo contiene un trabajo secundario denominado "Job2". El cuarto comando utiliza Get-Job para obtener el objeto de trabajo que representa el trabajo secundario Job2. Este es el trabajo en el que el comando se ejecuta realmente. Utiliza el mtodo de puntos para obtener la propiedad Reason de la propiedad JobStateInfo. El resultado muestra que se produjo un error en el trabajo debido a un error de tipo "acceso denegado". En este caso, el usuario se olvid de utilizar la opcin "Ejecutar como administrador" al abrir Windows PowerShell.

Dado que los trabajos en segundo plano utilizan las caractersticas de comunicacin remota de Windows PowerShell, el equipo debe estar configurado para la comunicacin remota al ejecutar un trabajo, aunque el trabajo se ejecute en el equipo local. Para obtener informacin sobre los requisitos para la comunicacin remota en Windows PowerShell, vea about_Remote_Requirements. Para obtener sugerencias de solucin de problemas, vea about_Remote_Troubleshooting.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Job -examples". Para obtener ms informacin, escriba: "get-help Get-Job -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Job -full". NOMBRE Remove-Job SINOPSIS Elimina un trabajo en segundo plano de Windows PowerShell. SINTAXIS Remove-Job [-Id] <Int32[]> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [-Command <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [[-InstanceId] <Guid[]>] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [-Job] <Job[]> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [[-Name] <string[]>] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Job [-State {NotStarted | Running | Completed | Failed | Stopped | Blocked}] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Remove-Job elimina los trabajos en segundo plano de Windows PowerShell que se iniciaron utilizando Start-Job o el parmetro AsJob de cualquier cmdlet. Este cmdlet se puede utilizar para eliminar todos los trabajos, o para eliminar trabajos seleccionndolos por su nombre, identificador, identificador de instancia, comando o estado, o bien pasando un objeto de trabajo a Remove-Job. Sin parmetros ni valores de parmetro, Remove-Job no surte nin gn efecto. Antes de eliminar un trabajo en ejecucin, debe utilizarse el cmdlet Stop-Job para detenerlo. Si intenta eliminar un trabajo en ejecucin, se produce un error en el comando. Puede utilizar el parmetro Force de RemoveJob para eliminar un trabajo en ejecucin.

Si no elimina un trabajo en segundo plano, el trabajo permanece en la memoria cach global de trabajos hasta cerrar la sesin en la que se cre el trabajo. PARMETROS -Command <string[]> Quita trabajos que incluyen las palabras especificadas en el comando. -Force [<SwitchParameter>] Elimina el trabajo aunque el estado sea "Running". Sin el parmetro Force, Remove-Job no eliminar un trabajo en ejecucin. -Id <Int32[]> Elimina los trabajos en segundo plano con los identificadores especificados. El identificador es un entero que identifica de forma nica el trabajo en la sesin actual. Es ms fcil de recordar y escribir que el identificador de instancia, pero es nico solamente en la sesin actual. Puede escribir uno o varios identificadores (separados por comas). Para buscar el i dentificador de un trabajo, se escribe "Get-Job" sin parmetros. -InstanceId <Guid[]> Elimina trabajos con los identificadores de instancia especificados. Un identificador de instancia es un GUID que identifica de forma nica el trabajo en el equipo. Para buscar el identificador de instancia de un trabajo, se utiliza Get-Job o se muestra el objeto de trabajo. -Job <Job[]> Especifica los trabajos que se van a eliminar. Escriba una variable que contenga los trabajos o un comando que los obtenga. Tambin se puede utilizar un operador de canalizacin para enviar trabajos al cmdlet RemoveJob. -Name <string[]> Elimina solamente los trabajos con los nombres simples especificados. Se permite el uso de caracteres comodn. Dado que no se garantiza que el nombre simple sea nico, incluso dentro de la sesin, utilice los parmetros WhatIf y Confirm al eliminar trabajos por nombre. -State <JobState> Elimina solamente trabajos con el estado especificado. Los valores vlidos son NotStarted, Running, Completed, Stopped, Failed y Blocked. Para eliminar trabajos con el estado Running, utilice el parmetro Force. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando, sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$batch = get-job -name BatchJob C:\PS> $batch | remove-job Descripcin ----------Estos comandos eliminan un trabajo en segundo plano denominado BatchJob de la sesin actual. El primer comando utiliza el cmdlet Get-Job para obtener un objeto que representa el trabajo y, a continuacin, lo guarda en la variable $batch. El segundo comando usa un operador de canalizacin (|) pa ra enviar el trabajo al cmdlet Remove-Job. Este comando es equivalente a utilizar el parmetro Job de Remove-Job, por ejemplo, "remove-job -job $batch".

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-job | remove-job Descripcin ----------Este comando elimina todos los trabajos de la sesin actual.

-------------------------- EJEMPLO 3 -------------------------C:\PS>remove-job -state NotStarted Descripcin ----------Este comando elimina todos los trabajos de la sesin actual que no se han iniciado todava.

-------------------------- EJEMPLO 4 -------------------------C:\PS>remove-job -name *batch -force Descripcin ----------Este comando elimina todos los trabajos con nombres simples que terminan en "batch" de la sesin actual, incluidos los trabajos que se estn ejecutando. Utiliza el parmetro Name de Remove-Job para especificar un patrn de nombre de trabajo y utiliza el parmetro Force para asegurarse de que se quitan todos los trabajos, incluidos los que puedan estar en curso.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$j = invoke-command -computername Server01 -scriptblock {getprocess} -asJob C:\PS> $j | remove-job Descripcin ----------En este ejemplo se muestra la forma de utilizar el cmdlet Remove-Job para quitar un trabajo que se inici en un equipo remoto utilizando el parmetro AsJob del cmdlet Invoke-Command. El primer comando utiliza el cmdlet Invoke-Command para ejecutar un trabajo en el equipo Server01. Utiliza el parmetro AsJob para ejecutar el comando como trabajo en segundo plano y guarda el objeto de trabajo resultante en la variable $j. Dado que el comando utiliz el parmetro AsJob, el objeto de trabajo se crea en el equipo local, aunque el trabajo se ejecute en un equipo remoto. Como consecuencia, se utilizan comandos locales para administrar el trabajo. El segundo comando usa el cmdlet Remove-Job para quitar el trabajo. Utiliza un operador de canalizacin (|) para enviar el trabajo en $j a Remove-Job. Observe que se trata de un comando local. No se requiere un comando remoto para quitar un trabajo que se inici utilizando el parmetro AsJob.

-------------------------- EJEMPLO 6 -------------------------C:\PS>$s = new-pssession -computername Server01 C:\PS> invoke-command -session $s -scriptblock {start-job -scriptblock {get-process} -name MyJob} C:\PS> invoke-command -session $s -scriptblock {remove-job -name MyJob} Descripcin ----------En este ejemplo se muestra la forma de quitar un trabajo que se inici utilizando Invoke-Command para ejecutar un comando Start-Job. En este caso, el objeto de trabajo se crea en el equipo remoto y se utilizan comandos remotos para administrar el trabajo. El primer comando utiliza el cmdlet New-PSSession para crear una PSSession (una conexin persistente) en el equipo Server01. Se requiere una conexin persistente al ejecutar un comando Start-Job de forma remota. El comando guarda la PSSession en la variable $s. El segundo comando usa el cmdlet Invoke-Command para ejecutar un comando Start-Job en la PSSession en $s. El trabajo ejecuta un comando Get-Process. Utiliza el parmetro Name de Start-Job para especificar un nombre simple para el nuevo trabajo.

El tercer comando usa el cmdlet Invoke-Command para ejecutar un comando Remove-Job en la PSSession contenida en $s. El comando utiliza el parmetro Name de Remove-Job para identificar el trabajo que se ha de eliminar.

-------------------------- EJEMPLO 7 -------------------------C:\PS>$j = start-job -script {get-process powershell} C:\PS> $j | format-list -property * C:\PS> remove-job -instanceID dce2ee73-f8c9-483e-bdd7-a549d8687eed C:\PS> $j = start-job -script {get-process powershell} C:\PS> $j | format-list -property * HasMoreData StatusMessage Location Command JobStateInfo Finished InstanceId Id Name ChildJobs Output Error Progress Verbose Debug Warning StateChanged : : : : : : : : : : : : : : : : : False localhost get-process powershell Failed System.Threading.ManualResetEvent dce2ee73-f8c9-483e-bdd7-a549d8687eed 1 Job1 {Job2} {} {} {} {} {} {}

C:\PS> remove-job -instanceID dce2ee73-f8c9-483e-bdd7-a549d8687eed Descripcin ----------En este ejemplo se muestra la forma de quitar un trabajo segn su identificador de instancia. El primer comando utiliza el cmdlet Start-Job para iniciar un trabajo en segundo plano. El comando guarda el objeto de trabajo resultante en la variable $j. El segundo comando usa un operador de canalizacin (|) para enviar el objeto de trabajo en $j a un comando Format-List. El comando Format-List usa el parmetro Property con el valor * (todo) para mostrar todas las propiedades del objeto de trabajo en una lista. La presentacin del objeto de trabajo muestra los valores de las propiedades ID e InstanceID, junto con las dems propiedades del objeto. El tercer comando usa un comando Remove-Job para quitar el trabajo de la sesin actual. Para generar el comando, se puede copiar y pegar el valor de InstanceID de la presentacin del objeto.

Para copiar un valor en la consola de Windows PowerShell, utilice el mouse para seleccionar el valor y, a continuacin, presione Entrar para copiarlo. Para pegar un valor, haga clic con el botn secundario.

NOTAS Para ver los ejemplos, escriba: "get-help Remove-Job -examples". Para obtener ms informacin, escriba: "get-help Remove-Job -detailed". Para obtener informacin tcnica, escriba: "get-help Remove-Job -full". NOMBRE ForEach-Object SINOPSIS Realiza una operacin respecto a cada objeto de un conjunto de objetos de entrada. SINTAXIS ForEach-Object [-Process] <ScriptBlock[]> [-Begin <scriptblock>] [-End <scriptblock>] [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet ForEach-Object realiza una operacin en cada objeto de un conjunto de objetos de entrada. Los objetos de entrada se pueden canalizar al cmdlet o especificar mediante el parmetro InputObject. La operacin que se va a realizar se describe en un bloque de script que se proporciona al cmdlet como valor del parmetro Process. Este bloque puede contener cualquier script de Windows PowerShell. En el bloque de script, el objeto de entrada actual est representado por la variable $_. Adems de usar el bloque de script que describe las operaciones que se van a realizar en cada objeto de entrada, se pueden proporcionar dos bloques adicionales. Uno, especificado como el valor del parmetro Begin, se ejecuta antes de que se procese el primer objeto de entrada. El otro, especifi cado como el valor del parmetro End, se ejecuta despus de que se procese el ltimo objeto de entrada. Los resultados de la evaluacin de todos los bloques de script, incluidos los especificados con Begin y End, se pasan a travs de la canalizacin. PARMETROS -Begin <scriptblock> Especifica el bloque de script que se ejecuta antes de procesar los objetos de entrada. -End <scriptblock> Especifica el bloque de script que se ejecuta despus de procesar todos los objetos de entrada. -InputObject <psobject> Acepta un objeto al que se aplicar el bloque de script especificado en el parmetro Process. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos.

-Process <ScriptBlock[]> Especifica el bloque de script que se aplica a cada objeto entrante. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>30000,56798,12432 | foreach-object -process {$_/1024} Descripcin ----------Este comando acepta una matriz de nmeros enteros, divide cada nmero entre 1024 y muestra los resultados.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-childitem C:\ | foreach-object -process { $_.length / 1024 } Descripcin ----------Este comando recupera los archivos y directorios situados en el directorio raz de la unidad C:, y devuelve y muestra el tamao de cada uno de ellos. Los ceros representan directorios sin tamaos de archivo disponibles.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$events = get-eventlog -logname system -newest 1000 C:\PS> $events | foreach-object -begin {get-date} -process {out-file filepath events.txt -append -inputobject $_.message} -end {get-date} Descripcin ----------Este comando recupera los 1000 eventos ms recientes del registro del sistema y los almacena en la variable $events. A continuacin, canaliza los eventos al cmdlet ForEach-Object. El parmetro Begin muestra la fecha y hora actuales. Despus, el parmetro Process usa el cmdlet Out-File para crea r un archivo de texto denominado events.txt y almacena la propiedad de mensaje de cada evento en este archivo. Por ltimo, el parmetro End muestra la fecha y hora una vez finalizado todo el procesamiento.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-itemproperty -path hkcu:\Network\* | foreach-object {setitemproperty -path $_.pspath -name RemotePath -value $_.RemotePath.ToUpper();}

Descripcin ----------Este comando cambia el valor de la entrada RemotePath del Registro en todas las subclaves de la clave HKCU:\Network a texto en maysculas. Puede utilizar este formato para cambiar la forma o el contenido de un valor de entrada del Registro. Cada subclave de la clave Network representa una unidad de red asignada que volver a establecer conexin en el inicio de sesin. La entrada RemotePath contiene la ruta de acceso UNC de la unidad conectada. Por ejemplo, si asigna la unidad E: a \\Server\Share, habr una subclave E de HKCU:\Netw ork y el valor de la entrada RemotePath del Registro en la subclave E ser \\Server\Share. El comando utiliza el cmdlet Get-ItemProperty para obtener todas las subclaves de la clave Network y el cmdlet Set-ItemProperty para cambiar el valor de la entrada RemotePath del Registro en cada clave. En el comando Set-ItemProperty, la ruta de acceso es el valor de la propiedad PSPath de la c lave del Registro. (Esta es una propiedad del objeto de Microsoft .NET Framework que representa la clave del Registro; no es una entrada del Registro.) El comando utiliza el mtodo ToUpper() del valor RemotePath, que es una cadena (REG_SZ). Como Set-ItemProperty cambia la propiedad de cada clave, es necesario que el cmdlet ForEach-Object tenga acceso a la propiedad.

NOTAS Para ver los ejemplos, escriba: "get-help ForEach-Object -examples". Para obtener ms informacin, escriba: "get-help ForEach-Object detailed". Para obtener informacin tcnica, escriba: "get-help ForEach-Object full". NOMBRE Where-Object SINOPSIS Crea un filtro que controla los objetos que se van a pasar junto con una canalizacin de comandos. SINTAXIS Where-Object [-FilterScript] <scriptblock> [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet Where-Object selecciona los objetos del conjunto de objetos que se le pasan. Utiliza un bloque de script como filtro y evala el bloque de script para cada objeto. Si el resultado de la evaluacin es True, se devuelve el objeto. Si el resultado de la evaluacin no es True, se omite el objeto. PARMETROS

-FilterScript <scriptblock> Especifica el bloque de script que se utiliza para filtrar los objetos. El bloque de script debe escribirse entre llaves ( {} ). -InputObject <psobject> Especifica los objetos que se van a filtrar. Tambin se pueden canalizar los objetos a Where-Object. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-service | where-object {$_.Status -eq "Stopped"} Descripcin ----------Este comando obtiene una lista de todos los servicios detenidos actualmente. El smbolo "$" representa cada objeto que se pasa al cmdlet Where-Object.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-process | where-object {$_.workingset -gt 25000*1024} Descripcin ----------Este comando muestra una lista de los procesos cuyo espacio de trabajo es superior a 25.000 kilobytes (KB). Dado que el valor de la propiedad WorkingSet se almacena en bytes, 25.000 se multiplica por 1.024.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-process | where-object { $_.ProcessName -match "^p.*" } Descripcin ----------Este comando obtiene los procesos cuyo valor de la propiedad ProcessName comienza con la letra "p". El operador de coincidencia permite utilizar expresiones regulares dentro de una clusula Where.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-process -name svchost | where-object {$True} Descripcin ----------Este comando muestra una lista de todos los procesos denominados "svchost".

El cmdlet Where-Object evala el bloque de script, que suele incluir una referencia al objeto que est actualmente en la canalizacin ($_), y convierte los resultados a un tipo booleano: True o False. Si el resultado es True, se devuelve el objeto. De lo contrario, se descarta. En este caso, el bloque de script se limita a devolver True, de modo que se devuelven todos los objetos.

NOTAS Para ver los ejemplos, escriba: "get-help Where-Object -examples". Para obtener ms informacin, escriba: "get-help Where-Object detailed". Para obtener informacin tcnica, escriba: "get-help Where-Object full". NOMBRE Set-PSDebug SINOPSIS Activa o desactiva las caractersticas de depuracin de scripts, establece el nivel de seguimiento y alterna el modo estricto. SINTAXIS Set-PSDebug [-Off] [<CommonParameters>] Set-PSDebug [-Step] [-Strict] [-Trace <int>] [<CommonParameters>] DESCRIPCIN El cmdlet Set-PSDebug activa o desactiva las caractersticas de depuracin de script, establece el nivel de seguimiento y alterna el modo estricto. Cuando el parmetro Trace se establece en 1, se realiza el seguimiento de cada lnea de script al ejecutarse. Cuando el parmetro se establece en 2, tambin se realiza el seguimiento de las asignaciones de variables y de las llamadas a funciones y scripts. Si se especifica el parmetro Step, se solicitar confirmacin antes de ejecutarse cada lnea del script. PARMETROS -Off [<SwitchParameter>] Desactiva todas las caractersticas de depuracin de scripts. Nota: el comando "set-strictmode -off" deshabilita la comprobacin establecida por un comando "set-psdebug -strict". Para obtener ms informacin, vea Set-StrictMode. -Step [<SwitchParameter>] Activa la ejecucin paso a paso de scripts. Antes de que se ejecute cada lnea, se pregunta al usuario si desea detenerse, continuar o especificar un nuevo nivel del intrprete para inspeccionar el estado del script. Nota: la especificacin del parmetro Step establece automticamente el nivel de seguimiento 1.

-Strict [<SwitchParameter>] Especifica que el intrprete debe producir una excepcin si se hace referencia a una variable antes de que se le asigne un valor. Nota: el comando "set-strictmode -off" deshabilita la comprobacin establecida por un comando "set-psdebug -strict". Para obtener ms informacin, vea Set-StrictMode. -Trace <int> Especifica el nivel de seguimiento: 0: desactiva el seguimiento de scripts 1: realiza un seguimiento de las lneas de script conforme se ejecutan 2: realiza un seguimiento de las lneas de script, las asignaciones de variables, las llamadas a funciones y los scripts. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>set-psdebug -trace 2; foreach ($i in 1..3) {$i} DEBUG: DEBUG: 1 DEBUG: 2 DEBUG: 3 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i} 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i} 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i} 1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}

Descripcin ----------Este comando establece el nivel de seguimiento en 2 y, a continuacin, ejecuta un script que muestra los nmeros 1, 2 y 3.

-------------------------- EJEMPLO 2 -------------------------C:\PS>set-psdebug -step; foreach ($i in 1..3) {$i} DEBUG: 1+ Set-PsDebug -step; foreach Continue with this operation? 1+ Set-PsDebug -step; foreach ($i in [Y] Yes [A] Yes to All [N] No [L] No (default is "Y"):a DEBUG: 1+ Set-PsDebug -step; foreach 1 2 3 ($i in 1..3) {$i} 1..3) {$i} to All [S] Suspend ($i in 1..3) {$i} [?] Help

Descripcin ----------Este comando activa la ejecucin paso a paso y, a continuacin, ejecuta un script que muestra los nmeros 1, 2 y 3.

-------------------------- EJEMPLO 3 -------------------------C:\PS>set-psdebug -off; foreach ($i in 1..3) {$i} 1 2 3 Descripcin ----------Este comando desactiva todas las caractersticas de depuracin y, a continuacin, ejecuta un script que muestra los nmeros 1, 2 y 3.

-------------------------- EJEMPLO 4 -------------------------C:\PS>set-psdebug -strict; $NewVar The variable $NewVar cannot be retrieved because it has not been set yet. At line:1 char:28 + Set-PsDebug -strict;$NewVar <<<< Descripcin ----------Este comando establece el intrprete en modo estricto e intenta tener acceso a una variable que todava no se ha establecido.

NOTAS Para ver los ejemplos, escriba: "get-help Set-PSDebug -examples". Para obtener ms informacin, escriba: "get-help Set-PSDebug -detailed". Para obtener informacin tcnica, escriba: "get-help Set-PSDebug -full". NOMBRE Enter-PSSession SINOPSIS Inicia una sesin interactiva con un equipo remoto. SINTAXIS Enter-PSSession [-ComputerName] <string> [-ApplicationName <string>] [Authentication {Default | Basic | Negotiate | NegotiateWithImplicitCredential | Credssp | Digest | Kerberos}] [CertificateThumbprint <string>] [-ConfigurationName <string>] [-Credential <PSCredential>] [-Port <int>] [-Sessi onOption <PSSessionOption>] [-UseSSL] [<CommonParameters>] Enter-PSSession [[-Id] <int>] [<CommonParameters>] Enter-PSSession [-InstanceId <Guid>] [<CommonParameters>]

Enter-PSSession [-Name <string>] [<CommonParameters>] Enter-PSSession [[-Session] <PSSession>] [<CommonParameters>] Enter-PSSession [[-ConnectionURI] <Uri>] [-AllowRedirection] [Authentication {Default | Basic | Negotiate | NegotiateWithImplicitCredential | Credssp | Digest | Kerberos}] [CertificateThumbprint <string>] [-ConfigurationName <string>] [-Credential <PSCredential>] [-SessionOption <PSSessionOpt ion>] [<CommonParameters>] DESCRIPCIN El cmdlet Enter-PSSession inicia una sesin interactiva con un solo equipo remoto. Durante la sesin, los comandos que se escriben se ejecutan en el equipo remoto, como si se estuviera escribiendo directamente en el equipo remoto. Solo se puede tener una sesin interactiva a la vez. Normalmente, se usa el parmetro ComputerName para especificar el nombre del equipo remoto. Sin embargo, tambin se puede utilizar una sesin que se cree usando New-PSSession para la sesin interactiva. Para finalizar la sesin interactiva y desconectar del equipo remoto, se utiliza el cmdlet Exit-PSSession o se escribe "exit". PARMETROS -AllowRedirection [<SwitchParameter>] Permite la redireccin de esta conexin a un identificador uniforme de recursos (URI) alternativo. Cuando se utiliza el parmetro ConnectionURI, el destino remoto puede devolver una instruccin de redireccin a otro URI. De forma predeterminada, Windows PowerShell no redirige conexiones, pero se puede usar este parmetro para permitir que se redirija la conexin. Permite la redireccin de esta conexin a un identificador URI alternativo. Cuando se utiliza el parmetro ConnectionURI, el destino remoto puede devolver una instruccin de redireccin a otro URI. De forma predeterminada, Windows PowerShell no redirige conexiones, pero se puede usar el parmetro AllowRedirection para permitir que se redirija la conexin. Puede limitar igualmente el uso de veces que se redirige la conexin estableciendo la propiedad MaximumConnectionRedirectionCount de la variable de preferencia $PSSessionOption o la propiedad MaximumConnectionRedirectionCount del valor del parmetro SessionOption. El valor predeterminado es 5. Para obtener ms informacin, vea la descripcin del parmetro SessionOption y vea New-PSSessionOption. -ApplicationName <string> Especifica el segmento del nombre de aplicacin del identificador URI de la conexin. Utilice este parmetro para especificar el nombre de aplicacin cuando no est utilizando el parmetro ConnectionURI del comando. El valor predeterminado es el valor de la variable de preferencia $PSSessionApplicationName en el equipo local. Si no se define esta variable de preferencia, el valor predeterminado es WSMAN. Este valor resulta

apropiado en la mayora de los casos. Para obtener ms informacin, vea about_Pr eference_Variables. El servicio WinRM utiliza el nombre de aplicacin para seleccionar un agente de escucha a fin de atender la solicitud de conexin. El valor de este parmetro debe coincidir con el valor de la propiedad URLPrefix de un agente de escucha en el equipo remoto. -Authentication <AuthenticationMechanism> Especifica el mecanismo que se utiliza para autenticar las credenciales del usuario. Los valores vlidos son "Default", "Basic", "Credssp", "Digest", "Kerberos", "Negotiate" y "NegotiateWithImplicitCredential". El valor predeterminado es "Default". La autenticacin CredSSP est disponible solo en Windows Vista, Windows Server 2008 y versiones posteriores de Windows. Para obtener informacin sobre los valores de este parmetro, vea la descripcin de la enumeracin System.Management.Automation.Runspaces.AuthenticationMechanism en MSDN (Microsoft Developer Network) Library, en http://go.microsoft.com/fwlink/?LinkId=144382. Precaucin: la autenticacin Credential Security Service Provider (CredSSP), en la que las credenciales del usuario pasan a un equipo remoto para su autenticacin, est diseada para los comandos que requieren autenticacin en ms de un recurso, como acceso a un recurso compartido de red re mota. Este mecanismo aumenta el riesgo que supone la operacin remota para la seguridad. Si el equipo remoto est en peligro, las credenciales que se le pasen podrn usarse para controlar la sesin de red. -CertificateThumbprint <string> Especifica el certificado de clave pblica digital (X509) de una cuenta de usuario que tiene permiso para realizar esta accin. Escriba la huella digital del certificado. Los certificados se usan en una autenticacin basada en certificados del cliente. Pueden asignarse nicamente a cuentas de usuario locales; no funcionan con cuentas de dominio. Para obtener la huella digital de un certificado, se usa el comando Get-Item o Get-ChildItem en la unidad Cert: de Windows PowerShell. -ComputerName <string> Inicia una sesin interactiva con el equipo remoto especificado. Escriba solamente un nombre de equipo. El valor predeterminado es el equipo local. Se debe escribir el nombre NetBIOS, la direccin IP o el nombre de dominio completo de uno o varios equipos remotos. Tambin se puede canalizar un nombre de equipo a Enter-PSSession. Para usar una direccin IP en el valor del parmetro ComputerName, el comando debe incluir el parmetro Credential. Se debe configurar igualmente el equipo para el transporte HTTPS o la direccin IP del equipo remoto debe estar incluida en la lista TrustedHosts de WinRM del equipo local. Pa

ra obtener instrucciones a fin de agregar un nombre de equipo a la lista TrustedHosts, vea el tema sobre cmo agregar un equipo a la lista de hosts de confianza en about_Remote_Troubleshooting. Nota: en Windows Vista y versiones posteriores de Windows, para incluir el equipo local en el valor del parmetro ComputerName, se debe iniciar Windows PowerShell con la opcin "Ejecutar como administrador". -ConfigurationName <string> Especifica la configuracin de sesin que se usa para la sesin interactiva. Escriba un nombre de configuracin o el URI de recurso completo para una configuracin de sesin. Si se especifica nicamente el nombre de configuracin, se antepone el siguiente identificador URI de esquema: http://schemas.microsoft.com/powershell. La configuracin de una sesin se encuentra en el equipo remoto. Si la configuracin de sesin especificada no existe en el equipo remoto, el comando generar un error. El valor predeterminado es el valor de la variable de preferencia $PSSessionConfigurationName en el equipo local. Si esta variable de preferencia no est establecida, el valor predeterminado es Microsoft.PowerShell. Para obtener ms informacin, vea about_Preference_Variables. -ConnectionURI <Uri> Especifica un identificador uniforme de recursos (URI) que define el extremo de la conexin de la sesin interactiva. El identificador URI debe ser completo. El formato de esta cadena es: <Transporte>://<nombreDeEquipo>:<Puerto>/<nombreDeAplicacin> El valor predeterminado es. http://localhost:80/WSMAN Los valores vlidos para el segmento Transport del URI son HTTP y HTTPS. Si no se especifica un ConnectionURI, se pueden utilizar los parmetros UseSSL, ComputerName, Port y ApplicationName para especificar los valores URI. Si el equipo de destino redirige la conexin a un identificador URI diferente, Windows PowerShell impide la redireccin, a menos que se use el parmetro AllowRedirection en el comando. -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01", "Dominio01\Usuario01" o "Usuario@Dominio.com", o bien, escriba un objeto PSCredential, como uno devuelto por el cmdlet Get-Credential. Cuando escriba un nombre de usuario, se le solicitar una contrasea. -Id <int> Especifica el identificador de una sesin existente. Enter-PSSession utiliza la sesin especificada para la sesin interactiva.

Para obtener el identificador de una sesin, se utiliza el cmdlet Get-PSSession. -InstanceId <Guid> Especifica el identificador de instancia de una sesin existente. Enter-PSSession utiliza la sesin especificada para la sesin interactiva. El identificador de instancia es un GUID. Para obtener el identificador de instancia de una sesin, utilice el cmdlet Get-PSSession. Tambin puede utilizar los parmetros Session, Name o ID para especificar una sesin existente. O bien, puede utilizar el parmetro ComputerName para iniciar una sesin temporal. -Name <string> Especifica el nombre simple de una sesin existente. Enter-PSSession utiliza la sesin especificada para la sesin interactiva. Si el nombre que se especifica coincide con ms de una sesin, se produce un error en el comando. Tambin puede utilizar los parmetros Session, InstanceID o ID para especificar una sesin existente. O bien, puede utilizar el parmetro ComputerName para iniciar una sesin temporal. Para establecer el nombre simple de una sesin, se utiliza el parmetro Name del cmdlet New-PSSession. -Port <int> Especifica el puerto de red en el equipo remoto utilizado para este comando. El valor predeterminado es el puerto 80 (puerto HTTP). Antes de usar un puerto alternativo, debe configurar la escucha de WinRM en el equipo remoto para escuchar en ese puerto. Use los comandos siguientes para configurar la escucha: 1. winrm delete winrm/config/listener?Address=*+Transport=HTTP 2. winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="<nmeroDePuerto>"} El parmetro Port no se debe usar a menos que sea imprescindible. El valor de puerto del comando se aplica a todos los equipos o sesiones en que el comando se ejecuta. La configuracin de un puerto alternativo puede impedir la ejecucin del comando en todos los equipos. -Session <PSSession> Especifica la sesin de Windows PowerShell (PSSession) que se ha de utilizar para la sesin interactiva. Este parmetro toma un objeto de sesin. Tambin puede utilizar los parmetros Name, InstanceID o ID para especificar una PSSession. Escriba una variable que contenga un objeto de sesin o un comando que lo cree u obtenga, como un comando New-PSSession o Get-PSSession. Tambin puede canalizar un objeto de sesin a Enter-PSSession. Solo se puede enviar una PSSession con este parmetro. Si escribe una variable que contenga ms de una PSSession, se produce un error en el comando. Cuando se utiliza Exit-PSSession o la palabra clave EXIT, la sesin interactiva finaliza, pero la PSSession creada permanece abierta y disponible para su uso.

-SessionOption <PSSessionOption> Establece opciones avanzadas para la sesin. Se debe especificar un objeto SessionOption creado mediante el cmdlet New-PSSessionOption. Los valores predeterminados para las opciones los determina el valor de la variable de preferencia $PSSessionOption, si se ha definido. De lo contrario, la sesin utiliza los valores predeterminados del sistema. Para obtener una descripcin de las opciones de sesin, incluidos los valores predeterminados, vea New-PSSessionOption. Para obtener informacin acerca de la variable de preferencia $PSSessionOption, vea about_Preference_Variables. -UseSSL [<SwitchParameter>] Use el protocolo Capa de sockets seguros (SSL) para establecer una conexin con el equipo remoto. De forma predeterminada, no se usa SSL. WS-Management cifra todo el contenido de Windows PowerShell que se transmite a travs de la red. UseSSL es una proteccin adicional que enva los datos a travs de una conexin HTTPS, en lugar de una conexin HTTP. Si se usa este parmetro pero SSL no est disponible en el puerto utilizado para el comando, se producir un error en el comando. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Enter-PSSession LocalHost\PS> Descripcin ----------Este comando inicia una sesin interactiva en el equipo local. El smbolo del sistema cambia para indicar que se estn ejecutando comandos ahora en otra sesin. Los comandos que se ejecuten en la nueva sesin y los resultados se devolvern a la sesin predeterminada como texto.

-------------------------- EJEMPLO 2 -------------------------C:\PS>enter-pssession -computer Server01 Server01\PS> get-process powershell > C:\ps-test\process.txt Server01\PS> exit-pssession C:\PS> C:\PS> dir C:\ps-test\process.txt Get-ChildItem : Cannot find path 'C:\ps-test\process.txt' because it does not exist. At line:1 char:4

+ dir <<<<

c:\ps-test\process.txt

Descripcin ----------Este comando muestra cmo se trabaja en una sesin interactiva con un equipo remoto. El primer comando utiliza el cmdlet Enter-PSSession para iniciar una sesin interactiva con Server01, un equipo remoto. Cuando la sesin se inicia, el smbolo del sistema cambia para incluir el nombre del equipo. El segundo comando obtiene el proceso de PowerShell y redirige los resultados al archivo Process.txt. El comando se enva al equipo remoto y el archivo se guarda en el equipo remoto. El tercer comando usa la palabra clave Exit para finalizar la sesin interactiva y cerrar la conexin. El cuarto comando confirma que el archivo Process.txt est en el equipo remoto. Un comando Get-ChildItem ("dir") en el equipo local no puede encontrar el archivo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$s = new-pssession -computername Server01 C:\PS> Enter-PSSession -session $s Server01\PS> Descripcin ----------Estos comandos utilizan el parmetro Session de Enter-PSSession para ejecutar la sesin interactiva en una sesin de Windows PowerShell (PSSession) existente.

-------------------------- EJEMPLO 4 -------------------------C:\PS>Enter-PSSession -computername Server01 -port 90 -credential domain01\user01 Server01\PS> Descripcin ----------Este comando inicia una sesin interactiva con el equipo Server01. Utiliza el parmetro Port para especificar el puerto y el parmetro Credential para especificar la cuenta de un usuario con permiso para conectar con el equipo remoto.

-------------------------- EJEMPLO 5 --------------------------

C:\PS>Enter-PSSession -computername Server01 Server01:\PS> Exit-PSSession C:\PS> Descripcin ----------En este ejemplo se muestra la forma de iniciar y detener una sesin interactiva. El primer comando utiliza el cmdlet Enter-PSSession para iniciar una sesin interactiva con el equipo Server01. El segundo comando usa el cmdlet Exit-PSSession para finalizar la sesin. Tambin se puede utilizar la palabra clave Exit para finalizar la sesin interactiva. Exit-PSSession y Exit tienen el mismo efecto.

NOTAS Para ver los ejemplos, escriba: "get-help Enter-PSSession -examples". Para obtener ms informacin, escriba: "get-help Enter-PSSession detailed". Para obtener informacin tcnica, escriba: "get-help Enter-PSSession full". NOMBRE Exit-PSSession SINOPSIS Finaliza una sesin interactiva con un equipo remoto. SINTAXIS Exit-PSSession [<CommonParameters>] DESCRIPCIN El cmdlet Exit-PSSession finaliza sesiones interactivas que se iniciaron mediante Enter-PSSession. Tambin se puede utilizar la palabra clave Exit para finalizar una sesin interactiva. El efecto es el mismo que si se usa Exit-PSSession. PARMETROS <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Enter-PSSession -computername Server01 Server01\PS> Exit-PSSession C:\PS> Descripcin

----------Estos comandos inician y despus detienen una sesin interactiva con el equipo remoto Server01.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$s = new-pssession -computername Server01 C:\PS> Enter-PSSession -session $s Server01\PS> Exit-PSSession C:\PS> $s Id Name -- ---1 Session1 ComputerName -----------Server01 State ----Opened ConfigurationName ----------------Microsoft.PowerShell

Descripcin ----------Estos comandos inician y detienen una sesin interactiva con el equipo Server01 que utiliza una sesin de Windows PowerShell (PSSession). Dado que la sesin interactiva se inici utilizando una sesin de Windows PowerShell (PSSession), la PSSession sigue estando disponible al finalizar la sesin interactiva. Si utiliza el parmetro ComputerName, Enter-PSSession crea una sesin temporal que se cierra al finalizar la sesin interac tiva. El primer comando utiliza el cmdlet New-PSSession para crear una PSSession en el equipo Server01. El comando guarda la PSSession en la variable $s. El segundo comando usa el cmdlet Enter-PSSession para iniciar una sesin interactiva utilizando la PSSession en $s. El tercer comando usa el cmdlet Exit-PSSession para detener la sesin interactiva. El ltimo comando muestra la PSSession en la variable $s. La propiedad State muestra que la PSSession sigue estando abierta y disponible para su uso.

-------------------------- EJEMPLO 3 -------------------------C:\PS>Enter-PSSession -computername Server01 Server01\PS> exit C:\PS> Descripcin -----------

Este comando utiliza la palabra clave Exit para detener una sesin interactiva iniciada mediante el cmdlet Enter-PSSession. La palabra clave Exit tiene el mismo efecto que si se usa Exit-PSSession.

NOTAS Para ver los ejemplos, escriba: "get-help Exit-PSSession -examples". Para obtener ms informacin, escriba: "get-help Exit-PSSession detailed". Para obtener informacin tcnica, escriba: "get-help Exit-PSSession full". NOMBRE New-PSSessionOption SINOPSIS Crea un objeto que contiene las opciones avanzadas de una PSSession. SINTAXIS New-PSSessionOption [-ApplicationArguments <PSPrimitiveDictionary>] [CancelTimeOut <int>] [-Culture <CultureInfo>] [-IdleTimeOut <int>] [MaximumReceivedDataSizePerCommand <int>] [-MaximumReceivedObjectSize <int>] [-MaximumRedirection <int>] [-NoCompression] [-NoEncryption] [NoMachineProfile] [-OpenTimeOut <int>] [-OperationTimeOut <int>] [-ProxyAccessType {None | IEConfig | WinHttpConfig | AutoDetect | NoProxyServer}] [ProxyAuthentication {Default | Basic | Negotiate | NegotiateWithImplicitCredential | Credssp | Digest | Kerberos}] [ProxyCredential <PSCredential>] [-SkipCACheck] [-SkipCNCheck] [-SkipRevocationCheck] [-UICulture <CultureInfo>] [UseUTF16] [<CommonParameters>] DESCRIPCIN El cmdlet New-PSSessionOption crea un objeto que contiene las opciones avanzadas de una PSSession. Se puede utilizar el objeto como valor del parmetro SessionOption de los cmdlets que crean una PSSession; por ejemplo, New-PSSession, Enter-PSSession e Invoke-Command. Sin parmetros, New-PSSessionOption genera un objeto que contiene los valores predeterminados para todas las opciones. Dado que se pueden editar todas las propiedades, el objeto resultante se puede utilizar como plantilla a fin de crear objetos de opcin estndar para la empresa. PARMETROS -ApplicationArguments <PSPrimitiveDictionary> Especifica una tabla hash que se enva directamente a la configuracin de sesin sin interpretacin. Esta tabla hash est disponible para la configuracin de sesin como propiedad de la clase PSSenderInfo. -CancelTimeOut <int> Determina cunto tiempo esperar Windows PowerShell para que se complete una operacin de cancelacin (CTRL + C) antes de finalizarla. Especifique un valor en milisegundos.

El valor predeterminado es 60000 (un minuto). El valor 0 (cero) significa que no se aplica ningn tiempo de espera y el comando contina indefinidamente. -Culture <CultureInfo> Especifica la referencia cultural que se va a usar para la PSSession. Debe escribirse un nombre de referencia cultural en formato <cdigoDeIdioma2>-<cdigoDeReginOPas2> (por ejemplo, "ja-jP"), una variable que contenga un objeto CultureInfo o un comando que obtenga un objeto CultureInfo, como "get-culture". El valor predeterminado es $null, en cuyo caso se utiliza en la PSSession la referencia cultural que est establecida en el sistema operativo en el momento de crearla. -IdleTimeOut <int> Determina cunto tiempo permanece abierta la PSSession si el equipo remoto no recibe ninguna comunicacin del equipo local, incluida la seal de actividad. Cuando el intervalo expira, la PSSession se cierra. Especifique un valor en milisegundos. El valor predeterminado es 240000 (4 minutos). El valor mnimo es 60000 (1 minuto). Si tanto el equipo local como el remoto especifican un valor de tiempo de espera inactivo, PSSession utiliza el valor de tiempo de espera ms breve. El equipo local puede establecer un valor de tiempo de espera inactivo mediante este parmetro o bien en la variable de preferencia $PSSession Option. El equipo remoto puede especificar un valor de tiempo de espera inactivo en la configuracin de WS-Management (WSMAN:\localhost\shell\idletimeout). -MaximumReceivedDataSizePerCommand <int> Especifica el nmero mximo de bytes que el equipo local puede recibir del equipo remoto en un mismo comando. Especifique un valor en bytes. De forma predeterminada no existe ningn lmite para el tamao de los datos. Esta opcin est diseada para proteger los recursos del equipo cliente. -MaximumReceivedObjectSize <int> Especifica el tamao mximo de un objeto que el equipo local puede recibir del equipo remoto. Especifique un valor en bytes. De forma predeterminada no existe ningn lmite para el tamao de los datos. Esta opcin est diseada para proteger los recursos del equipo cliente. -MaximumRedirection <int> Determina cuntas veces Windows PowerShell redirige una conexin a un identificador uniforme de recursos (URI) alternativo antes de que se produzca un error en la conexin. El valor predeterminado es 5. El valor 0 (cero) impide la redireccin. Esta opcin se utiliza en la PSSession solamente cuando se usa el parmetro AllowRedirection en el comando de creacin de la PSSession. -NoCompression [<SwitchParameter>]

Desactiva la compresin de paquetes en la PSSession. La compresin utiliza ms ciclos de procesador, pero agiliza la transmisin. -NoEncryption [<SwitchParameter>] Desactiva el cifrado de datos. -NoMachineProfile [<SwitchParameter>] Evita que se cargue el perfil de Windows del usuario. En consecuencia, puede que la PSSession se cree ms rpidamente, pero en ella no estarn disponibles la configuracin del Registro especfica del usuario ni elementos tales como variables de entorno o certificados. -OpenTimeOut <int> Determina cunto tiempo espera el equipo cliente a que se establezca la conexin de la sesin. Cuando el intervalo expira, se produce un error en el comando de establecimiento de la conexin. Especifique un valor en milisegundos. El valor predeterminado es 180000 (3 minutos). El valor 0 (cero) significa que no se aplica ningn tiempo de espera y el comando contina indefinidamente. -OperationTimeOut <int> Determina el tiempo mximo durante el que se puede ejecutar cualquier operacin en la PSSession. Cuando el intervalo expira, se produce un error en la operacin. Especifique un valor en milisegundos. El valor predeterminado es 180000 (3 minutos). El valor 0 (cero) significa que no se aplica ningn tiempo de espera y la operacin contina indefinidamente. -ProxyAccessType <ProxyAccessType> Determina qu mecanismo se utiliza para resolver el nombre de host. Los valores vlidos son IEConfig, WinHttpConfig, AutoDetect, NoProxyServer y None. El valor predeterminado es None. Para obtener informacin sobre los valores de este parmetro, vea la descripcin de la enumeracin System.Management.Automation.Remoting.ProxyAccessType en MSDN (Microsoft Developer Network) Library, en http://go.microsoft.com/fwlink/?LinkId=144756. -ProxyAuthentication <AuthenticationMechanism> Especifica el mtodo de autenticacin que se utiliza para la resolucin del proxy. Los valores vlidos son Basic, Digest y Negotiate. El valor predeterminado es Negotiate. Para obtener informacin sobre los valores de este parmetro, vea la descripcin de la enumeracin System.Management.Automation.Runspaces.AuthenticationMechanism en MSDN Library, en http://go.microsoft.com/fwlink/?LinkID=144382. -ProxyCredential <PSCredential> Especifica las credenciales que se van a usar para autenticar el proxy. Especifique una variable que contenga un objeto PSCredential o escriba un comando que lo obtenga, como Get-Credential. Si no se establece esta opcin, no se especifica ninguna credencial. -SkipCACheck [<SwitchParameter>]

Especifica que, al establecer una conexin a travs de HTTPS, el cliente no valida que el certificado de servidor est firmado por una entidad de certificacin de confianza. Esta opcin debe usarse nicamente si el equipo remoto es de confianza por medio de otro mecanismo, por ejemplo, si forma parte de una red fsicamente protegida y aislada, o si aparece como host de confianza en una configuracin de WinRM. -SkipCNCheck [<SwitchParameter>] Especifica que el nombre comn (CN) de certificado del servidor no necesita coincidir con el nombre de host del servidor. Esta opcin se usa nicamente en operaciones remotas que utilizan el protocolo HTTPS. Se debe utilizar solamente para equipos de confianza. -SkipRevocationCheck [<SwitchParameter>] No valida el estado de revocacin del certificado de servidor. -UICulture <CultureInfo> Especifica la referencia cultural de la IU que se va a usar para la PSSession. Debe escribirse un nombre de referencia cultural en formato <cdigoDeIdioma2>-<cdigoDeReginOPas2> (por ejemplo, "ja-jP"), una variable que contenga un objeto CultureInfo o un comando que obtenga un objeto CultureInfo, como Get-Culture. El valor predeterminado es $null, en cuyo caso se utiliza en la PSSession la referencia cultural de IU que est establecida en el sistema operativo en el momento de crearla. -UseUTF16 [<SwitchParameter>] La solicitud debe codificarse en formato UTF16 en vez de UTF8. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>New-PSSessionOption MaximumConnectionRedirectionCount NoCompression NoMachineProfile ProxyAccessType ProxyAuthentication ProxyCredential SkipCACheck SkipCNCheck SkipRevocationCheck OperationTimeout NoEncryption UseUTF16 Culture UICulture MaximumReceivedDataSizePerCommand : : : : : : : : : : : : : : : 5 False False IEConfig Negotiate False False False 00:03:00 False False

MaximumReceivedObjectSize ApplicationArguments OpenTimeout CancelTimeout IdleTimeout

: : : 00:03:00 : 00:01:00 : 00:04:00

Descripcin ----------Este comando crea un objeto de opciones de sesin con todos los valores predeterminados.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$pso = new-pssessionoption -Culture "fr-fr" MaximumReceivedObjectSize 10MB C:\PS> new-pssession -computerName Server01 -SessionOption $pso Descripcin ----------En este ejemplo se muestra cmo utilizar un objeto de opciones de sesin para configurar una sesin. El primer comando crea un nuevo objeto de opciones de sesin y lo guarda en el valor de la variable $pso. El segundo comando utiliza el cmdlet New-PSSession para crear una PSSession en el equipo remoto Server01. El comando utiliza el objeto de opciones de sesin contenido en el valor de la variable $pso como valor del parmetro SessionOption del comando.

-------------------------- EJEMPLO 3 -------------------------C:\PS>enter-pssession -computername Server01 -sessionOption (newpssessionoption -noEncryption -noCompression) Descripcin ----------Este primer comando utiliza el cmdlet Enter-PSSession para iniciar una sesin interactiva con el equipo Server01. El valor del parmetro SessionOption es un comando New-PSSessionOption con los parmetros de modificador NoEncryption y NoCompression. El comando New-PSSessionOption se coloca entre parntesis para asegurarse de que se ejecuta antes que el comando Enter-PSSession.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$a = new-pssessionoption MaximumConnectionRedirectionCount : 5

NoCompression NoMachineProfile ProxyAccessType ProxyAuthentication ProxyCredential SkipCACheck SkipCNCheck SkipRevocationCheck OperationTimeout NoEncryption UseUTF16 Culture UICulture MaximumReceivedDataSizePerCommand MaximumReceivedObjectSize ApplicationArguments OpenTimeout CancelTimeout IdleTimeout

: : : : : : : : : : : : : : : : : : :

False False IEConfig Negotiate False False False 00:03:00 False False

00:03:00 00:01:00 00:04:00

C:\PS> $a.UICulture = (get-UICulture) C:\PS> $a.OpenTimeout = (new-timespan -minutes 4) C:\PS> $a.MaximumConnectionRedirectionCount = 1 C:\PS> $a MaximumConnectionRedirectionCount NoCompression NoMachineProfile ProxyAccessType ProxyAuthentication ProxyCredential SkipCACheck SkipCNCheck SkipRevocationCheck OperationTimeout NoEncryption UseUTF16 Culture UICulture MaximumReceivedDataSizePerCommand MaximumReceivedObjectSize ApplicationArguments OpenTimeout CancelTimeout IdleTimeout : : : : : : : : : : : : : : : : : : : : 1 False False IEConfig Negotiate False False False 00:03:00 False False en-US

00:04:00 00:01:00 00:04:00

Descripcin ----------En este ejemplo se demuestra que es posible modificar el objeto de opciones de sesin. Todas las propiedades tienen valores de lectura y escritura. Este mtodo se utiliza para crear un objeto de sesin estndar para la empresa y, a continuacin, crear versiones personalizadas de l para usos especficos.

-------------------------- EJEMPLO 5 --------------------------

C:\PS>$PSSessionOption = New-PSSessionOption -OpenTimeOut 120000 Descripcin ----------Este comando crea una variable de preferencia $PSSessionOption. Cuando la variable de preferencia $PSSessionOption existe en la sesin, establece los valores predeterminados de las opciones de las PSSessions creadas mediante los cmdlets New-PSSession, Enter-PSSession e InvokeCommand. Para que la variable $PSSessionOption est disponible en todas las sesiones, debe agregarse a la sesin de Windows PowerShell y al perfil de Windows PowerShell del usuario. Para obtener ms informacin acerca de la variable $PSSessionOption, vea about_Preference_Variables. Para obtener ms informacin sobre perfiles, vea about_Profiles.

-------------------------- EJEMPLO 6 -------------------------C:\PS>$skipCN = new-pssessionoption -SkipCNCheck C:\PS> new-pssession -computername 171.09.21.207 -UseSSL -credential domain01\user01 -sessionOption $skipCN Descripcin ----------En este ejemplo se muestra cmo utilizar un objeto SessionOption para cumplir los requisitos de una configuracin de sesin remota. El primer comando utiliza el cmdlet New-PSSessionOption para crear un objeto de opciones de sesin con la propiedad SkipCNCheck. El comando guarda el objeto de sesin resultante en la variable $skipCN. El segundo comando utiliza el cmdlet New-PSSession para crear una PSSession nueva en un equipo remoto. La variable de comprobacin $skipCN se utiliza en el valor del parmetro SessionOption. Dado que el equipo se identifica mediante su direccin IP, el valor del parmetro ComputerName no coincide con ninguno de los nombres comunes del certificado utilizado para el protocolo Capa de sockets seguros (SSL). En consecuencia, se requiere la opcin SkipCNCheck.

NOTAS Para ver los ejemplos, escriba: "get-help New-PSSessionOption examples". Para obtener ms informacin, escriba: "get-help New-PSSessionOption detailed". Para obtener informacin tcnica, escriba: "get-help New-PSSessionOption -full". NOMBRE Format-Table

SINOPSIS Aplica a la salida el formato de una tabla. SINTAXIS Format-Table [[-Property] <Object[]>] [-AutoSize] [-DisplayError] [Expand <string>] [-Force] [-GroupBy <Object>] [-HideTableHeaders] [InputObject <psobject>] [-ShowError] [-View <string>] [-Wrap] [<CommonParameters>] DESCRIPCIN El cmdlet Format-Table aplica al resultado de un comando el formato una tabla con las propiedades seleccionadas del objeto en cada columna. tipo de objeto determina el diseo predeterminado y las propiedades que mostrarn en cada columna, pero puede usarse el parmetro Property para leccionar las propiedades que deben aparecer.

de El se se

Tambin puede utilizar una tabla hash para agregar propiedades calculadas a un objeto antes de mostrarlo y para especificar los encabezados de columna en la tabla. Para agregar una propiedad calculada, utilice los parmetros Property o GroupBy. PARMETROS -AutoSize [<SwitchParameter>] Ajusta el tamao de columna y el nmero de columnas en funcin del ancho de los datos. De forma predeterminada, el tamao y el nmero de columnas vienen determinados por la vista. -DisplayError [<SwitchParameter>] Muestra los errores en la lnea de comandos. -Expand <string> Da formato al objeto Collection, as como a los objetos de la coleccin. Este parmetro se ha diseado para dar un formato a los objetos que sea compatible con la interfaz ICollection (System.Collections). El valor predeterminado es EnumOnly. Los valores vlidos son: -- EnumOnly: muestra las propiedades de los objetos de la coleccin. -- CoreOnly: muestra las propiedades del objeto Collection. -- Both: muestra las propiedades del objeto Collection y de los objetos de la coleccin. -Force [<SwitchParameter>] Indica al cmdlet que muestre toda la informacin de error. Se utiliza con los parmetros DisplayError o ShowError. De forma predeterminada, cuando el objeto de error se escribe en la secuencia de error o de presentacin, se muestra solo parte de la informacin de error. -GroupBy <Object> Organiza el resultado ordenado en tablas independientes basndose en un valor de propiedad. Por ejemplo, puede utilizar GroupBy para mostrar los servicios en tablas independientes segn su estado. Especifique una expresin o una propiedad de la salida. El resultado debe ordenarse antes de enviarlo a Format-Table.

El valor del parmetro GroupBy puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -- Name (o Label) <cadena> -- Expression <cadena> o <bloque de script> -- FormatString <cadena> -HideTableHeaders [<SwitchParameter>] Omite los encabezados de columna de la tabla. -InputObject <psobject> Especifica los objetos a los que se les va a dar formato. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -Property <Object[]> Especifica las propiedades del objeto que se van a mostrar y el orden en el que van a aparecer. Escriba uno o varios nombres de propiedad (separados por comas) o utilice una tabla hash para mostrar una propiedad calculada. Se permite el uso de caracteres comodn. Si se omite este parmetro, las propiedades que aparezcan en la presentacin dependern del objeto que se est mostrando. El nombre del parmetro ("Property") es opcional. Los parmetros Property y View no se pueden usar en el mismo comando. El valor del parmetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -----Name (o Label) <cadena> Expression <cadena> o <bloque de script> FormatString <cadena> Width <int32> Alignment (el valor puede ser "Left", "Center" o "Right")

-ShowError [<SwitchParameter>] Enva los errores a travs de la canalizacin. -View <string> Especifica el nombre de un formato de tabla alternativo o una vista alternativa. Los parmetros Property y View no se pueden usar en el mismo comando. -Wrap [<SwitchParameter>] Muestra el texto que sobrepasa el ancho de columna en la lnea siguiente. De manera predeterminada, el texto que sobrepasa el ancho de columna se trunca. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-pssnapin | format-table -auto Descripcin

----------Este comando aplica a la informacin sobre los complementos de Windows PowerShell el formato de una tabla. De manera predeterminada, a estos complementos se les aplica el formato de lista. El cmdlet Get-PSSnapin obtiene los objetos que representan los complementos. El operador de canalizacin ( |) pasa el objeto al comando Format-Table, que aplica a los objetos el formato de tabla. El parmetro Autosize ajusta el ancho de columna para minimizar el truncamiento de los datos.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-process | sort-object -property basepriority | format-table groupby basepriority -wrap Descripcin ----------Este comando muestra los procesos del equipo en grupos con la misma prioridad base. El cmdlet Get-Process obtiene los objetos que representan los procesos de un equipo. El operador de canalizacin (|) pasa los objetos al cmdlet Sort-Object, que los ordena segn su prioridad base. Otro operador de canalizacin pasa los resultados al comando FormatTable. El parmetro GroupBy organiza los datos de los procesos en grupos de acuerdo con el valor de su propiedad BasePriority. El parmetro Wrap garantiza que no se truncan los datos.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-process | sort-object starttime | format-table -view starttime Descripcin ----------Este comando muestra la informacin sobre los procesos del equipo en grupos de acuerdo con la fecha de inicio de los procesos. Usa el cmdlet GetProcess para obtener los objetos que representan los procesos del equipo. El operador de canalizacin (|) enva los resultados de Get-Process al cmdle t Sort-Object, que los ordena segn la propiedad StartTime. Otro operador de canalizacin enva los resultados ordenados a Format-Table. El parmetro View se usa para seleccionar la vista StartTime que se ha definido en el archivo de formato DotNetTypes.format.ps1xml para los objetos System.Diagnostics.Process, como los que devuelve Get-Process. Esta vista transforma la fecha de inicio del proceso en una fecha abreviada y agrupa a continuacin los procesos de acuerdo con su fecha de inicio. El archivo de formato DotNetTypes.format.ps1xml contiene tambin una vista Priority para los procesos y el usuario puede crear sus propios archivos format.ps1xml con vistas personalizadas.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-service | format-table -property Name, DependentServices Descripcin ----------Este comando muestra todos los servicios del equipo en una tabla de dos columnas: Name y DependentServices. El comando utiliza el cmdlet Get-Service para obtener todos los servicios del equipo. El operador de canalizacin (|) enva los resultados al cmdlet Format-Table, que aplica a los resulta dos el formato de tabla. El parmetro Property especifica las propiedades que aparecen en la tabla como columnas. El nombre del parmetro Property es opcional y, por tanto, puede omitirse ("format-table name, dependentservices"). Property y DependentServices son dos de las propiedades de los objetos de servicio. Para ver todas las propiedades, escriba "get-service | getmember".

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-process notepad | format-table ProcessName, ` @{Label="TotalRunningTime"; Expression={(get-date) - $_.StartTime}} Descripcin ----------Este comando muestra cmo se usa una propiedad calculada en una tabla. El comando muestra una tabla con el nombre de proceso y el tiempo total de ejecucin de todos los procesos de Bloc de notas que se ejecutan en el equipo local. El tiempo total de ejecucin se calcula restando la hora de inic io de cada proceso de la hora actual. El comando usa el cmdlet Get-Process para obtener todos los procesos denominados "Notepad" (Bloc de notas) del equipo local. El operador de canalizacin (|) enva los resultados a Format-Table, que muestra una tabla de dos columnas: ProcessName, una propiedad estndar de los procesos, y TotalRu nningTime, una propiedad calculada. La propiedad TotalRunningTime se especifica mediante una tabla hash con dos claves, Label y Expression. El nombre de la propiedad se asigna a la clave Label. El clculo se asigna a la clave Expression. La expresin obtiene la propiedad StartTime de cada objeto de proceso y la resta del resultad o de un comando Get-Date, que obtiene la fecha (y la hora) actual.

-------------------------- EJEMPLO 6 -------------------------C:\PS>$processes = get-wmiobject -ComputerName Server01 win32_process filter "name='notepad.exe'" C:\PS> $processes | format-table ProcessName, @{ Label = "Total Time"; ` Running

Expression={(get-date) - $_.ConvertToDateTime($_.CreationDate)}} Descripcin ----------Estos comandos son similares al comando anterior, salvo en que usan el cmdlet Get-WmiObject y la clase Win32_Process para mostrar informacin sobre los procesos de Notepad (Bloc de notas) que se ejecutan en un equipo remoto. El primer comando usa el cmdlet Get-WmiObject para obtener las instancias de la clase Win32_Process de Instrumental de administracin de Windows (WMI), que describe todos los procesos del equipo Server01 que se denominan Notepad.exe. El comando almacena la informacin de los procesos en la vari able $processes. El segundo comando usa un operador de canalizacin (|) para enviar la informacin de los procesos almacenada en la variable $processes al cmdlet Format-Table, que muestra la propiedad ProcessName de cada proceso junto con una nueva propiedad calculada. El comando asigna el nombre de la nueva propiedad calculada, Total Running Time, a la clave Label. El bloque de script que se asigna a la clave Expression calcula el tiempo de ejecucin del proceso restando la fecha de creacin del proceso de la fecha actual. El cmdlet Get-Date obtiene la fecha actual. El mtodo ConvertToDateTime convierte la propiedad CreationDate del objeto Win32_Process de un objeto CIM_DATETIME de WMI en un objeto DateTime de Microsoft .NET Framework que se puede comparar con el resultado de Get-Date. A continuacin, la fecha de creacin resultante de la conversi n se resta de la fecha actual. El resultado es el valor de Total Running Time. El carcter de acento grave (`) es el carcter de continuacin de lnea.

NOTAS Para ver los ejemplos, escriba: "get-help Format-Table -examples". Para obtener ms informacin, escriba: "get-help Format-Table detailed". Para obtener informacin tcnica, escriba: "get-help Format-Table full". NOMBRE New-Event SINOPSIS Crea un nuevo evento. SINTAXIS New-Event [-SourceIdentifier] <string> [[-Sender] <psobject>] [[EventArguments] <PSObject[]>] [[-MessageData] <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet New-Event crea un nuevo evento personalizado.

Puede utilizar eventos personalizados para notificar a los usuarios los cambios de estado del programa as como cualquier cambio que el programa pueda detectar, incluidos las condiciones del hardware y del sistema, el estado de la aplicacin, el estado del disco, el estado de la red o la finali zacin de un trabajo en segundo plano. Cuando se generan, los eventos personalizados se agregan automticamente a la cola de eventos de la sesin; no es necesario suscribirse a ellos. Sin embargo, si desea reenviar un evento a la sesin local o especificar una accin para responder al evento, utilice el cmdlet Register-EngineEvent p ara suscribirse al evento personalizado. Al suscribirse a un evento personalizado, se agrega el suscriptor de eventos a la sesin. Si cancela la suscripcin mediante el cmdlet Unregister-Event, se eliminan el suscriptor de eventos y el evento personalizado de la sesin. Si no se suscribe al evento personalizado, deber cambiar las con diciones del programa o cerrar la sesin de Windows PowerShell para poder eliminar el evento. PARMETROS -EventArguments <PSObject[]> Especifica un objeto que contiene opciones para el evento. -MessageData <psobject> Especifica datos adicionales que estn asociados al evento. El valor de este parmetro aparece en la propiedad MessageData del objeto de evento. -Sender <psobject> Especifica el objeto que genera el evento. El valor predeterminado es el motor de Windows PowerShell. -SourceIdentifier <string> Especifica un nombre para el nuevo evento. Este parmetro es obligatorio y debe ser nico en la sesin. El valor de este parmetro aparece en la propiedad SourceIdentifier de los eventos. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>new-event -sourceidentifier Timer -sender windows.timer messagedata "Test" -

Descripcin ----------Este comando crea un nuevo evento en la cola de eventos de Windows PowerShell. Utiliza un objeto Windows.Timer para enviar el evento.

-------------------------- EJEMPLO 2 --------------------------

C:\PS>function Enable-ProcessCreationEvent { $query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", (New-Object TimeSpan 0,0,1), "TargetInstance isa 'Win32_Process'" $processWatcher = New-Object System.Management.ManagementEventWatcher $query $identifier = "WMI.ProcessCreated" Register-ObjectEvent $processWatcher "EventArrived" -SupportEvent $identifier -Action { [void] (New-Event -sourceID "PowerShell.ProcessCreated" -Sender $args[0] -EventArguments $args[1].SourceEventArgs.NewEvent.TargetInstance) } } Descripcin ----------Esta funcin de ejemplo utiliza el cmdlet New-Event para generar un evento en respuesta a otro evento. El comando utiliza el cmdlet RegisterObjectEvent para suscribirse al evento de Instrumental de administracin de Windows (WMI) que se provoca cuando se crea un nuevo proceso. El comando utili za el parmetro Action del cmdlet para llamar al cmdlet New-Event, que crea el nuevo evento. Dado que los eventos generados por New-Event se agregan automticamente a la cola de eventos de Windows PowerShell, no es necesario registrarse para ese evento.

NOTAS Para ver los ejemplos, escriba: "get-help New-Event -examples". Para obtener ms informacin, escriba: "get-help New-Event -detailed". Para obtener informacin tcnica, escriba: "get-help New-Event -full". NOMBRE Add-Member SINOPSIS Agrega un miembro personalizado definido por el usuario a una instancia de un objeto de Windows PowerShell. SINTAXIS Add-Member [-MemberType] {AliasProperty | CodeProperty | Property | NoteProperty | ScriptProperty | Properties | PropertySet | Method | CodeMethod | ScriptMethod | Methods | ParameterizedProperty | MemberSet | Event | All} [-Name] <string> -InputObject <psobject> [[-Value] <Object>] [[-SecondVa lue] <Object>] [-Force] [-PassThru] [<CommonParameters>] DESCRIPCIN El cmdlet Add-Member agrega un miembro personalizado definido por el usuario a una instancia de un objeto de Windows PowerShell. Permite agregar los siguientes tipos de miembros: AliasProperty, CodeProperty, NoteProperty, ScriptProperty, PropertySet, CodeMethod, MemberSet y ScriptMethod. El usu

ario especifica el valor inicial del miembro mediante el parmetro Value. En el caso de AliasProperty, ScriptProperty, CodeProperty y CodeMethod, se puede proporcionar informacin adicional a travs del parmetro SecondValue. Los miembros adicionales se agregan a la instancia concreta del objeto que se canaliza a Add-Member o se especifica mediante el parmetro InputObject. El miembro adicional solo estar disponible mientras exista dicha instancia. Puede usar el cmdlet Export-Clixml para guardar la instancia, junto con los miembros adicionales, en un archivo. El cmdlet Import-Clixml puede usar la informacin almacenada en dicho archivo para crear de nuevo la instancia del objeto. PARMETROS -Force [<SwitchParameter>] Agrega un nuevo miembro aunque ya exista otro con el mismo nombre. No funciona con los miembros principales de un tipo. -InputObject <psobject> Especifica el objeto al que se agrega el nuevo miembro. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -MemberType <PSMemberTypes> Especifica el tipo de miembro que se va a agregar. es obligatorio. Este parmetro

Los valores apropiados para este parmetro son: -- AliasProperty: una propiedad que define un nuevo nombre para una propiedad existente. -- CodeMethod: un mtodo que hace referencia a un mtodo esttico de una clase de Microsoft .NET Framework. -- CodeProperty: una propiedad que hace referencia a una propiedad esttica de una clase de .NET Framework. -- MemberSet: una coleccin predefinida de propiedades y mtodos, como PSBase, PSObject y PSTypeNames. -- Method: un mtodo del objeto subyacente de .NET Framework. -- NoteProperty: una propiedad con un valor esttico. -- ParameterizedProperty: una propiedad que toma parmetros y valores de parmetro. -- Property: una propiedad del objeto subyacente de .NET Framework. -- PropertySet: una coleccin predefinida de propiedades de objeto. -- ScriptMethod: un mtodo cuyo valor es el resultado de un script. -- ScriptProperty: una propiedad cuyo valor es el resultado de un script. -- All: obtiene todos los tipos de miembro. -- Methods: obtiene todos los tipos de mtodo del objeto (por ejemplo, method, codemethod, scriptmethod). -- Properties: obtiene todos los tipos de propiedad del objeto (por ejemplo, property, codeproperty, aliasproperty, scriptproperty). No todos los objetos tienen cada tipo de miembro. Si especifica un tipo de miembro que el objeto no tiene, Windows PowerShell devuelve un error. El tipo de miembro Event no es vlido para Add-Member. -Name <string>

Especifica el nombre del miembro que se va a agregar. Si se omite el nombre del parmetro "Name", el valor del parmetro Name debe ser el segundo valor de parmetro sin nombre en el comando. Si se incluye el nombre del parmetro, los parmetros pueden aparecer en cualquier orden. -PassThru [<SwitchParameter>] Pasa a la canalizacin el objeto que se acaba de extender. De forma predeterminada, este cmdlet no genera resultados. -SecondValue <Object> Especifica informacin adicional opcional sobre los miembros AliasProperty, ScriptProperty, CodeProperty o CodeMethod. Si se usa al agregar un miembro AliasProperty, este parmetro debe ser un tipo de dato. El valor de AliasProperty se convertir en el tipo de dato especificado. Por ejemplo , si se agrega un miembro AliasProperty que proporciona un nombre alternativo para una propiedad de cadena, se puede especificar tambin un parmetro SecondValue de System.Int32 para indicar que el valor de esa propiedad de cadena debe convertirse en un nmero entero cuando se obtenga acces o a travs del miembro AliasProperty correspondiente. Tambin puede usar el parmetro SecondValue para especificar un bloque de script adicional al agregar un miembro ScriptProperty. En ese caso, el primer ScriptBlock, especificado en el parmetro Value, se utiliza para obtener el valor de una variable. El segundo ScriptBlock, especificado en el parmetro SecondValue, se utiliza para establecer el valor de una variable. -Value <Object> Especifica el valor inicial del miembro agregado. Si agrega un miembro AliasProperty, CodeProperty o CodeMethod, puede proporcionar informacin adicional opcional mediante el parmetro SecondValue. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$a = (get-childitem)[0] C:\PS> $a | add-member -membertype noteproperty -name Status -value done C:\PS> $a | get-member -type noteproperty TypeName: System.IO.DirectoryInfo Name ---PSChildName PSDrive PSIsContainer PSParentPath PSPath PSProvider MemberType ---------NoteProperty NoteProperty NoteProperty NoteProperty NoteProperty NoteProperty Definition ---------System.String PSChildName=Co System.Management.Automation System.Boolean PSIsContainer System.String PSParentPath=M System.String PSPath=Microso System.Management.Automation

Status

NoteProperty System.String Status=done

Descripcin ----------Estos comandos agregan la propiedad de nota Status a un objeto DirectoryInfo devuelto por Get-ChildItem y le asignan el valor "done". El primer comando obtiene el primer objeto que Get-Childitem devuelve (ndice 0). El segundo comando agrega la propiedad de nota. El tercer comando usa un operador de canalizacin (|) para enviar el objeto actualizado al cmdlet Get-Member. En el resultado se muestra que se ha agregado la propiedad.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$a = (get-childitem)[0] C:\PS> $a | add-member -membertype aliasproperty -name FileLength -value Length C:\PS> $a.filelength Descripcin ----------Estos comandos agregan la propiedad de alias FileLength a un objeto DirectoryInfo devuelto por Get-ChildItem. La nueva propiedad es un alias de la propiedad Length. El primer comando obtiene el primer objeto que Get-Childitem devuelve (ndice 0). El segundo comando agrega la propiedad de alias. El tercer comando devuelve el valor de la nueva propiedad FileLength.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$a = "a string" C:\PS> $a = $a | add-member -membertype noteproperty -name StringUse value Display -passthru C:\PS> $a.StringUse Descripcin ----------Estos comandos agregan la propiedad StringUse a una cadena. Dado que la cadena no es un objeto PSObject, se debe incluir el parmetro PassThru en el comando para guardar la cadena extendida en la variable. El ltimo comando del ejemplo muestra la nueva propiedad.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$a = "this is a string" C:\PS> $a = add-member -inputobject $a -membertype scriptmethod -name words ` -value {$this.split()} -passthru C:\PS> $a.words() Descripcin ----------Estos comandos agregan un mtodo de script a un objeto de cadena. El mtodo de script expone el mtodo Split() de la clase System.String de la biblioteca de clases de .NET Framework para permitir que se devuelvan las distintas palabras de una cadena llamando a un mtodo de identificacin de pal abras en el objeto de cadena. Tenga en cuenta que se ha especificado el parmetro PassThru para que Add-Member devuelva el objeto de cadena extendido como resultado que se va a almacenar en la variable $a.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$event = get-eventlog -logname system -newest 1 C:\PS> $event.TimeWritten | get-member C:\PS> add-member -inputobject $event -membertype aliasproperty -name When ` -value TimeWritten -secondvalue System.String C:\PS> $event.When | get-member Descripcin ----------Estos comandos agrega un miembro AliasProperty a un objeto EventLogEntry devuelto por los cmdlets Get-EventLog. El miembro AliasProperty se denomina "When" y es un alias de la propiedad TimeWritten del objeto. El parmetro SecondValue se usa para indicar que el valor de la propiedad debe conver tirse al tipo System.String cuando se obtiene acceso a travs del miembro AliasProperty (la propiedad TimeWritten es un objeto DateTime). La primera lnea del comando usa el cmdlet Get-EventLog para recuperar el evento ms reciente del registro de eventos del sistema y lo almacena en la variable $event. El segundo comando obtiene acceso a la propiedad TimeWritten de ese evento y la canaliza al cmdlet Get-Member para mostrar que la propiedad es del tipo DateTime. A continuacin, se usa Add-Member para agregar un miembro AliasProperty a la instancia del objeto EventLogEntry que est almacenado e n la variable $event. El parmetro Name se usa para definir el nombre del nuevo miembro como "When", mientras que el parmetro Value se usa para especificar que se trata de un alias de la propiedad TimeWritten. El parmetro SecondValue se usa para indicar que, cuando se usa este nuevo miembro,

el valor que devuelve debe convertirse de su tipo original, System.DateTime, al tipo System.String. El tercer comando obtiene acceso al nuevo miembro y lo canaliza al cmdlet Get-Member para confirmar que es del tipo System.String.

-------------------------- EJEMPLO 6 -------------------------C:\PS>function Copy-Property ($From, $To) { foreach ($p in Get-Member -InputObject $From -MemberType Property) { Add-Member -InputObject $To -MemberType NoteProperty -Name $p.Name -Value $From.$($p.Name) -Force $To.$($p.Name) = $From.$($p.Name) } } Descripcin ----------Esta funcin copia todas las propiedades de un objeto en otro objeto. El primer comando de la funcin declara el nombre de funcin y muestra sus parmetros. El bucle Foreach utiliza el cmdlet Get-Member para obtener cada una de las propiedades del objeto From. Los comandos dentro del bucle Foreach se ejecutan en serie en cada una de las propiedades. El comando Add-Member agrega la propiedad del objeto From al objeto To como una propiedad NoteProperty. Utiliza el parmetro Force para que el comando pueda agregar miembros con el mismo nombre. El ltimo comando de la funcin asigna a la nueva propiedad el mismo nombre que tiene la propiedad original.

NOTAS Para ver los ejemplos, escriba: "get-help Add-Member -examples". Para obtener ms informacin, escriba: "get-help Add-Member -detailed". Para obtener informacin tcnica, escriba: "get-help Add-Member -full". NOMBRE Add-Type SINOPSIS Agrega un tipo (clase) de Microsoft .NET Framework a una sesin de Windows PowerShell. SINTAXIS Add-Type -AssemblyName <string[]> [-IgnoreWarnings] [-PassThru] [<CommonParameters>]

Add-Type [-Name] <string> [-MemberDefinition] <string[]> [CodeDomProvider <CodeDomProvider>] [-CompilerParameters <CompilerParameters>] [-Language {CSharp | CSharpVersion3 | VisualBasic | JScript}] [-Namespace <string>] [-OutputAssembly <string>] [-OutputType <OutputAssemblyType>] [-Referenced Assemblies <string[]>] [-UsingNamespace <string[]>] [-IgnoreWarnings] [PassThru] [<CommonParameters>] Add-Type [-Path] <string[]> [-CompilerParameters <CompilerParameters>] [-OutputAssembly <string>] [-OutputType <OutputAssemblyType>] [ReferencedAssemblies <string[]>] [-IgnoreWarnings] [-PassThru] [<CommonParameters>] Add-Type [-TypeDefinition] <string> [-CodeDomProvider <CodeDomProvider>] [-CompilerParameters <CompilerParameters>] [-Language {CSharp | CSharpVersion3 | VisualBasic | JScript}] [-OutputAssembly <string>] [OutputType <OutputAssemblyType>] [-ReferencedAssemblies <string[]>] [IgnoreWarnings] [PassThru] [<CommonParameters>] DESCRIPCIN El cmdlet Add-Type permite definir una clase de .NET Framework en una sesin de Windows PowerShell. De ese modo, puede crear instancias de objetos (mediante el cmdlet New-Object) y usar los objetos de la misma manera que cualquier otro objeto de .NET Framework. Si agrega un comando Add-Type a su perfil de Windows PowerShell, la clase estar disponible en todas las sesiones de Windows PowerShell. Puede especificar el tipo especificando un ensamblado o archivos de cdigo fuente existentes, o bien, puede especificar el cdigo fuente insertado o guardado en una variable. Incluso puede especificar solo un mtodo y Add-Type definir y generar la clase. Puede utilizar esta caracterstica par a realizar llamadas de invocacin de plataforma (P/Invoke) a funciones no administradas de Windows PowerShell. Si especifica cdigo fuente, AddType lo compila y genera un ensamblado en memoria que contiene los nuevos tipos de .NET Framework. Puede utilizar los parmetros de Add-Type para especificar otro lenguaje y otro compilador (CSharp es el valor predeterminado), las opciones de compilador, las dependencias de ensamblado, el espacio de nombres de la clase as como los nombres del tipo y el ensamblado resultante. PARMETROS -AssemblyName <string[]> Especifica el nombre de un ensamblado que incluye los tipos. AddType toma los tipos del ensamblado especificado. Este parmetro es obligatorio cuando se crean tipos basndose en un nombre de ensamblado. Escriba el nombre completo o simple (tambin denominado "nombre parcial") de un ensamblado. Se permite el uso de caracteres comodn en el nombre del ensamblado. Si escribe un nombre simple o parcial, Add-Type lo resuelve como nombre completo y, a continuacin, utiliza el nombre completo par a cargar el ensamblado. Este parmetro no acepta una ruta de acceso ni nombre de archivo. Para escribir la ruta de acceso al archivo DLL (biblioteca de vnculos dinmicos) de ensamblado, utilice el parmetro Path.

-CodeDomProvider <CodeDomProvider> Especifica un generador o compilador de cdigo. Add-Type utiliza el compilador especificado para compilar el cdigo fuente. El valor predeterminado es el compilador de CSharp. Utilice este parmetro si usa un lenguaje que no se pueda especificar mediante el parmetro Language. El CodeDomP rovider que especifique deber poder generar ensamblados a partir del cdigo fuente. -CompilerParameters <CompilerParameters> Especifica las opciones para el compilador de cdigo fuente. Estas opciones se envan al compilador sin revisin alguna. Este parmetro permite indicar al compilador que genere un archivo ejecutable, incruste recursos o establezca opciones de la lnea de comandos, como la opcin "/unsafe". Este parmetro implementa la clase CompilerParameters (System.CodeDom.Compiler.CompilerParameters). -IgnoreWarnings [<SwitchParameter>] Omite las advertencias del compilador. Use este parmetro para evitar que Add-Type administre las advertencias del compilador como errores. -Language <Language> Especifica el lenguaje que se usa en el cdigo fuente. Add-Type utiliza el lenguaje para seleccionar el compilador de cdigo correcto. Los valores vlidos son "CSharp", "CSharpVersion3", "VisualBasic" y "JScript". "CSharp" es el valor predeterminado. -MemberDefinition <string[]> Especifica propiedades o mtodos nuevos para la clase. Add-Type genera el cdigo de plantilla necesario para admitir las propiedades o los mtodos. Puede utilizar esta caracterstica para realizar llamadas de invocacin de plataforma (P/Invoke) a funciones no administradas de Windows PowerShell. Para obtener ms informacin, vea los ejemplos. -Name <string> Especifica el nombre de la clase que se va a crear. Este parmetro es obligatorio cuando se genera un tipo a partir de una definicin de miembro. El nombre de tipo y el espacio de nombres deben ser nicos dentro de una sesin. No se puede descargar ni cambiar un tipo. Si necesita cambiar el cdigo de un tipo, debe cambiar el nombre o iniciar una nueva sesin de Windows PowerShell. De lo contrario, se produce un error al ejecutar el c omando. -Namespace <string> Especifica un espacio de nombres para el tipo. Si no se incluye este parmetro en el comando, el tipo se crea en el espacio de nombres Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes. Si se incluye el parmetro en el comando con un valor de cadena vaco o el valor $null, el tipo se genera en el espacio de nombres global. -OutputAssembly <string> Genera un archivo DLL para el ensamblado con el nombre especificado en la ubicacin. Escriba una ruta de acceso (opcional) y un nombre de

archivo. Se permite el uso de caracteres comodn. De forma predeterminada, Add-Type genera el ensamblado solamente en la memoria. -OutputType <OutputAssemblyType> Especifica el tipo del ensamblado de salida. Los valores vlidos son Library, ConsoleApplication y WindowsApplication. De forma predeterminada, no se especifica ningn tipo de salida. Este parmetro solo es vlido cuando se especifica un ensamblado de salida en el comando. -PassThru [<SwitchParameter>] Devuelve un objeto System.Runtime que representa los tipos que se agregaron. De forma predeterminada, este cmdlet no genera resultados. -Path <string[]> Especifica la ruta de acceso a los archivos de cdigo fuente o los archivos DLL de ensamblado que contienen los tipos. Si enva archivos de cdigo fuente, Add-Type compila el cdigo en los archivos y crea un ensamblado en memoria de los tipos. La extensin de nombre de archivo especificada en el valor de Path determina el compilador usado por Add-Type. Si enva un archivo de ensamblado, Add-Type toma los tipos del ensamblado. Para especificar un ensamblado en memoria o la cach global de ensamblados, utilice el parmetro AssemblyName. -ReferencedAssemblies <string[]> Especifica los ensamblados de los que depende el tipo. De forma predeterminada, Add-Type hace referencia a System.dll y System.Management.Automation.dll. No solo se hace referencia a los ensamblados predeterminados sino tambin a los ensamblados especificados mediante este parmetro. -TypeDefinition <string> Especifica el cdigo fuente que contiene las definiciones de tipo. Escriba el cdigo fuente en una cadena o cadena multilnea intercalada en el cdigo, o bien, escriba una variable que contenga el cdigo fuente. Para obtener ms informacin sobre las cadenas multilnea intercaladas en el c digo, vea about_Quoting_Rules. Incluya una declaracin de espacio de nombres en la definicin de tipo. Si la omite, es posible que el tipo tenga el mismo nombre que otro tipo o el acceso directo de otro tipo, de modo que lo sobrescribir de manera involuntaria. Por ejemplo, si define un tipo denominado "Exception", los s cripts que usen "Exception" como acceso directo para System.Exception generarn un error. -UsingNamespace <string[]> Especifica otros espacios de nombres que se requieren para la clase. Es similar a la palabra clave Using de C#. De forma predeterminada, Add-Type hace referencia al espacio de nombres System. Cuando se utiliza el parmetro MemberDefinition, Add-Type tambin hace referencia de forma predeterminada al espacio de nombres System.Runtime.InteropServices. No solo se hace referencia a los espacios de nombre s predeterminados sino tambin a los espacios de nombres agregados mediante el parmetro UsingNamespace.

<CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$source = @" public class BasicTest { public static int Add(int a, int b) { return (a + b); } public int Multiply(int a, int b) { return (a * b); } } "@ C:\PS> Add-Type -TypeDefinition $source C:\PS> [BasicTest]::Add(4, 3) C:\PS> $basicTestObject = New-Object BasicTest C:\PS> $basicTestObject.Multiply(5, 2) Descripcin ----------Estos comandos agregan la clase BasicTest a la sesin especificando cdigo fuente que est almacenado en una variable. El tipo tiene un mtodo esttico denominado Add y un mtodo no esttico denominado Multiply. El primer comando almacena el cdigo fuente de la clase en la variable $source. El segundo comando usa el cmdlet Add-Type para agregar la clase a la sesin. Dado que usa cdigo fuente insertado, el comando utiliza el parmetro TypeDefinition para especificar el cdigo en la variable $source. Los comandos restantes utilizan la nueva clase. El tercer comando usa el mtodo esttico Add de la clase BasicTest. Utiliza los caracteres de dos puntos dobles (::) para especificar un miembro esttico de la clase. El cuarto comando utiliza el cmdlet New-Object para crear una instancia de la clase BasicTest. Guarda el nuevo objeto en la variable $basicTestObject. El quinto comando utiliza el mtodo Multiply de $basicTestObject.

-------------------------- EJEMPLO 2 --------------------------

C:\PS>[BasicTest] | get-member C:\PS> [BasicTest] | get-member -static C:\PS> $basicTestObject | get-member C:\PS> [BasicTest] | get-member TypeName: System.RuntimeType Name ---Clone Equals FindInterfaces ... MemberType ---------Method Method Method Definition ---------System.Object Clone() System.Boolean Equals System.Type[] FindInt

C:\PS> [BasicTest] | get-member -static TypeName: BasicTest Name ---Add Equals ReferenceEquals MemberType ---------Method Method Method Definition ---------static System.Int32 Add(Int32 a, Int32 b) static System.Boolean Equals(Object objA, static System.Boolean ReferenceEquals(Obj

C:\PS> $basicTestObject | get-member TypeName: BasicTest Name ---Equals GetHashCode GetType Multiply ToString MemberType ---------Method Method Method Method Method Definition ---------System.Boolean Equals(Object obj) System.Int32 GetHashCode() System.Type GetType() System.Int32 Multiply(Int32 a, Int32 b) System.String ToString()

Descripcin ----------Estos comandos utilizan el cmdlet Get-Member para examinar los objetos creados por los cmdlets Add-Type y New-Object en el ejemplo anterior. El primer comando utiliza el cmdlet Get-Member para obtener el tipo y los miembros de la clase BasicTest agregada por Add-Type a la sesin. El comando Get-Member revela que es un objeto System.RuntimeType, que se deriva de la clase System.Object. El segundo comando usa el parmetro Static de Get-Member para obtener los mtodos y propiedades estticos de la clase BasicTest. Los resultados indican que se incluye el mtodo Add. El tercer comando usa Get-Member para obtener los miembros del objeto almacenado en la variable $BasicTestObject. Se trata de la instancia de objeto que se cre usando el cmdlet New-Object con la clase $BasicType.

Los resultados indican que el valor de la variable $basicTestObject es una instancia de la clase BasicTest y que incluye un miembro denominado Multiply.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$accType = add-type -assemblyname accessib* -passthru Descripcin ----------Este comando agrega las clases del ensamblado Accessibility a la sesin actual. El comando usa el parmetro AssemblyName para especificar el nombre del ensamblado. El carcter comodn permite obtener el ensamblado correcto, incluso si no est seguro del nombre o de su ortografa. El comando utiliza el parmetro PassThru para generar objetos que representen las clases agregadas a la sesin y guarda los objetos en la variable $accType.

-------------------------- EJEMPLO 4 -------------------------C:\PS>add-type -path c:\ps-test\Hello.vb [VBFromFile]::SayHello(", World") # From Hello.vb Public Class VBFromFile Public Shared Function SayHello(sourceName As String) As String Dim myValue As String = "Hello" return myValue + sourceName End Function End Class C:\PS> [VBFromFile]::SayHello(", World") Hello, World Descripcin ----------En este ejemplo, se utiliza el cmdlet Add-Type para agregar a la sesin actual la clase VBFromFile que se define en el archivo Hello.vb. El texto del archivo Hello.vb se muestra en el resultado del comando. El primer comando utiliza el cmdlet Add-Type para agregar a la sesin actual el tipo que se define en el archivo Hello.vb. El comando utiliza el parmetro Path para especificar el archivo de origen. El segundo comando llama a la funcin SayHello como un mtodo esttico de la clase VBFromFile.

-------------------------- EJEMPLO 5 --------------------------

C:\PS>$signature = @" [DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); "@ $showWindowAsync = Add-Type -memberDefinition $signature -name "Win32ShowWindowAsync" -namespace Win32Functions -passThru # Minimize the Windows PowerShell console $showWindowAsync::ShowWindowAsync((Get-Process -id $pid).MainWindowHandle, 2) # Restore it $showWindowAsync::ShowWindowAsync((Get-Process -id $pid).MainWindowHandle, 4) Descripcin ----------Los comandos de este ejemplo muestran cmo llamar a las API nativas de Windows en Windows PowerShell. Add-Type utiliza el mecanismo de invocacin de plataforma (P/Invoke) para llamar a una funcin en User32.dll de Windows PowerShell. El primer comando almacena la firma de C# de la funcin ShowWindowAsync en la variable $signature. (Para obtener ms informacin, vea la funcin ShowWindowAsync en MSDN Library, en http://go.microsoft.com/fwlink/? LinkId=143643 (puede estar en ingls).) Para asegurar que se vea el mtodo result ante en una sesin de Windows PowerShell, se ha agregado la palabra clave "public" a la firma estndar. El segundo comando usa el cmdlet Add-Type para agregar la funcin ShowWindowAsync a la sesin de Windows PowerShell como un mtodo esttico de una clase creada por Add-Type. El comando utiliza el parmetro MemberDefinition para especificar la definicin de mtodo guardada en la variable $signat ure. El comando utiliza los parmetros Name y Namespace para especificar un nombre y un espacio de nombres para la clase. Utiliza el parmetro PassThru para generar un objeto que represente los tipos y guarda el objeto en la variable $showWindowAsync. El tercer y cuarto comando utilizan el nuevo mtodo esttico ShowWindowAsync. El mtodo toma dos parmetros: el identificador de ventana y un entero que especifica cmo se va a mostrar la ventana. El tercer comando llama a ShowWindowAsync. Utiliza el cmdlet Get-Process con la variable automtica $pid para obtener el proceso que hospeda la actual sesin de Windows PowerShell. A continuacin, utiliza la propiedad MainWindowHandle del proceso actual y el valor "2", que representa el valor S W_MINIMIZE. Para restaurar la ventana, el cuarto comando usa el valor "4" para la posicin de la ventana, el cual representa el valor SW_RESTORE. (SW_MAXIMIZE viene representado por el valor 3.)

-------------------------- EJEMPLO 6 -------------------------C:\PS>Add-Type -MemberDefinition $jsMethod -Name "PrintInfo" -Language JScript Descripcin ----------Este comando utiliza el cmdlet Add-Type para agregar a la sesin de Windows PowerShell un mtodo de cdigo JScript insertado. Utiliza el parmetro MemberDefinition para enviar el cdigo fuente almacenado en la variable $jsMethod. Utiliza la variable Name para especificar el nombre de la clase c reada por Add-Type para el mtodo y usa el parmetro Language para especificar el lenguaje JScript.

-------------------------- EJEMPLO 7 -------------------------C:\PS>Add-Type -Path FSharp.Compiler.CodeDom.dll C:\PS> Add-Type -Path FSharp.Compiler.CodeDom.dll C:\PS> $provider = New-Object Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider C:\PS> $fSharpCode = @" let rec loop n = if n <= 0 then () else begin print_endline (string_of_int n); loop (n-1) end "@ C:\PS> $fsharpType = Add-Type -TypeDefinition $fSharpCode CodeDomProvider $provider -PassThru | where { $_.IsPublic } C:\PS> $fsharpType::loop(4) 4 3 2 1 Descripcin ----------En este ejemplo se muestra cmo utilizar el cmdlet Add-Type para agregar un compilador de cdigo de FSharp a una sesin de Windows PowerShell. Para poder ejecutar este ejemplo en Windows PowerShell, debe tener FSharp.Compiler.CodeDom.dll que se instala con el lenguaje FSharp. El primer comando del ejemplo utiliza el cmdlet Add-Type con el parmetro Path para especificar un ensamblado. Add-Type obtiene los tipos del ensamblado. El segundo comando usa el cmdlet New-Object para crear una instancia del proveedor de cdigo de FSharp y guarda el resultado en la variable $provider. El tercer comando guarda el cdigo de FSharp que define el mtodo Loop en la variable $FSharpCode.

El cuarto comando utiliza el cmdlet Add-Type para guardar en la variable $fSharpType los tipos pblicos definidos en $fSharpCode. El parmetro TypeDefinition especifica el cdigo fuente que define los tipos. El parmetro CodeDomProvider especifica el compilador de cdigo fuente. El parmetro PassThru indica a Add-Type que devuelva un objeto Runtime que represente los tipos. Un operador de canalizacin (|) enva el objeto Runtime al cmdlet Where-Object, que devuelve nicamente los tipos pblicos. Se utiliza el filtro Where-Object porque el proveedor de FSharp genera tip os no pblicos para admitir el tipo pblico resultante. El quinto comando llama al mtodo Loop como mtodo esttico del tipo almacenado en la variable $fSharpType.

NOTAS Para ver los ejemplos, escriba: "get-help Add-Type -examples". Para obtener ms informacin, escriba: "get-help Add-Type -detailed". Para obtener informacin tcnica, escriba: "get-help Add-Type -full". NOMBRE Remove-Event SINOPSIS Elimina eventos de la cola de eventos. SINTAXIS Remove-Event [-EventIdentifier] <int> [-Confirm] [-WhatIf] [<CommonParameters>] Remove-Event [-SourceIdentifier] <string> [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Remove-Event elimina eventos de la cola de eventos en la sesin actual. Este cmdlet elimina nicamente los eventos que estn actualmente en la cola. Para cancelar los registros de eventos o la suscripcin, utilice el cmdlet Unregister-Event. PARMETROS -EventIdentifier <int> Elimina solo el evento con el identificador de evento especificado. Cada comando requiere un parmetro EventIdentifier o SourceIdentifier. -SourceIdentifier <string> Elimina solo los eventos con el identificador de origen especificado. No se permite el uso de caracteres comodn. Cada comando requiere un parmetro EventIdentifier o SourceIdentifier. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>]

Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>remove-event -sourceIdentifier "ProcessStarted" Descripcin ----------Este comando elimina de la cola de eventos los eventos con el identificador de origen "Process Started".

-------------------------- EJEMPLO 2 -------------------------C:\PS>remove-event -eventIdentifier 30 Descripcin ----------Este comando elimina de la cola de eventos el evento con el identificador 30.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-event | remove-event Descripcin ----------Este comando elimina todos los eventos de la cola de eventos.

NOTAS Para ver los ejemplos, escriba: "get-help Remove-Event -examples". Para obtener ms informacin, escriba: "get-help Remove-Event detailed". Para obtener informacin tcnica, escriba: "get-help Remove-Event full". NOMBRE Get-EventSubscriber SINOPSIS Obtiene los suscriptores de eventos de la sesin actual. SINTAXIS Get-EventSubscriber [-SubscriptionId] <int> [[-Force]] [<CommonParameters>]

Get-EventSubscriber [[-SourceIdentifier] <string>] [[-Force]] [<CommonParameters>] DESCRIPCIN El cmdlet Get-EventSubscriber obtiene los suscriptores de eventos de la sesin actual. Al suscribirse a un evento mediante un cmdlet de registro de evento, se agrega a la sesin de Windows PowerShell un suscriptor de eventos, y cuando se producen los eventos a los que se suscribi, estos se agregan a la cola de eventos. Para cancelar la suscripcin a un evento, elimine el suscrip tor de eventos mediante el cmdlet Unregister-Event. PARMETROS -Force [<SwitchParameter>] Obtiene todos los suscriptores de eventos, incluidos los de eventos ocultos mediante el parmetro SupportEvent de Register-ObjectEvent, Register-WmiEvent y Register-EngineEvent. -SourceIdentifier <string> Obtiene solo los suscriptores de eventos con el valor especificado de la propiedad SourceIdentifier. De forma predeterminada, GetEventSubscriber obtiene todos los suscriptores de eventos de la sesin. No se permite el uso de caracteres comodn. Este parmetro distingue maysculas de minsc ulas. -SubscriptionId <int> Obtiene solo el identificador de suscripcin especificado. De forma predeterminada, Get-EventSubscriber obtiene todos los suscriptores de eventos de la sesin. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$timer = New-Object Timers.Timer C:\PS> $timer | Get-Member -Type Event C:\PS> Register-ObjectEvent -inputObject $timer -EventName Elapsed SourceIdentifier Timer.Elapsed C:\PS> Get-EventSubscriber C:\PS> $timer = New-Object Timers.Timer C:\PS> $timer | Get-Member -Type Event TypeName: System.Timers.Timer Name ---MemberType Definition ---------- ----------

Disposed Event System.EventHandler Disposed(System.Object, System.EventArgs) Elapsed Event System.Timers.ElapsedEventHandler Elapsed(System.Object, System.Timers.ElapsedEventArgs) C:\PS> Register-ObjectEvent -InputObject $timer -EventName Elapsed SourceIdentifier Timer.Elapsed C:\PS> Get-EventSubscriber SubscriptionId SourceObject EventName SourceIdentifier Action HandlerDelegate SupportEvent ForwardEvent : : : : : : : : 4 System.Timers.Timer Elapsed Timer.Elapsed False False

Descripcin ----------En este ejemplo, se utiliza un comando Get-EventSubscriber para obtener el suscriptor de eventos de un evento de temporizador. El primer comando utiliza el cmdlet New-Object para crear una instancia de un objeto de temporizador. Guarda el nuevo objeto de temporizador en la variable $timer. El segundo comando usa el cmdlet Get-Member para mostrar los eventos que estn disponibles para los objetos de temporizador. El comando utiliza el parmetro Type del cmdlet Get-Member con el valor Event. El tercer comando usa el cmdlet Register-ObjectEvent para registrar el evento Elapsed del objeto de temporizador. El cuarto comando usa el cmdlet Get-EventSubscriber para obtener el suscriptor del evento Elapsed.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$timer = New-Object Timers.Timer

C:\PS> $timer.Interval = 500 C:\PS> Register-ObjectEvent -inputObject $timer -eventName Elapsed sourceIdentifier Timer.Random -Action { $random = Get-Random -Min 0 -Max 100 } Id Name -- ---3 Timer.Random Random ... State HasMoreData --------------NotStarted False Location -------Command ------$random = Get-

C:\PS> $timer.Enabled = $true C:\PS> $subscriber = Get-EventSubcriber -sourceIdentifer Timer.Random

C:\PS> ($subscriber.action).gettype().fullname PSEventJob C:\PS> $subscriber.action | format-list -property * State Module StatusMessage HasMoreData Location Command JobStateInfo Finished InstanceId Id Name ChildJobs ... : : : : : : : : : : : : Running __DynamicModule_6b5cbe82-d634-41d1-ae5e-ad7fe8d57fe0 True $random = Get-Random -Min 0 -Max 100 Running System.Threading.ManualResetEvent 88944290-133d-4b44-8752-f901bd8012e2 1 Timer.Random {}

C:\PS> & $subscriber.action.module {$random} 96 C:\PS> & $subscriber.action.module {$random} 23 Descripcin ----------En este ejemplo, se muestra cmo utilizar el mdulo dinmico del objeto PSEventJob en la propiedad Action del suscriptor eventos. El primer comando utiliza el cmdlet New-Object para crear un objeto de temporizador. El segundo comando establece el intervalo del temporizador en 500 (milisegundos). El tercer comando usa el cmdlet Register-ObjectEvent para registrar el evento Elapsed del objeto de temporizador. El comando incluye una accin que controla el evento. Una vez transcurrido el intervalo del temporizador, se provoca un evento y se ejecutan los comandos de la accin. En este caso, el cmdlet Get-Random genera un nmero aleatorio comprendido entre 0 y 100 y lo guarda en la variable $random. El identificador de origen del evento es Timer.Random. Cuando se usa el parmetro Action en un comando Register-ObjectEvent, el comando devuelve un objeto PSEventJob que representa la accin. El cuarto comando habilita el temporizador. El quinto comando utiliza el cmdlet Get-EventSubscriber para obtener el suscriptor del evento Timer.Random. Guarda el objeto de suscriptor en la variable $subscriber. El sexto comando muestra que la propiedad Action del objeto de suscriptor de eventos contiene un objeto PSEventJob. De hecho, contiene el mismo objeto PSEventJob que el comando Register-ObjectEvent devolvi. El sptimo comando usa el cmdlet Format-List para mostrar con formato de lista todas las propiedades del objeto PSEventJob en la propiedad Action. El resultado revela que el objeto PSEventJob tiene una propiedad Module que contiene un mdulo de script dinmico que implementa la accin.

Los comandos restantes utilizan el operador de llamada (&) para invocar el comando del mdulo y mostrar el valor de la variable $random. El operador de llamada se puede usar para invocar cualquier comando de un mdulo, incluidos los comandos no exportados. En este caso, los comandos muestran el nmero aleatorio que se genera cuando se produce el evento Elapsed. Para obtener ms informacin sobre los mdulos, vea about_Modules.

NOTAS Para ver los ejemplos, escriba: "get-help Get-EventSubscriber examples". Para obtener ms informacin, escriba: "get-help Get-EventSubscriber detailed". Para obtener informacin tcnica, escriba: "get-help Get-EventSubscriber -full". NOMBRE Unregister-Event SINOPSIS Cancela una suscripcin de eventos. SINTAXIS Unregister-Event [-SubscriptionId] <int> [-Force] [-Confirm] [-WhatIf] [<CommonParameters>] Unregister-Event [-SourceIdentifier] <string> [-Force] [-Confirm] [WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Unregister-Event cancela una suscripcin de eventos que se cre mediante el cmdlet Register-EngineEvent, Register-ObjectEvent o Register-WmiEvent. Cuando se cancela una suscripcin de eventos, el suscriptor se elimina de la sesin y los eventos objeto de la suscripcin ya no se agregan a la cola de eventos. Cuando se cancela una suscripcin a un evento que se cre mediante el cmdlet New-Event, tambin se elimina el nuevo evento de la sesi n. Unregister-Event no elimina los eventos de la cola de eventos. Para eliminarlos, utilice el cmdlet Remove-Event. PARMETROS -Force [<SwitchParameter>] Cancela todas las suscripciones de eventos, incluidas las suscripciones que se ocultaron mediante el parmetro SupportEvent de Register-ObjectEvent, Register-WmiEvent y Register-EngineEvent. -SourceIdentifier <string> Cancela las suscripciones de eventos con el identificador de origen especificado. Cada comando debe incluir un parmetro SourceIdentifier o SubscriptionId.

-SubscriptionId <int> Cancela las suscripciones de eventos con el identificador de suscripcin especificado. Cada comando debe incluir un parmetro SourceIdentifier o SubscriptionId. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>unregister-event -sourceIdentifier ProcessStarted Descripcin ----------Este comando cancela la suscripcin de eventos con el identificador de origen "ProcessStarted". Para obtener el identificador de origen de un evento, utilice el cmdlet Get-Event. Para obtener el identificador de origen de una suscripcin de eventos, utilice el cmdlet Get-EventSubscriber.

-------------------------- EJEMPLO 2 -------------------------C:\PS>unregister-event -subscriptionId 2 Descripcin ----------Este comando cancela la suscripcin de eventos con el identificador de suscripcin 2. Para obtener el identificador de una suscripcin de eventos, utilice el cmdlet Get-EventSubscriber.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-eventsubscriber -force | unregister-event -force Descripcin ----------Este comando cancela todas las suscripciones de eventos en la sesin.

El comando utiliza el cmdlet Get-EventSubscriber para obtener todos los objetos de suscriptor de eventos de la sesin, incluidos los suscriptores que se ocultan mediante el parmetro SupportEvent de los cmdlets de registro de eventos. Utiliza un operador de canalizacin (|) para enviar los objetos de suscriptor a Unregister-Event, que los elimina de la sesin. Para poder completar la tarea, tambin se requiere el parmetro Force en UnregisterEvent.

NOTAS Para ver los ejemplos, escriba: "get-help Unregister-Event -examples". Para obtener ms informacin, escriba: "get-help Unregister-Event detailed". Para obtener informacin tcnica, escriba: "get-help Unregister-Event full". NOMBRE Compare-Object SINOPSIS Compara dos conjuntos de objetos. SINTAXIS Compare-Object [-ReferenceObject] <PSObject[]> [-DifferenceObject] <PSObject[]> [-CaseSensitive] [-Culture <string>] [-ExcludeDifferent] [IncludeEqual] [-PassThru] [-Property <Object[]>] [-SyncWindow <int>] [<CommonParameters>] DESCRIPCIN El cmdlet Compare-Object compara dos conjuntos de objetos. Uno de los conjuntos de objetos es el conjunto Reference y el otro es el conjunto Difference. El resultado de la comparacin indica si el valor de una propiedad aparece nicamente en el objeto del conjunto Reference (lo que se indica mediante el smbolo <=), si aparece nicamente en el objeto del conjunto Difference (lo que se indica mediante el smbolo =>) o, en caso de que se haya esp ecificado el parmetro IncludeEqual, si aparece en los dos objetos (lo que se indica mediante el smbolo ==). PARMETROS -CaseSensitive [<SwitchParameter>] Indica que en las comparaciones debe distinguirse entre maysculas y minsculas. -Culture <string> Especifica la referencia cultural que se va a usar en las comparaciones. -DifferenceObject <PSObject[]> Especifica los objetos que se comparan con los objetos de referencia.

-ExcludeDifferent [<SwitchParameter>] Muestra nicamente las caractersticas de los objetos comparados que son iguales. -IncludeEqual [<SwitchParameter>] Muestra las caractersticas de los objetos comparados que son iguales. De manera predeterminada, solo se muestran las caractersticas que son diferentes en los objetos de referencia y en los objetos de diferencia. -PassThru [<SwitchParameter>] Pasa a la canalizacin los objetos que son diferentes. De forma predeterminada, este cmdlet no genera resultados. -Property <Object[]> Especifica las propiedades de los objetos de referencia y de diferencia que se van a comparar. -ReferenceObject <PSObject[]> Objetos usados como referencia en una comparacin. -SyncWindow <int> Define una regin de bsqueda en la que se intenta sincronizar de nuevo el orden si no hay coincidencia. El valor predeterminado es [Int32]::MaxValue. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>compare-object -referenceobject $(get-content C:\test\testfile1.txt) -differenceobject $(get-content C:\test\testfile2.txt) Descripcin ----------Este comando compara el contenido de dos archivos de texto. Solo muestra las lneas que aparecen en uno de los dos archivos; no muestra las lneas que aparecen en ambos archivos.

-------------------------- EJEMPLO 2 -------------------------C:\PS>compare-object -referenceobject $(get-content C:\Test\testfile1.txt) -differenceobject $(get-content C:\Test\testfile2.txt) -includeequal Descripcin ----------Este comando compara cada una de las lneas del contenido de dos archivos de texto. Muestra todas las lneas de contenido de los dos archivos e indica si las lneas aparecen nicamente en el archivo Textfile1.txt, en el archivo Textfile2.txt o en los dos archivos.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$processes_before = get-process C:\PS> notepad C:\PS> $processes_after = get-process

C:\PS> compare-object -referenceobject $processes_before differenceobject $processes_after Descripcin ----------Estos comandos comparan dos conjuntos de objetos de proceso. El primer comando utiliza el cmdlet Get-Process para obtener los procesos del equipo. Los almacena en la variable $processes_before. El segundo comando inicia Bloc de notas. El tercer comando usa de nuevo el cmdlet Get-Process y almacena los procesos resultantes en la variable $processes_after. El cuarto comando usa el cmdlet Compare-Object para comparar los dos conjuntos de objetos de proceso. Muestra las diferencias que hay entre ellos, como la nueva instancia de Bloc de notas.

NOTAS Para ver los ejemplos, escriba: "get-help Compare-Object -examples". Para obtener ms informacin, escriba: "get-help Compare-Object detailed". Para obtener informacin tcnica, escriba: "get-help Compare-Object full". NOMBRE Import-CSV SINOPSIS Convierte las propiedades de objeto de un archivo CSV (valores separados por comas) en versiones CSV de los objetos originales. SINTAXIS Import-CSV [[-Delimiter] <char>] [-Path] <string[]> [-Header <string[]>] [<CommonParameters>] Import-CSV -UseCulture [-Path] <string[]> [-Header <string[]>] [<CommonParameters>] DESCRIPCIN El cmdlet Import-CSV crea objetos a partir de archivos CSV de longitud variable generados por el cmdlet Export-CSV. Puede utilizar los parmetros del cmdlet Import-CSV para especificar la fila de encabezado de columna, que determina los nombres de propiedad de los

objetos resultantes, especificar el delimitador de elementos o indicar a Import-CSV que use como delimitador de elementos el separador de lista de la actual referencia cultural. Los objetos creados por Import-CSV son versiones CSV de los objetos originales. Los valores de propiedad de los objetos CSV son versiones de cadena de los valores de propiedad de los objetos originales. Las versiones CSV de los objetos no tienen ningn mtodo. Tambin puede utilizar los cmdlets ConvertTo-CSV y ConvertFrom-CSV para convertir los objetos en cadenas CSV (y viceversa). Estos cmdlets son iguales que los cmdlets Export-CSV e Import-CSV, excepto en que no guardan las cadenas CSV en un archivo. PARMETROS -Delimiter <char> Especifica el delimitador que separa los valores de propiedad en el archivo CSV. El delimitador predeterminado es una coma (,). Escriba un carcter, como un signo de dos puntos (:). Para especificar un signo de punto y coma (;), escrbalo entre comillas. Si especifica un carcter distinto del delimitador real de cadenas en el archivo, Import-CSV no podr crear objetos a partir de las cadenas CSV. En lugar de ello, devolver las cadenas. -Header <string[]> Especifica una fila de encabezado de columna alternativa para el archivo importado. El encabezado de columna determina los nombres de las propiedades del objeto que Import-CSV crea. Escriba una lista de los encabezados de columna separados por comas. Incluya cada elemento entre comillas (simples o dobles). No incluya la cadena de encabezado entre comillas. Si escribe menos encabezados de columna que columnas existentes, las restantes columnas no tendrn encabezado. Si escribe ms encabezados que columnas existentes, los encabezados adicionales se omitirn. Si usa el parmetro Header, elimine la fila de encabezado original del archivo CSV. De lo contrario, Import-CSV crea un objeto adicional a partir de los elementos en la fila de encabezado. -Path <string[]> Especifica la ruta de acceso al archivo CSV que se va a importar. Tambin puede canalizar una ruta de acceso a Import-CSV. -UseCulture [<SwitchParameter>] Utilice como delimitador de elementos el separador de lista de la actual referencia cultural. El delimitador predeterminado es una coma (,). Para obtener el separador de lista de una referencia cultural, utilice el siguiente comando: (Get-Culture).TextInfo.ListSeparator. Si especifica un carcter que no sea el delimitador usado en las cadenas CSV, ConvertFrom-CSV no podr crear objetos a partir de las cadenas CSV. En lugar de el lo, devolver las cadenas. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba:

"get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-process | export-csv processes.csv C:\PS> $p = import-CSV processes.csv C:\PS> $p | get-member TypeName: CSV:System.Diagnostics.Process Name ---Equals obj) GetHashCode GetType ToString BasePriority Company Corporation ... C:\PS> $p | out-gridview Descripcin ----------En este ejemplo, se muestra cmo exportar y, a continuacin, importar un archivo CSV de objetos de Microsoft .NET Framework. El primer comando procesos en el equipo enviar los objetos de de proceso al archivo utiliza el cmdlet Get-Process para obtener los local. Utiliza un operador de canalizacin (|) para proceso al cmdlet Export-CSV, que exporta los objetos Processes.csv en el directorio actual. Method Method Method NoteProperty NoteProperty System.Int32 GetHashCode() System.Type GetType() System.String ToString() System.String BasePriority=8 System.String Company=Microsoft MemberType ---------Method Definition ---------System.Boolean Equals(Object

El segundo comando usa el cmdlet Import-CSV para importar los procesos en el archivo Import-CSV. A continuacin, guarda los objetos de proceso resultantes en la variable $p. El tercer comando usa un operador de canalizacin para canalizar los objetos importados a los cmdlets Get-Member. El resultado muestra que se trata de objetos CSV:System.Diagnostic.Process, y no de objetos System.Diagnostic.Process que Get-Process devuelve. Adems, como no hay ningn tipo de entrada en los archivos de formato para la versin CSV de los objetos de proceso, a estos objetos no se les aplica formato del mismo modo en que se da formato a los objetos de proceso estndar. Para mostrar los objetos, utilice los cmdlets de formato, como FormatTable y Format-List, o canalice los objetos a Out-GridView.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-process | export-csv processes.csv -Delimiter : C:\PS> $p = import-csv processes.csv -Delimiter :

Descripcin ----------En este ejemplo se muestra cmo utilizar el parmetro Delimiter de Import-CSV. En este ejemplo, se exportan los procesos a un archivo en el que se utiliza un signo de dos puntos (:) como delimitador. Al importar, el archivo Import-CSV utiliza el parmetro Delimiter para indicar el delimitador que se utiliza en el archivo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$p = import-csv processes.csv -UseCulture C:\PS> (get-culture).textinfo.listseparator , Descripcin ----------En este ejemplo, se muestra cmo utilizar el parmetro UseCulture de Import-CSV. El primer comando importa los objetos del archivo Processes.csv en la variable $p. Utiliza el parmetro UseCulture para indicar a Import-CSV que use el separador de lista definido para la actual referencia cultural. El segundo comando muestra el separador de lista para la actual referencia cultural. Utiliza el cmdlet Get-Culture para obtener la actual referencia cultural. Utiliza el mtodo de puntos (.) para obtener la propiedad TextInfo de la actual referencia cultural y la propiedad ListSeparator del obj eto en TextInfo. En este ejemplo, el comando devuelve una coma.

-------------------------- EJEMPLO 4 -------------------------C:\PS>start-job -scriptblock { get-process } | export-csv jobs.csv C:\PS> $header = "MoreData","StatusMessage","Location","Command","State","Finished","Instance Id","SessionId","Name","ChildJobs","Output","Error","Progress","Verbose","De bug","Warning","StateChanged" # Delete header from file C:\PS> $a = (get-content jobs.csv) C:\PS> $a = $a[0], $a[2..($a.count - 1)] C:\PS> $a > jobs.csv C:\PS> $j = import-csv jobs.csv -header $header C:\PS> $j MoreData : True StatusMessage : Location : localhost

Command : get-process State : Running Finished : System.Threading.ManualResetEvent InstanceId : 135bdd25-40d6-4a20-bd68-05282a59abd6 SessionId : 1 Name : Job1 ChildJobs : System.Collections.Generic.List`1[System.Management.Automation.Job] Output : System.Management.Automation.PSDataCollection`1[System.Management.Automation .PSObject] Error : System.Management.Automation.PSDataCollection`1[System.Management.Automation .ErrorRecord] Progress : System.Management.Automation.PSDataCollection`1[System.Management.Automation .ProgressRecord] Verbose : System.Management.Automation.PSDataCollection`1[System.String] Debug : System.Management.Automation.PSDataCollection`1[System.String] Warning : System.Management.Automation.PSDataCollection`1[System.String] StateChanged : Descripcin ----------En este ejemplo, se muestra cmo utilizar el parmetro Header de ImportCSV para cambiar los nombres de las propiedades en el objeto importado resultante. El primer comando utiliza el cmdlet Start-Job para iniciar un trabajo en segundo plano que ejecuta un comando Get-Process en el equipo local. Un operador de canalizacin (|) enva el objeto de trabajo resultante al cmdlet Export-CSV, que lo convierte en formato CSV. Un operador de asignacin (= ) guarda el CSV resultante en el archivo Jobs.csv. El segundo comando guarda un encabezado en la variable $header. A diferencia del encabezado predeterminado, este encabezado utiliza "MoreData" en lugar de "HasMoreData" y "State" en lugar de "JobStateInfo". Los tres comandos siguientes eliminan el encabezado original (segunda lnea) del archivo Jobs.csv. El sexto comando usa el cmdlet Import-CSV para importar el archivo Jobs.csv y convertir las cadenas CSV en una versin CSV del objeto de trabajo. El comando utiliza el parmetro Header para enviar el encabezado alternativo. Los resultados se almacenan en la variable $j. El sptimo comando muestra el objeto almacenado en la variable $j. El objeto resultante tiene las propiedades "MoreData" y "State", tal y como se muestra en el resultado del comando.

-------------------------- EJEMPLO 5 -------------------------C:\PS>".\processes.csv" | import-csv Descripcin

----------Este comando importa los objetos del archivo Processes.csv.

NOTAS Para ver los ejemplos, escriba: "get-help Import-CSV -examples". Para obtener ms informacin, escriba: "get-help Import-CSV -detailed". Para obtener informacin tcnica, escriba: "get-help Import-CSV -full". NOMBRE ConvertTo-CSV SINOPSIS Convierte los objetos de Microsoft .NET Framework en una serie de cadenas CSV (valores separados por comas) de longitud variable. SINTAXIS ConvertTo-CSV [[-Delimiter] <char>] [-InputObject] <psobject> [NoTypeInformation] [<CommonParameters>] ConvertTo-CSV [-UseCulture] [-InputObject] <psobject> [NoTypeInformation] [<CommonParameters>] DESCRIPCIN El cmdlet ConvertTo-CSV devuelve una serie de cadenas CSV (valores separados por comas) de longitud variable que representan los objetos que se envan. A continuacin, puede usar el cmdlet ConvertFrom-CSV para volver a crear objetos a partir de las cadenas CSV. Los objetos resultantes son versi ones CSV de los objetos originales que se componen de representaciones de cadena de los valores de propiedad y ningn mtodo. Tambin puede utilizar los cmdlets Export-CSV e Import-CSV para convertir los objetos de .NET Framework en cadenas CSV (y viceversa). Export-CSV es igual que ConvertTo-CSV, salvo en que guarda las cadenas CSV en un archivo. Puede utilizar los parmetros del cmdlet ConvertTo-CSV para especificar un delimitador que no sea una coma o para indicar a ConvertTo-CSV que use el delimitador predeterminado de la actual referencia cultural. Para obtener ms informacin, vea Export-CSV y la seccin Notas. PARMETROS -Delimiter <char> Especifica un delimitador para separar los valores de propiedad. El delimitador predeterminado es una coma (,). Escriba un carcter, como un signo de dos puntos (:). Para especificar un signo de punto y coma (;), escrbalo entre comillas. De lo contrario, se interpretar como delimitador de comando. -InputObject <psobject> Especifica los objetos que se van a exportar como cadenas CSV. Especifique la variable que contiene los objetos o escriba un comando o una expresin que los obtenga. Tambin puede canalizar los objetos a ConvertToCSV.

-NoTypeInformation [<SwitchParameter>] Omite el encabezado de informacin de tipo del resultado. De forma predeterminada, la cadena en el resultado contiene "#TYPE" seguido del nombre completo del tipo del objeto de .NET Framework. -UseCulture [<SwitchParameter>] Utiliza como delimitador de datos el separador de lista de la actual referencia cultural. El delimitador predeterminado es una coma (,). Este parmetro es muy til en scripts que se distribuyen a usuarios por todo el mundo. Para obtener el separador de lista de una referencia cultural, utilice el siguiente comando: (GetCulture).TextInfo.ListSeparator. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-process powershell | convertto-csv #TYPE System.Diagnostics.Process "__NounName","Name","Handles","VM","WS","PM","NPM","Path","Company","CPU","F ileVersion","ProductVersion","Description", "Product","BasePriority","ExitCode","HasExited","ExitTime","Handle","HandleC ount","Id","MachineName","MainWindowHandle" ,"MainWindowTitle","MainModule","MaxWorkingSet","MinWorkingSet","Modules","N onpagedSystemMemorySize","NonpagedSystemMem orySize64","PagedMemorySize","PagedMemorySize64","PagedSystemMemorySize","Pa gedSystemMemorySize64","PeakPagedMemorySize ","PeakPagedMemorySize64","PeakWorkingSet","PeakWorkingSet64","PeakVirtualMe morySize","PeakVirtualMemorySize64","Priori tyBoostEnabled","PriorityClass","PrivateMemorySize","PrivateMemorySize64","P rivilegedProcessorTime","ProcessName","Proc essorAffinity","Responding","SessionId","StartInfo","StartTime","Synchronizi ngObject","Threads","TotalProcessorTime","U serProcessorTime","VirtualMemorySize","VirtualMemorySize64","EnableRaisingEv ents","StandardInput","StandardOutput","Sta ndardError","WorkingSet","WorkingSet64","Site","Container" "Process","powershell","216","597544960","60399616","63197184","21692","C:\W INDOWS\system32\WindowsPowerShell\v1.0\powe rshell.exe","Microsoft Corporation","3.4788223","6.1.6587.1 (fbl_srv_powershell(nigels).070711-0102)","6.1.6587.1","Win dows PowerShell","Microsoft Windows Operating System","8",,"False",,"860","216","5132",".","5636936","Windows PowerSh ell 2.0 (04/17/2008 00:10:40)","System.Diagnostics.ProcessModule (powershell.exe)","1413120","204800","System.Diagnosti

cs.ProcessModuleCollection","21692","21692","63197184","63197184","320080"," 320080","63868928","63868928","60715008","6 0715008","598642688","598642688","True","Normal","63197184","63197184","00:0 0:00.2028013","powershell","15","True","1", "System.Diagnostics.ProcessStartInfo","4/21/2008 3:49:19 PM",,"System.Diagnostics.ProcessThreadCollection","00:00:03.51 00225","00:00:03.3072212","597544960","597544960","False",,,,"60399616","603 99616",, Descripcin ----------Este comando convierte un solo objeto de proceso en formato CSV. El comando utiliza el cmdlet Get-Process para obtener el proceso de PowerShell en el equipo local. Utiliza un operador de canalizacin (|) para enviar el comando al cmdlet ConvertTo-CSV, que lo convierte en una serie de cadenas se paradas por comas.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$date = get-date C:\PS> convertto-csv -inputobject $date -delimiter ";" notypeinformation Descripcin ----------En este ejemplo, se convierte un objeto de fecha en formato CSV. El primer comando utiliza el cmdlet Get-Date para obtener la fecha actual. La guarda en la variable $date. El segundo comando usa el cmdlet ConvertTo-CSV para convertir en formato CSV el objeto DateTime guardado en la variable $date. El comando utiliza el parmetro InputObject para especificar el objeto que se va a convertir. Utiliza el parmetro Delimiter para especificar el delimitador que separa las propiedades del objeto. Utiliza el parmetro NoTypeInformation para suprimir la cadena #TYPE.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-eventlog -log "windows powershell" | convertto-csv -useculture Descripcin ----------Este comando convierte en una serie de cadenas CSV el registro de eventos de Windows PowerShell en el equipo local. El comando utiliza el cmdlet Get-EventLog para obtener los eventos del registro de Windows PowerShell. Un operador de canalizacin (|) enva los eventos al cmdlet ConvertTo-CSV, que los convierte en formato CSV. El comando utiliza el parmetro UseCulture, que utiliza como delimitador el separad

or de lista de la actual referencia cultural.

NOTAS Para ver los ejemplos, escriba: "get-help ConvertTo-CSV -examples". Para obtener ms informacin, escriba: "get-help ConvertTo-CSV detailed". Para obtener informacin tcnica, escriba: "get-help ConvertTo-CSV full". NOMBRE ConvertFrom-CSV SINOPSIS Convierte las propiedades de objeto con formato CSV (Valores separados por comas) en versiones CSV de los objetos originales. SINTAXIS ConvertFrom-CSV [[-Delimiter] <char>] [-InputObject] <PSObject[]> [Header <string[]>] [<CommonParameters>] ConvertFrom-CSV -UseCulture [-InputObject] <PSObject[]> [-Header <string[]>] [<CommonParameters>] DESCRIPCIN El cmdlet ConvertFrom-CSV crea objetos a partir de cadenas CSV de longitud variable generadas por el cmdlet ConvertTo-CSV. Puede utilizar los parmetros del cmdlet ConvertFrom-CSV para especificar la fila de encabezado de columna, que determina los nombres de propiedad de los objetos resultantes, especificar el delimitador de elementos o indicar a ConvertFrom-CSV que use como delimitador el separador de lista de la actual referencia cultural. Los objetos creados por ConvertFrom-CSV son versiones CSV de los objetos originales. Los valores de propiedad de los objetos CSV son versiones de cadena de los valores de propiedad de los objetos originales. Las versiones CSV de los objetos no tienen ningn mtodo. Tambin puede utilizar los cmdlets Export-CSV e Import-CSV para convertir los objetos en cadenas CSV en un archivo (y viceversa). Estos cmdlets son iguales que los cmdlets ConvertTo-CSV y ConvertFrom-CSV, excepto en que guardan las cadenas CSV en un archivo. PARMETROS -Delimiter <char> Especifica el delimitador que separa los valores de propiedad en las cadenas CSV. El delimitador predeterminado es una coma (,). Escriba un carcter, como un signo de dos puntos (:). Para especificar un signo de punto y coma (;), escrbalo entre comillas. Si especifica un carcter que no sea el delimitador usado en las cadenas CSV, ConvertFrom-CSV no podr crear objetos a partir de las cadenas CSV. En lugar de ello, devolver las cadenas.

-Header <string[]> Especifica una fila de encabezado de columna alternativa para la cadena importada. El encabezado de columna determina los nombres de las propiedades del objeto que ConvertFrom-CSV crea. Escriba una lista de los encabezados de columna separados por comas. Incluya cada elemento entre comillas (simples o dobles). No incluya la cadena de encabezado entre comillas. Si escribe menos encabezados de columna que columnas existentes, las columnas restantes no tendrn encabezado. Si escribe ms encabezados que columnas existentes, los encabezados adicionales se omitirn. Si usa el parmetro Header, omita la cadena de encabezado de columna de las cadenas CSV. De lo contrario, ConvertFrom-CSV crea un objeto adicional a partir de los elementos en la fila de encabezado. -InputObject <PSObject[]> Especifica las cadenas CSV que se van a convertir en objetos. Escriba una variable que contenga las cadenas CSV, o bien, escriba un comando o una expresin que obtenga las cadenas CSV. Tambin puede canalizar las cadenas CSV a ConvertFrom-CSV. -UseCulture [<SwitchParameter>] Utilice como delimitador de cadena el separador de lista de la actual referencia cultural. El delimitador predeterminado es una coma (,). Para obtener el separador de lista de una referencia cultural, utilice el siguiente comando: (Get-Culture).TextInfo.ListSeparator. Si especifica un carcter que no sea el delimitador usado en las cadenas CSV, ConvertFrom-CSV no podr crear objetos a partir de las cadenas CSV. En lugar de el lo, devolver las cadenas. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$p = get-process | convertto-csv C:\PS> $p | convertfrom-csv Descripcin ----------Estos comandos convierten los procesos del equipo local en formato CSV y, a continuacin, los restauran en formato de objeto. El primer comando utiliza el cmdlet Get-Process para obtener los procesos en el equipo local. Un operador de canalizacin (|) los enva al cmdlet ConvertTo-CSV, que convierte el objeto de proceso en formato CSV. Las cadenas CSV se guardan en la variable $p. El segundo comando usa un operador de canalizacin para enviar las cadenas CSV guardadas en la variable $p al cmdlet ConvertFrom-CSV. El cmdlet convierte las cadenas CSV en versiones CSV de los objetos de proceso originales.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$date = get-date | convertto-csv -delimiter ";" C:\PS> convertfrom-csv -inputobject $date -delimiter ";" Descripcin ----------Estos comandos convierten un objeto de datos en formato CSV y, a continuacin, en formato de objeto CSV. El primer comando utiliza el cmdlet Get-Date para obtener la fecha y hora actuales. Un objeto de canalizacin (|) enva la fecha a los cmdlets ConvertTo-CSV, que convierte el objeto de fecha en una serie de cadenas CSV. El comando utiliza el parmetro Delimiter para especificar un delimitador d e punto y coma. Las cadenas se guardan en la variable $date. El segundo comando usa el cmdlet ConvertFrom-CSV para las cadenas CSV guardadas en la variable $date en formato comando utiliza el parmetro InputObject para especificar el parmetro Delimiter para especificar el delimitador de volver a convertir de objeto. El las cadenas CSV y punto y coma.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$j = start-job -scriptblock { get-process } | convertto-csv C:\PS> $header = "MoreData","StatusMessage","Location","Command","State","Finished","Instance Id","SessionId","Name","ChildJobs","Output","Error","Progress","Verbose","De bug","Warning","StateChanged" # Delete header from $j C:\PS> $j = $j[0], $j[2..($j.count - 1)] $j | convertfrom-csv -header $header MoreData : True StatusMessage : Location : localhost Command : get-process State : Running Finished : System.Threading.ManualResetEvent InstanceId : 6fcb6578-7f42-4d93-9f23-9937f6aac1a2 SessionId : 1 Name : Job1 ChildJobs : System.Collections.Generic.List`1[System.Management.Automation.Job] Output : System.Management.Automation.PSDataCollection`1[System.Management.Automation .PSObject] Error : System.Management.Automation.PSDataCollection`1[System.Management.Automation .ErrorRecord] Progress : System.Management.Automation.PSDataCollection`1[System.Management.Automation .ProgressRecord]

Verbose : System.Management.Automation.PSDataCollection`1[System.String] Debug : System.Management.Automation.PSDataCollection`1[System.String] Warning : System.Management.Automation.PSDataCollection`1[System.String] StateChanged : Descripcin ----------En este ejemplo se muestra cmo utilizar el parmetro Header de ConvertFrom-Csv para cambiar los nombres de las propiedades en el objeto importado resultante. El primer comando utiliza el cmdlet Start-Job para iniciar un trabajo en segundo plano que ejecuta un comando Get-Process en el equipo local. Un operador de canalizacin (|) enva el objeto de trabajo resultante al cmdlet ConvertTo-CSV, que lo convierte en formato CSV. Un operador de asignacin (=) guarda el formato CSV resultante en la variable $j. El segundo comando guarda un encabezado en la variable $header. A diferencia del encabezado predeterminado, este encabezado utiliza "MoreData" en lugar de "HasMoreData" y "State" en lugar de "JobStateInfo". El tercer comando elimina el encabezado original (segunda lnea) de las cadenas CSV y lo devuelve a la variable $j. El cuarto comando usa el cmdlet ConvertFrom-CSV para convertir las cadenas CSV en la versin CSV del objeto de trabajo. El comando utiliza un operador de canalizacin para enviar el contenido de $j a ConvertFrom-CSV. El objeto resultante tiene las propiedades "MoreData" y "State", tal y como es pecifica el encabezado.

-------------------------- EJEMPLO 4 -------------------------C:\PS>(get-culture).textinfo.listseparator C:\PS> ConvertFrom-Csv -inputobject $services -UseCulture Descripcin ----------El comando utiliza el cmdlet ConvertFrom-CSV para convertir las cadenas CSV de los objetos de servicio que se han convertido mediante el cmdlet ConvertTo-CSV. El comando utiliza el parmetro UseCulture para indicar a ConvertFrom-CSV que use el delimitador (separador de lista) de la actual refer encia cultural. Si usa el parmetro UseCulture, asegrese de que el separador de lista de la actual referencia cultural coincida con el delimitador utilizado en las cadenas CSV. De lo contrario, ConvertFrom-CSV no podr generar objetos a partir de las cadenas CSV. En este ejemplo, antes de usar el comando ConvertFrom-CSV, se utiliza el comando Get-Culture para comprobar el separador de lista.

NOTAS Para ver los ejemplos, escriba: "get-help ConvertFrom-CSV -examples". Para obtener ms informacin, escriba: "get-help ConvertFrom-CSV detailed". Para obtener informacin tcnica, escriba: "get-help ConvertFrom-CSV full". NOMBRE ConvertTo-Html SINOPSIS Convierte los objetos de Microsoft .NET Framework en un formato HTML que se pueda mostrar en un explorador web. SINTAXIS ConvertTo-Html [[-Head] <string[]>] [[-Title] <string>] [[-Body] <string[]>] [-CssUri <Uri>] [[-Property] <Object[]>] [-As <string>] [InputObject <psobject>] [-PostContent <string[]>] [-PreContent <string[]>] [<CommonParameters>] ConvertTo-Html [-Fragment] [[-Property] <Object[]>] [-As <string>] [InputObject <psobject>] [-PostContent <string[]>] [-PreContent <string[]>] [<CommonParameters>] DESCRIPCIN El cmdlet ConvertTo-Html convierte los objetos de .NET Framework en un formato HTML que se pueda mostrar en un explorador web. Puede utilizar este cmdlet para mostrar el resultado de un comando en una pgina web. Puede utilizar los parmetros de ConvertTo-Html para seleccionar propiedades de objeto, especificar un formato de tabla o de lista, especificar el ttulo de la pgina HTML, agregar texto antes y despus del objeto y devolver solo el fragmento de tabla o de lista en lugar de una pgina de DTD es tricta. Cuando se envan varios objetos a ConvertTo-Html, Windows PowerShell crea la tabla (o lista) basndose en las propiedades del primer objeto enviado. Si los objetos restantes no tienen una de las propiedades especificadas, el valor de propiedad de ese objeto es una celda vaca. Si los objetos re stantes tienen propiedades adicionales, esos valores de propiedad no se incluyen en el archivo. PARMETROS -As <string> Determina si se aplica al objeto el formato de tabla o de lista. Los valores vlidos son TABLE y LIST. El valor predeterminado es TABLE. El valor TABLE genera una tabla HTML similar al formato de tabla de Windows PowerShell. La fila de encabezado muestra los nombres de propiedad. Cada fila de la tabla representa un objeto y muestra los valores del objeto para cada propiedad. El valor LIST genera para cada objeto una tabla HTML de dos columnas que se parece al formato de lista de Windows PowerShell. En la primera

columna se muestra el nombre de la propiedad y en la segunda columna se muestra el valor de la propiedad. -Body <string[]> Especifica el texto que se va a agregar despus de la etiqueta de apertura <BODY>. De forma predeterminada, no hay texto en esa posicin. -CssUri <Uri> Especifica el identificador uniforme de recursos (URI) de la hoja de estilos en cascada (CSS) que se aplica al archivo HTML. En el resultado, el identificador URI se incluye en un vnculo de hoja de estilos. -Fragment [<SwitchParameter>] Genera solo una tabla HTML. Se omiten las etiquetas HTML, HEAD, TITLE y BODY. -Head <string[]> Especifica el contenido de la etiqueta <HEAD>. El contenido predeterminado es "<title>HTML TABLE</title>". Si utiliza el parmetro Head, se omite el parmetro Title. -InputObject <psobject> Especifica los objetos que se van a representar en HTML. Especifique la variable que contiene los objetos o escriba un comando o una expresin que los obtenga. Si utiliza este parmetro para enviar varios objetos, como todos los servicios de un equipo, ConvertTo-Html crea una tabla en la que se muestran las propiedades de una coleccin o de una matriz de objetos (System.Object[]). Para crear una tabla de los objetos individuales, utilice el operad or de canalizacin para canalizar los objetos a ConvertTo-Html. -PostContent <string[]> Especifica el texto que se va a agregar despus de la etiqueta de cierre </TABLE>. De forma predeterminada, no hay texto en esa posicin. -PreContent <string[]> Especifica el texto que se va a agregar delante de la etiqueta de apertura <TABLE>. De forma predeterminada, no hay texto en esa posicin. -Property <Object[]> Incluye las propiedades especificadas de los objetos en HTML. -Title <string> Especifica un ttulo para el archivo HTML, es decir, el texto que aparece entre las etiquetas <TITLE>. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>convertto-html -inputobject (get-date) Descripcin -----------

Este comando crea una pgina HTML en la que se muestran las propiedades de la fecha actual. Utiliza el parmetro InputObject para enviar los resultados de un comando Get-Date al cmdlet ConvertTo-Html.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-alias | convertto-html > aliases.htm C:\PS> invoke-item aliases.htm Descripcin ----------Este comando crea una pgina HTML en la que se muestran los alias de Windows PowerShell en la consola actual. El comando utiliza el cmdlet Get-Alias para obtener los alias. Utiliza el operador de canalizacin (|) para enviar los alias al cmdlet ConvertToHtml, que crea la pgina HTML.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-eventlog -logname "Windows PowerShell | convertto-html > pslog.htm Descripcin ----------Este comando crea una pgina HTML denominada pslog.htm en la que se muestran los eventos incluidos en el registro de eventos de Windows PowerShell en el equipo local. Utiliza el cmdlet Get-EventLog para obtener los eventos del registro de Windows PowerShell y, a continuacin, utiliza el operador de canalizacin (|) para enviar los eventos al cmdlet ConvertTo-Html. El comando tambin utiliza el operador de redireccin (>) para enviar el cdigo HTML al archivo pslog.htm.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-process | convertto-html -property Name, Path, Company -title "Process Information" > proc.htm; ii proc.htm Descripcin ----------Estos comandos crean y abren una pgina HTML en la que se muestran el nombre, la ruta de acceso y la compaa de los procesos en el equipo local. El primer comando utiliza el cmdlet Get-Process para obtener los objetos que representan los procesos que se ejecutan en el equipo. El comando utiliza el operador de canalizacin (|) para enviar los objetos de proceso al cmdlet ConvertTo-Html.

El comando utiliza el parmetro Property para seleccionar tres propiedades de los objetos de proceso que se van a incluir en la tabla. El comando utiliza el parmetro Title para especificar el ttulo de la pgina HTML. Tambin utiliza el operador de redireccin (>) para enviar la pgina HTML re sultante a un archivo denominado Proc.htm. El segundo comando usa el cmdlet Invoke-Item (alias = ii) para abrir el archivo Proc.htm en el explorador predeterminado. Los dos comandos estn separados por un signo de punto y coma (;).

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-service | convertto-html -CssUri "test.css" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>HTML TABLE</title> <link rel="stylesheet" type="text/css" href="test.css" /> ... Descripcin ----------Este comando crea una pgina HTML de los objetos de servicio devueltos por el cmdlet Get-Service. El comando utiliza el parmetro CssUri para especificar una hoja de estilos en cascada para la pgina HTML. El parmetro CssUri agrega una etiqueta "<link rel="stylesheet" type="text/css" adicional a la pgina HTML resultante. El atributo HREF en la etiqueta contiene el nombre de la hoja de estilos.

-------------------------- EJEMPLO 6 -------------------------C:\PS>get-service | convertto-html -as LIST > services.htm Descripcin ----------Este comando crea una pgina HTML de los objetos de servicio devueltos por el cmdlet Get-Service. El comando utiliza el parmetro As para especificar un formato de lista. El operador de redireccin (>) enva la pgina HTML resultante al archivo Services.htm.

-------------------------- EJEMPLO 7 -------------------------C:\PS>get-date | cth -fragment <table> <colgroup>...</colgroup>

<tr><th>DisplayHint</th><th>DateTime</th><th>Date</th><th>Day</th><th>DayOfW eek</th><th>DayOfYear</th><th>Hour</th><th> Kind</th><th>Millisecond</th><th>Minute</th><th>Month</th><th>Second</th><th >Ticks</th><th>TimeOfDay</th><th>Year</th>< /tr> <tr><td>DateTime</td><td>Monday, May 05, 2008 10:40:04 AM</td><td>5/5/2008 12:00:00 AM</td><td>5</td><td>Monday</td><td >126</td><td>10</td><td>Local</td><td>123</td><td>40</td><td>5</td><td>4</td ><td>633455808041237213</td><td>10:40:04.12 37213</td><td>2008</td></tr> </table> Descripcin ----------Este comando utiliza ConvertTo-Html para generar una tabla HTML de la fecha actual. El comando utiliza el cmdlet Get-Date para obtener la fecha actual. Utiliza un operador de canalizacin (|) para enviar los resultados al cmdlet ConvertTo-Html (con el alias "cth"). El comando ConvertTo-Html incluye el parmetro Fragment, que limita el resultado a una tabla HTML. Como resultado, se omiten los otros elementos de una pgina HTML, como las etiquetas <HEAD> y <BODY>.

-------------------------- EJEMPLO 8 -------------------------C:\PS>get-eventlog -log "Windows PowerShell" | convertto-html -property id, level, task Descripcin ----------Este comando utiliza el cmdlet Get-EventLog para obtener los eventos del registro de eventos de "Windows PowerShell". Utiliza un operador de canalizacin (|) para enviar los eventos al cmdlet ConvertTo-Html, que los convierte en formato HTML. El comando ConvertTo-Html utiliza el parmetro Property para seleccionar solo las propiedades ID, Level y Task del evento.

-------------------------- EJEMPLO 9 -------------------------C:\PS>get-service A* | ConvertTo-Html -title "Windows Services: Server01" -body (get-date) -pre "<P>Generated by Corporate IT</P >" -post "For details, contact Corporate IT." > services.htm; ii services.htm Descripcin ----------Este comando crea y abre una pgina web en la que se muestran los servicios del equipo que comienzan con "A". Utiliza los parmetros Title, Body, PreContent y PostContent de ConvertTo-Html para personalizar el resultado.

La primera parte del comando utiliza el cmdlet Get-Service para obtener los servicios del equipo que comienzan con "A". El comando utiliza un operador de canalizacin (|) para enviar los resultados al cmdlet ConvertToHtml. El comando utiliza un operador de redireccin (>) para enviar el result ado al archivo Services.htm. Un signo de punto y coma (;) finaliza el primer comando e inicia un segundo comando, que utiliza el cmdlet Invoke-Item (alias = "ii") para abrir el archivo Services.htm en el explorador predeterminado.

NOTAS Para ver los ejemplos, escriba: "get-help ConvertTo-Html -examples". Para obtener ms informacin, escriba: "get-help ConvertTo-Html detailed". Para obtener informacin tcnica, escriba: "get-help ConvertTo-Html full". NOMBRE ConvertFrom-StringData SINOPSIS Convierte una cadena que contiene uno o varios pares clave-valor en una tabla hash. SINTAXIS ConvertFrom-StringData [-StringData] <string> [<CommonParameters>] DESCRIPCIN El cmdlet ConvertFrom-StringData convierte una cadena que contiene uno o varios pares clave-valor en una tabla hash. Dado que cada par clave-valor debe estar en una lnea independiente, se suelen usar cadenas multilnea intercaladas en el cdigo como formato de entrada. Se considera que el cmdlet ConvertFrom-StringData es un cmdlet seguro que se puede utilizar en la seccin de datos de un script o una funcin. Cuando se utiliza en una seccin de datos, el contenido de la cadena debe cumplir las reglas que se aplican a una seccin de datos. Para obtener ms inf ormacin, vea about_Data_Sections. PARMETROS -StringData <string> Especifica la cadena que se va a convertir. Puede utilizar este parmetro o canalizar una cadena a ConvertFrom-StringData. El nombre del parmetro es opcional. El valor de este parmetro debe ser una cadena entre comillas simples, una cadena entre comillas dobles o una cadena multilnea intercalada en el cdigo que contiene uno o varios pares clave-valor. Cada par clave-valor debe estar en una lnea independiente o debe estar separado mediante car acteres de nueva lnea (`n).

Puede incluir comentarios en la cadena, pero esos comentarios no pueden estar en la misma lnea que un par clave-valor. Los comentarios no se incluyen en la tabla hash. Una cadena multilnea intercalada en el cdigo es una cadena de una o varias lneas en la que se interpretan literalmente las comillas tipogrficas. Para obtener ms informacin, vea about_Quoting_Rules. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$here = @' Msg1 = The string parameter is required. Msg2 = Credentials are required for this command. Msg3 = The specified variable does not exist. '@ C:\PS> convertfrom-stringdata -stringdata $here Name ---Msg3 Msg2 command. Msg1 Value ----The specified variable does not exist. Credentials are required for this The string parameter is required.

Descripcin ----------Estos comandos convierten en una tabla hash una cadena de mensajes de usuario multilnea intercalada en el cdigo que se encuentra entre comillas simples. En una cadena entre comillas simples, no se reemplazan los valores de las variables y no se evalan las expresiones. El primer comando crea una cadena multilnea intercalada en el cdigo y la guarda en la variable $here. El segundo comando usa el cmdlet ConvertFrom-StringData para convertir en tabla hash la cadena multilnea intercalada en el cdigo que est almacenada en la variable $here.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$p = @" ISE = Windows PowerShell Integrated Scripting Environment "@ C:\PS> $p | get-member TypeName: System.String Name ---Clone MemberType ---------Method Definition ---------System.Object Clone()

... C:\PS> $hash = convertfrom-stringdata -stringdata $p C:\PS> $hash | get-member TypeName: System.Collections.Hashtable Name ---Add Object ... MemberType ---------Method Definition ---------System.Void Add(Object key,

Descripcin ----------Estos comandos muestran que ConvertFrom-StringData convierte efectivamente una cadena multilnea intercalada en el cdigo en una tabla hash. El primer comando crea una cadena multilnea intercalada en el cdigo que se encuentra entre comillas dobles e incluye un par clave-valor y la guarda en la variable $p. El segundo comando usa un operador de canalizacin (|) para enviar la variable $p al cmdlet Get-Member. El resultado muestra que $p es una cadena (System.String). El tercer comando usa el cmdlet ConvertFrom-StringData para convertir en una tabla hash la cadena multilnea intercalada en el cdigo que est almacenada en la variable $p. El comando almacena el resultado en la variable $hash. El ltimo comando usa un operador de canalizacin (|) para enviar la variable $hash al cmdlet Get-Member. El resultado muestra que el contenido de la variable $hash es una tabla hash (System.Collections.Hashtable).

-------------------------- EJEMPLO 3 -------------------------C:\PS>convertfrom-stringdata -stringdata @' Name = Disks.ps1 # Category is optional. Category = Storage Cost = Free '@ Name ---Cost Category Name Value ----Free Storage Disks.ps1

Descripcin ----------Este comando convierte en una tabla hash una cadena multilnea intercalada en el cdigo que se encuentra entre comillas simples y contiene varios pares clave-valor.

En este comando, el valor del parmetro StringData es una cadena multilnea intercalada en el cdigo en lugar de una variable que contiene este tipo de cadena. Ambos formatos son vlidos. La cadena multilnea intercalada en el cdigo incluye un comentario sobre una de las cadenas. Los comentarios son vlidos en cadenas, siempre y cuando se encuentren en una lnea distinta a la del par clave-valor.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$a = convertfrom-stringdata -stringdata "Top = Red `n Bottom = Blue" C:\PS> "Top = " + $a.Top Top = Red C:\PS> "Bottom = " + $a.Bottom Bottom = Blue Descripcin ----------En este ejemplo, se convierte una cadena normal entre comillas dobles (y no una cadena multilnea intercalada en el cdigo) en una tabla hash, que se guarda en la variable $a. Para que se cumpla la condicin de que cada par clave-valor debe estar en una lnea independiente, se usa el carcter de nueva lnea (`n) de Windows PowerShell para separar los pares. El resultado es una tabla hash de la entrada. Los comandos restantes muestran el resultado.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$TextMsgs = DATA { ConvertFrom-StringData @' Text001 = The $Notebook variable contains the system notebook. Text002 = The $MyNotebook variable contains the user's private notebook. '@ }

name of the user's name of the

C:\PS> $TextMsgs.Text001 The $Notebook variable contains the name of the user's system notebook. C:\PS> $TextMsgs.Text002 The $MyNotebook variable contains the name of the user's private notebook. Descripcin -----------

En este ejemplo, se muestra un comando ConvertFrom-StringData utilizado en la seccin de datos de un script. Las instrucciones debajo de la seccin de datos muestran el texto al usuario. Dado que el texto incluye nombres de variable, debe encontrarse en una cadena entre comillas simples de modo que las variables se interpreten literalmente y no se expandan. No se permite el uso de variables en la seccin de datos.

-------------------------- EJEMPLO 6 -------------------------C:\PS>$here = @' Msg1 = The string parameter is required. Msg2 = Credentials are required for this command. Msg3 = The specified variable does not exist. '@ C:\PS> $hash = $here | convertfrom-stringdata C:\PS> $hash Name ---Msg3 Msg2 Msg1 Value ----The specified variable does not exist. Credentials are required for this command. The string parameter is required.

Descripcin ----------En este ejemplo se muestra que se puede utilizar un operador de canalizacin (|) para enviar una cadena a ConvertFrom-StringData. El primer comando guarda en la variable $here una cadena multilnea intercalada en el cdigo. El segundo comando usa un operador de canalizacin (|) para enviar la variable $here a ConvertFrom-StringData. El comando guarda el resultado en la variable $hash. El ltimo comando muestra el contenido de la variable $hash.

NOTAS Para ver los ejemplos, escriba: "get-help ConvertFrom-StringData examples". Para obtener ms informacin, escriba: "get-help ConvertFrom-StringData -detailed". Para obtener informacin tcnica, escriba: "get-help ConvertFromStringData -full". NOMBRE Export-CSV SINOPSIS Convierte los objetos de Microsoft .NET Framework en una serie de cadenas CSV (valores separados por comas) de longitud variable y guarda las cadenas en un archivo CSV.

SINTAXIS Export-CSV [[-Delimiter] <char>] [-Path] <string> -InputObject <psobject> [-Encoding <string>] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [-WhatIf] [<CommonParameters>] Export-CSV [-UseCulture] [-Path] <string> -InputObject <psobject> [Encoding <string>] [-Force] [-NoClobber] [-NoTypeInformation] [-Confirm] [WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Export-CSV crea un archivo CSV de longitud variable que representa los objetos que se envan. A continuacin, puede usar el cmdlet Import-CSV para volver a crear objetos a partir de las cadenas CSV del archivo. Los objetos resultantes son versiones CSV de los objetos originales que se componen de representaciones de cadena de los valores de propiedad y ningn mtodo. Tambin puede utilizar los cmdlets ConvertTo-CSV y ConvertFrom-CSV para convertir los objetos de .NET Framework en cadenas CSV (y viceversa). Export-CSV es igual que ConvertTo-CSV, salvo en que guarda las cadenas CSV en un archivo. Puede utilizar los parmetros del cmdlet Export-CSV para especificar un delimitador que no sea una coma o para indicar a Export-CSV que use el delimitador predeterminado de la actual referencia cultural. Cuando se envan varios objetos a Export-CSV, Export-CSV organiza el archivo segn las propiedades del primer objeto que se enva. Si los objetos restantes no tienen una de las propiedades especificadas, el valor de propiedad de ese objeto es NULL, lo cual se representa mediante dos comas conse cutivas. Si los objetos restantes tienen propiedades adicionales, esos valores de propiedad no se incluyen en el archivo. Para obtener ms informacin, vea Export-CSV y la seccin Notas. PARMETROS -Delimiter <char> Especifica un delimitador para separar los valores de propiedad. El delimitador predeterminado es una coma (,). Escriba un carcter, como un signo de dos puntos (:). Para especificar un signo de punto y coma (;), escrbalo entre comillas. -Encoding <string> Especifica la codificacin para el archivo CSV exportado. Los valores vlidos son Unicode, UTF7, UTF8, ASCII, UTF32, BigEndianUnicode, Default y OEM. El valor predeterminado es ASCII. -Force [<SwitchParameter>] Sobrescribe el archivo especificado en la ruta de acceso sin pedir confirmacin. -InputObject <psobject> Especifica los objetos que se van a exportar como cadenas CSV. Especifique la variable que contiene los objetos o escriba un comando o una expresin que los obtenga. Tambin puede canalizar los objetos a Export-CSV. -NoClobber [<SwitchParameter>]

No sobrescribe un archivo existente (es decir, no remplaza su contenido). De forma predeterminada, si existe un archivo en la ruta de acceso especificada, Export-CSV lo sobrescribe sin avisar. -NoTypeInformation [<SwitchParameter>] Omite la informacin de tipo del archivo CSV. De forma predeterminada, la primera lnea del archivo CSV contiene "#TYPE" seguido del nombre completo del tipo del objeto de .NET Framework. -Path <string> Especifica la ruta de acceso al archivo de salida CSV. Este parmetro es obligatorio. -UseCulture [<SwitchParameter>] Utilice como delimitador de elementos el separador de lista de la actual referencia cultural. El delimitador predeterminado es una coma (,). Este parmetro es muy til en scripts que se distribuyen a usuarios por todo el mundo. Para obtener el separador de lista de una referencia cultural, utilice el siguiente comando: (GetCulture).TextInfo.ListSeparator. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-process wmiprvse | select-object basePriority,ID,SessionID,WorkingSet | export-csv -path data.csv Descripcin ----------Este comando selecciona algunas propiedades del proceso wmiprvse y las exporta a un archivo con el formato CSV denominado data.csv.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-process | export-csv processes.csv C:\PS> get-process | export-csv processes.csv # In processes.csv #TYPE System.Diagnostics.Process __NounName,Name,Handles,VM,WS,PM,NPM,Path,Company,CPU,FileVersion,... Process,powershell,626,201666560,76058624,61943808,11960,C:\WINDOWS... Process,powershell,257,151920640,38322176,37052416,7836,C:\WINDOWS\...

Descripcin ----------Este comando exporta los objetos que representan los procesos del equipo al archivo Processes.csv en el directorio actual. Dado que no especifica un delimitador, se usa una coma (,) para separar los campos del archivo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-process | export-csv processes.csv -Delimiter ";" # In processes.csv #TYPE System.Diagnostics.Process __NounName;Name;Handles;VM;WS;PM;NPM;Path;Company;CPU;FileVersion;... Process;powershell;626;201666560;76058624;61943808;11960;C:\WINDOWS... Process;powershell;257;151920640;38322176;37052416;7836;C:\WINDOWS\... Descripcin ----------Este comando exporta los objetos que representan los procesos del equipo al archivo Processes.csv en el directorio actual. Utiliza el parmetro Delimiter para especificar el signo de punto y coma (;) como delimitador. Como resultado, los campos del archivo estn separados por signos de punto y coma.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-process | export-csv processes.csv -UseCulture Descripcin ----------Este comando exporta los objetos que representan los procesos del equipo al archivo Processes.csv en el directorio actual. Utiliza el parmetro UseCulture para indicar a Export-CSV que use el delimitador especificado por la propiedad ListSeparator de la actual referencia cultural.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-process | export-csv processes.csv -NoTypeInformation C:\PS> get-process | export-csv processes.csv -NoTypeInformation # In processes.csv __NounName,Name,Handles,VM,WS,PM,NPM,Path,Company,CPU,FileVersion,... Process,powershell,626,201666560,76058624,61943808,11960,C:\WINDOWS... Process,powershell,257,151920640,38322176,37052416,7836,C:\WINDOWS\... Descripcin -----------

Este comando exporta los objetos que representan los procesos del equipo al archivo Processes.csv en el directorio actual. Utiliza el parmetro NoTypeInformation para suprimir del archivo la informacin de tipo.

NOTAS Para ver los ejemplos, escriba: "get-help Export-CSV -examples". Para obtener ms informacin, escriba: "get-help Export-CSV -detailed". Para obtener informacin tcnica, escriba: "get-help Export-CSV -full". NOMBRE Get-Event SINOPSIS Obtiene los eventos de la cola de eventos. SINTAXIS Get-Event [-EventIdentifier] <int> [<CommonParameters>] Get-Event [[-SourceIdentifier] <string>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-Event obtiene los eventos de la cola de eventos de Windows PowerShell para la sesin actual. Puede obtener todos los eventos, o bien, utilizar el parmetro EventIdentifier o SourceIdentifier para especificar los eventos. Cuando se produce un evento, este se cola de eventos incluye los eventos para registrado, los eventos creados mediante se produce al cerrar Windows PowerShell. Event para obtener los eventos. agrega a la cola de eventos. La los que el usuario se ha el cmdlet New-Event y el evento que Puede utilizar Get-Event o Wait-

Este cmdlet no obtiene los eventos de los registros del Visor de eventos. Para obtener esos eventos, utilice Get-WinEvent o Get-EventLog. PARMETROS -EventIdentifier <int> Obtiene solo los eventos con el identificador de evento especificado. -SourceIdentifier <string> Obtiene solo los eventos con el identificador de origen especificado. De manera predeterminada, se trata de todos los eventos en la cola de eventos. No se permite el uso de caracteres comodn. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-event

Descripcin ----------Este comando obtiene todos los eventos de la cola de eventos.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-event -sourceIdentifier "PowerShell.ProcessCreated" Descripcin ----------Este comando obtiene los eventos en los que el valor de la propiedad SourceIdentifier es "PowerShell.ProcessCreated".

-------------------------- EJEMPLO 3 -------------------------C:\PS>$events = get-event C:\PS> $events[0] | format-list -property * ComputerName : RunspaceId : c2153740-256d-46c0-a57c-b805917d1b7b EventIdentifier : 1 Sender : System.Management.ManagementEventWatcher SourceEventArgs : System.Management.EventArrivedEventArgs SourceArgs : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs} SourceIdentifier : ProcessStarted TimeGenerated : 11/13/2008 12:09:32 PM MessageData : C:\PS> get-event | where {$_.TimeGenerated -ge "11/13/2008 12:15:00 PM"} ComputerName : RunspaceId : c2153740-256d-46c0-a57c-b8059325d1a0 EventIdentifier : 1 Sender : System.Management.ManagementEventWatcher SourceEventArgs : System.Management.EventArrivedEventArgs SourceArgs : {System.Management.ManagementEventWatcher, System.Management.EventArrivedEventArgs} SourceIdentifier : ProcessStarted TimeGenerated : 11/13/2008 12:15:00 PM MessageData : Descripcin ----------En este ejemplo se muestra cmo obtener eventos mediante propiedades distintas de SourceIdentifier. El primer comando obtiene todos los eventos de la cola de eventos y los guarda en la variable $events. El segundo comando usa la notacin de matriz para obtener el primer evento (ndice 0) de la matriz en la variable $events. El comando usa un

operador de canalizacin (|) para enviar el evento al comando Format-List, que muestra todas las propiedades del evento en una lista. Esto permite examina r las propiedades del objeto de evento. El tercer comando muestra cmo utilizar el cmdlet Where-Object para obtener un evento segn la hora a la que se gener.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-event -eventIdentifier 2 Descripcin ----------Este comando obtiene el evento con el identificador de evento 2.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Event -examples". Para obtener ms informacin, escriba: "get-help Get-Event -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Event -full". NOMBRE Out-Host SINOPSIS Enva el resultado a la lnea de comandos. SINTAXIS Out-Host [-InputObject <psobject>] [-Paging] [<CommonParameters>] DESCRIPCIN El cmdlet Out-Host enva el resultado al host de Windows PowerShell para su presentacin. El host muestra el resultado en la lnea de comandos. Dado que Out-Host es el valor predeterminado, no es necesario especificarlo a menos que desee usar sus parmetros para cambiar la presentacin. PARMETROS -InputObject <psobject> Especifica los objetos que se escriben en la consola. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -Paging [<SwitchParameter>] Muestra la salida pgina a pgina y espera instrucciones del usuario antes de mostrar las pginas restantes, un comportamiento muy similar al del comando "more". De manera predeterminada, todos los resultados aparecen en una nica pgina. El tamao de la pgina est determinado por las cara ctersticas del host. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-process | out-host -paging Descripcin ----------Este comando muestra los procesos del sistema, pgina a pgina. Usa el comando Get-Process para obtener los procesos del sistema. El operador de canalizacin (|) enva los resultados al cmdlet Out-Host, que los muestra en la consola. El parmetro Paging muestra una pgina de datos cada vez. El mismo formato de comando se usa para la funcin Help que est integrada en Windows PowerShell. Esta funcin obtiene datos de Get-Help y, a continuacin, usa el parmetro Paging de Out-Host para mostrar los datos en una pgina a la vez con este formato de comando: get-help $args[0] | outhost -paging).

-------------------------- EJEMPLO 2 -------------------------C:\PS>$a = get-history C:\PS>out-host -InputObject $a Descripcin ----------Estos comandos muestran el historial de sesiones en la lnea de comandos. El primer comando usa el cmdlet Get-History para obtener el historial de sesiones y, a continuacin, almacena el historial en la variable $a. El segundo comando usa Out-Host para mostrar el contenido de la variable $a y u sa el parmetro InputObject para especificar la variable en Out-Host.

NOTAS Para ver los ejemplos, escriba: "get-help Out-Host -examples". Para obtener ms informacin, escriba: "get-help Out-Host -detailed". Para obtener informacin tcnica, escriba: "get-help Out-Host -full". NOMBRE Out-File SINOPSIS Enva la salida a un archivo. SINTAXIS Out-File [-FilePath] <string> [[-Encoding] <string>] [-Append] [-Force] [-InputObject <psobject>] [-NoClobber] [-Width <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

DESCRIPCIN El cmdlet Out-File enva la salida a un archivo. Puede usar este cmdlet en lugar del operador de redireccin (>) cuando necesite usar sus parmetros. PARMETROS -Append [<SwitchParameter>] Agrega el resultado al final de un archivo existente en lugar de sobrescribir el contenido de dicho archivo. -Encoding <string> Especifica el tipo de codificacin de caracteres que se usa en el archivo. Los valores vlidos son "Unicode", "UTF7", "UTF8", "UTF32", "ASCII", "BigEndianUnicode", "Default" y "OEM". "Unicode" es el valor predeterminado. "Default" use la codificacin de la pgina de cdigos ANSI actual del sistema. "OEM" usa el identificador de la pgina de cdigos del fabricante del equipo original actual del sistema operativo. -FilePath <string> Especifica la ruta de acceso al archivo de salida. -Force [<SwitchParameter>] Permite al cmdlet sobrescribir un archivo de solo lectura existente. Incluso si se usa el parmetro Force, el cmdlet no puede invalidar las restricciones de seguridad. -InputObject <psobject> Especifica los objetos que se van a escribir en el archivo. Especifique la variable que contiene los objetos o escriba un comando o una expresin que los obtenga. -NoClobber [<SwitchParameter>] No sobrescribir un archivo existente (es decir, no remplazar su contenido). De forma predeterminada, si existe un archivo en la ruta de acceso especificada, Out-File lo sobrescribe sin avisar. Si se usan los parmetros Append y NoClobber, la salida se anexa al archivo existente. -Width <int> Especifica el nmero de caracteres de cada lnea de la salida. Todos los caracteres adicionales se truncan, no se ajustan. Si se omite este parmetro, el ancho estar determinado por las caractersticas del host. El valor predeterminado para la consola de Windows PowerShell es 80 (caractere s). -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters".

-------------------------- EJEMPLO 1 -------------------------C:\PS>get-process | out-file -filepath C:\Test1\process.txt Descripcin ----------Este comando enva una lista de procesos del equipo al archivo Process.txt. Si el archivo no existe, Out-File lo crear. Dado que el nombre del parmetro FilePath es opcional, se puede omitir dicho nombre y ejecutar el comando equivalente "get-process | outfile C:\Test1\process.txt".

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-process | out-file C:\Test1\process.txt -noclobber Out-File : File C:\Test1\process.txt already exists and NoClobber was specified. At line:1 char:23 + get-process | out-file <<<< process.txt -noclobber Descripcin ----------Este comando enva tambin una lista de procesos al archivo Process.txt, pero usa el parmetro NoClobber, que impide que se sobrescriba ningn archivo existente. La salida muestra el mensaje de error que aparece cuando se usa NoClobber con un archivo existente.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$a = get-process C:\PS> out-file -filepath C:\Test1\process.txt -inputobject $a -encoding ASCII -width 50 Descripcin ----------Estos comandos envan una lista de procesos del equipo al archivo Process.txt. El texto est codificado en formato ASCII de modo que lo puedan leer programas como Findstr y Grep. De forma predeterminada, Out-File utiliza el formato Unicode. El primer comando obtiene la lista de procesos y la almacena en la variable $a. El segundo comando usa el cmdlet Out-File para enviar la lista al archivo Process.txt. El comando usa el parmetro InputObject para determinar si la entrada se encuentra en la variable $a. Usa el parmetro Encoding para convertir la salida al formato ASCII. Usa el parmetro Width para limitar a 50 caracteres cada lnea del archivo. Dado que las lneas de la salida se truncan desp us de 50 caracteres, se omite la columna situada ms a la derecha en la tabla de procesos.

-------------------------- EJEMPLO 4 -------------------------C:\PS>set-location hklm:\software c:\PS>get-acl mycompany\mykey | out-file -filepath c:\ps\acl.txt c:\PS>get-acl mycompany\mykey | out-file -filepath filesystem::acl.txt Descripcin ----------Estos comandos muestran cmo usar el cmdlet Out-File cuando no se est en una unidad FileSystem. El primer comando establece la ubicacin actual en la clave del Registro HKLM:\Software. El segundo y el tercer comando tienen el mismo efecto. Usan el cmdlet Get-Acl para obtener el descriptor de seguridad de la subclave del Registro MyKey (HKLM\Software\MyCompany\MyKey). Un operador de canalizacin pasa el resultado al cmdlet Out-File, que lo enva al archivo Acl.txt. Dado que el proveedor Registry de Windows PowerShell no es compatible con Out-File, se debe especificar el nombre de la unidad del sistema de archivos, por ejemplo "c:", o bien, el nombre del proveedor seguido de dos signos de dos puntos, "FileSystem::", en el valor del parmetro FilePath. El s egundo y el tercer comando ilustran estos mtodos.

NOTAS Para ver los ejemplos, escriba: "get-help Out-File -examples". Para obtener ms informacin, escriba: "get-help Out-File -detailed". Para obtener informacin tcnica, escriba: "get-help Out-File -full". NOMBRE Out-Printer SINOPSIS Enva la salida a una impresora. SINTAXIS Out-Printer [[-Name] <string>] [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet Out-Printer enva la salida a la impresora predeterminada o a una impresora alternativa si se ha especificado alguna. PARMETROS -InputObject <psobject> Especifica los objetos que se van a enviar a la impresora. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -Name <string>

Especifica la impresora alternativa. El nombre del parmetro ("Name") es opcional. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-content $pshome\about_signing.help.txt | Out-Printer Descripcin ----------Este comando imprime el contenido del tema de Ayuda about_Signing en la impresora predeterminada. En este ejemplo, se muestra cmo imprimir un archivo aunque no se haya especificado un parmetro Path en Out-Printer. El comando utiliza el cmdlet Get-Content para obtener el contenido del tema de Ayuda. La ruta incluye $pshome, una variable integrada que almacena el directorio de instalacin de Windows PowerShell. Un operador de canalizacin (|) pasa el resultado a Out-Printer, que lo enva a la impresora pre determinada.

-------------------------- EJEMPLO 2 -------------------------C:\PS>"Hello, World" | out-printer -name "\\Server01\Prt-6B Color" Descripcin ----------Este comando imprime "Hello, World" en la impresora "Prt-6B Color" del equipo Server01. Este comando utiliza el parmetro Name para especificar la impresora alternativa. Dado que el nombre del parmetro es opcional, puede omitirse.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$h = get-help -full get-wmiobject C:\PS> out-printer -inputobject $h Descripcin ----------Estos comandos imprimen la versin completa del tema de Ayuda de GetWmiObject. El primer comando usa el cmdlet Get-Help para obtener la versin completa del tema de Ayuda de Get-WmiObject y la almacena en la variable $h. El segundo comando enva el contenido a la impresora predeterminada. Usa el parmetro InputObject para pasar el valor de la variable $h a OutPrinter.

NOTAS Para ver los ejemplos, escriba: "get-help Out-Printer -examples". Para obtener ms informacin, escriba: "get-help Out-Printer -detailed". Para obtener informacin tcnica, escriba: "get-help Out-Printer -full". NOMBRE Format-Wide SINOPSIS Aplica a los objetos el formato de una tabla ancha en la que se muestra nicamente una propiedad de cada objeto. SINTAXIS Format-Wide [[-Property] <Object>] [-AutoSize] [-Column <int>] [DisplayError] [-Expand <string>] [-Force] [-GroupBy <Object>] [-InputObject <psobject>] [-ShowError] [-View <string>] [<CommonParameters>] DESCRIPCIN El cmdlet Format-Wide aplica a los objetos el formato de una tabla ancha en la que se muestra solamente una propiedad de cada objeto. Puede usar el parmetro Property para determinar qu propiedad se va a mostrar. PARMETROS -AutoSize [<SwitchParameter>] Ajusta el tamao de columna y el nmero de columnas en funcin del ancho de los datos. De forma predeterminada, el tamao y el nmero de columnas vienen determinados por la vista. Los parmetros AutoSize y Column no se pueden usar en el mismo comando. -Column <int> Especifica el nmero de columnas de la presentacin. Los parmetros AutoSize y Column no se pueden usar en el mismo comando. -DisplayError [<SwitchParameter>] Muestra los errores en la lnea de comandos. -Expand <string> Da formato al objeto Collection, as como a los objetos de la coleccin. Este parmetro se ha diseado para dar un formato a los objetos que sea compatible con la interfaz ICollection (System.Collections). El valor predeterminado es EnumOnly. Los valores vlidos son: -- EnumOnly: muestra las propiedades de los objetos de la coleccin. -- CoreOnly: muestra las propiedades del objeto Collection. -- Both: muestra las propiedades del objeto Collection y de los objetos de la coleccin. -Force [<SwitchParameter>] Pasa por alto las restricciones que impiden que el comando se ejecute correctamente, de tal modo que los cambios no pongan en peligro la seguridad. Por ejemplo, Force reemplazar el atributo de solo lectura o crear directorios para completar la ruta de acceso a un archivo, pero no intentar cambiar los permisos del archivo. -GroupBy <Object>

Da formato a la salida de los grupos en funcin de un valor o una propiedad compartida. Especifique una expresin o una propiedad de la salida. El valor del parmetro GroupBy puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -- Name (o Label) <cadena> -- Expression <cadena> o <bloque de script> -- FormatString <cadena> -InputObject <psobject> Especifica los objetos a los que se les va a dar formato. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -Property <Object> Especifica las propiedades del objeto que se van a mostrar y el orden en el que van a aparecer. Se permite el uso de caracteres comodn. Si se omite este parmetro, las propiedades que aparezcan en la presentacin dependern del objeto que se est mostrando. El nombre del parmetro ("Property") es opcional. Los parmetros Property y View no se pueden usar en el mismo comando. El valor del parmetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves vlidas son: -- Expression <cadena> o <bloque de script> -- FormatString <cadena> -ShowError [<SwitchParameter>] Enva los errores a travs de la canalizacin. -View <string> Especifica el nombre de un formato de tabla alternativo o una vista alternativa. Los parmetros Property y View no se pueden usar en el mismo comando. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-childitem | format-wide -column 3 Descripcin ----------Este comando muestra los nombres de los archivos del directorio actual en tres columnas a lo ancho de toda la pantalla. El cmdlet Get-ChildItem obtiene los objetos que representan los archivos del directorio. El operador de canalizacin (|) pasa los objetos de archivo a travs de la canalizaci n a Format-Wide, que les aplica el formato que tendrn a la salida. El parmetro Column especifica el nmero de columnas.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-childitem HKCU:\software\microsoft | format-wide -property pschildname -autosize Descripcin ----------Este comando muestra los nombres de las claves del Registro en la clave HKEY_CURRENT_USER\Software\Microsoft. El cmdlet Get-ChildItem obtiene los objetos que representan las claves. La ruta de acceso se especifica como "HKCU:", una de las unidades expuestas por el proveedor del Registro de Wind ows PowerShell, seguida de la ruta de la clave. El operador de canalizacin (|) pasa los objetos de clave de Registro a travs de la canalizacin a Format-Wide, que les aplica el formato que tendrn a la salida. El parmetro Property especifica el nombre de la propiedad y el parmetro AutoSize ajusta las columnas para facilitar su lectura.

NOTAS Para ver los ejemplos, escriba: "get-help Format-Wide -examples". Para obtener ms informacin, escriba: "get-help Format-Wide -detailed". Para obtener informacin tcnica, escriba: "get-help Format-Wide -full". NOMBRE Out-Null SINOPSIS Elimina los resultados en lugar de enviarlos a la consola. SINTAXIS Out-Null [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet Out-Null convierte los resultados en nulos, es decir, los elimina. PARMETROS -InputObject <psobject> Especifica el objeto que se va a convertir en nulo (se va a eliminar). Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-childitem | out-null Descripcin

----------Este comando obtiene los elementos del directorio local pero, a continuacin, los descarta en lugar de pasarlos a travs de la canalizacin o mostrarlos en la lnea de comandos. Resulta til para descartar los resultados que no se necesitan.

NOTAS Para ver los ejemplos, escriba: "get-help Out-Null -examples". Para obtener ms informacin, escriba: "get-help Out-Null -detailed". Para obtener informacin tcnica, escriba: "get-help Out-Null -full". NOMBRE Out-Default SINOPSIS Enva el resultado al formateador predeterminado y al cmdlet de salida predeterminado. SINTAXIS Out-Default [-InputObject <psobject>] [<CommonParameters>] DESCRIPCIN El cmdlet Out-Default enva el resultado al formateador predeterminado y al cmdlet de salida predeterminado. Este cmdlet no afecta al formato ni al resultado de los comandos de Windows PowerShell. Es un marcador de posicin que permite al usuario escribir su propio cmdlet o funcin Out-Default. PARMETROS -InputObject <psobject> <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". NOTAS Para ver los ejemplos, escriba: "get-help Out-Default -examples". Para obtener ms informacin, escriba: "get-help Out-Default -detailed". Para obtener informacin tcnica, escriba: "get-help Out-Default -full". NOMBRE Out-String SINOPSIS Enva objetos al host como una serie de cadenas. SINTAXIS Out-String [-InputObject <psobject>] [-Stream] [-Width <int>] [<CommonParameters>] DESCRIPCIN

El cmdlet Out-String convierte los objetos administrados por Windows PowerShell en una matriz de cadenas. De manera predeterminada, Out-String acumula las cadenas y las devuelve en una sola cadena, aunque se puede usar el parmetro Stream para indicar a Out-String que devuelva las cadenas una p or una. Este cmdlet permite buscar y manipular los resultados que tienen formato de cadenas de igual modo que se efecta en los shell tradicionales cuando la manipulacin de objetos es ms complicada. PARMETROS -InputObject <psobject> Especifica los objetos que se van a escribir en una cadena. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -Stream [<SwitchParameter>] Enva las cadenas de cada objeto por separado. De manera predeterminada, las cadenas de cada objeto se acumulan y se envan como una nica cadena. -Width <int> Especifica el nmero de caracteres de cada lnea de la salida. Todos los caracteres adicionales se truncan, no se ajustan. Si se omite este parmetro, el ancho estar determinado por las caractersticas del host. El valor predeterminado para el host de PowerShell.exe es 80 (caracteres). <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-content C:\test1\testfile2.txt | out-string Descripcin ----------Este comando enva el contenido del archivo Testfile2.txt a la consola como una nica cadena. Usa el cmdlet Get-Content para obtener el contenido del archivo. El operador de canalizacin (|) enva el contenido a OutString, que a su vez lo enva a la consola como una cadena.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$c = get-culture | select-object * C:\PS> out-string -inputobject $c -width 100 Descripcin ----------Estos comandos obtienen la configuracin actual del usuario actual y convierten los datos en cadenas. El primer comando usa el cmdlet Get-Culture para obtener la configuracin regional. El operador de canalizacin (|) enva el resultado al cmdlet Select-Object, que selecciona todas las propieda des (*) del objeto de referencia cultural recuperado por Get-Culture. El comando almacena a continuacin los resultados en la variable $c.

El segundo comando usa Out-String para convertir el objeto CultureInfo en una serie de cadenas (una cadena por cada propiedad). Usa el parmetro InputObject para pasar la variable $c a Out-String. El parmetro Width se establece en 100 caracteres por lnea para evitar truncamientos.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-alias | out-string -stream | select-string "Get-Command" Descripcin ----------Este comando muestra los alias que incluyen la frase "Get-Command". El comando usa el cmdlet Get-Alias para obtener un conjunto de objetos AliasInfo (uno por cada alias en la sesin actual). En este ejemplo, se muestran las diferencias que existen entre trabajar con objetos y trabajar con caden as. El operador de canalizacin (|) enva el resultado de Get-Alias a OutString, que convierte los objetos en una serie de cadenas. Usa el parmetro Stream para enviar cada cadena por separado en lugar de concatenarlas en una sola cadena. Otro operador de canalizacin enva las cadenas a Select-St ring, que selecciona las cadenas que incluyen "Get-Command". Si se omite el parmetro Stream, el comando mostrar todos los alias ya que Select-String encuentra "Get-Command" en la nica cadena que Out-String devuelve, y el formateador mostrar la cadena como una tabla.

NOTAS Para ver los ejemplos, escriba: "get-help Out-String -examples". Para obtener ms informacin, escriba: "get-help Out-String -detailed". Para obtener informacin tcnica, escriba: "get-help Out-String -full". NOMBRE Register-ObjectEvent SINOPSIS Realiza la suscripcin a los eventos generados por un objeto de Microsoft .NET Framework. SINTAXIS Register-ObjectEvent [-InputObject] <psobject> [-EventName] <string> [[SourceIdentifier] <string>] [[-Action] <scriptblock>] [-Forward] [MessageData <psobject>] [-SupportEvent] [<CommonParameters>] DESCRIPCIN El cmdlet Register-ObjectEvent realiza la suscripcin a los eventos generados por los objetos de .NET Framework en el equipo local o en un equipo remoto.

Cuando se genera el evento objeto de la suscripcin, dicho evento se agrega a la cola de eventos de la sesin. Para obtener eventos de la cola de eventos, utilice el cmdlet Get-Event. Puede utilizar los parmetros de Register-ObjectEvent para especificar valores de propiedad de los eventos que pueden ayudar a identificar el evento en la cola. Tambin puede utilizar el parmetro Action para especificar las acciones que deben realizarse cuando se genera un evento al que se ha suscrito as como el parmetro Forward para enviar los eventos remotos a la cola de eventos en la sesin local. Al suscribirse a un evento, se agrega un suscriptor de eventos a la sesin. Para obtener los suscriptores de eventos de la sesin, utilice el cmdlet Get-EventSubscriber. Para cancelar la suscripcin, utilice el cmdlet Unregister-Event, que elimina el suscriptor de eventos de la sesin. PARMETROS -Action <scriptblock> Especifica comandos para controlar los eventos. Los comandos del parmetro Action se ejecutan cuando se provoca un evento, en lugar de enviar el evento a la cola de eventos. Incluya los comandos entre llaves ({ }) para crear un bloque de script. El valor del parmetro Action puede incluir las variables automticas $Event, $EventSubscriber, $Sender, $SourceEventArgs y $SourceArgs, que proporcionan informacin acerca del evento al bloque de script Action. Para obtener ms informacin, vea about_Automatic_Variables. Cuando se especifica una accin, Register-ObjectEvent devuelve un objeto de trabajo de evento que representa esa accin. Puede usar los cmdlets Job para administrar el trabajo de evento. -EventName <string> Especifica el evento al que se est suscribiendo. Escriba el nombre del evento. Este parmetro es obligatorio. El valor de este parmetro no es un nombre que seleccione para la suscripcin de eventos. Es el nombre de un evento que el objeto de .NET Framework expone. Por ejemplo, la clase ManagementEventWatcher tiene los eventos denominados "EventArrived" y "Stopped". Para obtener el nombre de un eve nto, utilice el cmdlet Get-Member. -Forward [<SwitchParameter>] Enva los eventos de esta suscripcin a una sesin remota. Use este parmetro si se registra para eventos en un equipo remoto o en una sesin remota. -InputObject <psobject> Especifica el objeto de .NET Framework que genera los eventos. Especifique la variable que contiene el objeto o escriba un comando o una expresin que lo obtenga. Este parmetro es obligatorio. -MessageData <psobject> Especifica los datos adicionales que se van a asociar a esta suscripcin de eventos. El valor de este parmetro aparece en la propiedad MessageData de todos los eventos asociados a esta suscripcin. -SourceIdentifier <string>

Especifica un nombre que se selecciona para la suscripcin. El nombre que se seleccione debe ser nico en la sesin actual. El valor predeterminado es el GUID asignado por Windows PowerShell. El valor de este parmetro aparece en el valor de la propiedad SourceIdentifier del objeto de suscriptor y de todos los objetos de evento asociados a esta suscripcin. -SupportEvent [<SwitchParameter>] Oculta la suscripcin de eventos. Use este parmetro si la suscripcin actual forma parte de un mecanismo de registro de eventos ms complejo y no debe detectarse de manera independiente. Para ver o cancelar una suscripcin creada con el parmetro SupportEvent, use el parmetro Force de los cmdlets Get-EventSubscriber y Unregister-Event. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", (New-Object TimeSpan 0,0,1), "TargetInstance isa 'Win32_Process'" C:\PS> $processWatcher = New-Object System.Management.ManagementEventWatcher $query C:\PS> register-objectEvent -inputObject $processWatcher -eventName "EventArrived" Descripcin ----------En este ejemplo se realiza la suscripcin a los eventos que se generan cuando se inicia un nuevo proceso. El comando utiliza el objeto ManagementEventWatcher para obtener los eventos EventArrived. Un objeto de consulta especifica que los eventos son eventos de creacin de instancia de la clase Win32_Process.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", (New-Object TimeSpan 0,0,1), "TargetInstance isa 'Win32_Process'" C:\PS> $processWatcher = New-Object System.Management.ManagementEventWatcher $query C:\PS> $action = { New-Event "PowerShell.ProcessCreated" -Sender $sender -EventArguments $SourceEventArgs.NewEvent.TargetInstance } C:\PS> register-objectEvent -inputObject $processWatcher -eventName "EventArrived" -action $action

Id Command -----2 New-Event

Name ----

State -----

HasMoreData ----------True

Location ---------

422cfe5a-65e... Running "PowerShe...

Descripcin ----------En este ejemplo se muestra cmo especificar una accin para responder a un evento. Cuando se especifica una accin, los eventos que se provocan no se agregan a la cola de eventos sino que la accin responde al evento. En este ejemplo, cuando se genera un evento de creacin de instancia que indica que se inicia un nuevo proceso, se genera un nuevo evento ProcessCreated. La accin usa las variables automticas $Sender y $SourceEventArgs, que se rellenan nicamente para las acciones de evento. El comando Register-ObjectEvent devuelve un objeto de trabajo que representa la accin, que se ejecuta como un trabajo en segundo plano. Se pueden utilizar los cmdlets Job, como Get-Job y Receive-Job, para administrar el trabajo en segundo plano. Para obtener ms informacin, vea about_Jobs.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$s = new-pssession -computername Server01, Server02 C:\PS> invoke-command -session $s -filepath ProcessCreationEvent.ps1 C:\PS> invoke-command -session $s { get-event } # ProcessCreationEvent.ps1 function Enable-ProcessCreationEvent { $query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", ` (New-Object TimeSpan 0,0,1), ` "TargetInstance isa 'Win32_Process'" $processWatcher = New-Object System.Management.ManagementEventWatcher $query $identifier = "WMI.ProcessCreated" Register-ObjectEvent -input $processWatcher -eventName "EventArrived" ` -sourceIdentifier $identifier -messageData "Test" -forward } } EnableProcessCreationEvent Descripcin -----------

En este ejemplo se muestra cmo suscribirse a los eventos de objeto en equipos remotos. El primer comando crea PSSessions en dos equipos remotos y las almacena en la variable $s. El segundo comando usa el parmetro FilePath del cmdlet Invoke-Command para ejecutar el script ProcessCreationEvent.ps1 en cada una de las sesiones PSSession almacenadas en $s. El script incluye un comando Register-ObjectEvent que realiza la suscripcin a los eventos de creacin de instancia en el objeto Win32_Process a travs del objeto ManagementEventWatcher y su evento EventArrived.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$timer = New-Object Timers.Timer

C:\PS> $timer.Interval = 500 C:\PS> $job = Register-ObjectEvent -inputObject $timer -eventName Elapsed -sourceIdentifier Timer.Random -Action {$random = Get-Random -Min 0 -Max 100} C:\PS> $job.gettype().fullname System.Management.Automation.PSEventJob C:\PS> $job | format-list -property * State Module StatusMessage HasMoreData Location Command JobStateInfo Finished InstanceId Id Name ChildJobs ... : : : : : : : : : : : : Running __DynamicModule_6b5cbe82-d634-41d1-ae5e-ad7fe8d57fe0 True $random = Get-Random -Min 0 -Max 100 Running System.Threading.ManualResetEvent 88944290-133d-4b44-8752-f901bd8012e2 1 Timer.Random {}

C:\PS> $timer.Enabled = $true C:\PS> & $job.module {$random} 60 C:\PS> & $job.module {$random} 47 Descripcin ----------En este ejemplo, se muestra cmo utilizar el mdulo dinmico en el objeto PSEventJob que se crea cuando se incluye una accin en el registro de eventos.

El primer comando utiliza el cmdlet New-Object para crear un objeto de temporizador. El segundo comando establece el intervalo del temporizador en 500 (milisegundos). El tercer comando usa el cmdlet Register-ObjectEvent para registrar el evento Elapsed del objeto de temporizador. El comando incluye una accin que controla el evento. Una vez transcurrido el intervalo del temporizador, se provoca un evento y se ejecutan los comandos de la accin. En este caso, el cmdlet Get-Random genera un nmero aleatorio comprendido entre 0 y 100 y lo guarda en la variable $random. Cuando se usa el parmetro Action en un comando Register-ObjectEvent, el comando devuelve un objeto PSEventJob que representa la accin. El comando guarda el objeto de trabajo en la variable $job. El objeto PSEventJob devuelto por el cmdlet Register-ObjectEvent tambin est disponible en la propiedad Action del suscriptor de eventos. Para obtener ms informacin, vea Get-EventSubscriber. El cuarto comando muestra que la variable $job contiene un objeto PSEventJob. El quinto comando utiliza el cmdlet Format-List para mostrar en una lista todas las propiedades del objeto PSEventJob. El objeto PSEventJob tiene una propiedad Module que contiene un mdulo de script dinmico que implementa la accin. El sexto comando habilita el temporizador. Los comandos restantes utilizan el operador de llamada (&) para invocar el comando del mdulo y mostrar el valor de la variable $random. El operador de llamada se puede usar para invocar cualquier comando de un mdulo, incluidos los comandos no exportados. En este caso, los comandos muestran el nmero aleatorio que se genera cuando se produce el evento Elapsed. Para obtener ms informacin sobre los mdulos, vea about_Modules.

NOTAS Para ver los ejemplos, escriba: "get-help Register-ObjectEvent examples". Para obtener ms informacin, escriba: "get-help Register-ObjectEvent detailed". Para obtener informacin tcnica, escriba: "get-help RegisterObjectEvent -full". NOMBRE Register-EngineEvent SINOPSIS Realiza la suscripcin a los eventos generados por el motor de Windows PowerShell y el cmdlet New-Event. SINTAXIS Register-EngineEvent [-SourceIdentifier] <string> [[-Action] <scriptblock>] [-Forward] [-MessageData <psobject>] [-SupportEvent] [<CommonParameters>]

DESCRIPCIN El cmdlet Register-EngineEvent realiza la suscripcin a los eventos generados por el motor de Windows PowerShell y el cmdlet New-Event. Use el parmetro SourceIdentifier para especificar el evento. Este cmdlet puede usarse para suscribirse al evento "Exiting" del motor y a los eventos generados por el cmdlet New-Event. Estos eventos se agregan automticamente a la cola de eventos de la sesin sin que sea necesario suscribirse. Sin embargo, la suscripcin permite reenviar los eventos, espe cificar una accin para responder a los eventos y cancelar la suscripcin. Cuando se genera el evento objeto de la suscripcin, dicho evento se agrega a la cola de eventos de la sesin. Para obtener eventos de la cola de eventos, utilice el cmdlet Get-Event. Al suscribir para un evento, se agrega un suscriptor de eventos a la sesin. Para obtener los suscriptores de eventos de la sesin, utilice el cmdlet Get-EventSubscriber. Para cancelar la suscripcin, utilice el cmdlet Unregister-Event, que elimina el suscriptor de eventos de la sesin. PARMETROS -Action <scriptblock> Especifica comandos para controlar los eventos. Los comandos del parmetro Action se ejecutan cuando se provoca un evento, en lugar de enviar el evento a la cola de eventos. Incluya los comandos entre llaves ({ }) para crear un bloque de script. El valor del parmetro Action puede incluir las variables automticas $Event, $EventSubscriber, $Sender, $SourceEventArgs y $SourceArgs, que proporcionan informacin acerca del evento al bloque de script Action. Para obtener ms informacin, vea about_Automatic_Variables. Cuando se especifica una accin, Register-EngineEvent devuelve un objeto de trabajo de evento que representa esa accin. Puede usar los cmdlets Job para administrar el trabajo de evento. -Forward [<SwitchParameter>] Enva los eventos de esta suscripcin a la sesin en el equipo local. Use este parmetro si se registra para eventos en un equipo remoto o en una sesin remota. -MessageData <psobject> Especifica datos adicionales que estn asociados al evento. El valor de este parmetro aparece en la propiedad MessageData del objeto de evento. -SourceIdentifier <string> Especifica el identificador de origen del evento objeto de la suscripcin. El identificador de origen debe ser nico en la sesin actual. Este parmetro es obligatorio. El valor de este parmetro aparece en el valor de la propiedad SourceIdentifier del objeto de suscriptor y de todos los objetos de evento asociados a esta suscripcin. -SupportEvent [<SwitchParameter>] Oculta la suscripcin de eventos. Use este parmetro si la suscripcin actual forma parte de un mecanismo de registro de eventos ms complejo y no debe detectarse de manera independiente.

Para ver o cancelar una suscripcin creada con el parmetro SupportEvent, use el parmetro Force de los cmdlets Get-EventSubscriber y Unregister-Event. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$s = new-pssession -computername Server01, Server02 C:\PS> invoke-command -session $s { Register-EngineEvent sourceIdentifier ([System.Management.Automation.PsEngineEvent]::Exiting) forward } Descripcin ----------Este comando realiza el registro para un evento del motor de Windows PowerShell en dos equipos remotos. El primer comando crea una PSSession en cada uno de los equipos remotos. El segundo comando usa el cmdlet Invoke-Command para ejecutar el comando Register-EngineEvent en las sesiones remotas. El comando Register-EngineEvent utiliza el parmetro SourceIdentifier para identificar el evento. Utiliza el parmetro Forward para reenviar los eventos de la sesin remota a la sesin local.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$j = register-engineEvent -sourceIdentifier PowerShell.ProcessCreated -action { $processName | add-content processLog.txt } C:\PS> get-event C:\PS> $results = $j | receive-job C:\PS> unregister-event PowerShell.ProcessCreated Descripcin ----------Este comando muestra cmo utilizar los cmdlets Job para administrar el objeto de trabajo de evento que Register-EngineEvent devuelve cuando se usa el parmetro Action. Un trabajo de evento se administra de la misma manera que cualquier otro trabajo de Windows PowerShell. Para obtener ms informacin, vea about_jobs. En este ejemplo, se utiliza el cmdlet Receive-Job para obtener los resultados del trabajo. Para eliminar el trabajo de la sesin, utilice Remove-Job. Para cancelar la suscripcin de eventos, utilice el cmdlet Unregister-Event. Para eliminar los eventos de la cola de eventos, utilice Remove-Event.

NOTAS Para ver los ejemplos, escriba: "get-help Register-EngineEvent examples". Para obtener ms informacin, escriba: "get-help Register-EngineEvent detailed". Para obtener informacin tcnica, escriba: "get-help RegisterEngineEvent -full". NOMBRE Wait-Event SINOPSIS Espera a que se produzca un evento concreto antes de continuar la ejecucin. SINTAXIS Wait-Event [[-SourceIdentifier] <string>] [-Timeout <int>] [<CommonParameters>] DESCRIPCIN El cmdlet Wait-Event suspende la ejecucin de un script o una funcin hasta que se produzca un evento concreto. La ejecucin se reanuda cuando se detecta el evento. Para cancelar la espera, presione CTRL+C. Esta caracterstica proporciona una alternativa al sondeo de un evento. Asimismo, permite determinar la respuesta a un evento de dos maneras diferentes: usando el parmetro Action de la suscripcin de eventos o esperando la devolucin de un evento y, a continuacin, respondiendo con una accin. PARMETROS -SourceIdentifier <string> Espera a que se produzcan los eventos con el identificador de origen especificado. De forma predeterminada, Wait-Event espera a que se produzca cualquier evento. -Timeout <int> Determina el tiempo mximo, en segundos, que Wait-Event espera a que se produzca el evento. El valor predeterminado, -1, indica una espera indefinida. El tiempo empieza a contarse cuando se enva el comando WaitEvent. Si se supera el perodo de tiempo especificado, la espera finaliza y el smbolo del sistema vuelve a aparecer, incluso si no se ha provocado el evento. No se muestra ningn mensaje de error. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 --------------------------

C:\PS>wait-event Descripcin ----------Este comando espera a que se produzca el siguiente evento.

-------------------------- EJEMPLO 2 -------------------------C:\PS>wait-event -sourceIdentifier "ProcessStarted" Descripcin ----------Este comando espera a que se produzca el siguiente evento con el identificador de origen "ProcessStarted".

-------------------------- EJEMPLO 3 -------------------------C:\PS>$timer.Interval = 2000 C:\PS> $timer.Autoreset = $false C:\PS> $timer.Enabled = $true; Wait-Event Timer.Elapsed # After 2 seconds EventIdentifier Sender SourceEventArgs SourceArgs SourceIdentifier TimeGenerated MessageData ForwardEvent : : : : : : : : 12 System.Timers.Timer System.Timers.ElapsedEventArgs {System.Timers.Timer, System.Timers.ElapsedEventArgs} Timer.Elapsed 6/10/2008 3:24:18 PM False

Descripcin ----------Este comando utiliza el cmdlet Wait-Event para esperar a que se produzca un evento en un temporizador establecido en 2000 milisegundos.

-------------------------- EJEMPLO 4 -------------------------C:\PS>wait-event -sourceIdentifier "ProcessStarted" -timeout 90 Descripcin ----------Este comando espera un mximo de 90 segundos a que se produzca el siguiente evento con el identificador de origen "ProcessStarted". Si expira el tiempo especificado, la espera finalizar.

NOTAS Para ver los ejemplos, escriba: "get-help Wait-Event -examples".

Para obtener ms informacin, escriba: "get-help Wait-Event -detailed". Para obtener informacin tcnica, escriba: "get-help Wait-Event -full". NOMBRE Out-GridView SINOPSIS Enva el resultado a una tabla interactiva en una ventana independiente. SINTAXIS Out-GridView [-InputObject <psobject>] [-Title <string>] [<CommonParameters>] DESCRIPCIN El cmdlet Out-GridView enva el resultado de un comando a una ventana de vista de cuadrcula donde se muestra en una tabla interactiva. Esta caracterstica requiere Microsoft .NET Framework 3.5 con Service Pack 1. Para examinar los datos, se pueden usar las siguientes caractersticas de la tabla: -- Ocultar, mostrar y reorganizar columnas. Para ocultar, mostrar o reorganizar una columna, haga clic con el botn secundario en un encabezado de columna y, a continuacin, haga clic en "Seleccionar columnas". -- Ordenar. Para ordenar los datos, haga clic en un encabezado de columna. Vuelva a hacer clic para cambiar de orden ascendente a descendente. -- Filtro rpido. Use el cuadro "Filtro" situado en la parte superior de la ventana para buscar texto en la tabla. Puede realizar bsquedas de texto en una columna concreta, de literales y de varias palabras. -- Filtro de criterios. Utilice el men desplegable "Agregar criterios" para crear reglas a fin de filtrar los datos. Esto resulta muy til para los conjuntos de datos de gran tamao, como los registros de eventos. -- Copiar y pegar. Para copiar filas de datos de Out-GridView, presione CTRL+C (copiar). Los datos se pueden pegar en cualquier editor de texto o programa de hoja de clculo. Para obtener instrucciones referentes al uso de estas caractersticas, escriba "get-help out-gridview -full" y vea "Cmo usar las caractersticas de la ventana de vista de cuadrcula" en la seccin Notas. PARMETROS -InputObject <psobject> Acepta la entrada del cmdlet Out-GridView. Cuando se usa el parmetro InputObject para enviar una coleccin de objetos (ms de un objeto) a Out-GridView, Out-GridView trata la coleccin como un objeto de coleccin y muestra una sola fila que representa la coleccin. Para mostrar todos los objetos de la coleccin, use un operador de canalizacin (|) para enviar los objetos a Out-GridView. -Title <string> Especifica el texto que aparece en la barra de ttulo de la ventana Out-GridView.

De forma predeterminada, en la barra de ttulo se muestra el comando que invoca Out-GridView. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-process | out-gridview Descripcin ----------Este comando obtiene los procesos que se ejecutan en el equipo local y los enva a una ventana de vista de cuadrcula.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$p = get-process C:\PS> $p | out-gridview Descripcin ----------Este comando tambin obtiene los procesos que se ejecutan en el equipo local y los enva a una ventana de vista de cuadrcula. El primer comando utiliza el comando Get-Process para obtener los procesos del equipo y, a continuacin, guarda los objetos de proceso en la variable $p. El segundo comando usa un operador de canalizacin para enviar la variable $p a Out-GridView.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-process | select-object -property name, workingset, peakworkingset | sort-object -property workingset -desc | out-gridview Descripcin ----------Este comando muestra una tabla con formato en una ventana de vista de cuadrcula. Utiliza el cmdlet Get-Process para obtener los procesos del equipo. A continuacin, utiliza un operador de canalizacin (|) para enviar los objetos de proceso al cmdlet Select-Object. El comando utiliza el parmetro Property de Select-Object para seleccionar las propiedades Name, WorkingSet y PeakWorkingSet que se van a mostrar en la tabla.

Otro operador de canalizacin enva los objetos filtrados al cmdlet Sort-Object, que los coloca en orden descendente segn el valor de la propiedad WorkingSet. La ltima parte del comando utiliza un operador de canalizacin (|) para enviar la tabla con formato a Out-GridView. Ahora, puede utilizar las caractersticas de la vista de cuadrcula para ordenar, filtrar y buscar en los datos.

-------------------------- EJEMPLO 4 -------------------------C:\PS>($a = get-childitem -path $pshome -recurse) | out-gridview Descripcin ----------Este comando guarda su resultado en una variable y lo enva a OutGridView. El comando utiliza el cmdlet Get-ChildItem para obtener los archivos del directorio de instalacin de Windows PowerShell y sus subdirectorios. La ruta de acceso al directorio de instalacin se guarda en la variable automtica $pshome. El comando utiliza el operador de asignacin (=) para guardar el resultado en la variable $a y usa el operador de canalizacin (|) para enviar el resultado a Out-GridView. Los parntesis en el comando determinan el orden de las operaciones. Como consecuencia, el resultado del comando Get-ChildItem se guarda en la variable $a antes de que se enve a Out-GridView.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-process -computername Server01| ogv -title "Processes Server01" Descripcin ----------Este comando muestra en una ventana de vista de cuadrcula los procesos que se estn ejecutando en el equipo Server01. El comando utiliza "ogv", que es el alias integrado del cmdlet OutGridView, y utiliza el parmetro Title para especificar el ttulo de la ventana.

-------------------------- EJEMPLO 6 -------------------------C:\PS>invoke-command -ComputerName S1, S2, S3 -scriptblock {get-culture} | out-gridview Descripcin -----------

En este ejemplo, se muestra el formato correcto para enviar los datos recopilados en equipos remotos al cmdlet Out-GridView. El comando usa el cmdlet Invoke-Command para ejecutar un comando GetCulture en tres equipos remotos. Utiliza un operador de canalizacin para enviar los datos devueltos al cmdlet Out-GridView. Observe que el bloque de script que contiene los comandos que se ejecutan de forma remota no incluye el comando Out-GridView. Si lo incluyera, el comando generara un error al intentar abrir una ventana de vista de cuadrcula en cada uno de los equipos remotos.

NOTAS Para ver los ejemplos, escriba: "get-help Out-GridView -examples". Para obtener ms informacin, escriba: "get-help Out-GridView detailed". Para obtener informacin tcnica, escriba: "get-help Out-GridView full". NOMBRE Get-FormatData SINOPSIS Obtiene los datos de formato de la sesin actual. SINTAXIS Get-FormatData [[-TypeName] <string[]>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-FormatData obtiene los datos de formato de la sesin actual. Los datos de formato de la sesin incluyen los datos de formato de los archivos de formato Format.ps1xml (por ejemplo, los ubicados en el directorio $pshome), los datos de formato de los mdulos que se importan en la sesin y los datos de formato de los comandos que se importan en la sesin med iante el cmdlet Import-PSSession. Puede utilizar este cmdlet para examinar los datos de formato. A continuacin, puede utilizar el cmdlet Export-FormatData para serializar (convertir en XML) los objetos y guardarlos en archivos Format.ps1xml. Para obtener ms informacin sobre los archivos de formato de Windows PowerShell, vea about_Format.ps1xml. PARMETROS -TypeName <string[]> Obtiene solo los datos de formato con los nombres de tipo especificados. Escriba los nombres de los tipos. Se permite el uso de caracteres comodn. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-formatdata Descripcin ----------Este comando obtiene todos los datos de formato de la sesin.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-formatdata -typename Microsoft.Wsman* Descripcin ----------Este comando obtiene los elementos de los datos de formato cuyo nombre comienza con "Microsoft.Wsman".

-------------------------- EJEMPLO 3 -------------------------C:\PS>$f = get-formatdata -typename helpinfoshort C:\PS> $f TypeName -------HelpInfoShort FormatViewDefinition -------------------{help , TableControl}

C:\PS> $f.FormatViewDefinition[0].control Headers Rows ---------{System.Management.Automation.TableControlColumnHeader, System.Manageme... {System.Management.Automation.TableControlRow} C:\PS> $f.FormatViewDefinition[0].control.headers Label ----Name Category Alignment --------Left Left Undefined Width ----33 9 0

Descripcin ----------En este ejemplo, se muestra cmo obtener un objeto de datos de formato y examinar sus propiedades.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$a = get-formatdata C:\PS> import-module bitstransfer C:\PS> $b = get-formatdata C:\PS> compare-object $a $b InputObject SideIndicator ----------------------Microsoft.BackgroundIntelligentTransfer.Management.BitsJob => C:\PS> get-formatdata *bits* | export-formatdata -filepath c:\test\bits.format.ps1xml C:\PS> get-content c:\test\bits.format.ps1xml <?xml version="1.0" encoding="utf-8"?><Configuration><ViewDefinitions> <View><Name>Microsoft.BackgroundIntelligentTransfer.Management.BitsJob</Name > ... Descripcin ----------En este ejemplo, se muestra cmo utilizar Get-FormatData y ExportFormatData para exportar los datos de formato agregados por un mdulo. Los cuatro primeros comandos usan los cmdlets Get-FormatData, ImportModule y Compare-Object para identificar el tipo de formato que el mdulo BitsTransfer agrega a la sesin. El quinto comando utiliza el cmdlet Get-FormatData para obtener el tipo de formato que el mdulo BitsTransfer agrega. Utiliza un operador de canalizacin (|) para enviar el objeto de tipo de formato al cmdlet ExportFormatData, que lo convierte de nuevo en XML y lo guarda en el archivo format.p s1xml especificado. El ltimo comando muestra un extracto del archivo format.ps1xml.

NOTAS Para ver los ejemplos, escriba: "get-help Get-FormatData -examples". Para obtener ms informacin, escriba: "get-help Get-FormatData detailed". Para obtener informacin tcnica, escriba: "get-help Get-FormatData full". NOMBRE Export-FormatData SINOPSIS Guarda los datos de formato de la sesin actual en un archivo de formato.

SINTAXIS Export-FormatData [-Force] [-IncludeScriptBlock] [-InputObject <ExtendedTypeDefinition[]>] [-NoClobber] [-Path <string>] [<CommonParameters>] DESCRIPCIN El cmdlet Export-FormatData crea archivos de formato de Windows PowerShell (format.ps1xml) a partir de los objetos de formato de la sesin actual. Toma los objetos ExtendedTypeDefinition devueltos por Get-FormatData y los guarda en un archivo con formato XML. Windows PowerShell utiliza los datos de los archivos de formato (format.ps1xml) para generar la presentacin predeterminada de los objetos de Microsoft .NET Framework en la sesin. Puede ver y modificar los archivos de formato, adems de utilizar el cmdlet Update-FormatData para agregar los dat os de formato a una sesin. Para obtener ms informacin sobre los archivos de formato de Windows PowerShell, vea about_Format.ps1xml. PARMETROS -Force [<SwitchParameter>] Sobrescribe un archivo de salida existente, incluso si tiene establecido el atributo de solo lectura. -IncludeScriptBlock [<SwitchParameter>] Determina si se exportan los bloques de script en los datos de formato. Dado que los bloques de script contienen cdigo y pueden usarse de manera malintencionada, no se exportan de forma predeterminada. -InputObject <ExtendedTypeDefinition[]> Especifica los objetos de datos de formato que se van a exportar. Escriba una variable que contenga los objetos o un comando que los obtenga, como un comando Get-FormatData. Tambin puede canalizar los objetos de GetFormatData a Export-FormatData. -NoClobber [<SwitchParameter>] Evita que el cmdlet sobrescriba los archivos existentes. De forma predeterminada, Export-FormatData sobrescribe los archivos sin avisar, a menos que tengan establecido el atributo de solo lectura. Para indicar a Export-FormatData que sobrescriba los archivos de solo lectura, use el parmetro Force. -Path <string> Especifica una ubicacin para el archivo de salida. Escriba una ruta de acceso (opcional) y un nombre de archivo con la extensin format.ps1xml. Si omite la ruta de acceso, Export-FormatData crear el archivo en el directorio actual. Si utiliza una extensin distinta de .ps1xml, el cmdlet UpdateFormatData no reconocer el archivo. Si especifica un archivo existente, Export-FormatData lo sobrescribir sin avisar, a menos que tenga establecido el atributo de solo lectura. Para que se sobrescriban los archivos de solo lectura, utilice el

parmetro Force. Para evitar que se sobrescriban los archivos, use el parmetro NoC lobber. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-formatdata -typename * | export-formatdata -path allformat.ps1xml -IncludeScriptBlock Descripcin ----------Este comando exporta todos los datos de formato de la sesin al archivo AllFormat.ps1xml. El comando utiliza el cmdlet Get-FormatData para obtener los datos de formato de la sesin. El valor * (todos) del parmetro TypeName indica al cmdlet que obtenga todos los datos de la sesin. El comando utiliza un operador de canalizacin (|) para enviar los datos de formato del comando Get-FormatData al cmdlet Export-FormatData, que los exporta al archivo AllFormat.ps1. El comando Export-FormatData utiliza el parmetro IncludeScriptBlock para incluir bloques de script en los datos de formato del archivo.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$f = get-formatdata -typename helpinfoshort C:\PS> export-formatdata -inputObject $f -path c:\test\help.format.ps1xml -IncludeScriptBlock Descripcin ----------Estos comandos exportan los datos de formato del tipo HelpInfoShort al archivo Help.format.ps1xml. El primer comando utiliza el cmdlet Get-FormatData para obtener los datos de formato del tipo HelpInfoShort y los guarda en la variable $f. El segundo comando usa el parmetro InputObject de Export-FormatData para especificar como entrada los datos de formato guardados en la variable $f. Tambin utiliza el parmetro IncludeScriptBlock para incluir bloques de script en el resultado.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-formatdata -typename System.Diagnostics.Process | exportFormatData -path process.format.ps1xml

C:\PS> Update-FormatData -prependPath .\process.format.ps1xml C:\PS> get-process p* Handles ------323 336 138 NPM(K) -----PM(K) ----WS(K) VM(M) ----- ----CPU(s) -----Id -5600 3900 4076 ProcessName ----------powershell powershell_ise PresentationFontCache

Descripcin ----------En este ejemplo, se muestra el efecto de omitir el parmetro IncludeScriptBlock en un comando Export-FormatData. El primer comando utiliza el cmdlet Get-FormatData para obtener los datos de formato del objeto System.Diagnostics.Process devuelto por el cmdlet Get-Process. El comando utiliza un operador de canalizacin (|) para enviar los datos de formato al cmdlet Export-FormatData, que los exporta al arch ivo Process.format.ps1xml en el directorio actual. En este caso, el comando Export-FormatData no utiliza el parmetro IncludeScriptBlock. El segundo comando usa el cmdlet Update-FormatData para agregar el archivo Process.format.ps1xml a la sesin actual. El comando utiliza el parmetro PrependPath para asegurarse de que se encuentren los datos de formato de los objetos de proceso en el archivo Process.format.ps1xml antes de que s e localicen los datos de formato estndar de los objetos de proceso. El tercer comando muestra los efectos de este cambio. El comando utiliza el cmdlet Get-Process para obtener los procesos cuyo nombre comience con "P". En el resultado, no se muestran los valores de propiedad calculados mediante bloques de script.

NOTAS Para ver los ejemplos, escriba: "get-help Export-FormatData -examples". Para obtener ms informacin, escriba: "get-help Export-FormatData detailed". Para obtener informacin tcnica, escriba: "get-help Export-FormatData full". NOMBRE Set-TraceSource SINOPSIS Configura, inicia y detiene el seguimiento de los componentes de Windows PowerShell. SINTAXIS Set-TraceSource [[-Option] {None | Method | Property | Delegates | Events Warning | Verbose | WriteLine | Data | All}] [-Debugger] [-FilePath <string>]

Constructor | Dispose | Finalizer | | Exception | Lock | Error | Errors | Scope | ExecutionFlow | Assert | [-Force] [-ListenerOption {None | Lo

gicalOperationStack | DateTime | Timestamp | ProcessId | ThreadId | Callstack}] [-PassThru] [-PSHost] [-Name] <string[]> [<CommonParameters>] Set-TraceSource [-RemoveListener <string[]>] [-Name] <string[]> [<CommonParameters>] Set-TraceSource [-RemoveFileListener <string[]>] [-Name] <string[]> [<CommonParameters>] DESCRIPCIN El cmdlet Set-TraceSource configura, inicia y detiene el seguimiento de un componente de Windows PowerShell. El usuario puede especificar los componentes de los que se va a realizar un seguimiento y dnde se va a enviar el resultado de este seguimiento. PARMETROS -Debugger [<SwitchParameter>] Enva el resultado del seguimiento al depurador. Puede ver el resultado en cualquier depurador en modo kernel o de usuario, o bien, en Microsoft Visual Studio. Este parmetro selecciona tambin el agente de escucha de seguimiento predeterminado. -FilePath <string> Enva el resultado del seguimiento al archivo especificado. Este parmetro seleccione tambin el agente de escucha de seguimiento de archivos. Si usa este parmetro para iniciar el seguimiento, use el parmetro RemoveFileListener para detenerlo. -Force [<SwitchParameter>] Permite al cmdlet sobrescribir un archivo de solo lectura. Se utiliza con el parmetro FilePath. -ListenerOption <TraceOptions> Agrega datos opcionales al prefijo de cada mensaje de seguimiento en la salida. Los valores vlidos son "None", "LogicalOperationStack", "DateTime", "Timestamp", "ProcessId", "ThreadId" y "Callstack". "None" es el valor predeterminado. Para especificar varias opciones, separe los valores mediante comas (sin espacios) y escrbalos entre parntesis, por ejemplo "ProcessID,ThreadID". -Name <string[]> Determina los componentes de los que se va a realizar el seguimiento. Escriba el nombre del origen de seguimiento de cada componente. Se permite el uso de caracteres comodn. -Option <PSTraceSourceOptions> Determina el tipo de eventos del que se va a realizar el seguimiento. Los valores vlidos son: "None", "Constructor", "Dispose", "Finalizer", "Method", "Property", "Delegates", "Events", "Exception", "Lock", "Error", "Errors", "Warning", "Verbose", "WriteLine", "Data", "Scope", "ExecutionFlow", "Assert" y "All". "All" es el valor predeterminado. Los valores que se muestran a continuacin son combinaciones de otros valores:

-- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events y Scope) -- Data: (Constructor, Dispose, Finalizer, Property, Verbose y WriteLine) -- Errors: (Error y Exception). Para especificar varias opciones, separe los valores mediante comas (sin espacios) y escrbalos entre parntesis, por ejemplo "Constructor,Dispose". -PassThru [<SwitchParameter>] Devuelve un objeto que representa la sesin de seguimiento. De forma predeterminada, este cmdlet no genera resultados. -PSHost [<SwitchParameter>] Enva el resultado del seguimiento al host de Windows PowerShell. Este parmetro selecciona tambin el agente de escucha de seguimiento de PSHost. -RemoveFileListener <string[]> Detiene el seguimiento al eliminar el agente de escucha de archivos asociados al archivo especificado. Indique la ruta y el nombre del archivo de salida de seguimiento. -RemoveListener <string[]> Detiene el seguimiento al eliminar el agente de escucha de seguimiento. Use los valores siguientes con RemoveListener: -- Para eliminar PSHost (consola), escriba "Host". -- Para eliminar Debugger, escriba "Debug". -- Para eliminar todos los agentes de escucha de seguimiento, escriba "*". Para eliminar el agente de escucha de seguimiento de archivos, use el parmetro RemoveFileListener. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Set-TraceSource -Name Parameterbinding -Option ExecutionFlow PSHost ' -ListenerOption "ProcessID,TimeStamp" Descripcin ----------Este comando inicia el seguimiento del componente ParameterBinding de Windows PowerShell. Use el parmetro Name para especificar el origen de seguimiento, el parmetro Option para seleccionar los eventos de seguimiento del flujo de ejecucin y el parmetro PSHost para seleccionar el agente de e

scucha del host de Windows PowerShell, que enva el resultado a la consola. El parmetro ListenerOption agrega los valores "ProcessID" y "TimeStamp" al prefijo del mensaje de seguimiento.

-------------------------- EJEMPLO 2 -------------------------C:\PS>set-tracesource -name ParameterBinding -RemoveListener Host Descripcin ----------Este comando detiene el seguimiento del componente ParameterBinding de Windows PowerShell. Usa el parmetro Name para identificar el componente objeto del seguimiento y el parmetro RemoveListener para identificar el agente de escucha de seguimiento.

NOTAS Para ver los ejemplos, escriba: "get-help Set-TraceSource -examples". Para obtener ms informacin, escriba: "get-help Set-TraceSource detailed". Para obtener informacin tcnica, escriba: "get-help Set-TraceSource full". NOMBRE Disable-ComputerRestore SINOPSIS Deshabilita la caracterstica Restaurar sistema en la unidad del sistema de archivos especificada. SINTAXIS Disable-ComputerRestore [-Drive] <string[]> [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Disable-ComputerRestore desactiva la caracterstica Restaurar sistema en una o ms unidades del sistema de archivos. Como consecuencia, los intentos de restaurar el equipo no afectan a la unidad especificada. Para deshabilitar la caracterstica Restaurar sistema en cualquier unidad, debe estar deshabilitada en la unidad del sistema, ya sea inicialmente o simultneamente. Para volver a habilitar la caracterstica Restaurar sistema, utilice el cmdlet Enable-ComputerRestore. Para buscar el estado de la caracterstica Restaurar sistema en cada unidad, utilice Rstrui.exe. PARMETROS -Drive <string[]> Especifica las unidades del sistema de archivos. Escriba una o ms letras de unidad del sistema de archivos, seguida cada una de ellas por un signo de dos puntos y una barra diagonal inversa, entre comillas, como "C:\" o "D:\". Este parmetro es obligatorio.

No puede utilizar este cmdlet para deshabilitar la caracterstica Restaurar sistema en una unidad de red remota, aunque la unidad est asignada al equipo local, y no puede deshabilitar esta caracterstica en unidades que no sean idneas para Restaurar sistema, como unidades externas. Para deshabilitar la caracterstica Restaurar sistema en cualquier unidad, debe estar deshabilitada en la unidad del sistema, ya sea inicialmente o simultneamente. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>disable-computerrestore -drive "C:\" Descripcin ----------Este comando deshabilita la caracterstica Restaurar sistema en la unidad C:.

-------------------------- EJEMPLO 2 -------------------------C:\PS>disable-computerrestore "C:\", "D:\" Descripcin ----------Este comando deshabilita la caracterstica Restaurar sistema en las unidades C: y D:. El comando usa el parmetro Drive, pero omite el nombre de parmetro opcional.

NOTAS Para ver los ejemplos, escriba: "get-help Disable-ComputerRestore examples". Para obtener ms informacin, escriba: "get-help Disable-ComputerRestore -detailed". Para obtener informacin tcnica, escriba: "get-help DisableComputerRestore -full". NOMBRE Checkpoint-Computer SINOPSIS Crea un punto de restauracin del sistema en el equipo local.

SINTAXIS Checkpoint-Computer [-Description] <string> [[-RestorePointType] <string>] [<CommonParameters>] DESCRIPCIN El cmdlet Checkpoint-Computer crea un punto de restauracin del sistema en el equipo local. Este cmdlet slo se ejecuta en Windows Vista y Windows XP. PARMETROS -Description <string> Especifica un nombre descriptivo para el punto de restauracin. Este parmetro es obligatorio. -RestorePointType <string> Especifica el tipo de punto de restauracin. El valor predeterminado es APPLICATION_INSTALL. Los valores vlidos son APPLICATION_INSTALL, APPLICATION_UNINSTALL, DEVICE_DRIVER_INSTALL, MODIFY_SETTINGS y CANCELLED_OPERATION. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>checkpoint-computer -description "Install MyApp" Descripcin ----------Este comando crea un punto de restauracin del sistema denominado "Install MyApp". Utiliza el tipo de punto de restauracin APPLICATION_INSTALL predeterminado.

-------------------------- EJEMPLO 2 -------------------------C:\PS>checkpoint-computer -description "ChangeNetSettings" RestorePointType MODIFY_SETTINGS Descripcin ----------Este comando crea un punto de restauracin del sistema MODIFY_SETTINGS denominado "ChangeNetSettings".

NOTAS Para ver los ejemplos, escriba: "get-help Checkpoint-Computer examples".

Para obtener ms informacin, escriba: "get-help Checkpoint-Computer detailed". Para obtener informacin tcnica, escriba: "get-help Checkpoint-Computer -full". NOMBRE Get-ComputerRestorePoint SINOPSIS Obtiene los puntos de restauracin en el equipo local. SINTAXIS Get-ComputerRestorePoint [[-RestorePoint] <Int32[]>] [<CommonParameters>] Get-ComputerRestorePoint -LastStatus [<CommonParameters>] DESCRIPCIN El cmdlet Get-ComputerRestorePoint obtiene los puntos de restauracin en el equipo local. Este cmdlet tambin puede mostrar el estado del intento ms reciente para restaurar el equipo. Puede utilizar la informacin devuelta por Get-ComputerRestorePoint para seleccionar un punto de restauracin y puede utilizar el nmero de secuencia para identificar un punto de restauracin para el cmdlet Restore-Computer. PARMETROS -LastStatus [<SwitchParameter>] Obtiene el estado de la operacin de restauracin del sistema ms reciente. -RestorePoint <Int32[]> Obtiene los puntos de restauracin con los nmeros de secuencia especificados. Escriba los nmeros de secuencia de uno o ms puntos de restauracin. De forma predeterminada, Get-ComputerRestorePoint obtiene todos los puntos de restauracin en el equipo local. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-computerrestorepoint Descripcin ----------Este comando obtiene todos los puntos de restauracin en el equipo local.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-computerrestorepoint -restorepoint 232, 240, 245

Descripcin ----------Este comando obtiene los puntos de restauracin con nmeros de secuencia 232, 240 y 245.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-computerrestorepoint -laststatus The last restore failed. Descripcin ----------Este comando muestra el estado de la operacin de restauracin del sistema ms reciente en el equipo local.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-computerrestorepoint | format-table SequenceNumber, @{Label="Date"; Expression={$_.ConvertToDateTime($_.CreationTime)}}, Description -auto SequenceNumber -------------253 254 255 ... Date ---8/5/2008 3:19:20 PM 8/6/2008 1:53:24 AM 8/7/2008 12:00:04 AM Description ----------Windows Update Windows Update Scheduled Checkpoint

Descripcin ----------Este comando muestra los puntos de restauracin en una tabla para facilitar la lectura. El comando Format-Table incluye una propiedad calculada que utiliza el mtodo ConvertToDateTime para convertir el valor de la propiedad CreationTime de formato WMI a un objeto DateTime.

-------------------------- EJEMPLO 5 -------------------------C:\PS>((get-computerrestorepoint)[-1]).sequencenumber Descripcin ----------Este comando obtiene el nmero de secuencia del ltimo punto de restauracin creado en el equipo. El comando utiliza el ndice -1 para obtener el ltimo elemento de la matriz que Get-ComputerRestorePoint devuelve.

NOTAS Para ver los ejemplos, escriba: "get-help Get-ComputerRestorePoint examples". Para obtener ms informacin, escriba: "get-help GetComputerRestorePoint -detailed". Para obtener informacin tcnica, escriba: "get-help GetComputerRestorePoint -full". NOMBRE Get-HotFix SINOPSIS Obtiene las revisiones que se han aplicado a los equipos local y remotos. SINTAXIS Get-HotFix [[-Id] <string[]>] [-ComputerName <string[]>] [-Credential <PSCredential>] [<CommonParameters>] Get-HotFix [-Description <string[]>] [-ComputerName <string[]>] [Credential <PSCredential>] [<CommonParameters>] DESCRIPCIN El cmdlet Get-Hotfix obtiene las revisiones que se han aplicado al equipo local o a los equipos remotos mediante el Modelo de servicio basado en componentes. PARMETROS -ComputerName <string[]> Especifica un equipo remoto. El valor predeterminado es el equipo local. Escriba el nombre NetTBIOS, una direccin de protocolo de Internet (IP) o un nombre de dominio completo de un equipo remoto. Este parmetro no se basa en la comunicacin remota de Windows PowerShell. Puede usar el parmetro ComputerName de Get-Hotfix incluso si el equipo no est configurado para la ejecucin de comandos remotos. -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedir una contrasea. -Description <string[]> Obtiene solamente revisiones con las descripciones especificadas. Se permite el uso de caracteres comodn. El valor predeterminado son todas las revisiones en el equipo. -Id <string[]>

Obtiene solamente revisiones con los identificadores de revisin especificados. El valor predeterminado son todas las revisiones en el equipo. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-hotfix Descripcin ----------Este comando obtiene todas las revisiones en el equipo local.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-hotfix -description Security* -computername Server01, Server02 -cred Server01\admin01 Descripcin ----------Este comando obtiene todas las revisiones en los equipos Server01 y Server02 que tienen una descripcin que empieza por "Security".

-------------------------- EJEMPLO 3 -------------------------C:\PS>$a = get-content servers.txt C:\PS> $a | foreach { if (!(get-hotfix -id KB957095 -computername $_)) { add-content $_ -path Missing-kb953631.txt }} Descripcin ----------Los comandos de este ejemplo crean un archivo de texto que muestra los nombres de los equipos a los que les falta una actualizacin de seguridad. Los comandos utilizan el cmdlet Get-Hotfix para obtener la actualizacin de seguridad KB957095 en todos los equipos cuyos nombres se muestran en el archivo Servers.txt. Si un equipo no tiene la actualizacin, el cmdlet Add-Content escribe el nombre del equipo en el archivo Missing-KB953631.txt.

-------------------------- EJEMPLO 4 -------------------------C:\PS>(get-hotfix | sort installedon)[-1] Descripcin

----------Este comando obtiene la revisin ms reciente en el equipo. Obtiene las revisiones, las ordena por el valor de la propiedad InstalledOn y, a continuacin, utiliza la notacin de matriz para seleccionar el ltimo elemento de la matriz.

NOTAS Para ver los ejemplos, escriba: "get-help Get-HotFix -examples". Para obtener ms informacin, escriba: "get-help Get-HotFix -detailed". Para obtener informacin tcnica, escriba: "get-help Get-HotFix -full". NOMBRE Test-Connection SINOPSIS Enva paquetes de solicitud de eco ("pings") ICMP a uno o ms equipos. SINTAXIS Test-Connection [-ComputerName] <string[]> [[-Source] <string[]>] [AsJob] [-Authentication {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged}] [-BufferSize <int>] [-Count <int>] [-Credential <PSCredential>] [-Delay <int>] [-Impersonation {Default | Anonymo us | Identify | Impersonate | Delegate}] [-Quiet] [-ThrottleLimit <int>] [-TimeToLive <int>] [<CommonParameters>] DESCRIPCIN El cmdlet Test-Connection enva paquetes de solicitud de eco ("pings") ICMP (Protocolo de mensajes de control de Internet) a uno o ms equipos remotos y devuelve las contestaciones de respuesta de eco. Puede utilizar este cmdlet para determinar si se puede establecer conexin con un equipo dete rminado a travs de una red de protocolo de Internet (IP). Puede utilizar los parmetros de Test-Connection para especificar los equipos de envo y recepcin, para ejecutar el comando como un trabajo en segundo plano, para establecer un tiempo de espera y un nmero de pings, y para configurar la conexin y la autenticacin. A diferencia del comando "ping" tradicional, Test-Connection devuelve un objeto Win32_PingStatus que puede investigar en Windows PowerShell, pero puede utilizar el parmetro Quiet para que devuelva solo un valor booleano. PARMETROS -AsJob [<SwitchParameter>] Ejecuta el comando como un trabajo en segundo plano. Nota: para utilizar este parmetro, el equipo local y los equipos remotos deben estar configurados para la comunicacin remota y, en Windows Vista y versiones posteriores de Windows, se debe abrir Windows PowerShell con la opcin "Ejecutar como administrador". Para obtener ms informacin, vea about_Remote_Requirements.

Cuando se utiliza el parmetro AsJob, el comando devuelve inmediatamente un objeto que representa el trabajo en segundo plano. Puede seguir trabajando en la sesin mientras se completa el trabajo. El trabajo se crea en el equipo local y los resultados de los equipos remotos se devuelven aut omticamente al equipo local. Para obtener los resultados del trabajo, use el cmdlet Receive-Job. Para obtener ms informacin sobre los trabajos en segundo plano en Windows PowerShell, vea about_Jobs y about_Remote_Jobs. -Authentication <AuthenticationLevel> Especifica el nivel de autenticacin que se utiliza para la conexin de WMI. (Test-Connection utiliza WMI). Los valores vlidos son: Unchanged: el nivel de autenticacin es idntico al del comando anterior. Default: autenticacin de Windows. None: ninguna autenticacin COM. Connect: autenticacin COM en el nivel de conexin. Call: autenticacin COM en el nivel de llamada. Packet: autenticacin COM en el nivel de paquete. PacketIntegrity: autenticacin COM en el nivel de integridad de paquete. PacketPrivacy: autenticacin COM en el nivel de privacidad de paquete. -BufferSize <int> Especifica el tamao, en bytes, del bfer enviado con este comando. El valor predeterminado es 32. -ComputerName <string[]> Especifica los equipos a los que se va a hacer ping. Escriba los nombre de equipo o las direcciones IP en formato IPv4 o IPv6. No se permite el uso de caracteres comodn. Este parmetro es obligatorio. Este parmetro no se basa en la comunicacin remota de Windows PowerShell. Puede usar el parmetro ComputerName incluso si el equipo no est configurado para la ejecucin de comandos remotos. -Count <int> Especifica el nmero de solicitudes de eco que se van a enviar. El valor predeterminado es 4. -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno del cmdlet Get-Credential. -Delay <int> Especifica el intervalo entre pings, en segundos. -Impersonation <ImpersonationLevel> Especifica el nivel de suplantacin que se va a usar al llamar a WMI. (Test-Connection utiliza WMI). El valor predeterminado es "Impersonate". Los valores vlidos son:

Default: suplantacin predeterminada. Anonymous: oculta la identidad del autor de llamada. Identify: permite que los objetos consulten las credenciales del autor de llamada. Impersonate: permite a los objetos utilizar las credenciales del autor de llamada. -Quiet [<SwitchParameter>] Suprime todos los errores y devuelve $True si hay algn ping correcto y $False si fallan todos. -Source <string[]> Especifica los nombres de los equipos donde se origina el ping. Escriba una lista separada por comas de nombres de equipo. El valor predeterminado es el equipo local. -ThrottleLimit <int> Especifica el nmero mximo de conexiones simultneas que se pueden establecer para ejecutar este comando. Si omite este parmetro o escribe un valor 0, se utilizar el valor predeterminado 32. Este lmite se aplica nicamente al comando actual; no se aplica a la sesin ni al equipo. -TimeToLive <int> Especifica el perodo de tiempo mximo, en segundos, que cada paquete de solicitud de eco ("ping") est activo. El valor predeterminado es 80 (segundos). El alias del parmetro TimeToLive es TTL. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>test-connection server01 Source Time(ms) --------ADMIN1 ADMIN1 ADMIN1 ADMIN1 Destination ----------Server01 Server01 Server01 Server01 IPV4Address ----------157.59.137.44 157.59.137.44 157.59.137.44 157.59.137.44 IPV6Address ----------Bytes ----32 32 32 32 ---0 0 0 1

Descripcin ----------Este comando enva paquetes de solicitud de eco ("pings") del equipo local al equipo Server01. Utiliza el parmetro ComputerName para especificar el equipo Server01, pero omite el nombre de parmetro opcional.

-------------------------- EJEMPLO 2 --------------------------

C:\PS>test-connection -computername server01, server02, server12 credential domain01\user01 Descripcin ----------Este comando enva pings del equipo local a varios equipos remotos. Usa el parmetro Credential para especificar una cuenta de usuario con permiso para hacer ping a todos los equipos remotos.

-------------------------- EJEMPLO 3 -------------------------C:\PS>test-connection -source Server02, Server 12, localhost computername Server01 Descripcin ----------Este comando enva pings de equipos de orgenes diferentes a un solo equipo remoto, Servidor01. Utilice este formato de comando para probar la latencia de conexiones desde varios puntos.

-------------------------- EJEMPLO 4 -------------------------C:\PS>test-connection -computername Server01 -count 3 -delay 2 -TTL 256 -buffersize 256 -throttle 32 Descripcin ----------Este comando enva tres pings del equipo local al equipo Server01. Utiliza los parmetros de Test-Connection para personalizar el comando. Utilice este formato de comando cuando se espere que la respuesta de ping va a tardar ms tiempo de lo habitual, ya se deba a un nmero extendido de bucles o a una condicin de alto trfico de red.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$job = test-connection -computername (get-content servers.txt) asjob C:\PS> if ($job.jobstateinfo.state -ne "Running") {$results = receivejob $job} Descripcin ----------En este ejemplo se muestra la forma de ejecutar un comando TestConnection como un trabajo en segundo plano de Windows PowerShell. El primer comando utiliza el cmdlet Test-Connection para hacer ping a muchos equipos de una empresa. El valor del parmetro ComputerName es un comando Get-Content que lee una lista de nombres de equipo del archivo Servers.txt. El comando utiliza el parmetro AsJob para ejecutar el comando como

un trabajo en segundo plano. El segundo comando comprueba si el trabajo no se est ejecutando todava y, si no lo est, utiliza un comando Receive-Job para obtener los resultados y almacenarlos en la variable $results.

-------------------------- EJEMPLO 6 -------------------------C:\PS>test-connection Server55 -credential domain55\user01 impersonation Identify Descripcin ----------Este comando utiliza el cmdlet Test-Connection para hacer ping a un equipo remoto. El comando utiliza el parmetro Credential para especificar una cuenta de usuario con permiso para hacer ping al equipo remoto y el parmetro Impersonation para cambiar el nivel de suplantacin a "Identify".

-------------------------- EJEMPLO 7 -------------------------C:\PS>if (test-connection -computername Server01 -quiet) {new-pssession Server01} Descripcin ----------Este comando solo crea PSSession en el Servidor01 si al menos uno de los pings enviados al equipo es correcto. El comando utiliza el cmdlet Test-Connection para hacer ping al equipo Servidor01. El comando utiliza el parmetro Quiet, que devuelve un valor booleano, en lugar de un objeto Win32_PingStatus. El valor es $True si cualquiera de los cuatro pings es correcto; de lo contrario, es falso. Si el comando Test-Connection devuelve un valor de $True, el comando utiliza el cmdlet New-PSSession para crear la PSSession.

NOTAS Para ver los ejemplos, escriba: "get-help Test-Connection -examples". Para obtener ms informacin, escriba: "get-help Test-Connection detailed". Para obtener informacin tcnica, escriba: "get-help Test-Connection full". NOMBRE Enable-ComputerRestore SINOPSIS Habilita la caracterstica Restaurar sistema en la unidad del sistema de archivos especificada. SINTAXIS

Enable-ComputerRestore [-Drive] <string[]> [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Enable-ComputerRestore activa la caracterstica Restaurar sistema en una o ms unidades del sistema de archivos. Como consecuencia, se pueden utilizar herramientas, como el cmdlet Restore-Computer, para restaurar el equipo a un estado anterior. De forma predeterminada, la caracterstica Restaurar sistema est habilitada en todas las unidades idneas, pero se puede deshabilitar; por ejemplo, utilizando el cmdlet Disable-ComputerRestore. Para habilitar (o volver a habilitar) la caracterstica Restaurar sistema en cualquier unidad, debe estar habilitada en la unidad del sistema, ya sea inicialmente o simultneamente. Para buscar el estado de la caracterstica Restaurar sistema en cada unidad, utilice Rstrui.exe. PARMETROS -Drive <string[]> Especifica las unidades del sistema de archivos. Escriba una o ms letras de unidad del sistema de archivos, seguida cada una de ellas por un signo de dos puntos y una barra diagonal inversa, entre comillas, como "C:\" o "D:\". Este parmetro es obligatorio. No puede utilizar este cmdlet para habilitar la caracterstica Restaurar sistema en una unidad de red remota, aunque la unidad est asignada al equipo local, y no puede habilitar esta caracterstica en unidades que no sean idneas para Restaurar sistema, como unidades externas. Para habilitar la caracterstica Restaurar sistema en cualquier unidad, debe estar habilitada en la unidad del sistema, ya sea inicialmente o simultneamente. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>enable-computerrestore -drive "C:\" Descripcin ----------Este comando habilita la caracterstica Restaurar sistema en la unidad C: del equipo local.

-------------------------- EJEMPLO 2 -------------------------C:\PS>enable-computerrestore -drive "C:\", "D:\" Descripcin ----------Este comando habilita la caracterstica Restaurar sistema en las unidades C: y D: del equipo local.

NOTAS Para ver los ejemplos, escriba: "get-help Enable-ComputerRestore examples". Para obtener ms informacin, escriba: "get-help Enable-ComputerRestore -detailed". Para obtener informacin tcnica, escriba: "get-help EnableComputerRestore -full". NOMBRE Restart-Computer SINOPSIS Reinicia el sistema operativo en los equipos local y remotos. SINTAXIS Restart-Computer [[-ComputerName] <string[]>] [[-Credential] <PSCredential>] [-AsJob] [-Authentication {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged}] [-Force] [Impersonation {Default | Anonymous | Identify | Impersonate | Delegate}] [ThrottleLimit <i nt>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Restart-Computer reinicia el sistema operativo en los equipos local y remotos. Puede utilizar los parmetros de Restart-Computer para ejecutar las operaciones de reinicio como un trabajo en segundo plano, para especificar los niveles de autenticacin y las credenciales alternativas, para limitar las operaciones que se ejecutan simultneamente y para forzar un reinicio inm ediato. Este cmdlet no requiere la comunicacin remota de Windows PowerShell a menos que se utilice el parmetro AsJob. PARMETROS -AsJob [<SwitchParameter>] Ejecuta el comando como un trabajo en segundo plano. Nota: para utilizar este parmetro, el equipo local y los equipos remotos deben estar configurados para la comunicacin remota y, en Windows Vista y versiones posteriores de Windows, se debe abrir Windows PowerShell con la opcin "Ejecutar como administrador". Para obtener ms informacin, vea about_Remote_Requirements.

Cuando se utiliza el parmetro AsJob, el comando devuelve inmediatamente un objeto que representa el trabajo en segundo plano. Puede seguir trabajando en la sesin mientras se completa el trabajo. El trabajo se crea en el equipo local y los resultados de los equipos remotos se devuelven aut omticamente al equipo local. Para administrar el trabajo, use los cmdlets Job. Para obtener los resultados del trabajo, use el cmdlet ReceiveJob. Para obtener ms informacin sobre los trabajos en segundo plano en Windows PowerShell, vea about_Jobs y about_Remote_Jobs. -Authentication <AuthenticationLevel> Especifica el nivel de autenticacin que se utiliza para la conexin de WMI. (Restart-Computer utiliza WMI). El valor predeterminado es Packet. Los valores vlidos son: Unchanged: el nivel de autenticacin es idntico al del comando anterior. Default: autenticacin de Windows None: ninguna autenticacin COM Connect: autenticacin COM en el nivel de conexin Call: autenticacin COM en el nivel de llamada Packet: autenticacin COM en el nivel de paquete. PacketIntegrity: autenticacin COM en el nivel de integridad de paquete PacketPrivacy: autenticacin COM en el nivel de privacidad de paquete. -ComputerName <string[]> Especifica uno o varios equipos remotos. El valor predeterminado es el equipo local. Escriba el nombre NETBIOS, la direccin IP o el nombre de dominio completo de un equipo remoto. Para especificar el equipo local, escriba el nombre del equipo, un punto (.), o bien, "localhost". Este parmetro no se basa en la comunicacin remota de Windows PowerShell. Puede usar el parmetro ComputerName incluso si el equipo no est configurado para la ejecucin de comandos remotos. -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno del cmdlet Get-Credential. -Force [<SwitchParameter>] Fuerza el reinicio inmediato de los equipos. -Impersonation <ImpersonationLevel> Especifica el nivel de suplantacin que se va a usar al llamar a WMI. (Restart-Computer utiliza WMI). El valor predeterminado es "Impersonate". Los valores vlidos son: Default: suplantacin predeterminada.

Anonymous: oculta la identidad del autor de llamada. Identify: permite que los objetos consulten las credenciales del autor de llamada. Impersonate: permite a los objetos utilizar las credenciales del autor de llamada. -ThrottleLimit <int> Especifica el nmero mximo de conexiones simultneas que se pueden establecer para ejecutar este comando. Si omite este parmetro o escribe un valor 0, se utilizar el valor predeterminado 32. Este lmite se aplica nicamente al comando actual; no se aplica a la sesin ni al equipo. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>restart-computer Descripcin ----------Este comando reinicia el equipo local.

-------------------------- EJEMPLO 2 -------------------------C:\PS>restart-computer -computername Server01, Server02, localhost Descripcin ----------Este comando reinicia dos equipos remotos, Server01 y Server02, y el equipo local, identificado como "localhost".

-------------------------- EJEMPLO 3 -------------------------C:\PS>$j = restart-computer -computername Server01, Server02 -asjob C:\PS> $results = $j | receive-job C:\PS> $results Descripcin -----------

Estos comandos ejecutan un comando Restart-Computer como un trabajo en segundo plano en dos equipos remotos y, a continuacin, obtienen los resultados. El primer comando utiliza el parmetro AsJob para ejecutar el comando como un trabajo en segundo plano. El comando guarda el objeto de trabajo resultante en la variable $j. El segundo comando usa un operador de canalizacin para enviar el objeto de trabajo en $j al cmdlet Receive-Job, que obtiene los resultados del trabajo. El comando guarda los resultados en la variable $results. El tercer comando muestra el resultado guardado en la variable $results. Dado que el parmetro AsJob crea el trabajo en el equipo local y devuelve automticamente los resultados al equipo local, se puede ejecutar el comando Receive-Job como comando local.

-------------------------- EJEMPLO 4 -------------------------C:\PS>restart-computer -comp Server01 -impersonation anonymous authentication PacketIntegrity Descripcin ----------Este comando reinicia el equipo remoto Server01. El comando utiliza la suplantacin personalizada y la configuracin de autenticacin.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$s = get-content domain01.txt C:\PS> $c = get-credential domain01\admin01 C:\PS> restart-computer -computername $s -force -throttlelimit 10 credential $c Descripcin ----------Estos comandos fuerzan el reinicio inmediato de todos los equipos de Domain01. El primer comando obtiene una lista de los equipos del dominio y la guarda en la variable $s. El segundo comando obtiene las credenciales de un administrador de dominio y las guarda en la variable $c. El tercer comando reinicia los equipos. Utiliza el parmetro ComputerName para enviar la lista de equipos guardada en la variable $s, el parmetro Force para forzar el reinicio inmediato y el parmetro Credential para enviar las credenciales guardadas en la variable $c. Tambin utiliza el parm etro ThrottleLimit para limitar el comando a 10 conexiones simultneas.

NOTAS Para ver los ejemplos, escriba: "get-help Restart-Computer -examples". Para obtener ms informacin, escriba: "get-help Restart-Computer detailed". Para obtener informacin tcnica, escriba: "get-help Restart-Computer full". NOMBRE Remove-Computer SINOPSIS Quite el equipo local de un grupo de trabajo o dominio. SINTAXIS Remove-Computer [[-Credential] <PSCredential>] [-Force] [-PassThru] [Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Remove-Computer quita el equipo local del grupo de trabajo o dominio actual. Cuando se quita un equipo de un dominio, Remove-Computer tambin deshabilita la cuenta de dominio del equipo. Cuando el equipo est en un dominio, se deben proporcionar credenciales, aunque sean las credenciales del usuario actual, y se debe reiniciar el equipo para que el cambio surta efecto. Para obtener los resultados del comando, utilice los parmetros Verbose y PassThru. PARMETROS -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedir una contrasea. Para quitar un equipo de un dominio, debe utilizar el parmetro Credential, aunque est utilizando las credenciales del usuario actual. -Force [<SwitchParameter>] -PassThru [<SwitchParameter>] Devuelve los resultados del comando. En caso contrario, este cmdlet no genera resultados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>]

Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>remove-computer Descripcin ----------Este comando quita el equipo de un grupo de trabajo.

-------------------------- EJEMPLO 2 -------------------------C:\PS>remove-computer -credential domain01\admin01 -passthru -verbose; restart-computer Descripcin ----------Estos comandos quitan el equipo local del dominio al que est unido. El primer comando quita el equipo del dominio. El comando utiliza el parmetro Credential para proporcionar las credenciales de un administrador de dominio. Utiliza el parmetro PassThru y el parmetro comn Verbose para mostrar informacin sobre la ejecucin correcta o incorrecta del comando. El segundo comando usa el cmdlet Restart-Computer para reiniciar el equipo, que se requiere para completar la operacin de eliminacin. El signo de punto y coma (;) separa los dos comandos.

NOTAS Para ver los ejemplos, escriba: "get-help Remove-Computer -examples". Para obtener ms informacin, escriba: "get-help Remove-Computer detailed". Para obtener informacin tcnica, escriba: "get-help Remove-Computer full". NOMBRE Test-ComputerSecureChannel SINOPSIS Prueba y repara el canal seguro entre el equipo local y su dominio. SINTAXIS Test-ComputerSecureChannel [-Repair] [-Server <string>] [-Confirm] [WhatIf] [<CommonParameters>]

DESCRIPCIN El cmdlet Test-ComputerSecureChannel se asegura de que el canal seguro entre el equipo local y su dominio est funcionando correctamente comprobando el estado de sus relaciones de confianza. Si se produce un error en una conexin, se puede utilizar el parmetro Repair para intentar restaurarla. Test-ComputerSecureChannel devuelve "True" si el canal seguro est funcionando correctamente y "False" si no lo est. Este resultado permite utilizar el cmdlet en instrucciones condicionales de funciones y scripts. Para obtener resultados de pruebas ms detallados, utilice el parmetro Verbose. Este cmdlet funciona de forma parecida a NetDom.exe. Tanto NetDom como Test-ComputerSecureChannel utilizan el servicio NetLogon para realizar las acciones. PARMETROS -Repair [<SwitchParameter>] Quita y a continuacin regenera el canal seguro establecido por el servicio NetLogon. Utilice este parmetro para intentar restaurar una conexin que no haya superado la prueba (valor devuelto "False"). Para utilizar este parmetro, el usuario actual debe ser miembro del grupo Administradores en el equipo local. -Server <string> Utiliza el controlador de dominio especificado para ejecutar el comando. Si se omite este parmetro, Test-ComputerSecureChannel selecciona un controlador de dominio predeterminado para la operacin. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>test-computersecurechannel True Descripcin ----------Este comando prueba el canal seguro entre el equipo local y el dominio al que est unido.

-------------------------- EJEMPLO 2 --------------------------

C:\PS>test-computersecurechannel -server DCName.fabrikam.com True Descripcin ----------Este comando especifica un controlador de dominio preferido para la prueba.

-------------------------- EJEMPLO 3 -------------------------C:\PS>Test-ComputerSecureChannel -repair True Descripcin ----------Este comando restablece el canal seguro entre el equipo local y su dominio.

-------------------------- EJEMPLO 4 -------------------------C:\PS>test-computerSecureChannel -verbose VERBOSE: Performing operation "Test-ComputerSecureChannel" on Target "SERVER01". True VERBOSE: "The secure channel between 'SERVER01' and 'net.fabrikam.com' is alive and working correctly." Descripcin ----------Este comando utiliza el parmetro comn Verbose para solicitar mensajes detallados sobre la operacin. Para obtener ms informacin sobre el parmetro Verbose, vea about_CommonParameters.

-------------------------- EJEMPLO 5 -------------------------C:\PS>set-alias tcsc test-computersecurechannel if (!(tcsc)) {write-host "Connection failed. Reconnect and retry."} else { &(.\get-servers.ps1) } Descripcin ----------En este ejemplo se muestra la forma de utilizar TestComputerSecureChannel para probar una conexin antes de ejecutarse un script que requiere la conexin.

El primer comando utiliza el cmdlet Set-Alias para crear un alias para el nombre de cmdlet. De este modo se ahorra espacio y se evitan errores tipogrficos. La instruccin If comprueba el valor que Test-ComputerSecureChannel devuelve antes de ejecutarse un script.

NOTAS Para ver los ejemplos, escriba: "get-help Test-ComputerSecureChannel examples". Para obtener ms informacin, escriba: "get-help TestComputerSecureChannel -detailed". Para obtener informacin tcnica, escriba: "get-help TestComputerSecureChannel -full". NOMBRE Reset-ComputerMachinePassword SINOPSIS Restablece la contrasea de la cuenta de equipo para el equipo. SINTAXIS Reset-ComputerMachinePassword [-Server <string>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Reset-ComputerMachinePassword cambia la contrasea de la cuenta de equipo que los equipos utilizan para autenticar los controladores de dominio en el dominio. Puede utilizarlo para restablecer la contrasea del equipo local. PARMETROS -Server <string> Especifica el nombre del controlador de dominio que se va a utilizar al establecer la contrasea de la cuenta de equipo. Este parmetro es opcional. Si se omite este parmetro, se elige un controlador de dominio para prestar servicio al comando. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Reset-ComputerMachinePassword

Descripcin ----------Este comando restablece la contrasea del equipo local. El comando se ejecuta con las credenciales del usuario actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>Reset-ComputerMachinePassword -server DC01 Descripcin ----------Este comando restablece la contrasea del equipo local utilizando el controlador de dominio DC01.

-------------------------- EJEMPLO 3 -------------------------C:\PS>invoke-command -computername Server01 -scriptblock {resetcomputermachinepassword} Descripcin ----------Este comando utiliza el cmdlet Invoke-Command para ejecutar un comando Reset-ComputerMachinePassword en el equipo remoto Server01. Para obtener ms informacin sobre los comandos remotos en Windows PowerShell, vea about_Remote e Invoke-Command.

NOTAS Para ver los ejemplos, escriba: "get-help Reset-ComputerMachinePassword -examples". Para obtener ms informacin, escriba: "get-help ResetComputerMachinePassword -detailed". Para obtener informacin tcnica, escriba: "get-help ResetComputerMachinePassword -full". NOMBRE Stop-Computer SINOPSIS Detiene (apaga) los equipos local y remotos. SINTAXIS Stop-Computer [[-ComputerName] <string[]>] [[-Credential] <PSCredential>] [-AsJob] [-Authentication {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged}] [-Force] [Impersonation {Default | Anonymous | Identify | Impersonate | Delegate}] [ThrottleLimit <int> ] [-Confirm] [-WhatIf] [<CommonParameters>]

DESCRIPCIN El cmdlet Stop-Computer apaga los equipos remotos. Tambin puede apagar el equipo local. Puede utilizar los parmetros de Stop-Computer para ejecutar las operaciones de apagado como un trabajo en segundo plano, para especificar los niveles de autenticacin y las credenciales alternativas, para limitar las conexiones simultneas que se crean para ejecutar el comando, y para forzar u n apagado inmediato. Este cmdlet no requiere la comunicacin remota de Windows PowerShell a menos que se utilice el parmetro AsJob. PARMETROS -AsJob [<SwitchParameter>] Ejecuta el comando como un trabajo en segundo plano. Nota: para utilizar este parmetro, el equipo local y los equipos remotos deben estar configurados para la comunicacin remota y, en Windows Vista y versiones posteriores de Windows, se debe abrir Windows PowerShell con la opcin "Ejecutar como administrador". Para obtener ms informacin, vea about_Remote_Requirements. Cuando se utiliza el parmetro AsJob, el comando devuelve inmediatamente un objeto que representa el trabajo en segundo plano. Puede seguir trabajando en la sesin mientras se completa el trabajo. El trabajo se crea en el equipo local y los resultados de los equipos remotos se devuelven aut omticamente al equipo local. Para administrar el trabajo, use los cmdlets Job. Para obtener los resultados del trabajo, use el cmdlet ReceiveJob. Para obtener ms informacin sobre los trabajos en segundo plano en Windows PowerShell, vea about_Jobs y about_Remote_Jobs. -Authentication <AuthenticationLevel> Especifica el nivel de autenticacin que se utiliza para la conexin de WMI. (Stop-Computer utiliza WMI). El valor predeterminado es Packet. Los valores vlidos son: Unchanged: el nivel de autenticacin es idntico al del comando anterior. Default: autenticacin de Windows. None: ninguna autenticacin COM. Connect: autenticacin COM en el nivel de conexin. Call: autenticacin COM en el nivel de llamada. Packet: autenticacin COM en el nivel de paquete. PacketIntegrity: autenticacin COM en el nivel de integridad de paquete. PacketPrivacy: autenticacin COM en el nivel de privacidad de paquete. -ComputerName <string[]> Detiene los equipos especificados. El valor predeterminado es el equipo local. Escriba el nombre NETBIOS, la direccin IP o el nombre de dominio completo de uno o varios equipos en una lista de valores separados por

comas. Para especificar el equipo local, escriba el nombre del equipo o "localhost". Este parmetro no se basa en la comunicacin remota de Windows PowerShell. Puede usar el parmetro ComputerName incluso si el equipo no est configurado para la ejecucin de comandos remotos. -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno del cmdlet Get-Credential. -Force [<SwitchParameter>] Fuerza un apagado inmediato de los equipos. -Impersonation <ImpersonationLevel> Especifica el nivel de suplantacin que se va a usar al llamar a WMI. (Stop-Computer utiliza WMI). El valor predeterminado es "Impersonate". Los valores vlidos son: Default: suplantacin predeterminada. Anonymous: oculta la identidad del autor de llamada. Identify: permite que los objetos consulten las credenciales del autor de llamada. Impersonate: permite a los objetos utilizar las credenciales del autor de llamada. -ThrottleLimit <int> Especifica el nmero mximo de conexiones simultneas que se pueden establecer para ejecutar este comando. Si omite este parmetro o escribe un valor 0, se utilizar el valor predeterminado 32. Este lmite se aplica nicamente al comando actual; no se aplica a la sesin ni al equipo. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>stop-computer Descripcin ----------Este comando apaga el equipo local.

-------------------------- EJEMPLO 2 -------------------------C:\PS>stop-computer -computername Server01, Server02, localhost Descripcin ----------Este comando detiene dos equipos remotos, Server01 y Server02, y el equipo local, identificado como "localhost".

-------------------------- EJEMPLO 3 -------------------------C:\PS>$j = stop-computer -computername Server01, Server02 -asjob C:\PS> $results = $j | receive-job C:\PS> $results Descripcin ----------Estos comandos ejecutan un comando Stop-Computer como un trabajo en segundo plano en dos equipos remotos y, a continuacin, obtienen los resultados. El primer comando utiliza el parmetro AsJob para ejecutar el comando como un trabajo en segundo plano. El comando guarda el objeto de trabajo resultante en la variable $j. El segundo comando usa un operador de canalizacin para enviar el objeto de trabajo en $j al cmdlet Receive-Job, que obtiene los resultados del trabajo. El comando guarda los resultados en la variable $results. El tercer comando muestra el resultado guardado en la variable $results. Dado que el parmetro AsJob crea el trabajo en el equipo local y devuelve automticamente los resultados al equipo local, se puede ejecutar el comando Receive-Job como comando local.

-------------------------- EJEMPLO 4 -------------------------C:\PS>stop-computer -comp Server01 -impersonation anonymous authentication PacketIntegrity Descripcin ----------Este comando reinicia el equipo remoto Server01. El comando utiliza la suplantacin personalizada y la configuracin de autenticacin.

-------------------------- EJEMPLO 5 -------------------------C:\PS>$s = get-content domain01.txt

C:\PS> $c = get-credential domain01\admin01 C:\PS> stop-computer -computername $s -force -throttlelimit 10 credential $c Descripcin ----------Estos comandos fuerzan el apagado inmediato de todos los equipos de Domain01. El primer comando obtiene una lista de los equipos del dominio y la guarda en la variable $s. El segundo comando obtiene las credenciales de un administrador de dominio y las guarda en la variable $c. El tercer comando apaga los equipos. Utiliza el parmetro ComputerName para enviar la lista de equipos de la variable $s, el parmetro Force para forzar un apagado inmediato y el parmetro Credential para enviar las credenciales guardadas en la variable $c. Tambin utiliza el parmetro Throttle Limit para limitar el comando a 10 conexiones simultneas.

NOTAS Para ver los ejemplos, escriba: "get-help Stop-Computer -examples". Para obtener ms informacin, escriba: "get-help Stop-Computer detailed". Para obtener informacin tcnica, escriba: "get-help Stop-Computer full". NOMBRE Restore-Computer SINOPSIS Inicia una restauracin del sistema en el equipo local. SINTAXIS Restore-Computer [-RestorePoint] <int> [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Restore-Computer restaura el equipo local al punto de restauracin del sistema especificado. Un comando Restore-Computer reinicia el equipo. La restauracin se completa durante la operacin de reinicio. PARMETROS -RestorePoint <int> Especifica el nmero de secuencia del punto de restauracin. Para obtener el nmero de secuencia, utilice Get-ComputerRestorePoint. Este parmetro es obligatorio. -Confirm [<SwitchParameter>]

Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>restore-computer -RestorePoint 253 Descripcin ----------Este comando restaura el equipo local al punto de restauracin con nmero de secuencia 253. Dado que el parmetro RestorePoint es posicional, se puede omitir el nombre de parmetro.

-------------------------- EJEMPLO 2 -------------------------C:\PS>restore-computer 255 -confirm Confirm Are you sure you want to perform this action? Performing operation "Restore-Computer" . [Y] Yes [A] Yes to All [N] No [L] No to All (default is "Y"):

[S] Suspend

[?] Help

Descripcin ----------Este comando restaura el equipo local al punto de restauracin con nmero de secuencia 255. Utiliza el parmetro Confirm para preguntar al usuario antes de realizar realmente la operacin.

-------------------------- EJEMPLO 3 -------------------------C:\PS>Get-ComputerRestorePoint C:\PS> Restore-Computer -RestorePoint 255 C:\PS> Get-ComputerRestorePoint -LastStatus Descripcin ----------Estos comandos ejecutan una restauracin del sistema y, a continuacin, comprueban su estado. El primer comando utiliza el cmdlet Get-ComputerRestorePoint para obtener los puntos de restauracin en el equipo local.

El segundo comando usa Restore-Computer para restaurar el equipo al punto de restauracin con el nmero de secuencia 255. El tercer comando usa el parmetro LastStatus del cmdlet GetComputerRestorePoint para comprobar el estado de la operacin de restauracin. Dado que el comando Restore-Computer fuerza el reinicio, este comando se debe escribir al reiniciar el equipo.

NOTAS Para ver los ejemplos, escriba: "get-help Restore-Computer -examples". Para obtener ms informacin, escriba: "get-help Restore-Computer detailed". Para obtener informacin tcnica, escriba: "get-help Restore-Computer full". NOMBRE Add-Computer SINOPSIS Agrega el equipo local a un dominio o grupo de trabajo. SINTAXIS Add-Computer [-DomainName] <string> [-Credential <PSCredential>] [OUPath <string>] [-Server <string>] [-Unsecure] [-PassThru] [-Confirm] [WhatIf] [<CommonParameters>] Add-Computer [-WorkGroupName] <string> [-Credential <PSCredential>] [PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Add-Computer agrega el equipo local a un dominio o grupo de trabajo, o lo mueve de un dominio a otro. Tambin crea una cuenta de dominio si el equipo se agrega al dominio sin una cuenta. Puede utilizar los parmetros de este cmdlet para especificar una unidad organizativa (OU) y un controlador de dominio o para realizar una unin no segura. Para obtener los resultados del comando, utilice los parmetros Verbose y PassThru. PARMETROS -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedir una contrasea. -DomainName <string> Especifica un dominio para la cuenta de equipo. Este parmetro es obligatorio.

-OUPath <string> Especifica una unidad organizativa para la cuenta de dominio. Escriba el nombre completo de la unidad organizativa. El valor predeterminado es la unidad organizativa predeterminada para los objetos de equipo en el dominio. -PassThru [<SwitchParameter>] Devuelve los resultados del comando. De forma predeterminada, este cmdlet no genera resultados. -Server <string> Especifica el nombre de un controlador de dominio que agrega el equipo al dominio. Escriba el nombre en el formato nombreDeDominio\nombreDeEquipo. El valor predeterminado es el equipo local. -Unsecure [<SwitchParameter>] Realiza una unin no segura. -WorkGroupName <string> Especifica el nombre de un grupo de trabajo para el equipo. Si omite este parmetro, el equipo se une a un dominio. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>add-computer -domainname Domain01; restart-computer Descripcin ----------Estos comandos agregan el equipo local al dominio Domain01 utilizando las credenciales del usuario actual. El primer comando agrega el equipo al dominio. El segundo comando usa el cmdlet Restart-Computer para reiniciar el equipo, con lo que se completa la operacin de unin. El signo de punto y coma (;) separa los dos comandos.

-------------------------- EJEMPLO 2 -------------------------C:\PS>add-computer -workgroupname WORKGROUP-A Descripcin ----------Este comando agrega el equipo local al grupo de trabajo Workgroup-A.

-------------------------- EJEMPLO 3 -------------------------C:\PS>add-computer -DomainName Domain01 -Server Domain01\DC01 -passthru -verbose Descripcin ----------Este comando agrega el equipo local al dominio Domain01 utilizando el controlador de dominio Domain01\DC01. El comando utiliza los parmetros PassThru y Verbose para obtener informacin detallada sobre los resultados del comando.

-------------------------- EJEMPLO 4 -------------------------C:\PS>Add-Computer -domainname Domain02 -OUPath OU=testOU,DC=domain,DC=Domain,DC=com Descripcin ----------Este comando agrega los equipos Server01 y Server02 al dominio Domain02. Utiliza el comando OUPath para especificar la unidad organizativa para las nuevas cuentas.

-------------------------- EJEMPLO 5 -------------------------C:\PS>Add-Computer -domainname Domain02 -cred Domain02\Admin02 -passthru Descripcin ----------Este comando agrega el equipo local al dominio Domain02 utilizando las credenciales de un administrador de dominio. El comando utiliza el parmetro PassThru para generar un informe breve sobre los resultados del comando.

NOTAS Para ver los ejemplos, escriba: "get-help Add-Computer -examples". Para obtener ms informacin, escriba: "get-help Add-Computer detailed". Para obtener informacin tcnica, escriba: "get-help Add-Computer full". NOMBRE New-WebServiceProxy SINOPSIS Crea un objeto proxy de servicio web que permite utilizar y administrar el servicio web en Windows PowerShell. SINTAXIS

New-WebServiceProxy [-URI] <Uri> [[-Class] <string>] [[-Namespace] <string>] [<CommonParameters>] New-WebServiceProxy [-URI] <Uri> [[-Class] <string>] [[-Namespace] <string>] [-Credential <PSCredential>] [<CommonParameters>] New-WebServiceProxy [-URI] <Uri> [[-Class] <string>] [[-Namespace] <string>] [-UseDefaultCredential] [<CommonParameters>] DESCRIPCIN El cmdlet New-WebServiceProxy permite utilizar un servicio web en Windows PowerShell. El cmdlet establece conexin con un servicio web y crea un objeto proxy de servicio web en Windows PowerShell. Puede utilizar el objeto proxy para administrar el servicio web. Un servicio web es un programa basado en XML que intercambia datos a travs de una red, en particular a travs de Internet. Microsoft .NET Framework proporciona objetos proxy de servicio web que representan el servicio web como un objeto de .NET Framework. PARMETROS -Class <string> Especifica un nombre para la clase de proxy que el cmdlet crea para el servicio web. El valor de este parmetro se utiliza con el parmetro Namespace para proporcionar un nombre completo para la clase. El valor predeterminado se genera desde el URI. -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Esta es una alternativa al uso del parmetro UseDefaultCredential. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01". O bien, escriba un objeto PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedir una contrasea. -Namespace <string> Especifica un espacio de nombres para la nueva clase. El valor de este parmetro se utiliza con el valor del parmetro Class para generar un nombre completo para la clase. El valor predeterminado es Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes ms un tipo que se genera desde el URI. Puede establecer el valor del parmetro Namespace de modo que se pueda tener acceso a varios servicios web con el mismo nombre. -URI <Uri> Especifica el URI del servicio web. Escriba un URI o la ruta de acceso y el nombre de un archivo que contiene una descripcin del servicio. El URI debe hacer referencia a una pgina .asmx o a una pgina que devuelve una descripcin del servicio. Para devolver una descripcin del servicio de un servicio web creado mediante el uso de ASP.NET, anexe "?WSDL" a la direccin URL del servicio web (por ejemplo, http://www.contoso.com/M yWebService.asmx?WSDL). -UseDefaultCredential [<SwitchParameter>]

Establece en True el parmetro UseDefaultCredential del objeto proxy resultante. Esta es una alternativa al uso del parmetro Credential. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>$zip = New-WebServiceProxy -uri http://www.webservicex.net/uszip.asmx?WSDL Descripcin ----------Este comando utiliza el comando New-WebServiceProxy para crear un proxy de .NET Framework del servicio web US Zip en Windows PowerShell.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$URI = "http://www.webservicex.net/uszip.asmx?WSDL" C:\PS> $zip = New-WebServiceProxy -uri $URI -namespace WebServiceProxy class ZipClass Descripcin ----------Este comando utiliza el cmdlet New-WebServiceProxy para crear un proxy de .NET Framework del servicio web US Zip. El primer comando almacena el URI del servicio web en la variable $URI. El segundo comando crea el proxy de servicio web. El comando utiliza el parmetro URI para especificar el URI y los parmetros Namespace y Class para especificar el espacio de nombres y la clase del objeto.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$zip | get-member -type method TypeName: WebServiceProxy.USZip Name ---Abort BeginGetInfoByAreaCode BeginGetInfoByCity BeginGetInfoByState BeginGetInfoByZIP CreateObjRef Discover Dispose EndGetInfoByAreaCode EndGetInfoByCity MemberType ---------Method Method Method Method Method Method Method Method Method Method Definition ---------System.Void Abort( System.IAsyncResul System.IAsyncResul System.IAsyncResul System.IAsyncResul System.Runtime.Rem System.Void Discov System.Void Dispos System.Xml.XmlNode System.Xml.XmlNode

EndGetInfoByState EndGetInfoByZIP Equals GetHashCode GetInfoByAreaCode GetInfoByCity GetInfoByState GetInfoByZIP GetLifetimeService GetType InitializeLifetimeService ToString

Method Method Method Method Method Method Method Method Method Method Method Method

System.Xml.XmlNode System.Xml.XmlNode System.Boolean Equ System.Int32 GetHa System.Xml.XmlNode System.Xml.XmlNode System.Xml.XmlNode System.Xml.XmlNode System.Object GetL System.Type GetTyp System.Object Init System.String ToSt

Descripcin ----------Este comando utiliza el cmdlet Get-Member para mostrar los mtodos del objeto proxy de servicio web en la variable $zip. Utilizaremos estos mtodos en el ejemplo siguiente. Observe que el TypeName del objeto proxy, WebServiceProxy, refleja los nombres de la clase y el espacio de nombres que se especificaron en el ejemplo anterior.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$zip.getinfobyzip(20500).table CITY STATE ZIP AREA_CODE TIME_ZONE : : : : : Washington DC 20500 202 E

Descripcin ----------Este comando utiliza el proxy de servicio web almacenado en la variable Zip. El comando utiliza el mtodo GetInfoByZip del proxy y su propiedad Table.

NOTAS Para ver los ejemplos, escriba: "get-help New-WebServiceProxy examples". Para obtener ms informacin, escriba: "get-help New-WebServiceProxy detailed". Para obtener informacin tcnica, escriba: "get-help New-WebServiceProxy -full". NOMBRE Set-Service SINOPSIS Inicia, detiene y suspende un servicio y cambia sus propiedades. SINTAXIS

Set-Service [-Name] <string> [-Description <string>] [-DisplayName <string>] [-PassThru] [-StartupType {Automatic | Manual | Disabled}] [Status <string>] [-ComputerName <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] Set-Service [-Description <string>] [-DisplayName <string>] [InputObject <ServiceController>] [-PassThru] [-StartupType {Automatic | Manual | Disabled}] [-Status <string>] [-ComputerName <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Set-Service cambia las propiedades de un servicio local o remoto, incluidos el estado, la descripcin, el nombre para mostrar y el modo de inicio. Puede utilizar este cmdlet para iniciar, detener o suspender (pausar) un servicio. Para identificar el servicio, escriba su nombre o enve un objeto de servicio, o bien, canalice un nombre de servicio o un objeto de servicio a Set-Service. PARMETROS -ComputerName <string[]> Especifica uno o varios equipos. El valor predeterminado es el equipo local. Escriba el nombre NetBIOS, la direccin IP o el nombre de dominio completo de un equipo remoto. Para especificar el equipo local, escriba el nombre del equipo, un punto (.), o bien, "localhost". Este parmetro no se basa en la comunicacin remota de Windows PowerShell. Puede usar el parmetro ComputerName de Set-Service incluso si el equipo no est configurado para la ejecucin de comandos remotos. -Description <string> Especifica una nueva descripcin para el servicio. La descripcin del servicio se muestra en Administracin de equipos, en Servicios. La descripcin no es una propiedad del objeto ServiceController que Get-Service obtiene. Para ver la descripcin del servicio, utilice Get-WmiObject para obtener un objeto Win32_Service que representa el serv icio. -DisplayName <string> Especifica un nuevo nombre para mostrar para el servicio. -InputObject <ServiceController> Especifica un objeto ServiceController que representa el servicio que se va a cambiar. Escriba una variable que contenga el objeto o escriba un comando o una expresin que lo obtenga, como un comando Get-Service. Tambin puede canalizar un objeto de servicio a Set-Service. -Name <string> Especifica el nombre del servicio que se va a cambiar. No se permite el uso de caracteres comodn. Tambin puede canalizar un nombre de servicio a Set-Service. -PassThru [<SwitchParameter>] Devuelve objetos que representan los servicios que se cambiaron. De forma predeterminada, este cmdlet no genera resultados.

-StartupType <ServiceStartMode> Cambia el modo de inicio del servicio. Los valores vlidos de StartupType son: -- Automatic: se inicia cuando se inicia el sistema. -- Manual: se inicia nicamente cuando lo inicia un usuario o un programa. -- Disabled: no se puede iniciar. -Status <string> Inicia, detiene o suspende (pausa) los servicios. vlidos son: -- Running: inicia el servicio. -- Stopped: detiene el servicio. -- Paused: suspende el servicio. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>set-service -name lanmanworkstation -DisplayName "LanMan Workstation" Descripcin ----------Este comando cambia el nombre para mostrar del servicio lanmanworkstation a "LanMan Workstation". (El nombre predeterminado es "Workstation".) Los valores

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-wmiobject win32_service -filter "name = 'SysmonLog'" ExitCode Name ProcessId StartMode State Status : : : : : : 0 SysmonLog 0 Manual Stopped OK

C:\PS> set-service sysmonlog -startuptype automatic C:\PS> get-wmiobject win32_service -filter "name = 'SysmonLog'" ExitCode : 0

Name ProcessId StartMode State Status

: : : : :

SysmonLog 0 Auto Stopped OK

C:\PS> get-wmiobject win32_service | format-table Name, StartMode -auto Name ---AdtAgent Alerter ALG AppMgmt ... StartMode --------Auto Disabled Manual Manual

Descripcin ----------Estos comandos obtienen el tipo de inicio del servicio Registros y alertas de rendimiento (SysmonLog), establecen el modo de inicio en automtico y muestran el resultado del cambio. Estos comandos utilizan el cmdlet Get-WmiObject para obtener el objeto Win32_Service del servicio, porque el objeto ServiceController que GetService devuelve no incluye el modo de inicio. El primer comando usa el Get-WmiObject para obtener el objeto de Instrumental de administracin de Windows (WMI) que representa al servicio SysmonLog. El resultado predeterminado de este comando muestra el modo de inicio del servicio. El segundo comando usa Set-Service para cambiar el modo de inicio a automtico. A continuacin, se repite el primer comando para mostrar el cambio. El ltimo comando muestra el modo de inicio de todos los servicios en el equipo.

-------------------------- EJEMPLO 3 -------------------------C:\PS>set-service -name Schedule -computername S1 -description "Configures and schedules tasks." C:\PS> get-wmiobject win32_service -computername s1 | where-object {$_.Name -eq "Schedule"} | format-list Name, Description Descripcin ----------Estos comandos cambian la descripcin del servicio Programador de tareas en el equipo remoto S1 y, a continuacin, muestran el resultado. Estos comandos utilizan el cmdlet Get-WmiObject para obtener el objeto Win32_Service del servicio, porque el objeto ServiceController que GetService devuelve no incluye la descripcin del servicio. El primer comando usa un comando Set-Service para cambiar la descripcin. Identifica el servicio mediante el nombre de servicio del servicio, "Schedule".

El segundo comando usa el cmdlet Get-WmiObject para obtener una instancia de la clase Win32_Service de WMI que representa al servicio Programador de tareas. El primer elemento del comando obtiene todas las instancias de la clase Win32_service. El operador de canalizacin (|) pasa el resultado al cmdlet WhereObject, que selecciona las instancias que contengan el valor "Schedule" en la propiedad Name. Otro operador de canalizacin enva el resultado al cmdlet Format-List, que aplica al resultado un formato de lista que solo incluye las propiedades Name y Description.

-------------------------- EJEMPLO 4 -------------------------C:\PS>set-service winrm -status Running -passthru -computername Server02 Descripcin ----------Este comando inicia el servicio WinRM en el equipo Server02. El comando utiliza el parmetro Status para especificar el estado deseado ("running") y el parmetro PassThru para indicar a Set-Service que devuelva un objeto que represente el servicio WinRM.

-------------------------- EJEMPLO 5 -------------------------C:\PS>get-service schedule -computername S1, S2 | set-service -status paused Descripcin ----------Este comando suspende el servicio Schedule en los equipos remotos S1 y S2. Usa el cmdlet Get-Service para obtener el servicio. Un operador de canalizacin (|) enva el servicio al cmdlet Set-Service, que cambia su estado a "Paused" (en pausa).

-------------------------- EJEMPLO 6 -------------------------C:\PS>$s = get-service schedule C:\PS> set-service -inputobject $s -status stopped Descripcin ----------Estos comandos detienen el servicio Schedule en el equipo local. El primer comando utiliza el cmdlet Get-Service para obtener el servicio Schedule. El comando guarda el servicio en la variable $s. El segundo comando usa el cmdlet Set-Service para cambiar el estado del servicio Schedule a "Stopped" (detenido). Utiliza el parmetro InputObject

para enviar el servicio almacenado en la variable $s y usa el parmetro Status para especificar el estado deseado.

NOTAS Para ver los ejemplos, escriba: "get-help Set-Service -examples". Para obtener ms informacin, escriba: "get-help Set-Service -detailed". Para obtener informacin tcnica, escriba: "get-help Set-Service -full". NOMBRE New-Service SINOPSIS Crea un nuevo servicio de Windows. SINTAXIS New-Service [-Name] <string> [-BinaryPathName] <string> [-Credential <PSCredential>] [-DependsOn <string[]>] [-Description <string>] [DisplayName <string>] [-StartupType {Automatic | Manual | Disabled}] [Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet New-Service crea una nueva entrada para un servicio de Windows en el Registro y en la base de datos de servicios. Un nuevo servicio requiere un archivo ejecutable que se ejecuta durante el servicio. Los parmetros de este cmdlet permiten establecer el nombre para mostrar, una descripcin, el tipo de inicio y las dependencias del servicio. PARMETROS -BinaryPathName <string> Especifica la ruta del archivo ejecutable del servicio. Este parmetro es obligatorio. -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01". O bien, escriba un objeto PSCredential, como el devuelto por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedir una contrasea. -DependsOn <string[]> Especifica los nombres de otros servicios de los que depende el nuevo servicio. Para escribir varios nombres de servicio, utilice una coma para separarlos. -Description <string> Especifica una descripcin del servicio. -DisplayName <string> Especifica un nombre para mostrar para el servicio. -Name <string> Especifica el nombre del servicio. Este parmetro es obligatorio. -StartupType <ServiceStartMode>

Establece el tipo de inicio del servicio. El valor predeterminado es "Automatic". Los valores vlidos son: -- Manual: el servicio se inicia slo manualmente, por un usuario (utilizando el Administrador de control de servicios) o por una aplicacin. -- Automatic: el servicio ser iniciado (o fue iniciado) por el sistema operativo, en el inicio del sistema. Si un servicio iniciado automticamente depende de un servicio iniciado manualmente, este ltimo tambin se inicia automticamente en el inicio del sistema. -- Disabled: el servicio est deshabilitado y no puede ser iniciado por un usuario o por una aplicacin. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>new-service -name TestService -binaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs" Descripcin ----------Este comando crea un nuevo servicio denominado "TestService".

-------------------------- EJEMPLO 2 -------------------------C:\PS>new-service -name TestService -path "C:\WINDOWS\System32\svchost.exe -k netsvcs" -dependson NetLogon displayName "Test Service" -StartupType Manual -Description "This is a test service." Descripcin ----------Este comando crea un nuevo servicio denominado "TestService". Utiliza los parmetros del cmdlet New-Service para especificar una descripcin, el tipo de inicio y el nombre para mostrar del nuevo servicio. Para especificar el parmetro BinaryPathName, el comando usa el alias de parmetro Path. Tambin puede utilizar "-bpn".

-------------------------- EJEMPLO 3 --------------------------

C:\PS>get-wmiobject win32_service -filter "name='testservice'" ExitCode Name ProcessId StartMode State Status : : : : : : 0 testservice 0 Auto Stopped OK

Descripcin ----------Este comando utiliza el cmdlet Get-WmiObject para obtener el objeto Win32_Service para el nuevo servicio. Este objeto incluye el modo de inicio y la descripcin del servicio.

NOTAS Para ver los ejemplos, escriba: "get-help New-Service -examples". Para obtener ms informacin, escriba: "get-help New-Service -detailed". Para obtener informacin tcnica, escriba: "get-help New-Service -full". NOMBRE Set-Content SINOPSIS Escribe o reemplaza el contenido de un elemento por contenido nuevo. SINTAXIS Set-Content [-LiteralPath] <string[]> [-Value] <Object[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] Set-Content [-Path] <string[]> [-Value] <Object[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] DESCRIPCIN El cmdlet Set-Content es un cmdlet de procesamiento de cadenas que escribe o reemplaza el contenido del elemento especificado, como un archivo. A diferencia del cmdlet Add-Content, que anexa contenido a un archivo, SetContent reemplaza el contenido existente. Puede escribir el contenido en el comando o enviarlo a travs de la canalizacin a Set-Content. PARMETROS -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedir una contrasea.

Este parmetro no es compatible con los proveedores que se instalan con Windows PowerShell. -Exclude <string[]> Omite los elementos especificados. El valor de este parmetro califica el parmetro Path. Escriba un patrn o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodn. -Filter <string> Especifica un filtro en el formato o lenguaje del proveedor. El valor de este parmetro califica el parmetro Path. La sintaxis del filtro, incluido el uso de caracteres comodn, depende del proveedor. Los filtros son ms eficaces que otros parmetros, ya que el proveedor los aplica al recu perar los objetos en lugar de hacer que Windows PowerShell filtre los objetos despus de recuperarlos. -Force [<SwitchParameter>] Permite al cmdlet establecer el contenido de un archivo, incluso si se trata de un archivo de solo lectura. La implementacin vara segn el proveedor. Para obtener ms informacin, vea about_Providers. Incluso si se usa el parmetro Force, el cmdlet no puede invalidar las restricciones de seguridad. -Include <string[]> Cambia nicamente los elementos especificados. El valor de este parmetro califica el parmetro Path. Escriba un patrn o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodn. -LiteralPath <string[]> Especifica la ruta del elemento que recibir el contenido. A diferencia de Path, el valor de LiteralPath se usa literalmente como se escribe. Ningn carcter se interpretar como un carcter comodn. Si la ruta incluye caracteres de escape, escrbala entre comillas simples. Las comillas sim ples indican a Windows PowerShell que no debe interpretar los caracteres como secuencias de escape. -PassThru [<SwitchParameter>] Devuelve un objeto que representa el contenido. De forma predeterminada, este cmdlet no genera resultados. -Path <string[]> Especifica la ruta del elemento que recibir el contenido. Se permite el uso de caracteres comodn. -Value <Object[]> Especifica el nuevo contenido del elemento. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. -UseTransaction [<SwitchParameter>] Incluye el comando en la transaccin activa. Este parmetro solo es vlido cuando hay una transaccin en curso. Para obtener ms informacin, vea about_Transactions.

<CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>set-content -path C:\Test1\test*.txt -value "Hello, World" Descripcin ----------Este comando reemplaza el contenido de todos los archivos del directorio Test1 cuyo nombre empiece por "test" con "Hola mundo". En este ejemplo, se muestra cmo especificar contenido escribindolo en el comando.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-date | set-content C:\Test1\date.csv Descripcin ----------Este archivo crea un archivo delimitado por comas (csv) de longitud variable que slo contiene la fecha y la hora actual. Usa el cmdlet Get-Date para obtener la fecha y la hora actuales del sistema. El operador de canalizacin pasa el resultado a Set-Content, que crea el archivo y escribe el co ntenido. Si el directorio Test1 no existe el comando no se ejecuta correctamente, pero si el archivo no existe, el comando lo crear.

-------------------------- EJEMPLO 3 -------------------------C:\PS>(get-content Notice.txt) | foreach-object {$_ -replace "Warning", "Caution"} | set-content Notice.txt Descripcin ----------Este comando reemplaza todas las instancias de "Warning" por "Caution" en el archivo Notice.txt. Usa el cmdlet Get-Content para obtener el contenido de Notice.txt. El operador de canalizacin enva los resultados al cmdlet ForEach-Object, que aplica la expresin a cada lnea de contenido en Get-Content. La expresin usa el smbolo "$_" para hacer referencia al elemento actual y el parmetr o Replace para especificar el texto que se va a reemplazar. Otro operador de canalizacin enva el contenido modificado a SetContent, que reemplaza el texto de Notice.txt por el nuevo contenido. Los parntesis en torno al comando Get-Content garantizan que se habr completado la operacin Get antes de que se inicie la operacin Set. Sin los parntesis, el comando no se ejecutar correctamente ya que las dos funciones intentarn obtener acceso al mismo archivo.

NOTAS Para ver los ejemplos, escriba: "get-help Set-Content -examples". Para obtener ms informacin, escriba: "get-help Set-Content -detailed". Para obtener informacin tcnica, escriba: "get-help Set-Content -full". NOMBRE Suspend-Service SINOPSIS Suspende (pausa) uno o ms servicios en ejecucin. SINTAXIS Suspend-Service [-Name] <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Suspend-Service -DisplayName <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Suspend-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Suspend-Service enva un mensaje de suspensin al controlador de servicios de Windows para cada uno de los servicios especificados. Mientras est suspendido, el servicio seguir ejecutndose aunque su accin est detenida hasta que se reanude (por ejemplo, mediante el uso de ResumeSe rvice). Se pueden especificar los servicios por su nombre de servicio o por su nombre para mostrar, o se puede usar el parmetro InputObject para pasar un objeto de servicio que represente los servicios que se desea suspender. PARMETROS -DisplayName <string[]> Especifica los nombres para mostrar de los servicios que se van a suspender. Se permite el uso de caracteres comodn. -Exclude <string[]> Omite los servicios especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -Include <string[]> Suspende nicamente los servicios especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -InputObject <ServiceController[]> Especifica objetos ServiceController que representan los servicios que se van a suspender. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -Name <string[]>

Especifica los nombres de los servicios que se van a suspender. Se permite el uso de caracteres comodn. El nombre del parmetro es opcional. Puede usar "Name" o su alias, "ServiceName", o bien, puede omitir el nombre del parmetro. -PassThru [<SwitchParameter>] Devuelve un objeto que representa el servicio. De forma predeterminada, este cmdlet no genera resultados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>suspend-service -displayname "Telnet" Descripcin ----------Este comando suspende el servicio Telnet (Tlntsvr) en el equipo local.

-------------------------- EJEMPLO 2 -------------------------C:\PS>suspend-service -name lanman* -whatif Descripcin ----------Este comando indica lo que sucedera si se suspendieran los servicios con un nombre de servicio que empezase por "lanman". Para suspender los servicios, vuelva a ejecutar el comando sin el parmetro WhatIf.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-service schedule | suspend-service Descripcin ----------Este comando usa el cmdlet Get-Service para obtener un objeto que represente al servicio Programador de tareas (Schedule) en el equipo. El operador de canalizacin (|) pasa el resultado al cmdlet Suspend-Service, que suspende el servicio.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-service | where-object {$_.canpauseandcontinue -eq "True"} | suspend-service -confirm Descripcin ----------Este comando suspende todos los servicios del equipo que se pueden suspender. Usa el cmdlet Get-Service para obtener los objetos que representan los servicios de un equipo. El operador de canalizacin (|) pasa los resultados al cmdlet Where-Object, que selecciona nicamente los servicios para l os que el valor de la propiedad CanPauseAndContinue sea "True". Otro operador de canalizacin (|) pasa los resultados al cmdlet Suspend-Service. El parmetro Confirm pide una confirmacin antes de suspender cada servicio.

NOTAS Para ver los ejemplos, escriba: "get-help Suspend-Service -examples". Para obtener ms informacin, escriba: "get-help Suspend-Service detailed". Para obtener informacin tcnica, escriba: "get-help Suspend-Service full". NOMBRE Resume-Service SINOPSIS Reanuda uno o ms servicios suspendidos (en pausa). SINTAXIS Resume-Service [-Name] <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Resume-Service -DisplayName <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Resume-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Resume-Service enva un mensaje de reanudacin al controlador de servicios de Windows para cada uno de los servicios especificados. Si estn suspendidos, se reanudarn. Si se estn ejecutando actualmente, se omite el mensaje. Puede especificar los servicios por su nombre de servicio o por su nombre para mostrar, o puede usar el parmetro InputObject para pasar un objeto de servicio que represente a los servicios que desee reanudar. PARMETROS -DisplayName <string[]> Especifica los nombres para mostrar de los servicios que se van a reanudar. Se permite el uso de caracteres comodn.

-Exclude <string[]> Omite los servicios especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -Include <string[]> Reanuda nicamente los servicios especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -InputObject <ServiceController[]> Especifica objetos ServiceController que representan los servicios que se van a reanudar. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -Name <string[]> Especifica los nombres de los servicios que se van a reanudar. El nombre del parmetro es opcional. Puede usar "-Name" o su alias, "-ServiceName", o bien, puede omitir el nombre del parmetro. -PassThru [<SwitchParameter>] Devuelve un objeto que representa el servicio. De forma predeterminada, este cmdlet no genera resultados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>resume-service sens Descripcin ----------Este comando reanuda el servicio de notificacin de eventos de sistema (en el comando, el nombre del servicio se representa mediante "sens") en el equipo local. El comando usa el parmetro Name para especificar el nombre del servicio, pero omite el nombre del parmetro porque es opcional.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-service | where-object {$_.Status -eq "Paused"} | resumeservice Descripcin ----------Este comando reanuda todos los servicios suspendidos (en pausa) del equipo. El primer comando obtiene todos los servicios del equipo. El

operador de canalizacin (|) pasa los resultados al cmdlet Where-Object, que selecciona los servicios cuya propiedad Status tiene el valor "Paused" (en pausa) . El siguiente operador de canalizacin enva los resultados a ResumeService, que reanuda los servicios en pausa. En la prctica, se usa el parmetro WhatIf para determinar el efecto del comando antes de ejecutarlo sin WhatIf.

NOTAS Para ver los ejemplos, escriba: "get-help Resume-Service -examples". Para obtener ms informacin, escriba: "get-help Resume-Service detailed". Para obtener informacin tcnica, escriba: "get-help Resume-Service full". NOMBRE Restart-Service SINOPSIS Detiene y despus inicia uno o ms servicios. SINTAXIS Restart-Service [-Name] <string[]> [-Exclude <string[]>] [-Force] [Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Restart-Service -DisplayName <string[]> [-Exclude <string[]>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Restart-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Restart-Service enva un mensaje de detencin y, a continuacin, un mensaje de inicio al controlador de servicios de Windows para un servicio especificado. Si un servicio ya estaba detenido, se inicia sin notificar un error. Puede especificar los servicios por su nombre de servicio o por su nombre para mostrar, o puede usar el parmetro InputObject para pasar un objeto que represente a cada servicio que desee reiniciar. PARMETROS -DisplayName <string[]> Especifica los nombres para mostrar de los servicios que se van a reiniciar. Se permite el uso de caracteres comodn. -Exclude <string[]> Omite los servicios especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -Force [<SwitchParameter>] Pasa por alto las restricciones que impiden que el comando se ejecute correctamente, de tal modo que los cambios no pongan en peligro la

seguridad. Por ejemplo, Force detendr y reiniciar un servicio que tenga servicios dependientes. -Include <string[]> Reinicia nicamente los servicios especificados. El valor de este parmetro califica el parmetro Name. Escriba un patrn o un elemento del nombre, como "s*". Se permite el uso de caracteres comodn. -InputObject <ServiceController[]> Especifica objetos ServiceController que representan los servicios que se van a reiniciar. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresin que obtenga los objetos. -Name <string[]> Especifica los nombres de los servicios que se van a reiniciar. -PassThru [<SwitchParameter>] Devuelve un objeto que representa el servicio. De forma predeterminada, este cmdlet no genera resultados. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>restart-service wmi Descripcin ----------Este comando reinicia el servicio Instrumental de administracin de Windows (WMI) en el equipo local.

-------------------------- EJEMPLO 2 -------------------------C:\PS>restart-service -displayname net* -exclude "net logon" Descripcin ----------Este comando reinicia los servicios que tengan un nombre para mostrar que empiece por "Net", salvo el servicio "Net Logon".

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-service net* | where-object {$_.Status -eq "Stopped"} | restart-service

Descripcin ----------Este comando inicia todos los servicios de red del equipo que estn detenidos. Usa el cmdlet Get-Service para obtener los objetos que representen los servicios cuyo nombre empiece por "net". (El nombre del parmetro Name opcional se omite). El operador de canalizacin (|) enva el objeto de servicios al cmdlet Where-Object, que solamente selecciona los servicios cuyo esta do sea "stopped" (detenido). Otro operador de canalizacin enva los servicios seleccionados a Restart-Service. En la prctica, se usa el parmetro WhatIf para ver el efecto del comando antes de usarlo.

NOTAS Para ver los ejemplos, escriba: "get-help Restart-Service -examples". Para obtener ms informacin, escriba: "get-help Restart-Service detailed". Para obtener informacin tcnica, escriba: "get-help Restart-Service full". NOMBRE Set-ItemProperty SINOPSIS Crea o cambia el valor de una propiedad de un elemento. SINTAXIS Set-ItemProperty [-LiteralPath] <string[]> -InputObject <psobject> [Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] Set-ItemProperty [-Path] <string[]> -InputObject <psobject> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>] Set-ItemProperty [-LiteralPath] <string[]> [-Name] <string> [-Value] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [UseTransaction] [<CommonParameters>] Set-ItemProperty [-Path] <string[]> [-Name] <string> [-Value] <Object> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [UseTransaction] [<CommonParameters>] DESCRIPCIN El cmdlet Set-ItemProperty cambia el valor de la propiedad del elemento especificado. Puede utilizar el cmdlet para establecer o cambiar las propiedades de elementos. Por ejemplo, puede utilizar Set-ItemProperty para establecer el valor de la propiedad IsReadOnly de un objeto de archivo en true .

Tambin puede utiliza Set-ItemProperty para crear y cambiar datos y valores del Registro. Por ejemplo, puede agregar una nueva entrada del Registro a una clave y establecer o cambiar su valor. PARMETROS -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedir una contrasea. Este parmetro no es compatible con los proveedores que se instalan con Windows PowerShell. -Exclude <string[]> Especifica los elementos sobre los que no actuar el cmdlet e incluye todos los dems elementos. -Filter <string> Especifica un filtro en el formato o lenguaje del proveedor. El valor de este parmetro califica el parmetro Path. La sintaxis del filtro, incluido el uso de caracteres comodn, depende del proveedor. Los filtros son ms eficaces que otros parmetros, ya que el proveedor los aplica al recu perar los objetos en lugar de hacer que Windows PowerShell filtre los objetos despus de recuperarlos. -Force [<SwitchParameter>] Permite al cmdlet establecer una propiedad de elementos a los que el usuario no puede obtener acceso de ningn otro modo. La implementacin vara segn el proveedor. Para obtener ms informacin, vea about_Providers. -Include <string[]> Especifica nicamente aquellos elementos sobre los que actuar el cmdlet, y excluye a todos los dems. -InputObject <psobject> Especifica el objeto que tiene las propiedades que se van a cambiar. Indique la variable que contiene el objeto o escriba un comando que lo obtenga. -LiteralPath <string[]> Especifica la ruta de la propiedad del elemento. El valor de LiteralPath se usa literalmente como se escribe. Ningn carcter se interpretar como un carcter comodn. Si la ruta incluye caracteres de escape, escrbala entre comillas simples. Las comillas simples indican a Windows PowerShel l que no debe interpretar los caracteres como secuencias de escape. -Name <string> Especifica el nombre de la propiedad. -PassThru [<SwitchParameter>] Devuelve un objeto que representa la propiedad del elemento. De forma predeterminada, este cmdlet no genera resultados.

-Path <string[]> Especifica la ruta de los elementos que tienen la propiedad que se va a establecer. -Value <Object> Especifica el valor de la propiedad. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. -UseTransaction [<SwitchParameter>] Incluye el comando en la transaccin activa. Este parmetro solo es vlido cuando hay una transaccin en curso. Para obtener ms informacin, vea about_Transactions. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>set-itemproperty -path c:\GroupFiles\final.doc -name IsReadOnly value $true Descripcin ----------Este comando establece el valor de la propiedad IsReadOnly del archivo final.doc en true. El comando utiliza el cmdlet Set-ItemProperty para cambiar el valor de la propiedad del archivo final.doc. Usa el parmetro Path para especificar el archivo. Usa el parmetro Name para especificar el nombre de la propiedad y el parmetro Value para especificar el nuevo valor. La variable automtica $true representa un valor TRUE. Para obtener ms informacin, vea about_Automatic_Variables. El archivo es un objeto System.IO.FileInfo y la propiedad IsReadOnly es una de sus propiedades. Para ver todos los mtodos y propiedades de un objeto FileInfo, canalice el archivo al cmdlet Get-Member. Por ejemplo, "final.doc | get-member".

-------------------------- EJEMPLO 2 -------------------------C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 823 C:\PS>get-itemproperty -path HKLM:\Software\MyCompany PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany

PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software PSChildName : mycompany PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry NoOfLocations : 2 NoOfEmployees : 823 C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -value 824 C:\PS>get-itemproperty -path HKLM:\Software\MyCompany PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software PSChildName : mycompany PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry NoOfLocations : 2 NoOfEmployees : 824 Descripcin ----------En este ejemplo, se muestra cmo utilizar Set-ItemProperty para crear una nueva entrada del Registro y asignar un valor a la entrada. Crea la entrada NoOfEmployees de la clave MyCompany en la clave HKLM\Software y establece su valor en 823. Dado que se considera que las entradas del Registro son propiedades de las claves del Registro (que son elementos), se debe utilizar SetItemProperty para crear entradas del Registro y para establecer y cambiar sus valores. El primer comando utiliza el cmdlet Set-ItemProperty para crear la entrada del Registro. Utiliza el parmetro Path para especificar la ruta de acceso a la unidad HKLM: y la clave Software\MyCompany. Utiliza el parmetro Name para especificar el nombre de la entrada y el parmetro Value para esp ecificar un valor. El segundo comando usa el cmdlet Get-ItemProperty para ver la nueva entrada del Registro. Si utiliza el cmdlet Get-Item o Get-ChildItem, las entradas no aparecern porque son propiedades de una clave; no son elementos ni elementos secundarios. El tercer comando cambia el valor de la entrada NoOfEmployees a 824. Tambin puede utilizar el cmdlet New-ItemProperty para crear la entrada del Registro y su valor, y a continuacin, utilizar Set-ItemProperty para cambiar el valor. Para obtener ms informacin sobre la unidad HKLM:, escriba "get-help get-psdrive". Para obtener ms informacin sobre cmo se utiliza Windows PowerShell para administrar el Registro, escriba "get-help registry".

-------------------------- EJEMPLO 3 --------------------------

C:\PS>get-childitem weekly.txt | set-itemproperty -name IsReadOnly value $true Descripcin ----------Estos comandos muestran cmo utilizar un operador de canalizacin (|) para enviar un elemento a Set-ItemProperty. La primera parte del comando usa el cmdlet Get-ChildItem para obtener un objeto que representa el archivo Weekly.txt. El comando utiliza un operador de canalizacin para enviar el objeto de archivo a Set-ItemProperty. El comando Set-ItemProperty utiliza los parmetros Name y Value para especifi car la propiedad y su nuevo valor. Este comando es equivalente a utilizar el parmetro InputObject para especificar el objeto que Get-ChildItem obtiene.

NOTAS Para ver los ejemplos, escriba: "get-help Set-ItemProperty -examples". Para obtener ms informacin, escriba: "get-help Set-ItemProperty detailed". Para obtener informacin tcnica, escriba: "get-help Set-ItemProperty full". NOMBRE Complete-Transaction SINOPSIS Confirma la transaccin activa. SINTAXIS Complete-Transaction [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Complete-Transaction confirma una transaccin activa. Cuando se confirma una transaccin, se finalizan los comandos de la transaccin y se cambian los datos afectados por los comandos. Si la transaccin incluye varios suscriptores, para confirmar la transaccin, se debe escribir un comando Complete-Transaction para cada comando Start-Transaction. El cmdlet Complete-Transaction es uno de un conjunto de cmdlets que admiten la caracterstica de transacciones en Windows PowerShell. Para obtener ms informacin, vea about_Transactions. PARMETROS -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si ejecutara el comando sin ejecutarlo realmente. <CommonParameters>

Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>cd hkcu:\software PS HKCU:\software> start-transaction PS HKCU:\software> new-item MyCompany -UseTransaction PS HKCU:\software> dir m* Hive: HKEY_CURRENT_USER\software SKC --82 VC Name -- ---1 Microsoft Property -------{(default)}

PS HKCU:\software> complete-transaction PS HKCU:\software> dir m* Hive: HKEY_CURRENT_USER\Software SKC --82 0 VC -1 0 Name ---Microsoft MyCompany Property -------{(default)} {}

Descripcin ----------En este ejemplo se muestra el efecto de utilizar el cmdlet CompleteTransaction para confirmar una transaccin. El comando Start-Transaction inicia la transaccin. El comando New-Item utiliza el parmetro UseTransaction para incluir el comando en la transaccin. El primer comando "dir" (Get-ChildItem) muestra que el nuevo elemento no se ha agregado todava al Registro. El comando Complete-Transaction confirma la transaccin, lo que hace que el cambio del Registro surta efecto. Como consecuencia, el segundo comando "dir" muestra que el Registro ha cambiado.

-------------------------- EJEMPLO 2 -------------------------C:\PS>cd hkcu:\software PS HKCU:\software> start-transaction PS HKCU:\software> new-item MyCompany -UseTransaction Hive: HKEY_CURRENT_USER\Software SKC --0 VC Name -- ---0 MyCompany Property -------{}

PS HKCU:\software> start-transaction PS HKCU:\Software> Get-Transaction RollbackPreference -----------------Error SubscriberCount --------------2 Status -----Active

PS HKCU:\software> new-itemproperty -path MyCompany -name MyKey -value UseTransaction MyKey ----123 PS HKCU:\software> complete-transaction PS HKCU:\software> get-transaction RollbackPreference -----------------Error SubscriberCount --------------1 Status -----Active

PS HKCU:\software> dir m* Hive: HKEY_CURRENT_USER\Software SKC --82 VC Name -- ---1 Microsoft Property -------{(default)}

PS HKCU:\software> complete-transaction PS HKCU:\software> dir m* Hive: HKEY_CURRENT_USER\Software SKC --82 0 VC -1 1 Name ---Microsoft MyCompany Property -------{(default)} {MyKey}

Descripcin ----------En este ejemplo se muestra la forma de utilizar Complete-Transaction para confirmar una transaccin con ms de un suscriptor. Para confirmar una transaccin con varios suscriptores, se debe escribir un comando Complete-Transaction para cada comando Start-Transaction. Los datos solo se cambian cuando se enva el ltimo comando CompleteTransaction. A efectos de demostracin, en este ejemplo se muestra una serie de comandos escritos en la lnea de comandos. En la prctica, lo ms probable es que las transacciones se ejecuten en scripts, siendo ejecutada la transaccin por una funcin o un script auxiliar invocado por el script principal. En este ejemplo, un comando Start-Transaction inicia la transaccin. Un comando New-Item con el parmetro UseTransaction agrega la clave MyCompany a la clave Software. Aunque el comando New-Item devuelve un objeto de clave, los datos del Registro no se cambian todava.

Un segundo comando Start-Transaction agrega un segundo suscriptor a la transaccin existente. El comando Get-Transaction confirma que el recuento de suscriptores es 2. Un comando New-ItemProperty con el parmetro UseTransaction agrega una entrada del Registro a la nueva clave MyCompany. De nuev o, el comando devuelve un valor, pero no se cambia el Registro. El primer comando Complete-Transaction reduce el recuento de suscriptores en 1. Un comando Get-Transaction confirma este punto. Sin embargo, no se cambian datos, tal como evidencia un comando "dir m*" (GetChildItem). El segundo comando Complete-Transaction confirma la transaccin completa y cambia los datos en el Registro. Un segundo comando "dir m*", que muestra los cambios, confirma este punto.

-------------------------- EJEMPLO 3 -------------------------C:\PS>cd hkcu:\software PS HKCU:\software> start-transaction PS HKCU:\software> new-item MyCompany -UseTransaction PS HKCU:\software> dir m* Hive: HKEY_CURRENT_USER\Software SKC --82 VC Name -- ---1 Microsoft Property -------{(default)}

PS HKCU:\software> dir m* -UseTransaction Hive: HKEY_CURRENT_USER\Software SKC --82 0 VC -1 0 Name ---Microsoft MyCompany Property -------{(default)} {}

PS HKCU:\software> complete-transaction Descripcin ----------En este ejemplo se muestra el valor de utilizar comandos Get-*, y otros comandos que no cambian datos, en una transaccin. Cuando se utiliza un comando Get-* en una transaccin, obtiene los objetos que forman parte de la transaccin. Esto permite tener una vista previa de los cambios de la tran saccin antes de que se confirmen. En este ejemplo, se inicia una transaccin. Un comando New-Item con el parmetro UseTransaction agrega una nueva clave al Registro como parte de la transaccin.

Dado que la nueva clave del Registro no se agrega al registro hasta que se ejecute el comando Complete-Transaction, un comando "dir" simple (GetChildItem) muestra el Registro sin la nueva clave. Sin embargo, cuando se agrega el parmetro UseTransaction al comando "dir", el comando pasa a formar parte de la transaccin y obtiene los elementos de la transaccin aunque no se hayan agregado todava a los datos.

NOTAS Para ver los ejemplos, escriba: "get-help Complete-Transaction examples". Para obtener ms informacin, escriba: "get-help Complete-Transaction detailed". Para obtener informacin tcnica, escriba: "get-help CompleteTransaction -full". NOMBRE Undo-Transaction SINOPSIS Revierte la transaccin activa. SINTAXIS Undo-Transaction [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Undo-Transaction revierte la transaccin activa. Cuando se revierte una transaccin, se descartan los cambios realizados por los comandos en la transaccin y se restauran los datos a su formato original. Si la transaccin incluye varios suscriptores, un comando UndoTransaction revierte la transaccin completa para todos los suscriptores. De forma predeterminada, las transacciones se revierten automticamente si un comando de la transaccin genera un error. Sin embargo, las transacciones se pueden iniciar con una preferencia de reversin diferente y se puede utilizar este cmdlet para revertir la transaccin activa en cualquier m omento. El cmdlet Undo-Transaction es uno de un conjunto de cmdlets que admiten la caracterstica de transacciones en Windows PowerShell. Para obtener ms informacin, vea about_Transactions. PARMETROS -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>undo-transaction Descripcin ----------Este comando revierte la transaccin actual (activa).

-------------------------- EJEMPLO 2 -------------------------C:\PS>cd hkcu:\software PS HKCU:\Software> start-transaction PS HKCU:\Software> new-item MyCompany -usetransaction PS HKCU:\Software> undo-transaction Descripcin ----------Este comando inicia una transaccin y, a continuacin, la revierte. Como consecuencia, no se realizan cambios en el Registro.

-------------------------- EJEMPLO 3 -------------------------C:\PS>cd hkcu:\software PS HKCU:\Software> start-transaction PS HKCU:\Software> new-item MyCompany -usetransaction PS HKCU:\Software> get-transaction RollbackPreference -----------------Error SubscriberCount --------------1 Status ----Active

PS HKCU:\Software> start-transaction PS HKCU:\Software> get-transaction RollbackPreference -----------------Error SubscriberCount --------------2 Status ----Active

PS HKCU:\Software> undo-transaction PS HKCU:\Software> get-transaction RollbackPreference -----------------Error Descripcin ----------SubscriberCount --------------0 Status ----RolledBack

En este ejemplo se muestra que cuando un suscriptor revierte una transaccin, la transaccin completa se revierte para todos los suscriptores. El primer comando cambia la ubicacin a la clave del Registro HKCU:\Software. El segundo comando inicia una transaccin. El tercer comando usa el cmdlet New-Item para crear una nueva clave del Registro. El comando utiliza el parmetro UseTransaction para incluir el cambio en la transaccin. El cuarto comando utiliza el cmdlet Get-Transaction para obtener la transaccin activa. Observe que el estado es Active y que el recuento de suscriptores es 1. El quinto comando vuelve a utilizar el comando Start-Transaction. Normalmente, el inicio de una transaccin mientras otra est en curso se produce cuando un script utilizado por la transaccin principal incluye su propia transaccin completa. (Este ejemplo se realiza de forma interactiva; por lo tanto, se puede examinar por fases). Cuando se escribe un comando Start-Transaction mientras otra transaccin est en curso, los comandos unen la transaccin existente como un nuevo "suscriptor" y el recuento de suscriptores se incrementa. El sexto comando utiliza el cmdlet Get-Transaction para obtener la transaccin activa. Observe que el recuento de suscriptores es ahora 2. El sptimo comando usa el cmdlet Undo-Transaction para revertir la transaccin. Este comando no devuelve objetos. El ltimo comando es un comando Get-Transaction que obtiene la transaccin activa (o en este caso, la transaccin activa ms reciente). Los resultados muestran que la transaccin se revierte y que el recuento de suscriptores es 0, as como que la transaccin se revirti para todos los suscripto res.

NOTAS Para ver los ejemplos, escriba: "get-help Undo-Transaction -examples". Para obtener ms informacin, escriba: "get-help Undo-Transaction detailed". Para obtener informacin tcnica, escriba: "get-help Undo-Transaction full". NOMBRE Use-Transaction SINOPSIS Agrega el bloque de script a la transaccin activa. SINTAXIS Use-Transaction [-TransactedScript] <scriptblock> [-UseTransaction] [<CommonParameters>]

DESCRIPCIN El cmdlet Use-Transaction agrega un bloque de script a una transaccin activa. Esto permite realizar scripting con transacciones mediante el uso de objetos de Microsoft .NET Framework habilitados para transacciones. El bloque de script solo puede contener objetos de .NET Framework habilitados p ara transacciones, como instancias de la clase Microsoft.PowerShell.Commands.Management.TransactedString. El parmetro UseTransaction, que es opcional para la mayora de los cmdlets, es obligatorio cuando se usa este cmdlet. El cmdlet Use-Transaction es uno de un conjunto de cmdlets que admiten la caracterstica de transacciones en Windows PowerShell. Para obtener ms informacin, vea about_Transactions. PARMETROS -TransactedScript <scriptblock> Especifica el bloque de script que se ejecuta en la transaccin. Escriba cualquier bloque de script vlido entre llaves ({}). Este parmetro es obligatorio. -UseTransaction [<SwitchParameter>] Incluye el comando en la transaccin activa. Este parmetro solo es vlido cuando hay una transaccin en curso. Para obtener ms informacin, vea about_Transactions. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>start-transaction C:\PS> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString C:\PS> $transactedString.Append("Hello") C:\PS> use-transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction C:\PS> $transactedString.ToString() Hello C:\PS> use-transaction -transactedScript { $transactedString.ToString() } -UseTransaction Hello, World C:\PS> complete-transaction C:\PS> $transactedString.ToString() Hello, World Descripcin -----------

En este ejemplo se muestra la forma de utilizar el cmdlet UseTransaction para ejecutar script en un objeto de .NET Framework habilitado para transacciones. En este caso, el objeto es un objeto TransactedString. El primer comando utiliza el cmdlet Start-Transaction para iniciar una transaccin. El segundo comando usa el comando New-Object para crear un objeto TransactedString. Este comando almacena el objeto en la variable $TransactedString. Los comandos tercero y cuarto usan el mtodo Append del objeto TransactedString para agregar el texto al valor de $TransactedString. Un comando forma parte de la transaccin; el otro no. El tercer comando utiliza el mtodo Append de la cadena con transaccin para agregar "Hello" al valor de $TransactedString. Como el comando no forma parte de la transaccin, el cambio se aplica inmediatamente. El cuarto comando utiliza el cmdlet Use-Transaction para agregar texto a la cadena dentro de la transaccin. El comando utiliza el mtodo Append para agregar ", World" al valor de $TransactedString. El comando se coloca entre llaves ({}) para que se convierta en un bloque de script. El parmetr o UseTransaction es obligatorio en este comando. Los comandos quinto y sexto utilizan el mtodo ToString del objeto TransactedString para mostrar el valor de TransactedString como una cadena. De nuevo, un comando forma parte de la transaccin pero el otro no. El quinto comando utiliza el mtodo ToString para mostrar el valor actual de la variable $TransactedString. Como no forma parte de la transaccin, muestra solamente el estado actual de la cadena. El sexto comando utiliza el cmdlet Use-Transaction para ejecutar el mismo comando dentro de la transaccin. Como el comando forma parte de la transaccin, muestra el valor actual de la cadena dentro de la transaccin, de forma parecida a una vista previa de los cambios de la transaccin. El sptimo comando usa el cmdlet Complete-Transaction para confirmar la transaccin. El ltimo comando utiliza el mtodo ToString para mostrar el valor resultante de la variable como una cadena.

-------------------------- EJEMPLO 2 -------------------------C:\PS>start-transaction C:\PS> $transactedString = New-Object Microsoft.PowerShell.Commands.Management.TransactedString C:\PS> $transactedString.Append("Hello") C:\PS> use-transaction -TransactedScript { $transactedString.Append(", World") } -UseTransaction C:\PS> undo-transaction C:\PS> $transactedString.ToString()

Hello Descripcin ----------En este ejemplo se muestra el efecto de revertir una transaccin que incluye comandos Use-Transaction. Como todos los comandos de una transaccin, cuando la transaccin se revierte, los cambios se descartan y los datos permanecen inalterados. El primer comando utiliza el cmdlet Start-Transaction para iniciar una transaccin. El segundo comando usa el comando New-Object para crear un objeto TransactedString. Este comando almacena el objeto en la variable $TransactedString. El tercer comando, que no forma parte de la transaccin, utiliza el mtodo Append para agregar "Hello" al valor de $TransactedString. El cuarto comando utiliza el cmdlet Use-Transaction para ejecutar otro comando que utiliza el mtodo Append dentro de la transaccin. El comando utiliza el mtodo Append para agregar ", World" al valor de $TransactedString. El quinto comando usa el cmdlet Undo-Transaction para revertir la transaccin. Como consecuencia, todos los comandos realizados dentro de la transaccin se revierten. El ltimo comando utiliza el mtodo ToString para mostrar el valor resultante de $TransactedString como una cadena. Los resultados muestran que solo los cambios realizados fuera de la transaccin se aplicaron al objeto.

NOTAS Para ver los ejemplos, escriba: "get-help Use-Transaction -examples". Para obtener ms informacin, escriba: "get-help Use-Transaction detailed". Para obtener informacin tcnica, escriba: "get-help Use-Transaction full". NOMBRE Set-WmiInstance SINOPSIS Crea o actualiza una instancia de una clase existente de Instrumental de administracin de Windows (WMI). SINTAXIS Set-WmiInstance [-Class] <string> [[-Arguments] <hashtable>] [Authentication {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {Default | Anonymous | Identify | Impersonate | Delegate}] [-Locale <string>] [Namespace <string>] [-AsJob] [-PutType {None | UpdateOnly | CreateOnly | UpdateOrCreate}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Set-WmiInstance [-Authentication {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [EnableAllPrivileges] [-Impersonation {Default | Anonymous | Identify | Impersonate | Delegat e}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {None | UpdateOnly | CreateOnly | UpdateOrCreate}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>] Set-WmiInstance -InputObject <ManagementObject> [-Arguments <hashtable>] [-AsJob] [-PutType {None | UpdateOnly | CreateOnly | UpdateOrCreate}] [ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>] Set-WmiInstance -Path <string> [-Arguments <hashtable>] [-Authentication {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {Default | Anon ymous | Identify | Impersonate | Delegate}] [-Locale <string>] [Namespace <string>] [-AsJob] [-PutType {None | UpdateOnly | CreateOnly | UpdateOrCreate}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>] Set-WmiInstance [-Authentication {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [EnableAllPrivileges] [-Impersonation {Default | Anonymous | Identify | Impersonate | Delegat e}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {None | UpdateOnly | CreateOnly | UpdateOrCreate}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>] Set-WmiInstance [-Authentication {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [EnableAllPrivileges] [-Impersonation {Default | Anonymous | Identify | Impersonate | Delegat e}] [-Locale <string>] [-Namespace <string>] [-AsJob] [-PutType {None | UpdateOnly | CreateOnly | UpdateOrCreate}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN El cmdlet Set-WmiInstance crea o actualiza una instancia de una clase existente de WMI. La instancia creada o actualizada se escribe en el repositorio de WMI. PARMETROS -Arguments <hashtable> Especifica el nombre de la propiedad que se va a modificar y el nuevo valor de esa propiedad. El nombre y el valor deben tener formato de par nombre-valor. El par nombre-valor se pasa en la lnea de comandos como una tabla hash. Por ejemplo: -argument @{Setting1=1; Setting2=5; Setting3="test"}. -AsJob [<SwitchParameter>] Ejecuta el comando como un trabajo en segundo plano. Use este parmetro para ejecutar comandos que tardan mucho tiempo en completarse. Cuando se utiliza el parmetro AsJob, el comando devuelve un objeto que representa el trabajo en segundo plano y, a continuacin, muestra el

smbolo del sistema. Puede seguir trabajando en la sesin mientras se completa el trabajo. Si se utiliza Set-WmiObject en un equipo remoto, el trabajo se crea en el equipo local y los resultados de los equipos remotos se devuelven automticamente al equipo local. Para administrar el trabajo, utilice los cmdlets que contienen el nombre Job (cmdlets Job). Para obtener los resultados del trabajo, use el cmdlet Receive-Job. Nota: para utilizar este parmetro en equipos remotos, los equipos locales y remotos deben estar configurados para la comunicacin remota. Adems, debe iniciar Windows PowerShell con la opcin "Ejecutar como administrador" en Windows Vista y versiones posteriores de Windows. Para obtener m s informacin, vea about_Remote_Requirements. Para obtener ms informacin sobre los trabajos en segundo plano en Windows PowerShell, vea about_Jobs y about_Remote_Jobs. -Authentication <AuthenticationLevel> Especifica el nivel de autenticacin que se va a utilizar con la conexin de WMI. Los valores vlidos son: -1: Unchanged 0: Default 1: None (no se realiza ninguna autenticacin). 2: Connect (la autenticacin se realiza solo cuando el cliente establece una relacin con la aplicacin). 3: Call (la autenticacin se realiza solo al comienzo de cada llamada cuando la aplicacin recibe la solicitud). 4: Packet (se autentican todos los datos que se reciben del cliente). 5: PacketIntegrity (se autentican y se comprueban todos los datos que se transfieren entre el cliente y la aplicacin). 6: PacketPrivacy (se utilizan las propiedades de los dems niveles de autenticacin y se cifran todos los datos). -Authority <string> Especifica la autoridad que se va a utilizar para autenticar la conexin de WMI. Puede especificar la autenticacin estndar NTLM o Kerberos. Para utilizar NTLM, establezca el valor de autoridad en ntlmdomain:<nombreDeDominio>, donde <nombreDeDominio> identifica un nombre de dominio NTLM v lido. Para utilizar Kerberos, especifique kerberos:<nombreDeDominio>\<nombreDeServidor>. No puede incluir el valor de autoridad cuando se conecta al equipo local. -Class <string> Especifica el nombre de una clase de WMI. -ComputerName <string[]> Especifica el equipo en el que se desea ejecutar la operacin de administracin. El valor puede ser un nombre de dominio completo, un nombre NetBIOS o una direccin IP. Use el nombre del equipo local, localhost, o bien, un punto (.) para especificar el equipo local. El equipo local es el va lor predeterminado. Cuando el equipo remoto est en un dominio diferente que el usuario, debe usar un nombre de dominio completo. Puede establecer el valor de este parmetro canalizando el valor al parmetro. Este parmetro no se basa en la comunicacin remota de Windows PowerShell, que utiliza WS-Management. Puede usar el parmetro ComputerName

de Get-WmiObject incluso si el equipo no est configurado para la ejecucin de comandos remotos de WS-Management. -Credential <PSCredential> Especifica una cuenta de usuario con permiso para realizar esta accin. El valor predeterminado es el usuario actual. Escriba un nombre de usuario, como "Usuario01", "Dominio01\Usuario01" o "Usuario@Contoso.com". O bien, escriba un objeto PSCredential, como el objeto devuelto por el cmdlet Get-Credential. Cuando escriba un nombre de usuario, se le solicitar una contrasea. -EnableAllPrivileges [<SwitchParameter>] Habilita todos los privilegios del usuario actual antes de que el comando realice la llamada a WMI. -Impersonation <ImpersonationLevel> Especifica el nivel de suplantacin que se va a usar. Los valores vlidos son: 0: Default (lee el Registro local para determinar el nivel de suplantacin predeterminado, que suele estar establecido en "3: Impersonate"). 1: Anonymous (oculta las credenciales del autor de la llamada). 2: Identify (permite que los objetos consulten las credenciales del autor de la llamada). 3: Impersonate (permite a los objetos utilizar las credenciales del autor de la llamada). 4: Delegate (permite que los objetos dejen que otros objetos usen las credenciales del autor de la llamada). -InputObject <ManagementObject> Especifica un objeto ManagementObject que se va a usar como entrada. Cuando se utiliza este parmetro, todos los dems parmetros, excepto el parmetro Arguments, se omiten. -Locale <string> Especifica la configuracin regional preferida para los objetos de WMI. El parmetro Locale se especifica en una matriz con el formato MS_<LCID> en el orden preferido. -Namespace <string> Si se usa con el parmetro Class, este parmetro especifica el espacio de nombres del repositorio de WMI donde se encuentra la clase de WMI a la que se hace referencia. -Path <string> Especifica la ruta de acceso de un objeto de WMI a la instancia que desea crear o actualizar. -PutType <PutType> Indica si la instancia de WMI se debe crear o actualizar. Los valores vlidos son: UpdateOnly: actualiza una instancia de WMI existente. CreateOnly: crea una nueva instancia de WMI. UpdateOrCreate: actualiza la instancia de WMI si existe o crea una nueva si no existe. -ThrottleLimit <int> Permite al usuario especificar un valor de lmite para el nmero de operaciones de WMI que se pueden ejecutar de manera simultnea. Este

parmetro se utiliza con el parmetro AsJob. Este lmite se aplica nicamente al comando actual; no se aplica a la sesin ni al equipo. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>Set-WMIInstance -class Win32_WMISetting -argument @{LoggingLevel=2} __GENUS : 2 __CLASS : Win32_WMISetting __SUPERCLASS : CIM_Setting __DYNASTY : CIM_Setting __RELPATH : Win32_WMISetting=@ __PROPERTY_COUNT : 27 __DERIVATION : {CIM_Setting} __SERVER : SYSTEM01 __NAMESPACE : root\cimv2 __PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@ ASPScriptDefaultNamespace : \\root\cimv2 ASPScriptEnabled : False AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...} AutoStartWin9X : BackupInterval : BackupLastTime : BuildVersion : 6001.18000 Caption : DatabaseDirectory : C:\Windows\system32\wbem\repository DatabaseMaxSize : Description : EnableAnonWin9xConnections : EnableEvents : False EnableStartupHeapPreallocation : False HighThresholdOnClientObjects : HighThresholdOnEvents : 20000000 InstallationDirectory : C:\Windows\system32\wbem LastStartupHeapPreallocation : LoggingDirectory : C:\Windows\system32\wbem\Logs\ LoggingLevel : 2 LowThresholdOnClientObjects : LowThresholdOnEvents : 10000000 MaxLogFileSize : 65536 MaxWaitOnClientObjects : MaxWaitOnEvents : 2000 MofSelfInstallDirectory :

SettingID

Descripcin ----------Este comando establece el nivel de registro de WMI en 2. El comando pasa la propiedad que se debe establecer y el valor (considerados juntos como un par de valor) en el parmetro de argumento. El parmetro toma una tabla hash que est definida por la construccin @{property = value}. La informa cin de clase que se devuelve refleja el nuevo valor.

-------------------------- EJEMPLO 2 -------------------------C:\PS>set-wmiinstance -class win32_environment -argument @{Name="testvar";VariableValue="testvalue";UserName="<SYSTEM>"} __GENUS : 2 __CLASS : Win32_Environment __SUPERCLASS : CIM_SystemResource __DYNASTY : CIM_ManagedSystemElement __RELPATH : Win32_Environment.Name="testvar",UserName="<SYSTEM>" __PROPERTY_COUNT : 8 __DERIVATION : {CIM_SystemResource, CIM_LogicalElement, CIM_ManagedSystemElement} __SERVER : SYSTEM01 __NAMESPACE : root\cimv2 __PATH : \\SYSTEM01\root\cimv2:Win32_Environment.Name="testvar",UserName="<SYSTEM>" Caption : <SYSTEM>\testvar Description : <SYSTEM>\testvar InstallDate : Name : testvar Status : OK SystemVariable : True UserName : <SYSTEM> VariableValue : testvalue Descripcin ----------Este comando crea la variable de entorno testvar que tiene el valor "testvalue". Para ello crea una nueva instancia de la clase Win32_Environment WMI. Observe que esta operacin requiere credenciales apropiadas y que puede ser necesario reiniciar Windows PowerShell para ver la nueva variable de entorno.

-------------------------- EJEMPLO 3 -------------------------C:\PS>Set-WMIInstance -class Win32_WMISetting -argument @{LoggingLevel=2} -computername system01, system02, system03 __GENUS __CLASS __SUPERCLASS __DYNASTY __RELPATH : : : : : 2 Win32_WMISetting CIM_Setting CIM_Setting Win32_WMISetting=@

__PROPERTY_COUNT : 27 __DERIVATION : {CIM_Setting} __SERVER : SYSTEM01 __NAMESPACE : root\cimv2 __PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@ ASPScriptDefaultNamespace : \\root\cimv2 ASPScriptEnabled : False AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...} AutoStartWin9X : BackupInterval : BackupLastTime : BuildVersion : 6001.18000 Caption : DatabaseDirectory : C:\Windows\system32\wbem\repository DatabaseMaxSize : Description : EnableAnonWin9xConnections : EnableEvents : False EnableStartupHeapPreallocation : False HighThresholdOnClientObjects : HighThresholdOnEvents : 20000000 InstallationDirectory : C:\Windows\system32\wbem LastStartupHeapPreallocation : LoggingDirectory : C:\Windows\system32\wbem\Logs\ LoggingLevel : 2 LowThresholdOnClientObjects : LowThresholdOnEvents : 10000000 MaxLogFileSize : 65536 MaxWaitOnClientObjects : MaxWaitOnEvents : 2000 MofSelfInstallDirectory : SettingID : ... Descripcin ----------Este comando establece el nivel de registro de WMI en 2. El comando pasa la propiedad que se debe establecer y el valor (considerados juntos como un par de valor) en el parmetro de argumento. El parmetro toma una tabla hash que est definida por la construccin @{property = value}. La informa cin de clase devuelta refleja el nuevo valor.

NOTAS Para ver los ejemplos, escriba: "get-help Set-WmiInstance -examples". Para obtener ms informacin, escriba: "get-help Set-WmiInstance detailed". Para obtener informacin tcnica, escriba: "get-help Set-WmiInstance full". NOMBRE Get-Transaction SINOPSIS

Obtiene la transaccin actual (activa). SINTAXIS Get-Transaction [<CommonParameters>] DESCRIPCIN El cmdlet Get-Transaction obtiene un objeto que representa la transaccin actual de la sesin. Este cmdlet nunca devuelve ms de un objeto, porque solamente hay una transaccin activa a la vez. Si inicia una o ms transacciones independientes (utilizando el parmetro Independent de Start-Transaction), la ltima transaccin iniciada estar activa y esa es la transaccin que Get-Transactio n devuelve. Cuando todas las transacciones activas se han revertido o confirmado, Get-Transaction muestra la ltima transaccin activa en la sesin. El cmdlet Get-Transaction es uno de un conjunto de cmdlets que admiten la caracterstica de transacciones en Windows PowerShell. Para obtener ms informacin, vea about_Transactions. PARMETROS <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>start-transaction C:\PS> get-transaction RollbackPreference -----------------Error SubscriberCount --------------1 Status -----Active

Descripcin ----------Este comando utiliza el cmdlet Get-Transaction para obtener la transaccin actual.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-transaction | get-member Name MemberType ------------Dispose Method Dispose(Boolean disposing) Equals Method GetHashCode Method Definition ---------System.Void Dispose(), System.Void System.Boolean Equals(Object obj) System.Int32 GetHashCode()

GetType Method System.Type GetType() ToString Method System.String ToString() IsCommitted Property System.Boolean IsCommitted {get;} IsRolledBack Property System.Boolean IsRolledBack {get;} RollbackPreference Property System.Management.Automation.RollbackSeverity RollbackPreference {get;} SubscriberCount Property System.Int32 SubscriberCount {get;set;} Descripcin ----------Este comando utiliza el cmdlet Get-Member para mostrar las propiedades y mtodos del objeto de transaccin.

-------------------------- EJEMPLO 3 -------------------------C:\PS>cd hklm:\software HKLM:\SOFTWARE> Start-Transaction HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction HKLM:\SOFTWARE> Undo-Transaction HKLM:\SOFTWARE> Get-Transaction RollbackPreference -----------------Error SubscriberCount --------------0 Status ---------RolledBack

Descripcin ----------Este comando muestra los valores de propiedad de un objeto de transaccin para una transaccin que se ha revertido.

-------------------------- EJEMPLO 4 -------------------------C:\PS>cd hklm:\software HKLM:\SOFTWARE> Start-Transaction HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction HKLM:\SOFTWARE> Complete-Transaction HKLM:\SOFTWARE> Get-Transaction RollbackPreference -----------------Error SubscriberCount --------------1 Status --------Committed

Descripcin ----------Este comando muestra los valores de propiedad de un objeto de transaccin para una transaccin que se ha confirmado.

-------------------------- EJEMPLO 5 -------------------------C:\PS>cd hklm:\software HKLM:\SOFTWARE> Start-Transaction HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction

HKLM:\SOFTWARE> Start-Transaction HKLM:\SOFTWARE> New-Item MyCompany2 -UseTransaction HKLM:\SOFTWARE> Get-Transaction RollbackPreference -----------------Error SubscriberCount --------------2 Status -----Active

HKLM:\SOFTWARE> Complete-Transaction HKLM:\SOFTWARE> Get-Transaction RollbackPreference -----------------Error SubscriberCount --------------1 Status -----Active

HKLM:\SOFTWARE> Complete-Transaction HKLM:\SOFTWARE> Get-Transaction RollbackPreference -----------------Error SubscriberCount --------------1 Status --------Committed

Descripcin ----------En este ejemplo se muestra el efecto en el objeto de transaccin de iniciar una transaccin mientras otra est en curso. Normalmente, esto sucede cuando un script que ejecuta una transaccin incluye una funcin o llama a un script que contiene otra transaccin completa. A menos que el segundo comando Start-Transaction incluya el parmetro Independent, Start-Transaction no crea una nueva transaccin. En su lugar, agrega un segundo suscriptor a la transaccin original. El primer comando Start-Transaction inicia la transaccin. Un comando New-Item con el parmetro UseTransaction forma parte de la transaccin. Un segundo comando Start-Transaction agrega un suscriptor a la transaccin. El siguiente comando New-Item tambin forma parte de la transaccin. El primer comando Get-Transaction muestra la transaccin con varios suscriptores. Observe que el recuento de suscriptores es 2. El primer comando Complete-Transaction no confirma la transaccin, pero reduce el recuento de suscriptores a 1. El segundo comando Complete-Transaction confirma la transaccin.

-------------------------- EJEMPLO 6 -------------------------C:\PS>HKLM:\SOFTWARE> Start-Transaction HKLM:\SOFTWARE> Get-Transaction RollbackPreference SubscriberCount IsRolledBack IsCommitted

-----------------Error

--------------1

-----------False

----------False

HKLM:\SOFTWARE> Start-Transaction -Independent HKLM:\SOFTWARE> Get-Transaction RollbackPreference -----------------Error SubscriberCount --------------1 IsRolledBack -----------False IsCommitted ----------False

HKLM:\SOFTWARE> Complete-Transaction HKLM:\SOFTWARE> Get-Transaction HKLM:\SOFTWARE> Complete-Transaction HKLM:\SOFTWARE> Get-Transaction Descripcin ----------En este ejemplo se muestra el efecto en el objeto de transaccin de iniciar una transaccin independiente mientras otra est en curso. El primer comando Start-Transaction inicia la transaccin. Un comando New-Item con el parmetro UseTransaction forma parte de la transaccin. Un segundo comando Start-Transaction agrega un suscriptor a la transaccin. El siguiente comando New-Item tambin forma parte de la transaccin. El primer comando Get-Transaction muestra la transaccin con varios suscriptores. Observe que el recuento de suscriptores es 2. El comando Complete-Transaction reduce el recuento de suscriptores a 1, pero no confirma la transaccin. El segundo comando Complete-Transaction confirma la transaccin.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Transaction -examples". Para obtener ms informacin, escriba: "get-help Get-Transaction detailed". Para obtener informacin tcnica, escriba: "get-help Get-Transaction full". NOMBRE Start-Transaction SINOPSIS Inicia una transaccin. SINTAXIS Start-Transaction [-Independent] [-RollbackPreference {Error | TerminatingError | Never}] [-Timeout <int>] [-Confirm] [-WhatIf] [<CommonParameters>] DESCRIPCIN

El cmdlet Start-Transaction inicia una transaccin, que es una serie de comandos que se administran como una unidad. Una transaccin se puede completar ("confirmar") o se puede deshacer ("revertir") totalmente, para que los datos cambiados por la transaccin se restauren a su estado original. D ado que los comandos de una transaccin se administran como una unidad, o todos se confirman o todos se revierten. De forma predeterminada, las transacciones se revierten automticamente si cualquier comando de la transaccin genera un error, pero se puede utilizar el parmetro RollbackPreference para cambiar este comportamiento. Los cmdlets utilizados en una transaccin deben disearse para admitir transacciones. Los cmdlets que admiten transacciones tienen un parmetro UseTransaction. Para realizar transacciones en un proveedor, el proveedor debe admitir transacciones. El proveedor Registry de Windows PowerShell en Wi ndows Vista y versiones posteriores de Windows admite transacciones. Tambin se puede utilizar la clase Microsoft.PowerShell.Commands.Management.TransactedString para incluir expresiones en transacciones en cualquier versin de Windows que admita Windows PowerShell. Otros proveedores de Windows PowerShell tambin pueden admitir transacciones. Solo puede haber una transaccin activa a la vez. Si se transaccin independiente mientras otra transaccin est en completada ni revertida), la nueva transaccin se convierte transaccin activa, y dicha transaccin se debe confirmar o de realizar cambios en la transaccin original. inicia una nueva curso (ni en la revertir antes

El cmdlet Start-Transaction es uno de un conjunto de cmdlets que admiten la caracterstica de transacciones en Windows PowerShell. Para obtener ms informacin, vea about_Transactions. PARMETROS -Independent [<SwitchParameter>] Inicia una transaccin que es independiente de las transacciones en curso. De forma predeterminada, si se utiliza Start-Transaction mientras otra transaccin est en curso, se agrega un nuevo suscriptor a la transaccin en curso. Este parmetro slo tiene un efecto cuando una transaccin ya est en curso en la sesin. De forma predeterminada, si se utiliza Start-Transaction mientras una transaccin est en curso, el objeto de transaccin existente se reutiliza y el recuento de suscriptores se incrementa. El efecto es muy parecido a unir la transaccin original. Un comando Undo-Transaction revierte toda l a transaccin. Para completar la transaccin, se debe escribir un comando Complete-Transaction para cada suscriptor. Dado que la mayor parte de las transacciones que estn en curso simultneamente estn relacionadas, el valor predeterminado es suficiente para la mayora de los usos. Si se utiliza el parmetro Independent, se crea una nueva transaccin que se puede completar o revertir sin afectar a la transaccin original. Sin embargo, como solo una transaccin puede estar activa a la vez, la nueva transaccin se debe completar o revertir antes de reanudar el trabajo e n la transaccin original.

-RollbackPreference <RollbackSeverity> Especifica las condiciones bajo las cuales una transaccin se revierte automticamente. El valor predeterminado es "Error". Los valores vlidos son: -- Error: la transaccin se revierte automticamente si se produce un error de terminacin o de no terminacin. "Error" es el valor predeterminado. -- TerminatingError: la transaccin se revierte automticamente si se produce un error que provoca fin. -- Never: la transaccin nunca se revierte automticamente. -Timeout <int> Especifica el perodo de tiempo mximo, en minutos, que la transaccin est activa. Cuando el tiempo de espera expira, la transaccin se revierte automticamente. De forma predeterminada, no hay tiempo de espera para las transacciones que se inician en la lnea de comandos. Cuando las transacciones se inician mediante un script, el tiempo de espera predeterminado es 30 minutos. -Confirm [<SwitchParameter>] Solicita confirmacin antes de ejecutar el comando. -WhatIf [<SwitchParameter>] Describe lo que ocurrira si se ejecutara el comando sin ejecutarlo realmente. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>cd hkcu:\software PS HKCU:\software> start-transaction PS HKCU:\software> new-item MyCompany -UseTransaction PS HKCU:\software> new-itemproperty MyCompany -name MyKey -value 123 UseTransaction PS HKCU:\software> undo-transaction Descripcin ----------Estos comandos inician una transaccin y, a continuacin, la revierten. Dado que la transaccin se revierte, no se producen cambios en el Registro.

-------------------------- EJEMPLO 2 -------------------------C:\PS>cd hkcu:\software

PS HKCU:\software> start-transaction PS HKCU:\software> new-item MyCompany -UseTransaction PS HKCU:\software> new-itemproperty MyCompany -name MyKey -value 123 UseTransaction PS HKCU:\software> complete-transaction Descripcin ----------Estos comandos inician una transaccin y, a continuacin, la completan. No se producirn cambios en el Registro hasta que se utilice el comando Complete-Transaction.

-------------------------- EJEMPLO 3 -------------------------C:\PS>cd HKCU:\software PS HKCU:\software> start-transaction PS HKCU:\software> new-item -path NoPath -name MyCompany -UseTransaction PS HKCU:\software> new-item -path . -name MyCompany -UseTransaction PS HKCU:\software> start-transaction -RollbackPreference never PS HKCU:\software> new-item -path NoPath -name MyCompany -UseTransaction PS HKCU:\software> new-item -path . -name MyCompany -UseTransaction # Start-Transaction (-rollbackpreference error) PS HKCU:\software> start-transaction PS HKCU:\software> new-item -path NoPath -Name MyCompany -UseTransaction New-Item : The registry key at the specified path does not exist. At line:1 char:9 + new-item <<<< -path NoPath -Name MyCompany -UseTransaction PS HKCU:\software> new-item -path . -name MyCompany -UseTransaction New-Item : Cannot use transaction. The transaction has been rolled back or has timed out. At line:1 char:9 + new-item <<<< -path . -name MyCompany -UseTransaction

# Start-Transaction (-rollbackpreference never) PS HKCU:\software> start-transaction -RollbackPreference never PS HKCU:\software> new-item -path NoPath -name MyCompany -UseTransaction New-Item : The registry key at the specified path does not exist. At line:1 char:9 + new-item <<<< -path NoPath -name MyCompany -UseTransaction PS HKCU:\software> new-item -path . -name MyCompany -UseTransaction Hive: HKEY_CURRENT_USER\Software SKC --0 VC Name -- ---0 MyCompany Property -------{}

PS HKCU:\Software> complete-transaction # Succeeds Descripcin ----------En este ejemplo se muestra el efecto de cambiar el valor del parmetro RollbackPreference. En el primer conjunto de comandos, el comando Start-Transaction no utiliza el parmetro RollbackPreference. Como consecuencia, se usa el valor predeterminado ("Error"). Cuando se produce un error en un comando de transaccin (la ruta de acceso especificada no existe), la transaccin se revierte automticamente. En el segundo conjunto de comandos, el comando Start-Transaction utiliza el parmetro RollbackPreference con el valor "Never". Como consecuencia, si se produce un error en un comando de transaccin, esta seguir estando activa y se podr completar correctamente. Dado que la mayora de las transacciones se deben realizar sin error, se suele preferir el valor predeterminado del parmetro RollbackPreference.

-------------------------- EJEMPLO 4 -------------------------C:\PS>cd HKCU:\software PS HKCU:\software> start-transaction PS HKCU:\software> new-item MyCompany -UseTransaction PS HKCU:\software> start-transaction PS HKCU:\software> get-transaction PS HKCU:\software> new-item MyCompany2 -UseTransaction PS HKCU:\software> complete-transaction PS HKCU:\software> complete-transaction PS HKCU:\Software> Get-Transaction RollbackPreference -----------------Error SubscriberCount --------------2 Status -----Active

Descripcin ----------En este ejemplo se muestra el efecto de utilizar el comando StartTransaction mientras una transaccin est en curso. El efecto es muy parecido a unir la transaccin en curso. Aunque se trata de un comando simplificado, este escenario suele presentarse cuando la transaccin implica la ejecucin de un script que incluye una transaccin completa. El primer comando Start-Transaction inicia la transaccin. El primer comando New-Item forma parte de la transaccin. El segundo comando Start-Transaction agrega un nuevo suscriptor a la transaccin. El comando Get-Transaction devuelve ahora una transaccin con

un recuento de suscriptores de 2. El segundo comando New-Item forma parte de la misma transaccin. No se producirn cambios en el Registro hasta que se complete la transaccin. Para completar la transaccin, se deben escribir dos comandos Complete-Transaction, uno para cada suscriptor. Si se revirtiera la transaccin en cualquier punto, la transaccin completa se revertira para ambos suscri ptores.

-------------------------- EJEMPLO 5 -------------------------C:\PS>cd HKCU:\software PS HKCU:\software> start-transaction PS HKCU:\software> new-item MyCompany -UseTransaction PS HKCU:\software> start-transaction -independent PS HKCU:\software> get-transaction PS HKCU:\software> undo-transaction PS HKCU:\software> new-itemproperty -path MyCompany -name MyKey -value 123 -UseTransaction PS HKCU:\software> complete-transaction PS HKCU:\software> dir my* PS HKCU:\Software> get-transaction RollbackPreference -----------------Error SubscriberCount --------------1 Status -----Active

PS HKCU:\software> undo-transaction PS HKCU:\software> new-itemproperty -path MyCompany -name MyKey -value 123 -UseTransaction MyKey ----123 PS HKCU:\software> complete-transaction PS HKCU:\software> dir my* Hive: HKEY_CURRENT_USER\Software SKC --0 VC Name -- ---1 MyCompany Property -------{MyKey}

Descripcin ----------En este ejemplo se muestra el efecto de utilizar el parmetro Independent de Start-Transaction para iniciar una transaccin mientras otra transaccin est en curso. En este caso, la nueva transaccin se revierte sin afectar a la transaccin original. Aunque las transacciones son independientes de forma lgica, porque solo una transaccin puede estar activa a la vez, se debe revertir o confirmar la

transaccin ms reciente antes de reanudar el trabajo en la transaccin original. El primer conjunto de comandos inicia una transaccin. El comando NewItem forma parte de la primera transaccin. En el segundo conjunto de comandos, el comando Start-Transaction utiliza el parmetro Independent. El comando Get-Transaction que sigue muestra el objeto de transaccin para la transaccin activa (la ms reciente). El recuento de suscriptores es igual a 1, lo que significa que las transacciones no estn relacionadas. Cuando la transaccin activa se revierte utilizando un comando UndoTransaction, la transaccin original vuelve a estar activa. El comando New-ItemProperty, que forma parte de la transaccin original, se completa sin error y la transaccin original se puede completar utilizando el comando Complete-Transaction. Como consecuencia, el Registro se cambia.

-------------------------- EJEMPLO 6 -------------------------C:\PS>cd hkcu:\software PS PS PS PS HKCU:\software> HKCU:\software> HKCU:\software> HKCU:\software> start-transaction new-item MyCompany1 -UseTransaction new-item MyCompany2 new-item MyCompany3 -UseTransaction

PS HKCU:\software> dir my* PS HKCU:\software> complete-transaction PS HKCU:\software> dir my* PS HKCU:\Software> dir my* Hive: HKEY_CURRENT_USER\Software SKC --0 VC Name -- ---0 MyCompany2 Property -------{}

PS HKCU:\Software> complete-transaction PS HKCU:\Software> dir my* Hive: HKEY_CURRENT_USER\Software SKC --0 0 0 VC -0 0 0 Name ---MyCompany1 MyCompany2 MyCompany3 Property -------{} {} {}

Descripcin -----------

En este ejemplo se muestra que los comandos que se envan mientras una transaccin est en curso pueden incluirse o no en la transaccin. Solo los comandos que utilizan el parmetro UseTransaction forman parte de la transaccin. Los comandos New-Item primero y tercero utilizan el parmetro UseTransaction. Estos comandos forman parte de la transaccin. Dado que el segundo comando New-Item no utiliza el parmetro UseTransaction, no forma parte de la transaccin. El primer comando "dir" muestra el efecto. El segundo comando New-Item se completa inmediatamente, pero los comandos New-Item no surten efecto hasta que la transaccin se confirma. El comando Complete-Transaction confirma la transaccin. Como consecuencia, el segundo comando "dir" muestra que todos los elementos nuevos se agregan al Registro.

-------------------------- EJEMPLO 7 -------------------------C:\PS>start-transaction -timeout 2 # Wait two minutes... C:\PS> get-transaction C:\PS> new-item HKCU:\Software\MyCompany -UseTransaction C:\PS> start-transaction -timeout 2 # Wait two minutes... C:\PS>> get-transaction RollbackPreference -----------------Error SubscriberCount --------------1 Status ----------RolledBack

C:\PS> new-item HKCU:\Software\MyCompany -UseTransaction New-Item : Cannot use transaction. The transaction has been rolled back or has timed out. At line:1 char:9 + new-item <<<< MyCompany -UseTransaction Descripcin ----------Este comando utiliza el parmetro Timeout de Start-Transaction para iniciar una transaccin que debe completarse en dos minutos. Si la transaccin no se completa al expirar el tiempo de espera, se revierte automticamente. Cuando el tiempo de espera expira, no se recibe una notificacin, pero la propiedad Status del objeto de transaccin se establece en RolledBack y se produce un error al ejecutar los comandos que usan el parmetro UseTransaction.

NOTAS Para ver los ejemplos, escriba: "get-help Start-Transaction -examples". Para obtener ms informacin, escriba: "get-help Start-Transaction detailed". Para obtener informacin tcnica, escriba: "get-help Start-Transaction full". NOMBRE Get-Acl SINOPSIS Obtiene el descriptor de seguridad de un recurso, como un archivo o una clave del Registro. SINTAXIS Get-Acl [[-Path] <string[]>] [-Audit] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-UseTransaction] [<CommonParameters>] DESCRIPCIN El cmdlet Get-Acl obtiene objetos que representan el descriptor de seguridad de un archivo o recurso. Este descriptor de seguridad contiene las listas de control de acceso (ACL) del recurso. La lista ACL indica los permisos que tienen los usuarios y los grupos de usuarios para obtener acceso al recurso. PARMETROS -Audit [<SwitchParameter>] Obtiene los datos de auditora correspondientes al descriptor de seguridad de la lista de control de acceso del sistema (SACL). -Exclude <string[]> Omite los elementos especificados. El valor de este parmetro califica el parmetro Path. Escriba un patrn o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodn. -Filter <string> Especifica un filtro en el formato o lenguaje del proveedor. El valor de este parmetro califica el parmetro Path. La sintaxis del filtro, incluido el uso de caracteres comodn, depende del proveedor. Los filtros son ms eficaces que otros parmetros, ya que el proveedor los aplica al recu perar los objetos en lugar de hacer que Windows PowerShell filtre los objetos despus de recuperarlos. -Include <string[]> Recupera nicamente los elementos especificados. El valor de este parmetro califica el parmetro Path. Escriba un patrn o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodn. -Path <string[]> Especifica la ruta de acceso a un recurso. Get-Acl obtiene el descriptor de seguridad del recurso indicado por la ruta de acceso. Se permite el uso de caracteres comodn. Si omite el parmetro Path, Get-Acl obtendr el descriptor de seguridad del directorio actual.

El nombre del parmetro ("Path") es opcional. -UseTransaction [<SwitchParameter>] Incluye el comando en la transaccin activa. Este parmetro solo es vlido cuando hay una transaccin en curso. Para obtener ms informacin, vea about_Transactions. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-acl C:\windows Descripcin ----------Este comando obtiene el descriptor de seguridad del directorio C:\Windows.

-------------------------- EJEMPLO 2 -------------------------C:\PS>get-acl C:\Windows\k*.log | format-list -property PSPath, Sddl Descripcin ----------Este comando obtiene la ruta de acceso de Windows PowerShell y el SDDL correspondientes a todos los archivos .log del directorio C:\Windows cuyo nombre empieza por "k". El comando usa Get-Acl para obtener los objetos que representan el descriptor de seguridad de cada archivo de registro. Utiliza un operador de canalizacin (|) para enviar los resultados al cmdlet Format-List. El comando usa el parmetro Property de Format-List para mostrar solamente las propie dades PsPath y SDDL de cada objeto de descriptor de seguridad. En Windows PowerShell se usan listas con frecuencia, ya que los valores largos aparecen truncados en tablas. Los valores de SDDL son valiosos para los administradores de sistemas, porque son cadenas de texto simples que contienen toda la informacin del descriptor de seguridad. Como tales, son fciles de pasar y almacenar, y tambin se pueden analizar cuando sea necesario.

-------------------------- EJEMPLO 3 -------------------------C:\PS>get-ACL c:/windows/k*.log -Audit | foreach-object { $_.Audit.Count } Descripcin -----------

Este comando obtiene los descriptores de seguridad de los archivos .log del directorio C:\Windows cuyos nombres comienzan con "k". El parmetro Audit se utiliza para recuperar los registros de auditora de la lista SACL del descriptor de seguridad. A continuacin, usa el parmetro For-EachObjec t para contar el nmero de registros de auditora asociados a cada archivo. El resultado es una lista de nmeros que representan el nmero de registros de auditora de cada archivo de registro.

-------------------------- EJEMPLO 4 -------------------------C:\PS>get-acl -path hklm:\system\currentcontrolset\control | format-list Descripcin ----------Este comando usa Get-Acl para obtener el descriptor de seguridad de la subclave Control (HKLM\SYSTEM\CurrentControlSet\Control) del Registro. El parmetro Path especifica la subclave Control. El operador de canalizacin (|) pasa el descriptor de seguridad que Get-Acl recupera al comando Format-List, que aplica formato de lista a las propiedades del descriptor de seguridad para facilitar su lectura.

NOTAS Para ver los ejemplos, escriba: "get-help Get-Acl -examples". Para obtener ms informacin, escriba: "get-help Get-Acl -detailed". Para obtener informacin tcnica, escriba: "get-help Get-Acl -full". NOMBRE Get-TroubleshootingPack SINOPSIS Obtiene informacin sobre un paquete de solucin de problemas y puede generar un archivo de respuestas. SINTAXIS Get-TroubleshootingPack [-answer <string>] [-path] <string> [<CommonParameters>] DESCRIPCIN El cmdlet Get-TroubleshootingPack obtiene informacin sobre un paquete de solucin de problemas, que incluye el nombre del editor del paquete de solucin de problemas, la versin del paquete, una lista de causas principales, el conjunto de resoluciones que se pueden ejecutar y la lista de pregu ntas que el paquete de solucin de problemas puede plantear durante su ejecucin. El cmdlet tambin puede generar un archivo de respuestas que contenga las respuestas al conjunto de preguntas que el paquete de solucin de problemas puede plantear durante su ejecucin.

Un paquete de solucin de problemas se utiliza para solucionar problemas y resolver problemas de software. Para obtener ms informacin, consulte la documentacin de MSDN pertinente. PARMETROS -answer <string> Indica a Get-TroubleshootingPack que genere un archivo de respuestas que se encuentra en la ubicacin especificada. Debe escribirse una ruta de acceso absoluta, relativa o UNC y un nombre de archivo con la extensin xml. Si se omite la ruta de acceso, el archivo de respuestas se generar en el directorio de trabajo actual. Si se omite este parmetro, GetTroubleshootingPack no genera ningn archivo de respuestas. Si se utiliza el parmetro Answer, Get-TroubleshootingPack solicita una respuesta a cada pregunta que se especifica en el paquete de solucin de problemas y escribe la respuesta que se le proporciona en el archivo de respuestas que se encuentra en la ubicacin especificada. El archivo de respuestas contiene las respuestas a las preguntas que puede plantear un paquete de solucin de problemas. Puede canalizar el archivo de respuestas al cmdlet Invoke-TroubleshootingPack a fin de habilitar la ejecucin desatendida del paquete de solucin de problemas. -path <string> Especifica la ruta de acceso absoluta, relativa o UNC del paquete de solucin de problemas. Este parmetro es obligatorio. Se puede escribir una ruta de acceso o canalizar una ruta de acceso a Get-TroubleshootingPack. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-troubleshootingpack -path C:\Windows\Diagnostics\System\Aero Este comando obtiene informacin sobre el paquete de solucin de problemas que se encuentra en la ubicacin especificada.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$aero = get-troubleshootingpack C:\Windows\Diagnostics\System\Aero $aero.Rootcauses[2] En este ejemplo se muestra cmo llegar a una causa principal concreta de la propiedad RootCauses, que contiene una lista (una matriz) de causas principales. El primer comando obtiene informacin sobre el paquete de solucin de problemas que se encuentra en la ubicacin especificada y la almacena en la variable $aero. El segundo comando utiliza la notacin de matriz para obtener la tercera causa principal del paquete.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$aero = get-troubleshootingpack C:\Windows\Diagnostics\System\Aero -answer AeroAnswerFile.xml En este ejemplo se muestra cmo utilizar Get-TroubleshootingPack a fin de generar un archivo de respuestas para un paquete de solucin de problemas. Este comando obtiene informacin sobre el paquete de solucin de problemas que se encuentra en la ubicacin especificada y almacena esta informacin en la variable $aero. Tambin genera un archivo de respuestas solicitando una respuesta para cada interaccin definida en el paquete de solucin d e problemas.

-------------------------- EJEMPLO 4 -------------------------C:\PS>$aero = get-troubleshootingpack C:\Windows\Diagnostics\System\Aero $aero.Rootcauses[2].Resolution[0] En este ejemplo se muestra cmo obtener una resolucin concreta para una causa principal concreta. El primer comando obtiene informacin sobre el paquete de solucin de problemas que se encuentra en la ubicacin especificada y la almacena en la variable $aero. El segundo comando utiliza la notacin de matriz para obtener la primera resolucin de la tercera causa principal del paquete.

NOTAS Para ver los ejemplos, escriba: "get-help Get-TroubleshootingPack examples". Para obtener ms informacin, escriba: "get-help Get-TroubleshootingPack -detailed". Para obtener informacin tcnica, escriba: "get-help GetTroubleshootingPack -full". NOMBRE Invoke-TroubleshootingPack SINOPSIS Ejecuta un paquete de solucin de problemas en modo interactivo o desatendido para corregir un problema y, a continuacin, genera un informe de resultados. SINTAXIS Invoke-TroubleshootingPack [-answer <string>] [-result <string>] [unattend] [-pack] <Diagpack> [<CommonParameters>] DESCRIPCIN

El cmdlet Invoke-TroubleshootingPack ejecuta un paquete de solucin de problemas mediante el objeto que se obtiene con el cmdlet GetTroubleshootingPack. Este cmdlet se puede ejecutar en dos modos: interactivo y desatendido -- En modo interactivo, las preguntas se muestran en la consola y el usuario puede ejecutar las resoluciones selectivamente. -- En modo desatendido, Invoke-TroubleshootingPack se ejecuta en segundo plano y, si detecta una causa principal, ejecuta las resoluciones correspondientes en un orden predeterminado. Si un paquete de solucin de problemas que se est ejecutando en modo desatendido necesita respuestas a las preguntas para ejecutarse, puede obtener las respuestas del archivo de respuestas asociado al paquete de solucin de problemas. Se puede generar un archivo de respuestas para un paquete d e solucin de problemas mediante el cmdlet Get-TroubleshootingPack. Invoke-TroubleshootingPack puede generar un informe de resultados y un informe de depuracin que contienen informacin sobre la solucin de problemas ejecutada, como qu causas principales se han encontrado. El informe de depuracin tambin puede contener las excepciones que se hayan iniciado d urante una ejecucin del paquete de solucin de problemas. Adems, durante su ejecucin, un paquete de solucin de problemas puede agregar a la carpeta de informes archivos adicionales, como registros de eventos. Para indicar a Invoke-TroubleshootingPack que genere un informe de resultados y un informe de depuracin, debe utilizarse el parmetro Result a fin de especificar la ruta de acceso donde se generarn esos informes y se agregarn los archivos adicionales. PARMETROS -answer <string> Indica a Invoke-TroubleshootingPack que busque en el archivo de respuestas especificado las respuestas a las preguntas. Debe escribirse la ruta absoluta, relativa o UNC al archivo XML de respuestas correspondiente al paquete de solucin de problemas. Un archivo de respuestas contiene las respuestas a las preguntas que un paquete de solucin de problemas puede plantear durante su ejecucin. Para crear un archivo de respuestas, utilice el cmdlet GetTroubleshootingPack. -pack <Diagpack> Especifica el paquete de solucin de problemas que se ejecutar. Debe escribirse una variable que contenga el objeto de paquete de solucin de problemas. Para obtener el objeto de paquete de solucin de problemas, debe utilizarse el comando Get-TroubleshootingPack. No se puede enviar una ruta de acceso como valor para el parmetro Pack. -result <string> Indica a Invoke-TroubleshootingPack que genere el informe de resultados y el informe de depuracin. Debe escribirse una ruta de acceso absoluta, relativa o UNC sin el nombre de archivo. Si no se especifica este

parmetro, el informe de resultados y el informe de depuracin no se generan. -unattend [<switchparameter>] Invoke-TroubleshootingPack en modo desatendido. De forma predeterminada, se ejecuta de manera interactiva. <CommonParameters> Este cmdlet admite los parmetros comunes Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer y OutVariable. Para obtener ms informacin, escriba: "get-help about_commonparameters". -------------------------- EJEMPLO 1 -------------------------C:\PS>get-troubleshootingpack -path C:\Windows\Diagnostics\System\Aero | invoke-troubleshootingpack Este comando obtiene un paquete de solucin de problemas mediante el comando Get-TroubleshootingPack y se lo pasa a Invoke-TroubleshootingPack para ejecutarlo. Utiliza un operador de canalizacin (|) para enviar el paquete de solucin de problemas al cmdlet Invoke-TroubleshootingPack, que lo ej ecuta. Dado que Invoke-TroubleshootingPack se ejecuta sin parmetros, utiliza todos los valores predeterminados. Se ejecuta de manera interactiva, no utiliza archivo de respuestas y tampoco crea ningn informe de resultados o de depuracin.

-------------------------- EJEMPLO 2 -------------------------C:\PS>$aero = get-troubleshootingpack C:\Windows\Diagnostics\System\Aero invoke-troubleshootingpack -pack $aero -result C:\DiagResult Este comando utiliza el cmdlet Invoke-TroubleshootingPack para ejecutar un paquete de solucin de problemas y generar un informe de resultados y un informe de depuracin. El primer comando utiliza el cmdlet Get-TroubleshootingPack para obtener un objeto que representa el paquete de solucin de problemas que se encuentra en la ubicacin especificada. Almacena el objeto en la variable $aero. El segundo comando utiliza el cmdlet Invoke-TroubleshootingPack para ejecutar el paquete de solucin de problemas. El comando InvokeTroubleshootingPack utiliza el parmetro Pack para especificar el paquete de solucin de problemas en la variable $aero y el parmetro Result para especificar la ubicacin del informe de resultados y el informe de depuracin.

-------------------------- EJEMPLO 3 -------------------------C:\PS>$aero = get-troubleshootingpack C:\Windows\Diagnostics\System\Aero -answer AeroAnswerFile.xml

invoke-troubleshootingpack -pack $aero -answer AeroAnswerFile.xml unattend Este comando ejecuta un paquete de solucin de problemas en modo desatendido con un archivo de respuestas. El primer comando utiliza el cmdlet Get-TroubleshootingPack para obtener un objeto que representa el paquete de solucin de problemas que se encuentra en la ubicacin especificada. Almacena el objeto en la variable $aero. El comando utiliza el parmetro Answer del cmdlet GetTroubleshootingPack para generar un archivo de respuestas. El segundo comando utiliza el cmdlet Invoke-TroubleshootingPack para ejecutar el paquete de solucin de problemas en modo desatendido. El comando utiliza el parmetro Answer de Invoke-TroubleshootingPack para indicar al cmdlet que obtenga las respuestas a las preguntas desde el archivo de respu estas.

NOTAS Para ver los ejemplos, escriba: "get-help Invoke-TroubleshootingPack examples". Para obtener ms informacin, escriba: "get-help InvokeTroubleshootingPack -detailed". Para obtener informacin tcnica, escriba: "get-help InvokeTroubleshootingPack -full". Category : Provider Component : Role : Functionality : PSSnapIn : Microsoft.WSMan.Management CmdletHelpPaths : @{CmdletHelpPath=System.Management.Automation.PSObject[]} DynamicParameters : @{DynamicParameter=System.Management.Automation.PSObject[]} Synopsis : Proporciona acceso a la informacin de configuracin de Web Services for Management (WS-Management). DetailedDescription : {@{Text=El proveedor de WS-Management para Windows PowerShell permite agregar, cambiar, borrar y eliminar los datos de configuracin de WS-Management en equipos locales y remotos. El proveedor de WS-Management expone una unidad de Windows PowerShell con una estructura de directorios que corresponde a una agrupacin lgica de los valores de configuracin de WS-Management. Estas agrupaciones se denominan contenedores. -- Client Puede configurar varios aspectos del cliente de WSManagement. La informacin de configuracin se almacena en el Registro. -- Service Puede configurar varios aspectos del servicio