Skip to content

Instantly share code, notes, and snippets.

@joefitzgerald
joefitzgerald / win-updates.ps1
Created Dec 31, 2013
Install All Windows Updates, Rebooting As Many Times As Required
View win-updates.ps1
param($global:RestartRequired=0,
$global:MoreUpdates=0,
$global:MaxCycles=10)
function Check-ContinueRestartOrEnd() {
$RegistryKey = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
$RegistryEntry = "InstallWindowsUpdates"
switch ($global:RestartRequired) {
0 {
$prop = (Get-ItemProperty $RegistryKey).$RegistryEntry
@joefitzgerald
joefitzgerald / Vagrantfile
Last active Jul 6, 2018
Windows Vagrantfile - Installs .NET 4.5, VS 2012, VS 2012 Update 3, then a bunch of utilities, then syspreps the machine. Get https://github.com/joefitzgerald/packer-windows for the base box and add it with the name "windows2008r2".
View Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "vagrant-windows"
config.vm.box = "windows2008r2"
# You should be using the vagrant-windows Vagrant Plugin!
# Admin user name and password
config.winrm.username = "Administrator"
@joefitzgerald
joefitzgerald / sysprep-and-seal.ps1
Created Aug 17, 2013
Sysprep And Remove Vagrant User
View sysprep-and-seal.ps1
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" -Name "SysprepAndSeal" -ErrorAction SilentlyContinue
$ObjUser = [ADSI]"WinNT://localhost/vagrant";
$ObjUser.userflags = 2;
$ObjUser.setinfo();
C:\Windows\System32\sysprep\sysprep.exe /generalize /oobe /quiet /shutdown
@joefitzgerald
joefitzgerald / prerequisites.sh
Last active Mar 29, 2017
Tech Summit Pre-Requisites Checker
View prerequisites.sh
#!/bin/bash --login
set -o nounset
export EXPECTED_RUBY_VERSION="1.9.3"
export EXPECTED_RBENV_RUBY_VERSION="1.9.3-p545"
logError () {
logCustom 1 "ERROR: $1"
@joefitzgerald
joefitzgerald / gist:6083434
Last active Jan 12, 2017
Debug Log Level For vagrant-windows Debugging
View gist:6083434
$ VAGRANT_LOG=debug vagrant up --provider=vmware_fusion
INFO global: Vagrant version: 1.2.4
DEBUG global: Loading core plugin: /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.4/plugins/commands/box/plugin.rb
INFO manager: Registered plugin: box command
DEBUG global: Loading core plugin: /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.4/plugins/commands/destroy/plugin.rb
INFO manager: Registered plugin: destroy command
DEBUG global: Loading core plugin: /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.4/plugins/commands/halt/plugin.rb
INFO manager: Registered plugin: halt command
DEBUG global: Loading core plugin: /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.4/plugins/commands/init/plugin.rb
INFO manager: Registered plugin: init command
@joefitzgerald
joefitzgerald / gist:7914669
Created Dec 11, 2013
Cygwin/OpenSSH sshd.conf
View gist:7914669
# $OpenBSD: sshd_config,v 1.89 2013/02/06 00:20:42 dtucker Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/bin:/usr/sbin:/sbin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
@joefitzgerald
joefitzgerald / Berksfile
Last active Dec 21, 2015
Windows Berksfile
View Berksfile
site :opscode
cookbook 'windows', github: 'joefitzgerald/windows'
cookbook '7-zip'
cookbook 'chocolatey', github: 'chocolatey/chocolatey-cookbook'
cookbook 'webpi', github: 'opscode-cookbooks/webpi'
cookbook 'dotnetframework', github: 'joefitzgerald/dotnetframework'
cookbook 'sqlce'
cookbook 'visualstudio', github: 'joefitzgerald/visualstudio'
cookbook 'chocolatey-installer', github: 'joefitzgerald/chocolatey-installer'
View gist:6160001
[vagrant-windows] Running provisioner: shell...
C:\Users\vagrant>shutdown /r /t 0
C:\Users\vagrant>sleep 30
An error occurred executing a remote WinRM command.
Shell: powershell
Command: function which {
$command = [Array](Get-Command $args[0] -errorAction SilentlyContinue)
@joefitzgerald
joefitzgerald / gist:6132124
Created Aug 1, 2013
remote_file Error Stacktrace
View gist:6132124
Generated at 2013-08-01 07:45:02 -0700
NoMethodError: windows_package[7-Zip 9.20 (x64 edition)] (7-zip::default line 21) had an error: NoMethodError: remote_file[c:/vagrant/chef/cache/7z920-x64.msi] (dynamically defined) had an error: NoMethodError: private method `select' called for nil:NilClass
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.6.0/lib/chef/file_content_management/deploy/mv_windows.rb:67:in `deploy'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.6.0/lib/chef/provider/file.rb:331:in `update_file_contents'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.6.0/lib/chef/provider/file.rb:350:in `block in do_contents_changes'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.6.0/lib/chef/mixin/why_run.rb:52:in `call'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.6.0/lib/chef/mixin/why_run.rb:52:in `add_action'
C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.6.0/lib/chef/provider.rb:149:in `converge_by'
C:/opscode/chef/embedded/lib/ruby/gems/
@joefitzgerald
joefitzgerald / gist:6083383
Created Jul 25, 2013
Info Log Level For vagrant-windows Debugging
View gist:6083383
$ vagrant destroy --force
[vagrant-windows] Stopping the VMware VM...
[vagrant-windows] Deleting the VM...
usxxfitzgj8m1:test joe$ VAGRANT_LOG=info vagrant up --provider=vmware_fusion
INFO global: Vagrant version: 1.2.4
INFO manager: Registered plugin: box command
INFO manager: Registered plugin: destroy command
INFO manager: Registered plugin: halt command
INFO manager: Registered plugin: init command
INFO manager: Registered plugin: package command