Skip to content

Instantly share code, notes, and snippets.

View naamancampbell's full-sized avatar

Naaman Campbell naamancampbell

  • Brisbane, Australia
View GitHub Profile
@naamancampbell
naamancampbell / powershell-commands.ps1
Last active May 10, 2019 08:42
aws-cloudformation-awsmad - Automating the setup of an Office 365-enabled AWS Directory Services Microsoft Active Directory - as per https://aws.amazon.com/blogs/security/how-to-enable-your-users-to-access-office-365-with-aws-microsoft-active-directory-credentials/
# ADMgmt
## install chocolatey
Set-ExecutionPolicy Bypass; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
## install firefox
choco install -y firefox
## install AD Tools
Import-Module ServerManager
Add-WindowsFeature RSAT-AD-Tools
## create testing accounts
New-ADOrganizationalUnit -Name "Groups" -Path "OU=CLANCAMPBELL,DC=clancampbell,DC=id,DC=au"
@naamancampbell
naamancampbell / acmecert.ps1
Last active October 17, 2017 11:41
Automatically provisions new Lets Encrypt SSL certificate (using AWS Route 53 DNS verification) and adds to Windows Local Machine certificate store. Route 53 IAM Role required.
###
# References:
# - https://github.com/RobBiddle/ACMESharpRoute53Automation
# - https://github.com/ebekker/ACMESharp/wiki/Quick-Start
# - https://pkisharp.github.io/ACMESharp-docs/Quick-Start
# - https://www.frankysweb.de/exchange-2016-lets-encrypt-zertifikat-erneuern/
###
$BaseDomain = "clancampbell.id.au"
$FedServiceName = "sts.$BaseDomain"
## generate Certificate Signing Request (CSR) with certutil
$FedServiceName = "sts.clancampbell.id.au"
$RequestPolicy = @"
[Version]
Signature="`$Windows NT$"
[NewRequest]
Subject = "CN=$FedServiceName,OU=ICT,O=ClanCampbell,L=Brisbane,S=Queensland,C=AU"
Exportable = FALSE ; TRUE = Private key is exportable
KeyLength = 2048 ; Valid key sizes: 1024, 2048, 4096, 8192, 16384
KeySpec = 1 ; Key Exchange – Required for encryption
@naamancampbell
naamancampbell / CloudFormation-PowerShell-Creds.ps1
Last active May 10, 2019 08:43 — forked from davefunkel/Script-Template-WithCreds.ps1
Generates and distributes encrypted passwords for use with PowerShell scripts used in CloudFormation templates.
<#
.SYNOPSIS
Generates and distributes encrypted passwords for use with PowerShell scripts used in CloudFormation templates.
.DESCRIPTION
The CloudFormation-PowerShell-Creds script is designed to be run prior to running a CloudFormation stack
then called again from within the CloudFormation template. The purpose is to avoid the use of cleartext
passwords in CloudFormation templates/PowerShell scripts.
There are three main components of this script:
@naamancampbell
naamancampbell / Disable-UAC.ps1
Created October 21, 2017 11:26
Disables UAC without privilege escalation. NB. Must run from another host (mgmt).
##########
## 1. Save file on mgmt host.
## - change 'COMPUTERNAME' to target hostname
##########
Configuration Disable-UAC {
Import-DscResource -ModuleName PsDesiredStateConfiguration
Import-DscResource -ModuleName xSystemSecurity -Name xUac
@naamancampbell
naamancampbell / dashboard.html
Last active October 19, 2019 21:38
Display Multiple Strava Activity Maps in Flask Template
{% for activity in activities %}
<div class="post">
{% if activity.strava_data['map']['polyline'] is not none %}
<div id="map_{{ activity.id }}" class="img-fluid" style="height: 300px;"></div>
{% endif %}
{# other activity data #}
</div>
{% endfor %}
@naamancampbell
naamancampbell / .env_lambda.ps1
Last active January 2, 2018 08:31
Reads PowerShell environment variables file to upload to AWS Lambda
<#
.SYNOPSIS
Reads PowerShell environment variables file to upload to AWS Lambda
.DESCRIPTION
The .env_lambda script is made of the following steps:
1. Skips the first three lines of the .env file
2. Retrieves the contents of each line after the first ":"
3. Joins all variables into a comma-separated string
4. Uploads variables up to AWS Lambda
@naamancampbell
naamancampbell / function.json
Created January 2, 2018 11:35
Strava API Subscription Webhook on Azure Functions
{
"bindings": [
{
"type": "httpTrigger",
"direction": "in",
"name": "req",
"authLevel": "anonymous",
"methods": [
"get",
"post"
@naamancampbell
naamancampbell / copy_lambda_env_vars.py
Last active May 30, 2019 10:12
Copy AWS Lambda environment variables from source Lambda function to destination Lambda function
import argparse
import boto3
"""
Usage: copy_lambda_env_vars.py [-h] [--src-profile-name SRC_PROFILE]
[--dst-profile-name DST_PROFILE]
src_function dst_function
Utility to copy environment variables from source Lambda function to
destination Lambda function.
---
title: "Boy Swallows Universe - Routes"
author: "Naaman Campbell"
date: "11 January 2020"
output:
html_document:
code_folding: hide
---
```{r setup, include=FALSE}