Mostrando entradas con la etiqueta powershell. Mostrar todas las entradas
Mostrando entradas con la etiqueta powershell. Mostrar todas las entradas

jueves, 11 de febrero de 2016

Explorando powershell: Comprobando conexión de red






En esta pequeña entrada sobre Powershell veremos como mostrar la información de diagnóstico de una conexión, en definitiva comprobaremos la conexión. Para ello haremos uso del comando "Test-NetConnection" con el cual haremos un test sobre nuestra conexión.

Para ello ejecutamos en nuestro terminal Powershell nuestro línea de comando "Test-NetConnection" y empezará el proceso que realiza un test contra la direccion "internetbeacon.msedge.net" como se muestra la imagen.





Una vez comprobado el resultado si es satisfactorio se nos muestra el resultado, mostrándonos los detalles del diagnóstico.





En caso contrario se nos mostrarían los errores comunes, en este caso no encuentra el host de destino por lo tanto la conexión esta funcionando.






En definitiva otro comando más que nos facilitará la tarea como IT.




viernes, 12 de junio de 2015

Explorando Powershell: SYSTEMINFO, mostrando información del sistema






Systeminfo, nos va a salvar y ahorrar mucho tiempo en cuanto a sacar las características del sistema. Toda esta información nos vale de mucho cuando por ejemplo estamos tratando de sacar información de un sistema con el cual vamos a tratar. Toda esta información del sistema, como espacio de disco, adaptadores de red, nombre del sistema, cuando ha sido iniciado por última vez, la arquitectura del procesador, memoria, actualizaciones del sistema instaladas, etc ... nos vale de mucho a la hora de trabajar con él.









miércoles, 15 de abril de 2015

Explorando powershell: Comprobar si Windows está activado (slmgr)






Muchas veces queremos saber si el sistema operativo con el que trabajamos es original ya que si no lo es y es una copia falsa el cliente podría estar en peligro trabajando con un sistema operativo modificado. 

Para comprobar que nuestro sistema operativo está activado, lo haremos  abriendo nuestra consola Powershell y escribiendo "slmgr.vbs -xpr".





Y como podéis ver nos indica que está permanentemente activado. Un método sencillo y rápido para saber la validez de nuestro sistema operativo.




miércoles, 4 de marzo de 2015

Explorando powershell: Scannow ( comprobando/reparando archivos del sistema )







Muchas veces se nos daña archivos de Windows (Microsoft) o simplemente queremos chequearlos para ello veremos algo que ya lleva muchos años implementado en windows. Es scannow, el comando sfc /scannow nos permite analizar los archivos protegidos del sistema y reemplaza los archivos dañados. Es decir una herramienta muy util en caso de tener un archivo dañado o comprobar la integridad de los mismos.


Para usarlo no es más sencillo que usar la siguiente línea:


sfc /scannow











lunes, 19 de enero de 2015

Explorando Powershell: Mostrando y matando procesos (Get-Process)







Hoy en "Explorando Powershell", veremos get-process y como sacarle partido a este.

Escribimos en nuestro powershell "get-process" o también funcionan los alias "gps" o "ps" y vemos todos los procesos.





También podemos buscar los procesos de manera especifica si conocemos el nombre, conocemos las primeras letras o podemos buscar varios procesos separándolo mediante comas como se muestra en la imagen.





Podemos mostrar diferentes características del proceso como la compañía, la versión del producto y más características.




Y finalmente podemos eliminar un proceso mediante su código "Id" y el comando "kill".






jueves, 13 de noviembre de 2014

Explorando powershell: Script automatizado con envío de ip pública vía email ( Windows Server 2012 + Powershell + email + SCHTASKS )







Hoy veremos un simple script para enviar un email a nuestra email desde powershell con un simple script y automatizaremos esto para que se ejecute cada cierto tiempo, teniendo así actualizada la dirección IP pública.

Lo primero que tenemos que hacer es comprobar que nuestra powershell esté en la versión 4.0, ejecutando 'get-host' nos mostrará la versión actual.

Despues de comprobar la versión vamos a realizar el script esto, lo podemos hacer con un editor cualquiera como notepad++, block de notas o como en mi caso Powershell ISE.

Abrimos a nuestro Powershell ISE (con permisos de administrador) e introducimos la script (mis valores son con cuenta gmail y en las letras en rojo tendréis que editarlas con vuestros valores).


#almacenamos la fecha en la variable $date
$date = Get-Date -format d
#Extraemos la ip de la web "http://chekip.dyndns.com" y la almacenados en la variable $currentip
$currentip = (New-Object net.webclient).downloadstring("http://checkip.dyndns.com") -replace "[^\d\.]" 
while ($currentip -eq '') {$currentip = (New-Object net.webclient).downloadstring("http://checkip.dyndns.com") -replace "[^\d\.]"} 
#Montamos nuestro correo añadimos las variables almacenadas y lo enviamos
Write-Host "sending public ip $currentip ..." 
$EmailFrom = "usuario@gmail.com"
$EmailTo = "usuario@gmail.com
$Subject = "#$date - ip windows server
$Body = "Fecha: $date // Public server ip $currentip
$SMTPServer = "smtp.gmail.com
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) 
$SMTPClient.EnableSsl = $true 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("cuenta_usuario_mail_sin_dominio", "contraseña_del_email"); 

$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)


Una vez escrito todo lo comprobamos que funciona desde el mismo edito ejecutamos > guardamos y comprobamos que funciona bien tanto en la pantalla, como que llega a nuestro email.






Una vez ejecutado sin fallos comprobamos nuestro email.






Una vez realizado todo lo anterior ahora vamos a crear una tarea programada para añadir este script y que se ejecute cuando nosotros queramos.

Para esto utilizaremos schtask, podemos consultar el enlace anterior o simplemente buscar la ayuda en nuestro powershell con 'schtask /?'. 

Ejemplo explicado:

schtasks /create /sc el_tipo_de_tiempos /mo cada_cuanto_tiempo /d cuantos_dias /tn nombre_tarea_programada /tr /ruta/del/script /st hora_de_inicio

Ejemplo: 


schtasks /create /sc minute /mo 10 /d 31 /tn send_public_ip /tr C:\scripts\public_ip_email_send.ps1 /st 08:00:00







Y por último mostramos el estado de la tarea programada con el comando de consulta query 'schtask /query /TN send_public_ip'.




Y finalmente como vemos en la imagen nos muestra el estado del proceso y cuándo se va a ejecutar la próxima vez. 

Si queremos eliminar nuestro schtask ejecutaremos por ejemplo como es mi caso 'schtask /delete /TN send_public_ip'









martes, 14 de octubre de 2014

Buscando nuestra dirección IP pública









Muchas veces nos encontramos con la necesidad de saber cual es nuestra ip pública o nuestra ip de la pata WAN del router para configurar múltiples cosas de nuestra red o simplemente para hacer un breve análisis de nuestra infraestructura de red. Está dirección es la que nos provee nuestro proveedor de servicios de internet ( ISP) y a continuación vamos a ver las formas con las que tenemos la posibilidad de conocerlas.

· Navegador web: Entrando en cualquiera de las siguientes paginas webs o simplemente buscando en google " cual es mi ip pública", tendremos acceso a múltiples páginas web las cuales nos mostrarán nuestra ip publica.

http://www.cualesmiip.com/

http://www.cual-es-mi-ip.net/






También accediendo nuestro router mediante el navegador. Este nos mostrara la ip pública que tiene asignada.






· Mediante comandos: Muchas veces estamos en un servidor el cual carece de interfaz gráfica o simplemente estamos accediendo mediante comandos y estamos trabajando contra un terminal.

Si disponemos de terminal linux o windows (también esta este paquete para windows), podemos instalar el paquete curl por ejemplo en derivado debian " sudo apt-get install curl" una vez con esto podemos lanzar el siguiente comando "curl ifconfig.me" o " curl icanhazip.com"y se nos mostrara nuestra ip pública.







Sin tener que instalar nada usando el comando nslookup, el cual nos permite saber si el dns esta resolviendo bien la ip o los nombres de dominio, aprovechamos esto para lanzarlo contra opendns.com mediante el siguiente comando "nslookup myip.opendns.com resolver1.opendns.com






A través de telnet (si esta habilitado) podemos acceder a nuestro router "
telnet ipdelrouter" para consultar la ip pública, en nuestro caso hacemos un "ifconfig interfazdered" a la interfaz que sabemos que tiene asignada la ip pública.






Finalmente con powershell mediante los siguientes comandos nos proporcionamos un método para recibir en este caso datos de un identificador URL conseguiremos extraer nuestra ip pública de una web y en segundo lugar descargamos el recurso solicitado como string, se especifica finalmemente como una cadena que contiene el URL.

$wc = new-object System.Net.Webclient
$wc.DownloadString("htpp://icanhazip.com/")