Jan 19

How do Sonoff devices work?

A while ago Jan Almeroth have done excellent research on how Sonoff devices operate. Thanks to his (and many others’) work, projects like SonOTA are now possible. I’ll try to summarize the information in this article.

1. Overview

It appears that sonoffs areIoTgocompatible devices.IoTgo platform was created by Itead and aims to facilitate easier integration between IoT devices and Applications.It mainly consists of three parts:

  1. Devices ⇔ Server (left part) – devices connect to the server via HTTP/WebSocket, register and update their parameters. The server can send control commands using push notifications (via WebSocket);
  2. Apps ⇔ Server (right part) – IoTgo Apps use server gather information about devices (+their status) and control them;
  3. Web interface ⇔ Server (not shown) – used for device management;

Continue reading

Jan 18

What is Sonoff and how to configure it

Remote switches, Internet of Things (IoT) and Smart home in general are quite trendy nowadays. There are plenty of trademarks and devices that allow you to switch lights, heating, garage doors etc via an application on your mobile / web page.

There is one very popular gadget among the Smart housers – the Sonoff. It is actually a trademark that includes various kinds of remote switches. Sonoff devices are getting more and more popular these days because they are small, cheap, cloud ready, easy to use and have built-in AD/DC converter (i.e. no external power supply is needed, just a cable to plug it in the grid). Some sonoffs can be controlled via RF keyfobs.

Continue reading

Jan 10

Dynamic Objects in Active Directory

Sometimes we need to create users/groups/computers in Active Directory that will be used temporary (by a contractor, for testing etc.). The typical workflow is: Create > Use for a while > Delete. The deletion is manual and often these objects are being forgotten which poses some security risks.

It is little known fact that we can create the so called Dynamic objects (DOs, a.k.a. temporary objects) that get deleted from AD automatically when the associated TTL expires. Microsoft added this capability in Windows Server 2003. In fact the “Dynamic object” is an auxiliary class (OID = When linked to an object it adds some new attributes like the entryTTL (Entry-TTL) and ms-DS-Entry-Time-To-Die attribute.

Continue reading

Jan 05

WinRM would not listen on port 5985

The WinRM was configured to allow remote administration via a GPO but it wouldn’t let us connect with Enter-PSSession. The firewall rule was there passing the traffic on TCP port 5985.

Checking WinRM config showed something strange:

Listener [Source=”GPO”]
Address = *
Transport = HTTP
Port = 5985
Enabled = true
URLPrefix = wsman
ListeningOn = null

So WinRM was actually configured but wasn’t listening on any network interface. Why?

Continue reading

Jan 03

What is Add-PrinterDriver actually used for?

As of Windows 8.1 / Server 2012 R2 there is one beautiful cmdlet -Add-PrinterDriver. It dramatically simplifies driver/printer installation.

Naturally you will be tempted to install a driver from an .inf file like this:

But you will be blamed:

So it does not work as you/we may think. Sigh… So then what it is used for?

Continue reading