#PowerShell – Download all MS Ignite videos and slides in a single click (thanks @mderooij!)

Hi !

Last week I shared a powershell script created by Jon Galloway to download videosn from Channel 9. So, Microsoft Ignite is finished, and someone pick the idea and created a similar one which also includes video and slides download features.

We need to thanks to Michel de Rooij (@mderooij), who is the author of the powershell script to download materials from Microsoft Ignite 2017.

I1

Like in the previous one, we have a couple of parameters to define some filters, like video quality. It took me almost a full day to download all the materials and at the end I finished downloading +420GB which includes 785 PowerPoint Slides and 681 sessions videos.

I2

Happy Coding!

Greetings @ Toronto

El Bruno

References

Advertisements

#PowerShell – Descarga todos los videos y presentaciones de MS Ignite en un click (gracias @mderooij!)

Hola!

La semana pasada compartí un script creado por Jon Galloway para descargar videos desde Channel 9. Pues bien, no se ha hecho esperar las actualizaciones del mismo y ya podemos encontrar otro PowerShell Script, mucho más actual.

Michel de Rooij (@mderooij), ha creado uno para descargar todo el contenido publicado de Microsoft Ignite 2017.

I1

Como en el anterior, tenemos varias opciones para definir el tipo de contenido a descargar, la calidad de los videos, presentaciones, etc,

Estos son bastante GBs de contenido. En mi caso habiendo descargado solo 50 de 1633 elementos ya llevo casi 20 GBs de contenidos

I2

Happy Coding!

Saludos @ Toronto

El Bruno

References

#PowerShell – Script to download #Channel9 videos (thanks @jongalloway!)

Hi!

These are hardware days, so this is time for a quick post. When I’m offline and travelling, I always try to bring with me some videos to take advantage of the time and learn something new. Channel 9 is a great source of materials and now thanks to Jon Galloway (@jongalloway ), downloading videos from C9 will be much more easies.

The installation steps are very easy, in 2 lines we have the main ps1 locally ready to be used.

I1

And then, it’s a matter of tries to get to the correct format for the RSS feed to download videos. After a couple of test I learned the following steps to make it work

If I want to download some videos on the Microsoft Research category, I can browse them using the next URL

https://channel9.msdn.com/Shows/Microsoft-Research

So, now I need to add the sufix “/rss/” at the end of the url and the url will reconvert into a valid one to be used on the script

https://s.ch9.ms/Shows/Microsoft-Research/rss/

After this, the script also gives us some options for filtering videos, quality, download folder, and more

I2

Happy downloading!

Greetings @ Toronto

El Bruno

References

#PowerShell – Script para descargar videos de #Channel9

Hola!

Post rápido de jueves que hoy es día de hardware. Si alguna vez te enfrentas con una situación donde tienes que viajar y quieres bajarte un par de videos de Channel 9 para matar el rato. El siguiente PowerShell Script de Jon Galloway (@jongalloway ), te puede ahorrar bastante tiempo.

La instalación del mismo es bastante simple

I1

Y luego solo queda aprender cómo poner el feed correcto para que el mismo funcione. Despues de un par de pruebas y errores, llegue a la siguiente conclusión

Si por ejemplo quieres bajar todos los videos que están en la categoría de Microsoft Research con la siguiente URL

https://channel9.msdn.com/Shows/Microsoft-Research

tienes que agregar el sufijo “/rss/” al final de la url y la misma se convertirá en un feed correcto para ser utilizado en el script

https://s.ch9.ms/Shows/Microsoft-Research/rss/

A partir de ahora ya puedes descargar los videos, utilizando los comandos propios del script

I2

Happy downloading!

Saludos @ Toronto

El Bruno

References

ENG [#IOT] #RaspberryPi2 and #Windows10, Some admin tasks, like change password and change name (6 on N)

Hello!

New post for Windows 10 and Raspberry Pi 2 series

  1. Hardware and software (1 on N)
  2. Boot from SD card in the device (2 of N)
  3. Hello World mode! (3 of N)
  4. Visual Studio deployment process and Web Management app (4 on N)
  5. Hello Blinky !!! (5 on N)
  6. Some admin tasks, like change password and change name (6 on N)
  7. List of connected devices in the Raspberry Pi 2 (7 on N)
  8. Deploy an app using the deploy package (8 on N)

Yesterday there was Windows IoT Core for Raspberry PI 2 update. In the waht’s new section we can read most of the new features was focused on security. In example: now the web access, requires username and password to get into the device. For this reason, today I’ll take a pause in the source code samples and I’ll leave a couple of PowerShell commands to perform basic actions with our device.

1. Once the device is online, we need to open a PowerShell console in administrator mode

Clipboard02

2. In the console, run the following commands

  1. net start WinRM
  2. Set-Item WSMan:\localhost\Client\TrustedHosts – Value 169.254.186.22
  3. Remove – module psreadline – force
  4. Enter-PsSession – ComputerName 169.254.186.22 – Credential 169.254.186.22\Administrator

In each one of them we must replace the IP address for the corresponding with our device

3. The last command will open a window of Windows credentials so that the same enter credentials by default to access the device.

Clipboard04

By default the device credentials are

User: IP Address\Administrator

Password: P@ssw0rd

Clarification: (P {at} ssw {zero} rd ))

4. The authentication with the device takes approximately 30 seconds. Once is connected we can do the 2 most recommended actions: change the administrstor password and change the name of the device.

5. In order to change the administrator password, we should use the next command

NET user Administrator {new password}

6. In order to change the name of the device, let’s go with this one

setcomputername {new name}

For example, in the following command I have changed the name to my device and then restart it

Clipboard06

Once restarted, we can see the device with its new name in Windows IoT app watcher

Clipboard07

Now if, new password, new name, our device is a little more secure 😀

Greetings @ Madrid

/El Bruno

[#IOT] #RaspberryPi2 y #Windows10, Acciones de administrador, cambiar password, cambiar nombre, etc (6 de N)

Hola !

Nuevo post para la serie de Windows 10 y Raspberry Pi 2

  1. Hardware y software (1 de N)
  2. Montando la SD en el device (2 de N)
  3. Ahora si el Hello World ! (3 de N)
  4. Sobre el proceso de despliegue desde VS y Web Management app (4 de N)
  5. Hello Blinky !!! (5 de N)
  6. Acciones de administrador, cambiar password, cambiar nombre, etc (6 de N)
  7. Accediendo a los devices conectados (7 de N)
  8. Desplegando una app desde un paquete (8 de N)

Ayer hubo actualización de Windows IoT Core para Raspberry PI 2 y una de las novedades fue centrada en la seguridad. Ahora el acceso web, requiere usuario y password para acceder al mismo. Por eso, hoy toca una pausa en el código para dejar un par de comandos de PowerShell para realizar acciones básicas con nuestro device.

Conectar al device

1. Una vez que el device está en linea, debemos abrir una consola de PowerShell en modo administrador

Clipboard02

2. Con la consola abierta, ejecutamos los siguientes comandos

  1. net start WinRM
  2. Set-Item WSMan:\localhost\Client\TrustedHosts -Value 169.254.186.22
  3. remove-module psreadline -force
  4. Enter-PsSession -ComputerName 169.254.186.22 -Credential 169.254.186.22\Administrator

En cada uno de ellos debemos reemplazar la dirección IP por la correspondiente con nuestro device

3. El último comando abrirá una ventana de credenciales de Windows para que en la misma ingresemos las credenciales por defecto para acceder al device.

Clipboard04

Por defecto las credenciales son

User: IP Address\Administrator

Password: P@ssw0rd

Aclaración: (P {arroba} ssw {zero} rd)

4. La autenticación con el device tarda unos 30 segundos aproximadamente. Una vez conectados ya podemos realizar las 2 acciones más recomendables: cambiar la password del administrador y cambiar el nombre del device.

5. Para cambiar la password el comando que debemos ejecutar es el siguiente

net user Administrator {nueva password}

6. Para cambiar el nombre del device

setcomputername {nuevo nombre}

Por ejemplo, en el siguiente comando le he cambiado el nombre a mi device y luego reinicio el mismo

Clipboard06

Una vez reiniciado, podremos ver el device con su nuevo nombre en la app Windows IoT watcher

Clipboard07

Ahora si, nueva password, nuevo nombre, nuestro device está en un poco más seguro 😀

Saludos @ Madrid

/El Bruno

[#VS2013] NuGet Error: Failed to initialize the PowerShell host. If your PowerShell execution policy setting is set to AllSigned, open the Package Manager Console to initialize the host first.

Hello!

Today I’ll go with a and easy-to-fix Visual Studio error. I was fixing some old projects and I find that suddenly NuGet decided to stop working.

error01

The error message was pretty clear

‘ EntityFramework 6.1. 1′ already installed.
Adding ‘ EntityFramework 6.1. 1′ to BigAndCoolProject.
Successfully added ‘ EntityFramework 6.1. 1′ to BigAndCoolProject.
Executing script file ‘… \src\packages\EntityFramework.6.1.1\tools\install.ps1′.
Failed to initialize the PowerShell host. If your PowerShell execution policy setting is set to AllSigned, open the Package Manager Console to initialize the host first.

The strange thing is that suddenly the PowerShell execution permissions are “fell” to “Restricted” level. So which well, is time of

-Open a PowerShell console with administrator permissions

-Check the level of permissions with the command ‘Get-ExecutionPolicy’

-Set the level of permissions to “RemoteSigned” with the command “Set-ExecutionPolicy RemoteSigned”

-Ready!

error02

That Yes, the IDE to take changes is necessary to restart Visual Studio.

Greetings @ Home

/El Bruno

[#VS2013] NuGet Error: Failed to initialize the PowerShell host. If your PowerShell execution policy setting is set to AllSigned, open the Package Manager Console to initialize the host first.

Hola!

Hoy toca revisar uno de esos errores fáciles de solucionar. Mientras estaba acomodando unos proyectos “viejunos” en una solución, me encuentro que de golpe y porrazo NuGet decidió dejar de funcionar.

error01

El mensaje del error era bastante claro

‘EntityFramework 6.1.1’ already installed.
Adding ‘EntityFramework 6.1.1’ to Projectazo.
Successfully added ‘EntityFramework 6.1.1’ to Projectazo.
Executing script file ‘…\src\packages\EntityFramework.6.1.1\tools\install.ps1’.
Failed to initialize the PowerShell host. If your PowerShell execution policy setting is set to AllSigned, open the Package Manager Console to initialize the host first.

Lo raro es que repente los permisos de ejecución de PowerShell se “bajaron” a nivel “Restricted”. Asi que bien, es momento de

– Abrir una consola de PowerShell con permisos de administrador

– Verificar el nivel de los permisos con el comando “Get-ExecutionPolicy”

– Definir el nivel de permisos a “RemoteSigned” con el comando “Set-ExecutionPolicy RemoteSigned”

– Listo !!!

error02

Eso sí, para que el IDE tome los cambios es necesario reiniciar Visual Studio.

Saludos @ Home

/El Bruno

[# POWERSHELL] HowTo: Convert read-host restult to a String

image47dd1de4

Hi,

in these days of deployment, playing fun moments to learn new things. One of them, and that gave us a headache for several minutes with Javi, was in the creation of an Application Pool using PowerShell. The following code is copied 100% an IIS.NET, for the creation of an Application Pool in IIS 7.0.

   1: Import-Module WebAdministration

   2: $userName = "ElBruno\Valentino"

   3: $password = read-host "Type user password for Application Pool for >> $userName"

   4:  

   5: write-host "set app pool properties"

   6: $appPool.processModel.userName = $userName

   7: $appPool.processModel.password = $password

   8: $appPool.managedRuntimeVersion = "v4.0"

   9: $appPool | set-item

If you try 99 environments, will surely work correctly, however to my touched me to try it in that environment number 100 where we had a type error when assigning the Password. Researching a bit, I have seen that the class ReadHost doesn’t return a type string, but something a little "more complicated", by default the return value is assigned to aSecureStringtype. From there who at the time of assigning the Password is possible that we have wrong permissions or access.

But worry that the solution only consists of "castear" to a string value that returns ReadHost. THE following example, evidenced on line 3

   1: Import-Module WebAdministration

   2: $userName = "ElBruno\Valentino"

   3: [string] $password = read-host "Type user password for Application Pool for >> $userName"

   4:  

   5: write-host "set app pool properties"

   6: $appPool.processModel.userName = $userName

   7: $appPool.processModel.password = $password

   8: $appPool.managedRuntimeVersion = "v4.0"

   9: $appPool | set-item

Greetings @ La Finca

The Bruno

Reference: http://ss64.com/ps/read-host.html

[#POWERSHELL] HowTo: Transformar el resultado de read-host a un String

image47dd1de4

Buenas,

en estos días de despliegue, tocan momentos divertidos para aprender  nuevas cosillas. Una de ellas, y que nos dio un dolor de cabeza de varios minutos con Javi, fue en la creación de un Application Pool utilizando PowerShell. El siguiente código está copiado 100% de un IIS.Net, para la creación de un Application Pool en un IIS 7.0.

 
   1: Import-Module WebAdministration

   2:  

   3: $userName = "ElBruno\Valentino"

   4: $password = read-host "Type user password for Application Pool for >> $userName"

   5:  

   6: write-host "set app pool properties"

   7: $appPool.processModel.userName = $userName

   8: $appPool.processModel.password = $password

   9: $appPool.managedRuntimeVersion = "v4.0"

  10: $appPool | set-item

 

Si lo pruebas en 99 entornos, seguramente funcionará correctamente, sin embargo a mi me ha tocado probarlo en ese entorno número 100 donde teníamos un error de tipo al momento de asignar la Password. Investigando un poco, he visto que la clase ReadHost no retorna un tipo string, sino algo un poco “más complicado”, por defecto el valor retornado se asigna a un tipo SecureString. De allí que al momento de asignar la Password es posible que tengamos un error de permisos o de acceso.

Pero tranquilos que la solución solo consiste en “castear” a un string el valor que retorna ReadHost. EL siguiente ejemplo, lo demuestra en la línea 3

   1: Import-Module WebAdministration

   2: $userName = "ElBruno\Valentino"

   3: [string] $password = read-host "Type user password for Application Pool for >> $userName"

   4:  

   5: write-host "set app pool properties"

   6: $appPool.processModel.userName = $userName

   7: $appPool.processModel.password = $password

   8: $appPool.managedRuntimeVersion = "v4.0"

   9: $appPool | set-item

 

Saludos @ La Finca

El Bruno

   

Referencia: http://ss64.com/ps/read-host.html