Get-Posh-Git | Test-Lab
Posts in This series
- Test-HomeLab -InputObject “The Plan”
- Get-Posh-Git | Test-Lab (This Post)
- Get-DSCFramework | Test-Lab
- Invoke-DscBuild | Test-Lab
- Test-Lab | Update-GitHub
My initial test lab starting to take shape.
I have a vyos router bridging my production environment and my isolated virtual switch similar to what Greg Altman talks about on PowerShell.org
And I have one Windows 8.1 Pro VM to setup the PowerShell.org DSC tools
Now I’m going to get the development branch, as it has some major fixes, including a re-working of how modules are tested and package, and how passwords are stored. The part on password is the big item for me.
Now I could just download it via GitHub using IE.
But this blog is about giving back to the community so I’m going to using the GitHub client, and it’s included Posh-Git module for PowerShell.
The GitHub client is a nice simple GUI client, but I have one issue with it. It installs into a users profile. While all store apps and downloaded .net apps do this and it’s a good thing for isolation. In a secure environment like where i work it’s frowned apon. So ifyour in that boat, Posh-Git can be downloaded from github and works with other git clients.
Now I dont plan on using the GUI for the purpose of this blog so I’m going to change my PowerShell profile to load posh-git. GitHub client has to be ran once to create the files I use in my profile.
The commands for that are.
#create/add posh-git to profile
if (-not (test-path (split-path -Path $profile.CurrentUserAllHosts -Parent)))
{
mkdir (split-path -Path $profile.CurrentUserAllHosts -Parent)
}
'. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")' | out-file -Path $profile.CurrentUserAllHosts -Append
'. $env:github_posh_git\profile.example.ps1' | out-file -Path $profile.CurrentUserAllHosts -Append
restart powershell and I can run get-module to see what modules are loaded.
C:\> Get-Module
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 1.0.0.0 ISE {Get-IseSnippet, Import-IseSnippet, New-IseSnippet}
Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...}
Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Script 0.0 posh-git {Add-SshKey, Enable-GitColors, Get-AliasPattern, Get-GitDirectory...}
Now we are ready to fork the PowerShell.org DSC repository and clone it locally.
Leave a Comment
Your email address will not be published. Required fields are marked *