Skip to content

Instantly share code, notes, and snippets.

@zippy1981
zippy1981 / DeepCopyTest.ps1
Created March 9, 2012 14:54
PowerShell Deepcopy demo
# Get original data
$data = @{
First = 'Justin';
Last = 'Dearing';
Resume = @{
Experience = [HashTable[]]@(
@{
StartDate = [DateTime] (Get-Date '2002-03-23');
EndDate = [DateTime] (Get-Date '2007-05-15');
Company = 'ACME ISP';
@zippy1981
zippy1981 / Foreach-Scope.ps1
Created March 5, 2012 22:28
Illustrates Foreach-Object scope weirdness.
$script:filename = ""
1..100 | % {
$script:filename = "$($env:temp)\deleteme-$($_).txt"
"Code: $(Get-Random 4-9)-$($_)"
} | Set-Content $script:filename
@zippy1981
zippy1981 / integerDivision.test.ps1
Created January 10, 2012 03:33
Powershell [int][Math]::Floor($a/$b) versus [Math]::Floor([int]$a / [int]$b)
<#
In which I prove that that the terser [int][Math]::Floor($a/$b) gives the
same results as the technet recommended [Math]::Floor([int]$a / [int]$b)
Said technet recomendation is available at:
http://technet.microsoft.com/en-us/library/ee176879.aspx
One extra cast is probably slower too.
#>
1.. 1000 | ForEach-Object {
Foreach ($divisor in 2,3,5,7) {
@zippy1981
zippy1981 / mstsc-Ac.ps1
Created January 7, 2012 21:21
Mstsc Autoconnect
<#
.SYNOPSIS
mstsc-Ac.ps1 (Version 1.0, 7 Jan 2012)
The author may be contacted via zippy1981@gmail.com
The latest authoritative version of this script is always available at
http://bit.ly/mstsc-Ac
.DESCRIPTION
This script will see if a host is up and listening on a given port, and start a
remote desktop connection to it. The idea is you run this script after rebooting a windows server
.EXAMPLE
@zippy1981
zippy1981 / .gitignore
Created October 9, 2011 13:28
Powershell Scripts to load evetlogs into mongodb and then query them
*~
*** Assembly Binder Log Entry (9/23/2011 @ 10:19:11 PM) ***
The operation was successful.
Bind result: hr = 0x0. The operation completed successfully.
Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Running under executable C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
--- A detailed error log follows.
=== Pre-bind state information ===
@zippy1981
zippy1981 / scratch.sql
Created September 8, 2011 21:29
Demonstrating CREATE DATABASE file case insensitivity to @grrl_geek
USE master;
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'dropMe')
DROP DATABASE [dropMe]
GO
CREATE DATABASE dropMe;
GO
DECLARE @fileName VARCHAR(MAX)
@zippy1981
zippy1981 / Get-Rows.ps1
Created September 7, 2011 20:07
Powershell script to demo Jorge's (@sqlchicken) Problem
$cn = New-Object System.Data.SqlClient.SqlConnection 'Data Source=.;Initial Catalog=master;Integrated Security=SSPI;';
$cn.Open();
$cmd = $cn.CreateCommand()
$cmd.CommandText="SELECT * FROM sys.tables"
$rdr = $cmd.ExecuteReader();
$dt = New-Object System.Data.DataTable;
$dt.Load($rdr);
$dt.Rows | Format-Table;
@zippy1981
zippy1981 / Create-Mdb.ps1
Created August 23, 2011 21:45
A powershell script that demonstrates using PInvoke to create an access database.
# Copyright (c) 2011 Justin Dearing <zippy1981@gmail.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
@zippy1981
zippy1981 / Get-OleDbProviders.ps1
Created August 23, 2011 10:48
Enumerates through the registry to list OleDb providers.
# Based Loosely on this VB script using a commercial ActiveX object to interrogate the registry.
# http://www.motobit.com/help/regedit/sa117.htm
Get-ChildItem HKLM:\SOFTWARE\Classes\CLSID | ForEach-Object {
$regKey = $_;
if ($regKey.GetValue('OLEDB_SERVICES') -ne $null -and $regKey.OpenSubKey("OLE DB Provider") -ne $null) {
New-Object PSObject -Property @{
'Key' = $regKey.GetValue("");
'OLEDBProvider' = $regKey.OpenSubKey("OLE DB Provider").GetValue("");
};
}