0% encontró este documento útil (0 votos)
255 vistas10 páginas

Practica Powershell

El documento describe cómo utilizar PowerShell para automatizar tareas administrativas como obtener información del sistema y crear usuarios. PowerShell permite ejecutar comandos para ver detalles de discos, CPU, red, procesos, servicios y memoria. También explica cómo crear y ejecutar scripts de PowerShell, y cómo crear usuarios locales y de Active Directory.

Cargado por

walter alvarenga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
255 vistas10 páginas

Practica Powershell

El documento describe cómo utilizar PowerShell para automatizar tareas administrativas como obtener información del sistema y crear usuarios. PowerShell permite ejecutar comandos para ver detalles de discos, CPU, red, procesos, servicios y memoria. También explica cómo crear y ejecutar scripts de PowerShell, y cómo crear usuarios locales y de Active Directory.

Cargado por

walter alvarenga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Como Administradores de Servidores en nuestras labores diarias siempre tenemos la necesidad

de realizar tareas repetitivas que podemos ejecutar de manera más fácil automatizándolas a
través de Powershell. Actualmente Powershell se encuentra en la versión 3.0.

Como para hacerse una idea de la potencia de esta versión en Windows Server 2012 existen más
de 2300 “Cmdlets” -que son los comandos que se ejecutan en el ambiente de Powershell- ello
nos da una idea muy buena de todas las posibilidades que existen. En Windows 2008 existen 230
Cmdlets, como lo pueden ver ahora hay 10 veces más en la verisón Server 2012.

Tanto en Windows Server 2012 como en Windows 8 se agregó una funcionalidad


denominada Powershell ISE (Intellisense) que nos ayuda a autocompletar los comandos de una
manera inteligente. En Windows 8 Powershell ISE no viene en el menú inicio pero sí existe.

Pero bien, vamos a ejecutar una serie de comandos básicos de Powershell para empezar. Para
invocar a Powershell basta con escribir powe en el menú inicio de Windows Server 2012 o
Windows 8.
Si usted usa scripts para automatizar tareas de Windows aprender Powershell será de gran utilidad.

 Como obtener la ayuda de un comando (ejemplo dir)


Existen tres maneras
PS C:\>get-help dir
PS C:\>man dir
PS C:\>help dir

 Para obtener una lista de todos los comandos powershell


PS C:\>get-help *

 Mostrar los drives del sistema


Get-PSDrive.
Este comando permite mostrar todos los drives. En esta sección la novedad es que
podemos navegar en el registro de Windows.

1
DISCO

Para saber las características del disco físico podemos usar el comando Get-Disk

Si se inicio Powershell como un usuario no privilegiado obtuvimos este error dado que ciertos
comandos y funciones no los podemos ejecutar con usuarios no privilegiados, como lo es el caso
de Get-Disk

Por lo tanto debemos ejecutar Powershell como administrador. Hay que abrir nuevamente
PowerShell pero esta vez hacemos clic derecho y seleccionamos Run as administrator

CPU

Para ver la información básica es posible usar el comando

Get-WmiObject Win32_Processor

gwmi win32_Processor

RED

Para ver todos los adaptadores de una máquina se usa Get-NetAdapter

Se desea ver muchos más detalles puedo usar Get-NetAdapterAdvancedProperty|more

Ver qué protocolos (TCP/IP v4, TCP/IP v6, etc) están habilitados en todos los adaptadores uso:

Get-NetAdapterBinding|more

Obviamente se puede ver características de un solo adaptador especificando el nombre del


mismo.

EJEMPLOS (Usando el adaptador denominado Wi-Fi):

Get-NetAdapter Wi-Fi

Get-NetAdapterAdvancedProperty Wi-Fi

Get-NetAdapterBinding Wi-Fi

REGISTROS

Para navegar en el registro se pone:


PS C:\> cd hklm:

2
Para regresar al drive c y dejar de navegar en el registro:
PS C:\> c:

Para limpiar la pantalla en powershell


PS C:\> cls

Para ver ir al registro hkey local machine


PS C:\> cd hklm:

Para ir al registro software\clients\Calendar\Microsoft Outlook\protocols


PS HKLM:\> cd software\clients\Calendar\Microsoft*\Protocols

Para volver al disco c


PS HKLM:\> c:

PROCESOS

Para mostrar una lista de procesos:


PS C:\> Get-Process

Para detener un proceso:


PS C:\> Stop-Process -processname [process]

Para listar servicios:


>Servicios
PS C:\>Get-service

Para iniciar un servicio:


PS C:\>start-service [service_name]

Para detener un servicio:


PS C:\>stop-service [service_name]

EJECUCION DE SCRIPTS

Para ejecutar y habilitar un script en powershell


Primero cree un archivo que se llame prueba.ps1 con el siguiente contenido:

/*Este programa muestra el mensaje hola mundo*/


Echo “hola mundo”

Por defecto le va a salir un mensaje de error cuando trate de ejecutarlo:


PS C:\> ./prueba.ps1

3
 Para habilitar la ejecución de scripts y que no salga un mensaje de error:
PS C:\> set-executionpolicy unrestricted

 Una vez habilitado, la ejecución en powershell funciona:


PS C:\> ./prueba.ps1

Para ejecutar un archivo de powershell ps1 con doble click.


Los archivos de powershell (Ps1) no funcionan con doble click así que hay que invocarlo
desde el cmd.
Esto por razones de seguridad .

 Script y comandos DOS


Paso 1.
Tener un archivo con extensión ps1. Mi archivo se va a llamar creardir.ps1. Este ejemplo
crea un directorio que se llama Scripts.

Archivo: creardir.ps1
Contenido: mkdir Scripts

Paso 2. Crear un archivo con extensión cmd que llame al archivo creardir.ps1.
Archivo: [Link]
Contenido: [Link] -command .\creardir.ps1

Lo único que queda es hacer doble click en el cmd.

 Para crear un evento en el visor de eventos:


PS C:\Documents and Settings\user> EVENTCREATE /T ERROR /ID 1000 /L APPLICATION /D
"Test Error"

Este mensaje le permitirá generar un evento de error con ID 100 en la categoría de


aplicaciones.

Para ver los eventos del visor de eventos en powershell:


PS C:\Documents and Settings\user> Get-EventLog -logName "Application"

4
MEMORIA

Aquí hay que apelar a un par de comandos que pueden crearse en un archivo .ps1 o ejecutarlos
directamente en Powershell:

$mem = Get-WmiObject -Class Win32_ComputerSystem

“Este sistema tiene {0} MB de Memoria” -f $($[Link]/1mb)

Como crear usuarios nuevos en Powershell


Como crear usuarios locales en powershell ?
$user = $[Link]("User", "Norberto")
$[Link]("P@ssword")
$[Link]()
$[Link] = [String] "test"
$[Link]()

Línea por línea:


$user = $[Link]("User", "Norberto")
Crea un usuario llamado Norberto

$[Link]("P@ssword")
Crea un password denominado queques

$[Link]()
Guarda la información.

$[Link] = [String] "test"


Establece la descripción del usuario.

Como ver que el usuario local se creó en powershell ?


Una vez creado el usuario puede correr el comando:

5
Net user

Si usted corre el ejemplo anterior debería listar a un usuario denominado Norberto.


La forma visual es mediante Mi PC >Administrar>usuarios locales

Como crear usuarios de Active directory en powershell ?


Ejemplo cómo crear usuarios en Active Directory.
Requisitos: Una máquina controladora de dominio que ya tiene Active Directory instalado.

Ejemplo:
# En la primera línea se conecta al dominio. Esta línea requiere ser modificada.
$Path= "LDAP://CN=Users,DC=Dominio,DC=com"
$name = "Usuario Powershell"
$NTname = "UsuarioP"
$ou = New-Object [Link]($Path)
$user = $[Link]("CN=" + $name,'user')
$[Link]()
$[Link] = $NTname
$[Link] = "QE Lead"
$[Link]()
"Usuario creado: "
$[Link]("P@ssword")
"Password establecido"

Viendo línea por línea:


$Path= ldap://CN=users,DC=Dominio,DC=com/

En esta línea está conectando al [Link]. Luego estoy entrando al contenedor users.

Para ver como se llama su dominio, entre a Usuarios y Equipos de Active Directory y vea en que
dominio desea crear.

6
Si se deseara crear usuarios en una unidad organizacional llamada “Nueva” se tendría que hacer lo
siguiente:

$Path= "LDAP://OU=nueva,DC=Dominio,DC=com"
Vamos a la siguiente línea:
$name = "Usuario Shell"
Estamos definiendo como se llamará el usuario.
$ou = New-Object [Link]($Path)
En esta línea se crea nuevo objeto (en este caso un usuario con el path establecido en la primera
línea.
$user = $[Link]("CN=" + $name,'user')
Estamos definiendo el nombre del usuario.
$[Link]()
Guarda los cambios
$[Link] = $NTname
Establece el tipo de cuenta.
$[Link] = "QE Lead"
Establece una descripción del usuario.
$[Link]("P@ssword")
Establece un password para usuario.

Si todo salió bien, usted debería poder ver a su usuario creado:

7
Como crear una unidad organizacional con powershell?

$Path2= [ADSI]"LDAP://DC=Dominio,DC=com"
$UO2=$[Link]("OrganizationalUnit", "ou=" + "nuevaUO")
$[Link]()

Veamos línea por línea:

La primera línea se conecta con el dominio de active directory.

La segunda línea crea una unidad organizacional llamada nuevaUO.

La última línea graba la información.

8
Si todo sale bien debería ver esto en su AD:

Como crear una unidad organizacional dentro de otra unidad organizacional con powershell
(unidad organizacional hija) ?

Se creara una unidad organizacional llamada hijanueva dentro de la unidad


organizacionalnuevaUO (creada en el ejercicio anterior):

$Path3= [ADSI]LDAP://OU=nuevaUO,DC=Dominio,DC=com

$UO3=$[Link]("OrganizationalUnit", "ou=hijanueva")

$[Link]()

Si todo salió bien debería ver lo siguiente:

9
10

También podría gustarte