Skip to content

Instantly share code, notes, and snippets.

@pmolchanov
pmolchanov / PoshWebHarness.ps1
Created June 18, 2015 17:13
Simple PowerShell HTTP/HTTPS web server useful for mocking web services
# Use the following commands to bind/unbind SSL cert
# netsh http add sslcert ipport=0.0.0.0:443 certhash=3badca4f8d38a85269085aba598f0a8a51f057ae "appid={00112233-4455-6677-8899-AABBCCDDEEFF}"
# netsh http delete sslcert ipport=0.0.0.0:443
$HttpListener = New-Object System.Net.HttpListener
$HttpListener.Prefixes.Add("http://+:80/")
$HttpListener.Prefixes.Add("https://+:443/")
$HttpListener.Start()
While ($HttpListener.IsListening) {
$HttpContext = $HttpListener.GetContext()
$HttpRequest = $HttpContext.Request
@pmolchanov
pmolchanov / S3UpDown.ps1
Created September 7, 2016 18:00
Quick n Dirty S3 Upload/Download for Powershell
# Upload
&{
$ErrorActionPreference = 'Stop'
$AWSRegion = "us-east-1"
$AWSAccessKeyId = "TODO: Access Key"
$AWSSecretAccessKey = "TODO: Secret Access Key"
$BucketName = "TODO: Bucket Name"
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.ShowDialog() | Out-Null
@pmolchanov
pmolchanov / parseCraigslistRssFeed.py
Created January 19, 2016 07:42
Parse Craigslist RSS Feed
from lxml import etree
def parseCraigslistRssFeed(url):
listings = []
xml = etree.parse(url)
channel = xml.getroot().find('{*}channel')
items = xml.getroot().findall('{*}item')
for item in items:
title = item.find('{*}title').text
desc = item.find('{*}description').text
@pmolchanov
pmolchanov / ConfigureWindowsExplorerForDev.ps1
Last active November 7, 2019 23:51
Developer settings for Windows Explorer
&{
# Configure Windows Explorer Options
$key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced'
Set-ItemProperty $key Hidden 1
Set-ItemProperty $key HideFileExt 0
Set-ItemProperty $key ShowSuperHidden 1
Set-ItemProperty $key AlwaysShowMenus 1
Set-ItemProperty $key AutoCheckSelect 0
Stop-Process -ProcessName explorer
}
@pmolchanov
pmolchanov / InstallSerivice.ps1
Created May 13, 2015 07:29
Install a service
$ServiceExe = "MyService.exe"
$ServiceName = "MyService"
$ServiceDisplayName = "MyService DisplayName"
$ServiceBinPath = [System.IO.Path]::GetFullPath($ServiceExe)
& sc.exe delete $ServiceName
& sc.exe create $ServiceName binPath= "`"$ServiceBinPath`"" DisplayName= "`"$ServiceDisplayName`""
& sc.exe start $ServiceName
@pmolchanov
pmolchanov / SilentSysinternalsInstall.ps1
Last active August 13, 2019 11:09
Silent Sysinternals Install
&{
(New-Object System.Net.WebClient).DownloadFile(
"https://download.sysinternals.com/files/SysinternalsSuite.zip",
"$env:TEMP\SysinternalsSuite.zip")
$Shell = New-Object -com shell.application
$Zip = $Shell.NameSpace("$env:TEMP\SysinternalsSuite.zip")
New-Item -ItemType Directory -Force -Path "$env:ProgramFiles\SysinternalsSuite"
$Shell.Namespace("$env:ProgramFiles\SysinternalsSuite").CopyHere($Zip.Items())
[Environment]::SetEnvironmentVariable(
"Path",
@pmolchanov
pmolchanov / ImportSSLCert.ps1
Created July 6, 2016 17:06
Import SSL Certificate
&{
# Select PFX file dialog
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.Title = "Select SSL Certificate in PFX format"
$OpenFileDialog.Filter = "Personal Information Exchange (*.pfx)|*.pfx"
$OpenFileDialog.ShowDialog() | Out-Null
$PFXFile = $OpenFileDialog.FileName
# Get password dialog
@pmolchanov
pmolchanov / netcathttp.sh
Created March 5, 2016 18:40
Simple NetCat HTTP server
while true ; do echo -e "HTTP/1.1 200 OK\n\n $(date)" | nc -l -p 1500 ; done
@pmolchanov
pmolchanov / FindLargeFiles.ps1
Created April 1, 2015 22:29
Finds large files on your C: drive
Get-ChildItem C:\ -Recurse -ErrorAction 'silentlycontinue' | Where-Object {$_.Length -gt 100MB} | Sort-Object -Property Length -Descending | Select-Object -First 10 | Format-Table -AutoSize -Wrap -Property FullName,Length | Out-String -Width 4096 | Out-File "foo.txt"
@pmolchanov
pmolchanov / sslcertinfo.sh
Created February 8, 2016 04:07
Get SSL certificate info
#!/usr/bin/env bash
echo -n "Enter the host name and press [ENTER]: "
read host
echo | openssl s_client -connect $host:443 2>/dev/null | openssl x509 -noout -text