Skip to content

Instantly share code, notes, and snippets.

View 1RedOne's full-sized avatar

Stephen Owen 1RedOne

View GitHub Profile
@1RedOne
1RedOne / SetupDC.ps1
Created March 16, 2021 15:22
Complete One Page DSC Domain Controller Setup
$secpasswd = ConvertTo-SecureString 'IWouldLiketoRecoverPlease1!' -AsPlainText -Force
$SafeModePW = New-Object System.Management.Automation.PSCredential ('guest', $secpasswd)
$secpasswd = ConvertTo-SecureString 'IveGot$kills!' -AsPlainText -Force
$localuser = New-Object System.Management.Automation.PSCredential ('guest', $secpasswd)
configuration TestLab
{
param
(
@1RedOne
1RedOne / Readme.Md
Created January 25, 2021 17:39
Why ARC Matters

Ancient History

The world's most popular platform to manage giant ass windows envrionments is made by microsoft, it's called System Center Configuration Manager.  Now called MEMCM, Microsoft Endpoint. 

Before I became a dev I was a consultant setting up ConfigMgr for big companies for years.

This was good but was mostly built for managing devices the company owns, it didn't really support managing devices the user brought in, like a personal cell phone or personal laptop scenario.

So Microsoft made a new product that can handle that scenario, like how we joined Azure AD on our laptops to set them up. that's called MDM management. It uses a different channel to configure devices than SCCM did.

@1RedOne
1RedOne / New-MoqMethodConfiguration.ps1
Created August 14, 2020 18:05
PowerShell Function to handle Moq Setup and Verifies for you!
<#
.Synopsis
Creates your Moq.Setups for you!
.DESCRIPTION
Provide a method signature to receive an example of a basic, lazy Mock for the method
.EXAMPLE
$myMethodSignature = "
GetDeploymentStatus(
string someToken,
int someIntValue = 10,
@1RedOne
1RedOne / OnAirFlow.ps1
Created July 28, 2020 17:00
A functional script to turn a light on and off when entering and leaving Teams and Skype Meetings
#Companion Code to blog post found on FoxDeploy.com 'DIY On-Air Light for Microsoft Teams'
Add-Type -Path "C:\Program Files (x86)\Microsoft Office 2013\LyncSDK\Assemblies\Desktop\Microsoft.Lync.Model.dll";
$lightOnEventName = "meetingStart"
$lightOffEventName = "meetingStop"
$iftttKey = '<YourKeyGoesHere>'
$sleepInterval = 180
$lyncclient = [Microsoft.Lync.Model.LyncClient]::GetClient()
$LastState = $null
@1RedOne
1RedOne / GetKeys.ps1
Created July 24, 2020 14:04
Get matching keys from a hash table
$hash = @{
showThisOne = 'showMe1';
showThisTwo = 'showMe2';
showThisThree = 'showMe3';
showThisFour = 'showMe4';
DontShowThis = 'hideme';
AlsoDontShowThis = 'hideme';
}
<Window x:Class="WpfApp2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp2"
mc:Ignorable="d"
Title="MainWindow" Height="1000" Width="800">
<Grid Background="#FF0B4A80">
<Grid.RowDefinitions>
<Window x:Class="WpfApp2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp2"
mc:Ignorable="d"
Title="MainWindow" Height="1000" Width="800">
<Grid Background="#FF0B4A80">
<Grid.RowDefinitions>
@1RedOne
1RedOne / FoxDeploy_NewGUI.ps1
Last active May 8, 2020 18:34
ContinuousAutomation Part II PowerShell GUIs
[void][System.Reflection.Assembly]::LoadWithPartialName('presentationframework')
$xamlPath = "$($PSScriptRoot)\$((split-path $PSCommandPath -Leaf ).Split(".")[0]).xaml"
if (-not(Test-Path $xamlPath)){
throw "Ensure that $xamlPath is present within $PSScriptRoot"
}
$inputXML = Get-Content $xamlPath
$inputXML = $inputXML -replace 'mc:Ignorable="d"','' -replace "x:N",'N' -replace '^<Win.*', '<Window'
[xml]$XAML = $inputXML
@1RedOne
1RedOne / Thoughts.md
Created May 6, 2020 18:28
Thoughts On Blog Direction

Choosing what content to write about is hard. I can only spare so much time and effort to write something, and the level of quality I strive for means I really do take a lot of time per each post.

It's also somewhat like choosing which arrows to use from my quiver. Each one I put in the air takes effort and if people choose to follow the arrow all the way to the target, it will take them effort and time to understand the concepts. So I have to be very picky about which topics I cover, and pick only the highest value ones.

For instance, I'm working on a blog post now, demonstrating how to migrate from a PowerShell WPF GUI to an asp.net core web app and wow...I have fallen out of love with WPF GUIs.

I know it's ironic, I basically became an MVP off of writing how to create better and better WPF PowerShell GUIs for enterprise automation, and now I'm falling out of love with them.

But after three years of doing bootstrap asp.net webapps, I just can't conscientiously recommend people plow the 1,000 hours that

@1RedOne
1RedOne / CommentsToWordCloud.ps1
Created January 20, 2020 17:44
YouTubeCommentsTo WordCloud
#goes along with this - https://gist.github.com/1RedOne/ca4e1ac49bf46bb7f30a503a3cae6fd2 and the post on FoxDeploy.com
#update to match your infoOutput.json path
if (!(get-module PSWordCloud)){
write-warning "This depends on PSWordCloud being installed, please run `Install-Module PSWordCloud -Scope CurrentUser'"
break
}
$girlsFashion = get-content ".\1-9-2020-11_31_44AM-InfoOutput.json" | ConvertFrom-Json
$tags = $girlsFashion.Tags | select Tags