Skip to content

Instantly share code, notes, and snippets.

View mcc85s's full-sized avatar
💭
Keeping it real and simple.

Michael C Cook Sr. mcc85s

💭
Keeping it real and simple.
  • Secure Digits Plus LLC
  • 201D Halfmoon Circle, Clifton Park NY
View GitHub Profile
Class PercentProgress
{
[DateTime] $Start
[DateTime] $Now
[DateTime] $End
[Float] $Percent
[TimeSpan] $Elapsed
[TimeSpan] $Remain
[TimeSpan] $Total
PercentProgress([String]$Start)
@mcc85s
mcc85s / Import-NTDSCertificate.ps1
Last active February 1, 2023 19:09
To import an NTDS Store Certificate... not yet tested.
# Bennett @ https://stackoverflow.com/questions/21895800/powershell-script-to-install-certificate-into-active-directory-store
# Modified/Simplified
Function Import-NTDSCertificate
{
[ CmdletBinding () ] Param (
[ Parameter ( Mandatory ) ] [ String ] $File ,
[ Parameter ( Mandatory ) ] [ String ] $Password ,
#Remove certificate from LocalMachine\Personal certificate store
# Name -> [list cmdlet parameters alias - powershell]
# Link -> https://www.youtube.com/watch?v=z79w4cmhius
# Updated *slightly*...
$CommandName = Read-Host "Type command name"
(Get-Command $CommandName).Parameters.Values | Select-Object Name, Aliases
# // ================================================================================================================
# // | This script creates a time object similar to the [System.Diagnostics.Stopwatch] object, but is much simpler. |
# // ================================================================================================================
# [Script area]
# Overload class definition
Class Time
{
Hidden [Object] $Start
Time()
$Account = "admin"
$Key = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList"
$Split = @( )
ForEach ($Node in $Key -Split "\\")
{
$Split += $Node
$Path = $Split -join "\"
If (!(Test-Path $Path))
{
New-Item $Path -ItemType Directory -Verbose
Class CustomProperty
{
[UInt32] $Index
Hidden [String] $Path
Hidden [Object] $Property
[String] $Name
[Object] $Value
[UInt32] $Exists
[Object] $Target
[UInt32] $Compliant
@mcc85s
mcc85s / VMDKConversion.ps1
Last active November 10, 2022 15:10
For converting a VirtualBox/VMware vmdk file to vhdx
# [VMDK] (VMWare/VirtualBox) -> [VHDX] (Hyper-V)
# https://gist.github.com/rahilwazir/69a750b70348459875cbf40935af02cb
# Microsoft Virtual Machine Converter (Link active as of 2021_0121)
# http://download.microsoft.com/download/9/1/E/91E9F42C-3F1F-4AD9-92B7-8DD65DA3B0C2/mvmc_setup.msi
# Import Module
Import-Module "C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1"
# Pathing
@mcc85s
mcc85s / Download-WindowsServer2019.ps1
Last active November 10, 2022 15:08
Server2019.ps1
Function Download-WindowsServer2019
{
[CmdLetBinding()]Param(
[Parameter(Position=0,Mandatory=$True)][String]$Path)
$Current = [Net.ServicePointManager]::SecurityProtocol
[Net.ServicePointManager]::SecurityProtocol = 3072
Import-Module BITSTransfer
$Image = "17763.379.190312-0539.rs5_release_svc_refresh_SERVER_EVAL_x64FRE_en-us.iso"
@mcc85s
mcc85s / Gather-Download.ps1
Last active November 10, 2022 15:08
For downloading any file, assuming a default location, and immediately obtaining and displaying the SHA256 output of said file once it is downloaded
Function Gather-Download
{
[CmdLetBinding()]Param(
[ValidateNotNullOrEmpty()]
[Parameter(Position=0,Mandatory)][String]$URL,
[Parameter(Position=1)][String]$Path="$Home\Downloads",
[Parameter(Position=2)][String]$Info=$URL,
[Parameter(Position=3)][Switch]$Hash)
Import-Module BitsTransfer
@mcc85s
mcc85s / Character Arrays
Last active November 10, 2022 14:55
Precalculating an array
# // __________________________________
# // | Original @ 09/26/2019 14:49:00 |
# // ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
# // __________________________________________________________________________________________________________
# // |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|
# // | Example, you want to have a spacing in the way your stuff is written to the screen. |
# // | You can have characters already fully assembled, and then select the distance with the array selector. |
# // | You can use this idea in a couple different ways... |
# // |________________________________________________________________________________________________________|