código: hol-win53 microsoft windows server 2008 r2 powershell

69
Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Upload: trinidad-aro

Post on 23-Jan-2016

228 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Código: HOL-WIN53

Microsoft Windows Server 2008 R2

PowerShell

Page 2: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Agenda

►PowerShell

►Cmdlets

►Unidades

►Scripting

►Objetos

►Gestión aplicaciones y objetos

►Tareas de administración

Page 3: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

¿Windows PowerShell?

►Es un entorno de línea de comandos

►Acepta comandos de la línea de comandos estándar

►Permite acceder al sistema de archivos, al registro y al almacén de certificados

►Permite la ejecución de Script

►Incluso se pueden lanzar los Script desde la línea de comandos estándar

Page 4: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Windows PowerShell

Page 5: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Apariencia Similar

Page 6: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

¿Por qué usar PowerShell?

►La necesidad de extender los sistemas de Scripting

►Sistema más robusto

►Extensible a tareas de administración de sistemas y para el desarrollo

►Integración de entornos (por ejemplo Exchange)

►Evolución de los sistemas de comandos utilizados

Page 7: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Entorno PowerShell

►Presenta una Shell de símbolo de sistema interactivo

►Entorno de scripting

►Ejecución de comandos y aplicaciones

►Interacción local y remota

►Creado sobre Common Language Runtime de .NET y .NET Framework

Page 8: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Disponibilidad PowerShell

• Sistemas Operativos compatibles con PowerShell• Windows XP SP2• Windows Server 2003 SP1• Windows Vista• Windows Server 2008• Windows Server 2008 R2• Requisitos para su instalación:– Instalar en caracteristicas Windows PowerShell

Page 9: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Cmdlets – Introducción

►Diseñados para usar objetos

►Trabajan como comandos binarios

►Se utilizan para agregar proveedores de Windows

►Utilizan la sintaxis de C#

►Su nomenclatura es mediante sustantivos y verbos

Page 10: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Listado cmdlets

►Get-command

Page 11: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Listado de cmdlest

► Para visualizar los cmdlets con verbo: Get-command –verb verbo "get" sólo recuperan datos "set" sólo establecen o modifican los datos "format" sólo aplican formato a los datos "out" sólo dirigen la salida a un destino determinado.

► Para ordenarlos por familias para un objeto: Get-comand –noun objeto p.e: service, process …

Page 12: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Sintaxis

►Los cmdlet contienen cada uno una sintaxis determinada.

►Mediante el parámetro –Syntax podemos recuperar la sintaxis de los cmdlet

Get-command –syntax

►Para cmdlet específico

Get-command –syntax cmdlet

Page 13: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Comandos y cmdlets

►No todos los comando que utilizamos son cmdlets aunque lleven sustantivo y verbo

►Aquí tenemos un ejemplo de función interna.Clear-host

►Para obtener todos los comandosGet-command *

►Los comandos pueden filtrarseGet-command –commandtype tipo (Alias,

function, application)

Page 14: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Parámetros

►Powersell procesa los parámetros de forma directa.

►Los nombres de parámetros se utilizan siempre con un guión (-) como prefijo.

►Por ejemplo cuando a un cmdlet le aplicamos el parámetro -? nos muestra la ayuda.

Page 15: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Parámetros convencionales

►Whatif►Confirm►Verbose►Debug►Warn►Erroraction►Errorvariable►Outvariable

• Force

• Exclude

• Include

• Passthru

• Path

• CaseSensitive

• Outbuffer

Page 16: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Ayuda

►Para solicitar la ayuda podremos operar con la siguiente sintaxis:

Get-help cmdlet

Man cmdlet

Help cmdlet

cmdlet -?

Page 17: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Alias

►El sistema trabaja mediante alias o abreviados

►Para obtener los alias podremos realizarlo mediante este filtro:

Get-command –commandtype alias

►Si queremos obtener el comando que invoca el aliasGet-alias alias

►Creación de alias.Set alias –name alias –value valor

Page 18: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Canalización de objetos

►Actúan como tubos conectados de tal forma que los objetos pasan a través de cada tubo.

►La canalización se establece mediante el carácter “|”.

►Cada comando suele pasar su resultado al siguiente comando

►Reducen la demanda de recursos obteniendo resultados más inmediatos.

Page 19: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Salida de datos mediante pipe

►Podemos controlar los recursos del sistema.Comprobar rendimiento del procesador con ambas

instruccionesGet-childitem c:\windows –recurse

Get-childitem c:\windows –recurse | out-host -paging

Page 20: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Cambios de formato

►Powershell presenta una serie de cmdlets para controla las propiedades que se muestran de objetos específicos.

►Comienzan por el verbo format:

Format-Wide.

Format-List.

Format-Table.

Format-Custom

Page 21: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Ejemplos

►Sacar por lista

Get-process –name proceso | format-list

►Por tabla

Get-process –name proceso | format-table.

►Mediante autoformato.

Get-process –name proceso | format-table –property path,name,id,company -autosize

Page 22: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Comodines

►Los cmdlets y comandos admiten el uso de comodines.

►Son útiles cuando queremos obtener todos los datos de un objeto.

Get-process –name proceso | format-list –property *

Page 23: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Agrupando datos

►Los datos obtenidos cuando devuelven listas grandes pueden ser difíciles de comparar.

►Mediante el parámetro Groupby podemos agrupar el resultado en función del valor de una propiedad.

Get-process –name * | format-table –wrap –autosize –groupby propiedad

Page 24: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Salida de datos►PowerShell está orientado a ofrecer los objetos

obtenidos por pantalla aunque podríamos sacarlos por otras ubicaciones.

►La salida presenta el verbo out.

►Por defecto la salida es por out-host.

►La especificación de la salida es importante hacerlo correctamente. P.ej. no es lo mismo

Get-process | out-host –paging | format-listGet-process | format-list | out-host –paging

►Las salidas deben establecerse al final de la sintaxis.

Page 25: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Tipos de salidas

► Salida por pantalla Out-host –paging More

► Imprimir datos. Out-printer Por defecto utiliza la predeterminada si queremos utilizar

alguna específica utilizaremos el parámetro –name impresora

► Fichero. Out-file Crea por defecto un fichero en formato unicode, si

queremos formato ASCII utilizaremos el parámetro –encoding ASCII.

Page 26: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Introducción

►Powershell define diferentes tipos de unidades a las que se puede tener objeto.

Unidades lógicas de disco y almacenamiento.

AliasFuncionesContenedor de certificados.

Usuario

Equipo

Page 27: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Introducción

Registro.Clave HKEY_Current_User

Clave HKEY_Local_Machine

EntornoVariables

Page 28: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Unidades►Para obtener las unidades utilizaremos el cmdlet:

Get-psdrive

►Si queremos diferenciarlos por proveedorGet-psdrive –psprovider proveedor

Page 29: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Creación y eliminación unidades

►Crear nuevas unidades utilizadas exclusivamente por PowerShell que pueden definir alias de unidades

New-psdrive –name nombre –psprovider proveedor –root ruta

►Eliminar unidadesRemove-psdrive –name nombre

Page 30: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Archivos y carpetas

►Como otras Shell, PowerShell permite la gestión de ficheros y carpetas.

►Se pueden utilizar dir o ls aunque tienen sintaxis propias tipo verbo/sustantivo como get-childitem

►Para devolver los resultados dentro de los contenedores se utiliza el parámetro –recurse

►Si queremos obtener los elementos ocultos utilizaremos el parámetro -force

Page 31: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Filtrados y comodines

►Podremos filtrar elementos mediante el parámetro name

►Podremos utilizar caracteres comodines para controlar las búsquedas:

*?[ ] (búsqueda de caracteres que coincidan)

►Podremos excluir elementos mediante el parámetro exclude

Page 32: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Creación de elementos

►Pueden crearse elementos mediante la sintaxis cmdlets con el parámetro new-item y el valor file o directory.

New-item –path ruta –itemtype directory

New-item –path ruta –itemtype file

Page 33: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Trabajo con elementos

►Cambiar nombres: rename-item

►Mover elementos: move-item

►Copiar elemento: copy-item

►Eliminar elementos: remove-item

►Ejecutar elementos: invoke-item

Page 34: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Scripting

►Scripting a través de línea de comandos

►Política de Ejecución

►Ejecutar scripts

CScriptWScriptWindows PowerShell Scripts

Page 35: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Script Línea de Comandos

►Todas las variables empiezan con el carácter “$”

►Las variables mantienen sus valores durante toda la sesión del usuario

►Al cerrar la sesión las variables se eliminan

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> $a = 4PS C:\Scripts> $b = 6PS C:\Scripts> $a + $b10

Page 36: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Script Línea de Comandos

►Permite instrucciones de control de flujo

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> $a = 4PS C:\Scripts> $b = 6PS C:\Scripts> $a + $b10PS C:\Scripts> if ($a –gt $b)>> {$a}>> else>> {$b}>>6PS C:\Scripts>

Page 37: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Script Línea de Comandos

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> $a = Get-ServicePS C:\Scripts> $a

Status Name DisplayName------ ---- -----------Running AeLookupSvc Experiencia con aplicacionesStopped Appinfo Información de la aplicaciónStopped AppMgmt Administración de aplicacionesRunning Browser Examinador de equiposStopped CertPropSvc Propagación de certificadosStopped COMSysApp Aplicación del sistema COM+Running CryptSvc Servicios de cifradoRunning Dhcp Cliente DHCPRunning Dnscache Cliente DNS...

Page 38: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Scripts en Archivos

►Crear los scripts con la aplicación Notepad

►Salvar los archivos con extensión .ps1

$a = 4$b = 6“a = “ + $a“b = “ + $bif ($a –gt $b){ “a es mayor que b”}else{ “a no es mayor que b”}

Script que asigna valores a dos variables y comprueba cual es mayor.

Page 39: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Ejecutando Scripts

►Los scripts de PowerShell tienen extensión .ps1►Se debe especificar la ruta completa, aunque se

encuentre en la ruta actual►O añadir la ruta a la variable de entorno Path

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> C:\Scripts\Script.ps1

a = 4b = 6a no es mayor que b

PS C:\Scripts>

Page 40: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Políticas de Ejecución

►La política de ejecución determinan que Script podrá ser ejecutado en la máquina local

►Cuatro políticas de EjecuciónRestricted (por defecto)

PowerShell no permite la ejecución de Scripts

AllSignedÚnicamente Scripts firmados por publicadores de confianza

RemoteSignedLos firmados y los creados localmente en la máquina

UnrestrictedSe ejecutarán todos los scripts

Page 41: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Políticas de Ejecución

►Usar el cmdlet Get-ExecutionPolicy para descubrir que política de ejecución se está aplicando

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> Get-ExecutionPolicy

Restricted

PS C:\Scripts> ./Script.ps1

File C:\Scripts\Script.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see “get-help about_signing” for more details.At line:1 char:9+ .\Script.ps1 <<<<

Page 42: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Políticas de Ejecución

►Usar el cmdlet Set-ExecutionPolicy para modificar la política de ejecución a aplicar

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> Set-ExecutionPolicy Unrestricted

PS C:\Scripts> ./Script.ps1

a = 4b = 6a no es mayor que b

Page 43: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Scripts VBScript

►Se pueden ejecutar script escritos en VBScript desde PowerShell

►Se deben ejecutar mediante los comandos CScript o WScript

►Las políticas de ejecución no se le aplican a estos script

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> Get-ExecutionPolicy

Restricted

PS C:\Scripts> WScript test.vbs

Test VBScript

Page 44: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Perfiles

►Windows PowerShell ejecuta un script cada vez que se inicia sesión

►El script que se ejecuta es el que apunta la variable $Profile

►Por defecto $Profile apunta a My Documents\ WindowsPowerShell\Microsoft.PowerShell_Profile.ps1

►Se puede editar el perfil con el bloc de notas

►El perfil no se ejecuta si las políticas de ejecución está en Restricted

Page 45: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Crear un Perfil

►Para comprobar si existe o no un perfil creado:

►Para crear el perfil se debe ejecutar:

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> Test-path $Profile

False

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> New-Item -Path $profile -ItemType file -Force

Page 46: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Objetos

►Powershell trabajo con objetos com y .net.

►Dentro de los objetos más importantes con los que podemos trabajar en administración se encuentran los objetos de WMI.

►El acceso a objetos WMI se realiza mediante el cmdlet get-wmiobject que permite enumerar las clases de WMI

Page 47: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

WMI Remoto

►Podemos utilizar PowerShell para acceder a un equipo remoto mediante el parámetro –computername

Get-wmiobject –list –computername 192.168.0.1

►La cuenta utilizada debe pertenecer al grupo de administradores

►No es necesario que el equipo remoto tenga instalado PowerShell.

Page 48: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Obtención detallada de clases

►Si conocemos el nombre de una clase WMI podemos obtener la información.

Por ejemplo una de las clases más utilizadas es Win32_operatingsystem

Get-WmiObject -Class "Win32_OperatingSystem" -Namespace "root/cimv2 "

Como esta clase presenta más propiedades podremos recuperarlas mediante Get-Member:

Get-WmiObject -Class "Win32_OperatingSystem" -Namespace "root/cimv2 “ | Get-Member –MemberTypeProperty

Page 49: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Utilización de objetos

►Muchos componentes com y .net permiten realizar muchas tareas que amplían las funcionalidades de cmdlets.

►Muchos comandos cmdlets no se pueden utilizar remotamente frente a los componentes com y .net

►Pueden crearse instancias de una clase .Net mediante el cmdlet New-object

Page 50: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Almacenamiento en variables►El uso de objetos para más de un uso dentro de la

sesión puede referenciarse mediante variables:$app = new-object –typename

system.diagnostics.eventlog –argumentlist application

Genera la variable $app donde se almacena un registro de eventos para el registro aplicación.

►Podremos acceder remotamente proporcionando la IP o el nombre de equipo remoto como argumentos.

New-object –typename system.diagnostics.eventlog application,192.168.0.1

Page 51: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Aplicaciones

►Muchas aplicaciones pueden automatizarse mediante objetos

►Algunas de las más utilizadas con Internet Explorer o Microsoft Office

►Utilizaremos I.E. como referencia mediante su ProgID: InternetExplorer.Application

Page 52: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Creación de la instancia

►$ie1 = new-object –comobject internetexplorer.application

Podemos comprobar que se está ejecutando mediante get-process aunque no lo veamos.

El valor visible se encuentra por defecto en false.

►Para poder ver las propiedades y métodos de I.E.

$ie1 | get-member

►Si queremos hacer visible la ventana del I.E.

$ie1.visble = $true

Page 53: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Uso de I.E. desde Powershell

►Para ir a una url utilizaremos el método navigate:$ie1.navigate(“http://www.informatica64.com”)

►Permiten recuperar el contenido del texto HTML.$ie1.Document.body.innertext

►Para cerrar el objeto utilizamos el método quit()$ie1.quit()

►Aunque cerremos el objeto sigue apareciendo como un objeto com, para volverlo a utilizar deberemos eliminar la referencia

Remove-variable ie1$ie1 = $null

Page 54: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Uso de clases

►No todas las clases de .net framework pueden crearse mediante new-object.

►Determinadas clases no hay que crearlas puesto que ya están creadas, solamente hay que utilizarlas.

►Estas clases se denominan estáticas puesto que no pueden crearse ni eliminarse.

Page 55: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Clases estáticas

►Cuando las definamos deben ir entre corchetes.

[system.environment]

►El uso de miembros estáticos necesitarán especificar el parámetro static:

[system.environment] | get-member -static

Page 56: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Ejemplos de clase estática

►[system.environment]::commandline

►[system.environment]::osversion

►[system.environment]::username

►[system.environment]::machinename

►[system.environment]::systemdirectory

Page 57: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Variables

►PowerShell admite la generación de variables

►Para mostrar la información de una variables puede utilizarse get-member

►PowerShell permite la manipulación de variables.Para ver una lista completa de manipulaciones:

Get-command –noun variable | format-table –propertyname,definition –autosize –wrap

►Podremos conocer todas la variables mediante la sentencia

Get-childitem variable

Page 58: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Introducción

►Una de las funcionalidades más importantes que podremos encontrar en PowerShell es la administración de los sistemas.

►La administración puede ser local o remota.

►Permite combinar cmdlets con aplicaciones externas.

Page 59: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Administración de Procesos

►Uno de los elemento fundamentales es el control de los procesos

►Estos se realizan a través de dos cmdlets:

Get-processStop-process

Get-process proceso

►Admite el uso de comodines y los modificadores -name e -id

Page 60: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Parar Procesos

►Podremos parar procesos mediante la orden stop-process

►Para ordenes en las cuales no queramos equivocarnos podremos utilizar el parámetro -confirm

Windows PowerShellCopyright (C) 2006 Microsoft Corporation. Reservados todos los derechos.

PS C:\Scripts> Stop-Process iexplorer

Confirmar¿Está seguro de que desea realizar esta acción?Realizando la operación "Stop-Process" en el destino "iexplore (3916)".[S] Sí [O] Sí a todo [N] No [T] No a todo [U] Suspender [?] Ayuda (el valor predeterminado es "S"): s

Page 61: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Administración de servicios►Podemos gestionar los servicios de un sistema

mediante los cmdlets serviceGet-service

►Mediante –displayname podremos buscar un servicio por el nombre para mostrar.

►Los servicios pueden iniciarse, suspenderse o reiniciarse:

Stop-serviceStart-serviceSuspend-serviceRestart-service

Page 62: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Obtención de Datos con WMI

►Mediante Get-Wmiobject podremos obtener la configuración fundamental de Windows.

►Podremos obtener la información localmente mediante ‘.’ o mediante la IP de un equipo remoto.

Page 63: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Ejemplos

►Obtener datos de la BIOSGet-wmiobject –class win32_bios

►Obtener datos del procesador.Get-wmiobject –class win32_processor

►Mostrar actualizaciones instaladas.Get –wmiobject –class win32_quickfixengineering

►Mostrar usuariosGet-wmiobject –class win32_operatingsystem |

select-object –property *user*

Page 64: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Aplicaciones instaladas

►Aplicaciones que están instaladas

Get-wmiobject –class win32_product

►Aplicaciones que pueden desinstalarse

New-psdrive –name uninstall –psprovider registy-root HKLM:\software\microsoft\windows\ currentversion\uninstall

Page 65: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Instalar aplicaciones

►La clase win32_product permite instalar paquetes .msi

►En el caso de instalaciones remotas deberos especificar la ruta del paquete como una ruta de red UNC

►(get-WMIobjec –computername IP o nombre –list | where object –filterscript {$_.name-eq “Win32_Product”)} .invokemethod(“install”,”\\ruta unc paquete msi”}

Page 66: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Desinstalar aplicaciones

►Igualmente que instalamos podemos invocar al método uninstall para eliminar una aplicación:

(get-wmiobject –class wind32_product –filter “name=‘aplicación’” –computername .) .invokemethod (“uninstall”,$null)

Page 67: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Cambiar estado de un equipo

►Un equipo lo podremos bloquear, cerrar la sesión, apagarlo o reiniciarlo.

BloquearloRundll32.exe user32.dll,lockworkstation

Cerrar la sesiónShutdown.exe -1(get-wmiobject –class win32_operatingsystem –computername .) .invokemethod(“win32shutdown”, 0)

Apagarlo o reiniciarloTsshutdn.exe o shutdown.exe

Page 68: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Suscripción gratuita en: http://www.informatica64.com/technews.aspx

TechNews de Informática 64

Page 69: Código: HOL-WIN53 Microsoft Windows Server 2008 R2 PowerShell

Informática 64

http://www.informatica64.com

[email protected]

+34 91 146 20 00

Contactos