Hola a todos, les dejo las dos partes de la conferencia de PowerShell, para los que no pudieron ir y especialmente para los de regiones
Conferencia Técnica TechNet: Simplificando las tareas de administración mediante el uso de Powershell,
Hola a todos después de la charla de PowerShell en Microsoft me comprometí con subir los ejemplos de powershell remoting. asiq comencemos
Primero que todo deben habilitar la función de remoting con el comando
Enable-PSRemoting
Después de esto ya estamos listos para comenzar a invocar comandos de manera remota.
Recuerden que si están en un entorno con dominio de Active Directory y su cuenta tiene derechos sobre el computador de destino, todo funcionara OK, de lo contrario nos enviara un mensaje de acceso denegado, para solucionar ese problema usaremos el cmdlet
get-credential y lo pasaremos como parámetro.
Imaginemos que mi dominio se llama capacita.local
$credencial=Get-Credential CAPACITAAdministrador
Ahora si queremos invocar un cmdlet remoto solo debemos ejecutar el comando
Invoke-Command -ComputerName SERVIDOR01 -Credential $credencial
-ScriptBlock {Get-Process}
El cmdlet Invoke-Command abre una sesión el el servidor01 con las credenciales almacenadas en la variable $credencial , luego ejecuta todo lo que este dentro de las llaves del parámetro –ScriptBlock, que en este caso es el cmdlet Get-Process y lo muestra por pantalla.
El problema es que con el cmdlet Invoke-Command se abre y cierra una sesión, esta no es persistente y no guarda el estado de posibles variable, para esto debemos crear una nueva sesión y usarla como parámetro
$sesion1=New-PSSession -ComputerName SERVIDOR01 -Credential $credencial
Ahora tenemos en la variable $sesion1 una sesión abierta hacia el computador SERVIDOR1
Invoke-Command -Session $sesion1 -ScriptBlock {Get-EventLog -logname system -Newest 5}
Lo anterior trae los 5 últimos logs de sistema del SERVIDOR1
La mejor manera de comprobar que realmente esta sesión es persistente es hacer una variable local y incrementarla en cierto valor ejecutándola remotamente
EJ:
Variable local: $paso
$paso= {$total += 5;$total}
Invoke-Command -Session $sesion1 -ScriptBlock $paso
El primer valor seria 5, después 10, después 15 y así sucesivamente , con esto podemos probar que el estado de las variables se conserva 🙂
Imaginemos que nuestro servidor remoto esta corriendo un proceso llamado notepad 🙂 y nosotros de nuestra estación de trabajo lo queremos detener
Invoke-Command -Session $sesion1 -ScriptBlock {Stop-Process -name notepad}
Ahora si queremos trabajar directamente en el servidor remota en una consola de PS, solo debemos entrar a esta con el comando
Enter-PSSession -ComputerName SERVIDOR01 -Credential $credencial
Con esto entramos a una sesión interactiva remota de powershell
Saludos
La administración de los servicios mediante interfaces gráficas o GUI ha sido uno de los grandes avances de los sistemas operativos, sin embargo cuando las tareas son muy complejas y operan sobre un conjunto grande de objetos o recursos del sistema, bien vale la pena tener a mano un buen scripting que automatice este proceso.
En esta charla Pablo Campos y Alejandro Pacheco introducen las nuevas características de Powershell y muestran algunos ejemplos prácticos de servicios y aplicaciones que pueden administrarse mediante el uso del mismo.
Oradores: Pablo Campos y Alejandro Pacheco
INFORMACION IMPORTANTE: – Este evento no incluye el pago de estacionamientos en el edificio. – Microsoft se reserva el derecho de utilizar los espacios disponibles, Una vez comenzado el evento
Producto: Microsoft technologies, Windows PowerShell
Idioma: Español
Audiencia: Generalista de IT
Microsoft Chile : Mariano Sanchez Fontecilla 310, Piso 6 Las Condes Santiago
OJO En este Mismo Blog estaré subiendo los demos de la charla del Martes 15
Hola a todos
Quizás este post no es muy novedoso, pero después de varios intentos infructuosos siguiendo manuales me decidí a hacer uno yo 🙂
Primero que todo tiene que tener a mano el DVD de Windows Server 2008 o Windows 7
Descargar un script de Powershell desde http://code.msdn.microsoft.com/InstallWindowsImage
Manos a la obra
1) Nos creamos un disco Duro VHD de unos 10 GB para probar de expansión dinámica
a)Desde el administrador de Discos seleccionamos “Crear VHD”
b) Le damos la ruta EJ: H:2008VHD.vhd de 10GB de expansión Dinámica
c) Inicializamos el disco y lo formateamos
Como se dan Cuenta quedo NTFS en la letra F:
d) ahora ocupamos nuestro archivo descargado de PowerShell
Install-WindowsImage.ps1OJO que el powershell lo deben ejecutar como administrador
Si al ejecutar el script ven el siguiente error es por la seguridad de ejecución de los scripts en powershell
Para solucionar el problema cambie se seteo de ejecución de scripts con el comando Set-ExecutionPolicy Unrestricted
e) Ahora inserte el DVD de Windows 7 “en mi caso G:”
.Install-WindowsImage.ps1 -WIM G:sourcesinstall.wim
Con esto nos deberia mostar la lista de sistema operativos con indices que puede cargar este dvd.
Index Image Name
[1] Windows 7 EnterpriseDone.
En el caso de Windows Server 2008 R2
Index Image Name
[1] Windows Server 2008 R2 Standard (Full Installation)
[2] Windows Server 2008 R2 Standard (Server Core Installation)
[3] Windows Server 2008 R2 Enterprise (Full Installation)
[4] Windows Server 2008 R2 Enterprise (Server Core Installation)
[5] Windows Server 2008 R2 Datacenter (Full Installation)
[6] Windows Server 2008 R2 Datacenter (Server Core Installation)
[7] Windows Web Server 2008 R2 (Full Installation)
[8] Windows Web Server 2008 R2 (Server Core Installation)Done.
Ahora que ya tenemos el índice [1] del sistema operativo y la ruta del archivo WIM podemos “Aplicarlo” en el disco VHD que creamos hace un rato F:
.Install-WindowsImage.ps1 -WIM G:sourcesinstall.wim -Apply -Index 1 –Destination F:
Applying "Windows 7 Enterprise" to F:…
ADVERTENCIA: This may take up to 15 minutes…
_________________________________________________________________________________
EDITADO 10/12/2009 … Si quieres que tu VHD pueda bootear desde el Virtual PC o Hyper-v debes cargar el bcdboot en el disco montado
Sigamos pensando que nuestro disco VHD lo tenemos montado en F:
Ejecutamos el siguiente comando
F:windowssystem32bcdboot F:windows /s F:
Si después queremos borrar algo que nos quedo mal en el Bcdedit
bcdedit /delete {ID}
Donde ID es el id de la entrada que quieres borrar
bcdedit /delete {ffe86a97-97eb-11de-88e4-8d9d20f53a42}
_________________________________________________________________________________
Listo… Ahora solo debemos modificar el booteo de nuestro sistema para que arranque con el vhd, para eso ocuparemos el comando bcdedit “como administrador”
Bcdedit /copy {current} /d “Win7VHD”
La entrada se copió correctamente en {ffe86a96-97eb-11de-88e4-8d9d20f53a42}
Con este comando copiamos la entrada de boteo actual de nuestro SO a una llamada Win7VHD, ahora debemos modificar los parámetros device y osdevice para que arranque por el VHD
bcdedit /set {ffe86a96-97eb-11de-88e4-8d9d20f53a42} device vhd=[H:]2008VHD.vhd
bcdedit /set {ffe86a96-97eb-11de-88e4-8d9d20f53a42} osdevice vhd=[H:]2008VHD.vhd
Escribimos bcdedit para ver si esta todo OK
Reiniciamos y Listo
Les dejo un par de fotos del booteo… “las saque con el teléfono y me reflejo en la pantalla ”
Hola a todos, este viernes 4 estaremos dando un montón de charlas en la ciudad de los Ángeles, esto es para todos los que dicen que nunca se hacen cosas fuera de Santiago…
“yo soy de Concepción :)”
ACTUALIZADO: El Hotel queda al lado del casino de Los Ángeles, la dirección es Colo Colo #565
10:30 – 10:40 | Bienvenida
10:45 – 11:30 | Max + Brede :- Introducción a Windows 7 + Demos de Seguridad Infantil.
11:30 – 12:15 | Pablo : Win Server 2008 R2
12:15 – 13:00 | Gonzalo: «Que es lo nuevo de ASP.NET 4.0»
14:00 – 14:45 | Ale: ASP.NET y silverlight
14:45 – 15:30 | Gonzalo: «Desarrollando Aplicaciones compatibles con Windows 7»
15:30 – 16:10 | Brede: IIS, PHP y SQL Server como buenos amigos
16:15 – 17:00 | Pablo: «Windows Deployment services con Windows 7»
17:00 – 17:45 | Francisco: silverlight
Max = Maximiliano Marin: Microsoft Student Partner
Pablo = Pablo Campos :MCP MCTS, Instructor Certificado Microsoft YO 🙂
Ale = Alejandro Pacheco : Gerente de Relaciones Académicas, Microsoft Chile
Brede = Brede Basualdo: Microsoft Student Partner
Francisco : Francisco Agurto : Microsoft Student Partner
Gonzalo: Gonzalo «Chalalo» Pérez , Microsoft MVP ASP/ASP.NET