Posted on Leave a comment

File Transfer Support for HTML 5 Remote Desktop Web Client

PowerShell Logo

The HTML 5 Remote Desktop Web Client, for Windows Server RDS Deployments, now supports File Transfers. However, to enable this, feature the HTML 5 Web Client will need to be manually updated.

To see the latest release notes for the Latest HTML 5 Remote Desktop Client, please visit:
https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/web-client-whatsnew

To update the HTML 5 Web Client:

1. Open a PowerShell console as Administrator (Right-click run as Administrator) on the Server running the RD Web Access role. Run the command below, which will download the latest available version of the web client.

Install-RDWebClientPackage

2. Now that the latest web client has been downloaded. It can be published by running the command below, which will replace the client for all users.

Publish-RDWebClientPackage -Type Production -Latest

Please contact me if you have any comments or suggestions: [email protected]

Posted on Leave a comment

3D Printer Update – 25/06/21

3D Print Benchmark

After having delays on the parts for the DIY 3D I decided to bench the 3D DIY Printer project for now. I will be reusing some parts in a future project.

It’s not all bad news! I ended up purchasing an Ender 3 Pro, which in my opinion is one of the best bang for the buck printers. If you are interested in this printer, please use my Amazon Affiliate link below:

https://amzn.to/3xS0jBk

Currently, I have printed a few little pieces and there will be more to come!

Posted on Leave a comment

IR Remote Controlled Laser Cat Toy

IR Cat Toy

The IR Remote Controlled Laser Cat Toy is now complete. I used an Arduino UNO, IR remote, IR receiver, Laser Diode and two servos to create an IR remote controlled laser cat toy.

WARNING!
Lasers can cause permanent eye damage, ensure that you follow these safety measures:
Only use a low-Wattage laser i.e. 5mw or less.
Never shine a laser at a reflective surface.
Never shine a laser in to anyone’s eyes i.e. Cats, Dogs, Jedi’s, Humans etc.

Wiring Schematics:

Arduino Project source code:

#include <IRremote.h>
#include <Servo.h>
int IRPin = 11;
const int ServoXPin = 9;
const int ServoYPin = 10;

int XValue;
int YValue;
int X_Pos = 90;
int Y_Pos = 90;

IRrecv irrecv(IRPin);
decode_results results;
Servo ServoX;
Servo ServoY;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
  ServoX.attach(ServoXPin);
  ServoY.attach(ServoYPin);
  ServoX.write(X_Pos);
  ServoY.write(Y_Pos);
}
void loop()
{
  if (irrecv.decode(&results))
  {
    int value = results.value;
    Serial.println(value);
    switch (value)
    {
      case 25245: //Keypad button "Vol +"
        Serial.println("Move Up");
        Y_Pos = Y_Pos - 15;
        ServoY.write(Y_Pos);
    }
    switch (value)
    {
      case -22441: //Keypad button "Vol -"
        Serial.println("Move Down");
        Y_Pos = Y_Pos + 15;
        ServoY.write(Y_Pos);
    }
    switch (value)
    {
      case 8925: //Keypad button "Pre Track"
        Serial.println("Move Left");
        X_Pos = X_Pos + 15;
        ServoX.write(X_Pos);
    }
    switch (value)
    {
      case -15811: //Keypad button "Next Track"
        Serial.println("Move Right");
        X_Pos = X_Pos - 15;
        ServoX.write(X_Pos);
    }
    irrecv.resume();
  }
}

Don’t forget, cats can get easily frustrated when playing with a Laser as they can not actually catch it. Make sure you switch over to a toy they can catch.

For the full parts list please visit my project on Arduino’s Project Hub:
https://create.arduino.cc/projecthub/woodwarddigital/ir-control-laser-cat-toy-de65e6

Please contact me if you have any comments or suggestions: [email protected]

Posted on Leave a comment

Public IP Address Changes Alert – PowerShell

PowerShell Logo

Receive an email notification every time your Public IP Address changes. The Public IP Address Check script is a free and easy to use PowerShell script that can be ran as a schedule task using Task Scheduler within Windows.

Why would I use this?
Most Public IP Addresses for home broadband connections are normally dynamic IP Addresses and depending on the ISP they can change frequently. While there are solutions such as Dynamic DNS, In some cases it can’t be used.

This is a quick and easy way to be notified if your IP Address changes, if you need to be notified when your IP address changes as you might be unable to use Dynamic DNS or would prefer not to.

Included in the download is a template which you can import in the Task Scheduler within Windows.

The Public IP Address Check has been written and developed by Woodward.Digital and is distributed freely under the MIT License.

Please contact me if you have any comments or suggestions: [email protected]

MIT License

Copyright (c) 2021 woodward.digital

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Posted on Leave a comment

Arduino UNO SMD Missing Drivers

Arduino UNO SMD

With Arduino being an open-source electronics platform, their PCB designs freely available which means it is possible to get a generic Arduino board for much less than the branded boards.

Like when I purchased a 4WD chassis. Which also came with an unbranded Arduino UNO SMD. What’s the difference with Arduino UNO SMD?

The Arduino UNO SMD, uses a surface mount version of the ATmega328P instead of the though hole version.

Arduino UNO SMD

But I noticed when I came to use the board that I wasn’t able to communicate with the board via the Arduino IDE.

When I opened Device manager to double-check I was connecting using the correct COM port, it became clear that there was a missing driver as it was showing as “USB Serial”.

Device Manager

For any missing drivers that Windows isn’t able to automatically find and install, and it isn’t clear where to get the drivers from as this was an unbranded board.

The first step is to find the Hardware IDs of the device by right-clicking on the device > Details and Selecting Hardware IDs. In this instance I could search for the Hardware ID and see that it was for a “CH340 Serial to USB Adapter” which had the Hardware ID “USB\VID_1A86&PID_7523”.

Hardware IDs

It turns out it is very common for the generic Arduino UNO SMD’s to require this driver. For convenience please see below for a download of the driver.

To install this driver, right-click on the missing device and select “update driver”. Then select “browse my computer for drivers” and select the folder where you have downloaded and extracted the above download.

Install Wizard
Install Wizard

Once installation is complete the device is ready to use.


Please get in touch if you have any comments or suggestions via email: [email protected]

Posted on Leave a comment

Update HTML 5 Remote Desktop Web Client

PowerShell Hero

The HTML 5 Remote Desktop Web Client for Windows RDS Deployments is regularly updated by Microsoft. However, the HTML 5 Web Client updates are not available through Windows Updates and have to be manually installed.

To see the latest release notes for the Latest HTML 5 Remote Desktop Client please visit:
https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/web-client-whatsnew

Once you have installed the HTML 5 Web Client it is important that it is regularly updated following your patching policy.

To update the HTML 5 Web Client:

1. Open a PowerShell console as Administrator (Right-click run as Administrator) on the Server running the RD Web Access role. Run the command below which will download the latest available version of the web client.

Install-RDWebClientPackage

2. Now that the latest web client has been downloaded. It can be published by running the command below which will replace the client for all users.

Publish-RDWebClientPackage -Type Production -Latest
Posted on Leave a comment

Install HTML 5 Web-Client for RDS Server

RDS HTML5 Client

The HTML 5 Remote Desktop Web-Client is available for Windows Server 2016/2019 that is configured as a Remote Desktop Services Deployment at no additional cost.

This allows for devices with a modern web browser to access an RDS server without having to use any additional apps. Which is a perfect solution for Mac and Chrome Book users as it will allow them to use the deployment without needing to install the Microsoft RDP App.

HTML 5 Remote Desktop Login Box

Prior to installation of the HTML 5 Web-Client, please ensure that the RDS infrastructure meets the requirements below:

  • RDS deployment has an RD Gateway, RD Connection Broker, and RD Web Access roles are installed on Windows Server 2016 or later.
  • RDS licensing must be configured for per-user client access licenses rather than per-device.
  • Ensure the RDS Deployment servers have the latest Windows updates installed.
  • RDS deployment must have valid SSL certificates issued by a trusted CA on the server containing the Gateway and Web Access roles. (Self-signed certificates do not work!)

Before starting the installation, we need to export the SSL certificate that is used by the RD Web Access role.

  1. Launch MMC as an administrator and add the certificates “Snap-In” and select “Computer Account” as shown below.
MMC Certificate managment

2. Once the Snap-In has loaded, navigate to > Certificates > Personal > Certificates.

3. On the valid certificate that is used for the Web Access role, right-click and select All Tasks > Export.

4. Export the certificate using the following options:
Select the format you want to use > “DER Encoded Binary X.509 (*.cer)”
File Name > Save in an easy to reference location i.e. C:\Temp\webaccesscert.cer

Export Certificate Wizard

Now that we have exported the certificate as a .cer file, we can begin the installation of the HTML 5 Web-Client.

1. Open a Powershell console as Administrator (Right-click run as Administrator) and run the command:

Install-Module -Name PowerShellGet –Force

2. Restart your Powershell console for this to take effect. (Close the console and re-launch it as Administrator and run the command:

Install-Module -Name RDWebClientManagement

4. Run the command below which will download and install the latest version of the Remote Desktop Web-Client.

Install-RDWebClientPackage

5. Using the certificate we exported earlier, run the command below and include the full path and name of the certificate.

Import-RDWebClientBrokerCert "C:\Temp\<Path to file>.cer"
HTML 5 Remote Desktop Client Install

6. Now that the client has be installed, run the command below to publish the client.

Publish-RDWebClientPackage -Type Production –Latest

7. The HTML 5 Web-Client is now accessible by using the URL below.

https://<Your FQDN>/RDWeb/webclient/index.html
i.e. https://remote.woodward.digital/RDWeb/webclient/index.html

8. This step is completely optional however, for ease of use for the end-user you can configure IIS to redirect users to the HTML 5 Web-Client.

Launch IIS Managnger on the server that has the RD Web Access role installed and select Sites > Default Website. Once selected then select the “HTTP Redirect” option located under the IIS Section.

Once selected, configure the HTTP Redictet using the options below:

Enable the option for “Redirect requests to this destination”
In the destination field enter the following URL: https://<Your FQDN>/RDWeb/webclient/index.html
Enable the option for “Redirect all requests to exact destination”

Once the options have been saved you can test the redirect is working as expected by navigating to your FQDN. You should then be presented with the HTML5 Web-Client and the installation is completed.

One key point to mention is that the Web-Client is not automatically updated through Windows update and a manual update is required. A further guide on how to do this is available:
https://woodward.digital/update-html-5-remote-desktop-web-client/

Posted on 1 Comment

Network Monitor – PowerShell Ping Script

Network Monitor - PowerShell Ping Script
Network Monitor a Network Monitoring Tool - PowerShell Ping Script

The Network Monitor is a simple PowerShell Ping Script that acts as a Network Monitoring Tool. That imports a CSV file which contains a list IP address and the names of the devices you would like to monitor. The script runs every 60 seconds, importing the list and testing the connection of every device to ensure it is online. Alerting you to any devices which are unavailable.

The Network Monitor has been written and developed by Woodward.Digital and is distributed freely under the MIT License.

Please contact me if you have any comments or suggestions: [email protected]

MIT License

Copyright (c) 2021 woodward.digital

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Posted on

Infection Monkey – Network penetration testing

Infection Monkey Logo

Infection Monkey is a free open-source, network penetration testing tool. It is a breach and attack simulator that uses real-world attack techniques and known vulnerabilities.

Evaluating your security is easy with Infection Monkey and takes 3 simple steps:

Step 1 – Simulate
Download and run Infection monkey from a machine. Installation is simple, to download Infection Monkey please complete the download request form located: https://www.guardicore.com/infectionmonkey/

The download link is then emailed to you. Once downloaded, run the installation.
Note: Depending on your Anti-Virus solution, you may need to disable it in order to run Infection Monkey. Dissapointily during my Tests, Windows Defender was oblivious to Infection Moneky and didn’t detect or stop any of the exploits on the local machine I was running it from.

Once installed open Infection Monkey and review the configuration. A key area is to add your internal IP Range which is located under Configuration > Network.

Now that Infection Monkey is configured and installed, you can run it from the Machine it is installed on by selecting “From Island”.

Run Infection Monkey

Step 2 – Evaluate
Watch as Infection Monkey runs and tests your network for any weakness. While it is running, Infection monkey will start to draw out a diagram detailing its “Victims” and whether it was able to exploit the victim.

Infection Monkey, Infection Map

Step 3 – Remediate
Act on the reports that Infection Monkey provides you with. If Infection Monkey reports that it wasn’t able to carry out any known exploits. You can use the information and its recommendations it provides to secure your network further. For example, you may want to consider segregating your network into separate VLANs or implementing an isolated guest network.

Using infection monkey correctly and on a regular basis can assist in securing your network. From my experience using Infection Monkey, I have found it works best by trying different scenarios. For example, Connected to a Guest network to simulate a visitors device that is infected and to confirm that the Guest network is correctly isolated.

Hopefully, you have found this to be a useful tool, I have only just scratched the surface explaining Infection Monkey. If you would like to know more please visit the official documentation: https://www.guardicore.com/infectionmonkey/docs/