SPLaunch – new CodePlex for PowerShell automation

May 2, 2014

Yesterday I published a new CodePlex project to automate PowerShell remoting.   Basically I got tired of RDP-ing to 10 machines to type the same command 10 times.  Why not use a local PowerShell window to read CSV with server names and execute remotely in bulk?    Well, now you can.

 

Give it a try for an hour to download, setup, and run.  You can save that much time in just a day by using this in instead of juggling RDP and typing multiple PowerShell commands.   Please leave a comment or CodePlex review to let me know what you think.   Smile

 

http://splaunch.codeplex.com/

 

 

Business Challenge

  • Growing list of servers
  • Inconsistent configuration (DEV has, TEST lacks, PROD just crazy)
  • Need to reduce admin time. Make room for business analysis, teach how to use, evangelize features

Technical Solution

  • PowerShell remoting + automation wrapper = rapid fire commands
  • PS1 with functions
  • Noun CSV with server farms and login user
  • Verb CSV with "shortcut" alias PowerShell commands
  • Mix and match Noun/Verb CSV with automation wrapper (New-PSSession / Invoke-Command)

Examples

Open all servers in the "DCO" farm (Development Collaboration) and show total RAM size with percent used:

  • LaunchFarm DCO
  • LaunchShortcut ram | ft -a

Open just the first server across all farms and show the SharePoint build number:

  • LaunchFarm ALL 1
  • LaunchShortcut spver | ft -a

NOTE – MUST MANUALLY UPDATE "Noun" CSV file with target machine names, AD domain,
and user account before any commands can be run.

 

Screenshots

1
2
3
4

Getting Started

  • Enable PowerShell remoting and WSMan CredSSP on all target servers. "Enable-PSRemoting -Force"and "Enable-WSManCredSSP -Role Server" http://dustinhatch.tumblr.com/post/24589312635/enable-powershell-remoting-with-credssp-using-group
  • Enable PowerShell client with "Enable-PSRemoting -Force" and "Set-Item wsman:\localhost\client\trustedhosts * -Force"
  • Update NounCSV with servers and user names
  • Run "SPLaunch.ps1 -install" to add to $profile so it starts with new PowerShell windows
  • Run LaunchAFarm to see farms
  • Run LaunchAFarm DCO to connect to that farm (comma separated allows multiple farms)
  • Run LaunchAShortcut to see shortcuts
  • Run LaunchAShortcut RAM to execute the "RAM" command (end with " | ft" to format as table)
  • Enjoy!

Warnings

  • Account lockout – Possible if typing the password wrong and open many sessions at once.
  • System update – Verb CSV can modify configuration on many servers quickly. Use carefully for changes.

Please drop me a line via email spjeff@spjeff.com or Twitter @spjeff with ideas. I’m always open to suggestions and improvements.

Do not start Server Manager automatically at logon

August 8, 2013

This option is harder to find in Windows Server 2012 than it was in 2008R2.   A quick blog will help me remember and maybe even help some of you fine folks also.  Cheers!  Smile

 

image

image

PowerShell – download all files in a Document Library

July 3, 2013

I needed to download the full contents of a Document Library to a local folder.   Explorer View, SharePoint Designer, and WebDAV simply weren’t fast enough for the large number of items needed.  So I wrote a quick script:

$s = Get-SPSite “http://sp2013”
$files = $s.RootWeb.GetFolder("Shared Documents").Files
foreach ($file in $files) {
    Write-host $file.Name
    $b = $file.OpenBinary()
    $fs = New-Object System.IO.FileStream(("d:\temp\"+$file.Name), [System.IO.FileMode]::Create)
    $bw = New-Object System.IO.BinaryWriter($fs)
    $bw.Write($b)
    $bw.Close()
}

References

 
Return to Top ▲Return to Top ▲