Skip to content

Instantly share code, notes, and snippets.

View darrenjrobinson's full-sized avatar

Darren Robinson darrenjrobinson

View GitHub Profile
# Your API Client ID
$clientID = 'yourClientID'
# Your API Client Secret
$clientSecret = 'yourSecret'
$Bytes = [System.Text.Encoding]::utf8.GetBytes("$($clientID):$($clientSecret)")
$encodedAuth = [Convert]::ToBase64String($Bytes)
# Your IdentityNow Tenant Name
$orgName = 'yourOrg'
# IdentityNow Admin User and PWD to connect with via oAuth
$adminUSR = [string]"yourAdminAccount".ToLower()
@darrenjrobinson
darrenjrobinson / Get my Gists.ps1
Last active February 2, 2023 17:15
Retrieve all my Github Gists via search using PowerShell. Associated blog post here https://blog.darrenjrobinson.com/searching-and-retrieving-your-github-gists-using-powershell/
# Authenticate
$clientID = 'myGitHubUsername'
# GitHub API Client Secret
$clientSecret = '21c22a9f0ca888373a3077614d0abcdefghijklmnop'
# Basic Auth
$Bytes = [System.Text.Encoding]::utf8.GetBytes("$($clientID):$($clientSecret)")
$encodedAuth = [Convert]::ToBase64String($Bytes)
# Search based on Description
$search = "Import Script"
@darrenjrobinson
darrenjrobinson / getM365AppUserDetail.ps1
Last active February 2, 2023 12:06
Getting Microsoft 365 Individual User Usage Report with PowerShell. Associated Blogpost https://blog.darrenjrobinson.com/getting-microsoft-365-individual-user-usage-reports-with-powershell/
Function AuthN {
<#
.SYNOPSIS
Authenticate to Azure AD and receieve Access and Refresh Tokens.
.DESCRIPTION
Authenticate to Azure AD and receieve Access and Refresh Tokens.
.PARAMETER tenantID
(required) Azure AD TenantID.
@darrenjrobinson
darrenjrobinson / UpdatedNSGSourceIPRDPRuleStartVMandConnect.ps1
Last active January 25, 2023 15:39
Update an Azure NSG for my current public ip address, start the virtual machine and launch remote desktop to the VM. Associated blogpost https://blog.darrenjrobinson.com/automating-source-ip-address-updates-on-an-azure-network-security-group-rdp-access-rule/
# My RG
$resourceGroup = "MyResourceGroup"
# VM that will be started after updating the NSG
$VMName = "MyVM"
# NSG Name
$NSGName = "MyResourceGroupNSG"
# RDP File
$RDPFile = "C:\Users\Darren\Desktop\MyVM.rdp"
# Get my Public IP
import msal
import jwt
import json
import sys
import requests
from datetime import datetime
global accessToken
global requestHeaders
global tokenExpiry
@darrenjrobinson
darrenjrobinson / Auth_Query_MSGraph_MSAL.py
Last active November 30, 2022 22:48
Authenticate and Query Microsoft Graph using MSAL and Python. Associated blogpost https://blog.darrenjrobinson.com/microsoft-graph-using-msal-with-python/
import msal
import jwt
import json
import requests
import pandas as pd
from datetime import datetime
accessToken = None
requestHeaders = None
tokenExpiry = None
$Global:headers = $null
$Global:SSFBaseURI = "https://api10preview.sapsf.com/odata/v2/"
$Global:SSFBusinessEmailType = "159139"
$Global:SSFPersonalEmailType = "159140"
Function Connect-SSF {
[cmdletbinding()]
param(
[Parameter(Mandatory = $true, ValueFromPipeline = $true)]
[string]$SSFBaseURI
@darrenjrobinson
darrenjrobinson / OracleSQLQuery.ps1
Last active August 18, 2022 11:47
Query Oracle SQL DB using PowerShell and ODAC.NET (so no Oracle Client required). Associated blogpost https://blog.darrenjrobinson.com/using-powershell-to-query-oracle-dbs-without-using-the-oracle-client-oracle-data-provider-for-net/
# Path to ODAC.NET Installation
Add-Type -Path "c:\ODAC\odp.net\managed\common\Oracle.ManagedDataAccess.dll"
$reader = $false
# SQL DB Username, Password and DataSource Alias (as per tnsnames.ora)
$username = "SQLQueryUserName"
$password = "SQLUserPassword"
# Alias from TNSNames.ora
$datasource = "IDM"
@darrenjrobinson
darrenjrobinson / Azure LogAnalytics Report to CSV.ps1
Last active August 5, 2022 08:21
Azure Log Analytics Report using KQL via REST API with PowerShell output to CSV. Associated blogpost https://blog.darrenjrobinson.com/?p=39731
#The resource URI
$resource = "https://westus2.api.loganalytics.io"
#Your Client ID and Client Secret obtained when registering your WebApp
$clientid = "yourAADAppClientID"
$clientSecret = "yourAADAppClientSecret"
#Your Reply URL configured when registering your WebApp
$redirectUri = "https://localhost"
#Scope
$scope = "Data.Read"
Add-Type -AssemblyName System.Web
import wincertstore
import base64
import ssl
import os
from cryptography import x509
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from cryptography.x509.oid import ExtensionOID
# Certificate Name & Thumbprint to look for