List WiFi Channels using command line tools

In a busy area multiple WiFi Routers and Access Points may cause co-channel Interference (CCI) and adjacent channel interference (ACI). This is pure physics, in short simplified description: if two APs are using the same channel that means that they are using the same frequency and the waves are interfering.


So what can you do?

Choose a channel that is empty or where (and around) the signal level is the lowest.

There are tons of WiFi info Android tools around, and you can download tools for your PC. (iOS does not give this level of access to the WiFi to Apps.)
If you don’t want to install any app, you can open a CMD prompt and use the following command to list all the Access Points, actually all transmitting devices as there may be more under the same SSID.

The result will be something like this:

Check the Signal and the Channel lines and choose a free space.


Automatic download of Azure invoices from multiple subscriptions

Are you chased by your finance department to give them the invoices of all of your Azure subscriptions? The answer “You can download them from the portal…” is not enough for them? Here is a tool that can help both you and them.

Use PowerShell to download all your invoices! Microsoft.Azure.Commands.Billing namespace is your friend. The  Get-AzureRmBillingInvoice has a parameter  -GenerateDownloadUrl that does what it’s name suggests. What else you need? The   System.Net.WebClient  has a DownloadFile  method, so all we need is to create the overhead code around these.

If you receive  WARNING: You are not allowed to download invoices. Please contact your account administrator ( to turn on access in the management portal for allowing to download invoices through the API.  error message, please ask the owner of the Subscription to enable “Access to invoice”.


HTTPS redirect from all HTTP addresses to the same URL

While configuring my WordPress site for this blog I wanted to make sure that all content is delivered to the readers through HTTPS.

I really like the Let’s Encrypt initiative to provide free certificates so there is no excuse now not to use HTTPS in any websites, including personal blogs. I will write a post soon about how to automate the certificate generation for Azure Web App using Let’s Encrypt and Azure DNS, but as my blog is hosted on a simple WordPress on Linux where certificate generation is automatic through the CPanel the only thing to do is to redirect all HTTP requests to HTTPS.

This can be easily achieved by adding these lines to your .htaccess file:

If you have any issues with this, you may need to tweek the environment variable of the condition to use one instead of the %{HTTPS}  that tells you on your host that the request is not HTTPS.

Recover WiFi Password from your Windows 10 settings

I was visiting a place where I used the WiFi before.  I’ve made a mistake not storing the WiFi password in my password manager and it was too late at night to ask anyone. My PC stored the access details but I wanted to connect with my new iPad. If my PC can connect, the password must be stored, so there may be a way to retrieve it – I though. There is…

With a simple cmd line you can get the stored password from your PC settings:

BTW you can list all the stored SSIDs with this command: