Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
[email protected]
(12 Apr 2017)
Search
Glenn
April 12, 2017
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
[email protected]
(12 Apr 2017)
A lightning talk for the PowerShell and DevOps summit 2017
Glenn
April 12, 2017
More Decks by Glenn
See All by Glenn
Documentation is UX
glennsarti
0
79
Beyond Pester 103 : Applying a testing mindset
glennsarti
0
96
(PS Virtual Global '20) Beyond Pester 101: Applying testing principles to PowerShell
glennsarti
0
200
Sharing: What's in it for me!? (DevOpsDays Syd 2019)
glennsarti
0
130
How to become a SHiPS wright - Building with SHiPS
glennsarti
0
210
Beyond Pester 102: Acceptance testing with PowerShell
glennsarti
0
410
(PS Conf Asia '18) Beyond Pester 101: Applying testing principles to PowerShell
glennsarti
0
350
(NDC Sydney) Sharing: What's in it for me!?
glennsarti
1
830
PowerShell Summit - Lean Coffee
glennsarti
0
210
Other Decks in Technology
See All in Technology
Refining Active Record
shugo
0
160
大型犬好きによるPugの紹介
yamanoku
1
160
WasmをRustにする
sansantech
PRO
0
250
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
770
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
230
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
730
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
390
Metadata - Section 1: HTML Basics
mohab1
0
120
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
290
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Skip the Path - Find Your Career Trail
mkilby
1
260
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
The Language of Interfaces
destraynor
162
27k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Marketing to machines
jonoalderson
1
5.9k
Transcript
[email protected]
@glennsarti
Me • Senior Software Engineer at Puppet Specialising in Windows
• 15 years in Desktop Engineering and IT Navy, Government, Mining, Finance, Corporate • DevOps advocate @glennsarti
1. Simple developer tools Day to day helpful things 2.
PS Module for VM Pooler Using the VM Pooler API and a WPF GUI 3. The Powershell Module for Puppet A story of next level shenanigans @glennsarti
Simple developer tools @glennsarti
Demo time? @glennsarti
PS Module for VM Pooler @glennsarti
What is VM Pooler? “Provide configurable 'pools' of instantly available
(running) virtual machines” @glennsarti
@glennsarti
It has a REST API so … Invoke-RESTMethod time! @glennsarti
But where’s the demo?
The PowerShell Module for Puppet … @glennsarti
… Next level shenanigans @glennsarti
@glennsarti
v1.0.6 @glennsarti
exec { 'Delete thing': command => 'Remove-Item C:\first.txt', onlyif =>
'Test-Path C:\first.txt', provider => powershell, } exec { 'Create thing': command => 'New-Item C:\2nd.txt', unless => 'Test-Path C:\2nd.txt', provider => powershell, } @glennsarti
@glennsarti EXEC powershell.exe powershell.exe powershell.exe powershell.exe EXEC
Benefits & Problems @glennsarti
v2.0.0 @glennsarti
@glennsarti EXEC powershell.exe EXEC RS+ RS+ RS+ RS+
Benefits @glennsarti
v2.0.2 @glennsarti
@glennsarti EXEC powershell.exe EXEC RS+ RS+ RS+ RS+
@glennsarti EXEC powershell.exe (+) EXEC RS RS RS RS
Benefits @glennsarti
… on the 4th August 2016 @glennsarti
(MODULES-3690) Powershell module hangs on latest Powershell (5.1.14394.1000) @glennsarti
@glennsarti PowerShell GH Issue #2068 (Curly) PowerShell GH Issue #2071
(STDIN)
v2.1.0 @glennsarti
puppet @glennsarti EXEC powershell.exe (+) EXEC RS RS RS RS
Named Pipes
Benefits & Problems @glennsarti
v2.x.0 (In progress) @glennsarti
puppet @glennsarti EXEC powershell.exe (+) EXEC RS RS RS RS
Named Pipes
puppet @glennsarti EXEC Powershell Core EXEC RS RS RS RS
Pipes/Sockets
Benefits & Problems @glennsarti
@glennsarti MODULES-3945 https://tickets.puppetlabs.com/browse/MODULES-3945
@glennsarti Require a fix in Dotnet Core CLR Add-Type reference
assembly bug https://github.com/PowerShell/PowerShell/issues/1616
@glennsarti PowerShell needs to build with later Dotnet Core version
https://github.com/PowerShell/PowerShell/pull/3398
@glennsarti Unable to determine CLR version within PowerShell https://github.com/PowerShell/PowerShell/issues/1984
@glennsarti Dotnet Core missing support for Unix Domain Sockets Can’t
pass in a domain socket name https://github.com/dotnet/corefx/commit/fcc5cc9d78
@glennsarti Loopback behaviour IP4 vs IP6
v2.2.0 (In progress) @glennsarti
puppet @glennsarti EXEC powershell.exe EXEC /usr/bin/powershell /usr/bin/powershell /usr/bin/powershell /usr/bin/powershell POSIX
Windows
Benefits & Problems @glennsarti
Demo?
https://github.com/puppetlabs/puppetlabs-powershell @glennsarti http://glennsarti.github.io/ https://speakerdeck.com/glennsarti All images are copyright of their
respective owners