jueves, 10 de diciembre de 2015

Verificar si existe un archivo o carpeta con Powershell

Test-Path es cun cmdlet que devuelve true o false dependiendo de si un path (a una carpeta o un archivo existe o no).
 De esta manera podemos utilizarlo en aquellas ocasiones en que se requiera verificar si un archivo o carpeta existe antes de realizar una accion con el/ella o bien crear este elemento.
 Al devolver un tipo logico podemos usarlo como condicion de un if como vemos en el siguiente ejemplo donde verificamos si existe un archivo:

 if (Test-Path c:\test\textfile.txt)
     {Write-Output 'Hacer algo con el archivo'}
 else
     {Write-Output 'El archivo no existe'}

 A continuacion un ejemplo similar pero con una carpeta

 if (Test-Path c:\test1)
     {Write-Output 'Hacer algo con la carpeta'}
 else
     {Write-Output 'La carpeta no existe'}

sábado, 28 de noviembre de 2015

Mas E-Books for Free

En este caso la gente de packtpub.com nos ofrece día a día un libro gratis.

Las libros están disponibles para reservar en forma gratuita durante 24 horas y luego puedes descargártelo cuando quieras desde la cuenta que te creas con ellos.

Puedes elegir entre varios formatos de descarga. Los libros cambian todos los días así que hay que tener el link a mano y visitarlo diariamente. Los libros gratuitos pueden verlos desde este link.



miércoles, 18 de noviembre de 2015

E-Books for Free

Si señores, un link que conviene tener siempre a mano y visitar cada tanto ya que el listado de E-Books gratuitos provistos por Microsoft es periódicamente actualizado.

Organizados en tabla de contenidos para buscar rápidamente y con una variedad de temas interesante es un sitio para tener en cuenta.

jueves, 29 de octubre de 2015

Determinar la versión de PowerShell

Para averiguar la versión de PowerShell que ejecuta nuestro equipo simplemente escribimos $psversiontable y damos Enter y veremos la versionde PowerShell (PSVersion) y la del Sistema Operativo entre otra info.

PS C:\Users\User> $psversiontable
Name                           Value
----                           -----
PSVersion                      5.0.10240.16384
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.42000
BuildVersion                   10.0.10240.16384
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3

miércoles, 23 de septiembre de 2015

Ping a toda una red en PowerShell

En una entrada anterior mostré como hacer ping a toda una red en una sola línea con el interprete de comandos CMD de Windows. El tiempo ha pasado y es hora de mudar las tareas diarias a PowerShell, así que aquí va el fragmento de código que te permite pinguear a toda una red:

for ($i=2;$i -le 254;$i++) {
$ip='192.168.0.' + $i;
if(Test-Connection $ip -Count 1 -Quiet) { Out-File C:\PING\ping.txt -InputObject $ip -Append }
}

Vamos por parte dijo Jack.
La primer línea:

for ($i=2;$i -le 254;$i++) {

Genera un bucle en el cual la variable $i tomará los valores del 2 al 254.
Luego generamos la ip a pinguear en una variable $ip, aquí ponen el prefijo de la red que quieren pinguear:

$ip='192.168.0.' + $i;

Finalmente utilizamos un if cuya condición es el resultado de invocar al cmdlet Test-Connection con los paremetros -Count 1 para que pinguee con solo un paquete y -Quiet que hace que el cmdlet devuelva True si la ip pinguea y false en caso contrario.

La acción a realizar en caso que la ip pinguee es guardar el contenido de la variable $ip en el archivo C:\PING\ping.txt con el cmdlet Out-File (con el parámetro -Append para que guarde todas las ips).

if(Test-Connection $ip -Count 1 -Quiet) { Out-File C:\PING\ping.txt -InputObject $ip -Append }

Con esto el archivo ping.txt tendrá todas las ips que pinguearon. Esto lo podemos ejecutar desde una consola de powershell, desde el ISE, invocando powershell desde una tarea programada, etc.

domingo, 13 de septiembre de 2015

Recruiting Headers

La gente de Groupon tiene un montón de cosas para ofrecerte en cada correo que te envía, vinos, jabón para la ropa, cervezas, vino, tarjetas SD, vinos y además.... trabajo! Esto ultimo si te tomas el trabajo de revisar los headers del correo: X-Recruiting: Interested in headers? Join us: www.groupon.com/techjobs/ Bien por Groupon!

lunes, 3 de agosto de 2015

Bug Check Code Reference

Pantalla Azul, y bueno, a todos nos ha pasado alguna vez. También conocida como la pantalla azul de la muerte, BSOD (Blue Screen Of Death). Esa cosa rara y tan llena de números aparentemente sin sentido que cuando la encontramos inicia largas búsquedas en Google.

Bueno, en total los códigos son alrededor de 300, pero solo unos 20 de ellos ocurren en el %95 de las ocasiones.

No obstante el siguiente link es útil para encontrar información especifica acerca de que significa ese espantoso BSOD.

https://msdn.microsoft.com/en-us/library/windows/hardware/hh994433(v=vs.85).aspx

jueves, 29 de enero de 2015

Crear un conmutador virtual (Virtual Switch) desde el Administrador de Hyper-V de Windows 8-8.1

Para que las maquinas virtuales (VMs) que creemos en nuestros "Administrador de Hyper-V" puedan conectarse entre sí, con el host o con la red externa la host es necesario que las conectemos a un conmutador virtual (virtual switch de aquí en adelante).

Desde el Administrador de Hyper-V hacemos clic, en el panel de acciones a la derecha, en "Administrador de conmutadores virtuales".

 
A la izquierda de esta ventana veremos un listado con los switchs ya creados (si existiera alguno) y en la parte principal de la ventana la posibilidad de crear nuevos switchs.
 
Estos switchs pueden ser de 3 tipos:
 
  • Externo: Se enlaza a un adaptador de red y provee conectividad entre las VMs, con el host físico y con la red a la que está conectada el adaptador (esta es la opción a elegir si queremos que la VM se conecte a internet o una LAN).
  • Interno: Provee conectividad entre las VMs entre sí y con el host físico, no está enlazado a una interfaz de red física ni provee acceso a la red física.
  • Privado: Provee conectividad entre las VMs pero no con el host. No está enlazado a una interfaz de red física ni provee acceso a la red física.
  

Seleccionamos el tipo de red que neceistamos y hacemos click en "Crear conmutador virtual". A continuación le damos un nombre y eventualmente una descripción. Si elegimos como tipo de red Exrterno deberemos seleccionar a que interfaz de red se enlazará el mismo.

 
Para los tipos de red Externa e Interna es posible elegir un id de VLAN.
 
Hacemos clic en Aceptar y ya tenemos disponible el virtual switch. Al momento de crear una VM entonces podemos elegir este conmutador para darle conectividad a la VM.
 


martes, 27 de enero de 2015

Hyper-V en Windows 8 Pro

En Windows 8 Pro contamos con la posibilidad de agregar el rol de Hyper-V con lo cual podremos levantar maquinas virtuales para armar nuestro propio laboratorio. Para instalar esta característica vamos al "panel de control" y allí hacemos clic en "Activar o desactivar las características de Windows".

 
En la ventana de "Características de Windows" seleccionamos "Hyper-V" y sus subcomponentes. Luego de aceptar se instalan las características agregadas y nuestro equipo ya esta listo para ser Host de nuevas VMs.

 
 
Para administrar nuestras VMs presionamos la tecla "Windows + S" (en Windows 8.1 la ventana de búsqueda es diferente) y tipeamos "hyper", aparecerá el "Administrador de Hyper-V".
 
 
 
Este es nuestro "Administrador de Hyper-V" desde donde podemos crear y administrar nuestras maquinas virtuales (VMs) entre otras cosas (tema para otros post :) )