Nathaniel Webb (ArtisanByteCrafter)

Explore articles and content from this author

Nathaniel Webb (ArtisanByteCrafter)

5 articles published

3 min read

Quick ProTip: Negotiate TLS Connections In Powershell With A Minimum TLS Version Requirement

Synopsis

This is a quick post to highlight the nuances of Powershell and protocol management in regard to TLS connections. If you’ve ever attempted to make a secure connection (for example, an API request) to a service with certain net security requirements, you might have run into this problem.

While TLS is negotiated at the highest level existing on both the server and the client, the minimum protocols defined by Powershell may include ones that you explicitly do not want. While explicitly declaring an enumerated protocol list is easy enough, what happens when Tls13 becomes more common, and we want to start utilizing it when it’s available? Then Tls14, and beyond?

4 min read

Universal Dashboard Templates – Scaffolding a New UD Project with Powershell

All code from this article is freely available on Github as a template repository. Just click “Use this template” on the repository page here:

https://github.com/ArtisanByteCrafter/ud-template

Index

The Why

Why should you consider scaffolding a new project? While we’re here, what exactly is scaffolding? Much like the term’s origin a project scaffold is meant to build a consistent framework and design that you can use to build your projects with.

5 min read

Learn To Use Verbose Output Streams In Your Pester Tests

I’m going to file this under “Either I’m a genius, or there’s a much better way and everyone knows it except for me.”

I recently began adding a suite of Pester tests to one of my projects and I found myself needing to mock some unit tests against a particular function that would modify a variable based on the parameter specified. Since all the functions I write nowadays are considered advanced functions (and yours should be too, they’re free!), I discovered a nice way to test the function’s actions using the

7 min read

Secure Your Powershell Session with JEA and Constrained Endpoints

Index

What is a constrained endpoint and why would I need one?

Powershell constrained endpoints are a means of interacting with powershell in a manner consistent with the principal of least privilege. In Powershell terms, this is referred to as Just-Enough-Administration, or JEA.

JEA is very well documented, so this won’t simply be repeating everything those references detail. Instead, we’ll go through a simple, real-world use-case of when and why you might need to deploy one.

4 min read

Running Universal Dashboard with Ubuntu and Nginx (With HTTPS!)

ImgurA basic UniversalDashboard running on nginx

Index

Prerequisites

For this writeup, I’m using Ubuntu 18.04. Software packages are geared toward using that version.

First, we’ll need to install our dependencies

There are several ways to install Powershell core on Ubuntu. I recommend Microsoft’s documentation for ubuntu 18.04 here

Once installed, enter Powershell and install the UniversalDashboard module. This will use the community edition.

pwsh PS> Install-Module UniversalDashboard.Community -Scope CurrentUser Confirm it is installed: