SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Puppet and Windows 
Do’s and Don’ts
Who is that guy? 
and why should I listen to him.
Quick overview 
● Why Windows 
● Do’s 
● Don’ts 
● Recap 
● Questions
Why Windows?
We need this, 
and you seem smart
Do’s
Upgrade Puppet 
Ohhh, shiny!
Clean Code 
Keep 'em Separated
Reboots
Powershell 
An elegant weapon for a more civilized 
age.
Use the registry
Invest time in Chocolatey 
Manual Install, ain’t nobody got time for that
Add checks 
Failure is an option
Open Source 
Code like nobody’s peer reviewing.
Don’ts
Get a domain controller 
There can be only one
Try to solve it in Hiera 
Unless you enjoy puzzles
Mix slashes
Think file based 
You are going to have a bad time!
Recap
Do’s 
● Upgrade puppet 
● Clean code 
● Reboots 
● Powershell 
● Registry 
● Chocolaty 
● Add Checks 
● Open Source
Don’ts 
● Do not get a domain controller 
● Do not try to solve it in hiera 
● Do not mix slashes 
● Do not think file based
Questions?
Important Links 
Windows Package Management 
https://chocolatey.org/ 
Powershell Objects 
http://s.basg.nl/1vdVyxx
List of Modules 
puppetlabs/mssql 
rismoney/chocolatey 
badgerious/windows_env 
martezr/rdp 
rmsphd/windows_firewall 
adenning/winntp 
puppetlabs/acl 
puppetlabs/registry 
puppetlabs/reboot 
joshcooper/powershell 
puppetlabs/dism 
puppetlabs/inifile
Final Notes 
Presentation is online 
http://s.basg.nl/puppetwindows 
You can find me on Google+ 
http://google.com/+basgrolleman

Weitere ähnliche Inhalte

Was ist angesagt?

Writing Tools to Make Teaching Student Writing Simple
Writing Tools to Make Teaching Student Writing SimpleWriting Tools to Make Teaching Student Writing Simple
Writing Tools to Make Teaching Student Writing SimpleVicki Davis
 
Learning to learn english
Learning to learn englishLearning to learn english
Learning to learn englishMahmoud Mokhtar
 
ViewsWoW! (for Drupal)
ViewsWoW! (for Drupal)ViewsWoW! (for Drupal)
ViewsWoW! (for Drupal)Adelle Frank
 
Tips for Product Management by Movile Product Coordinator
Tips for Product Management by Movile Product CoordinatorTips for Product Management by Movile Product Coordinator
Tips for Product Management by Movile Product CoordinatorProduct School
 
Bruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceBruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceOpen Labs Albania
 

Was ist angesagt? (9)

Writing Tools to Make Teaching Student Writing Simple
Writing Tools to Make Teaching Student Writing SimpleWriting Tools to Make Teaching Student Writing Simple
Writing Tools to Make Teaching Student Writing Simple
 
Web Design That Works
Web Design That WorksWeb Design That Works
Web Design That Works
 
Learning to learn english
Learning to learn englishLearning to learn english
Learning to learn english
 
Before the project
Before the projectBefore the project
Before the project
 
ViewsWoW! (for Drupal)
ViewsWoW! (for Drupal)ViewsWoW! (for Drupal)
ViewsWoW! (for Drupal)
 
Tips for Product Management by Movile Product Coordinator
Tips for Product Management by Movile Product CoordinatorTips for Product Management by Movile Product Coordinator
Tips for Product Management by Movile Product Coordinator
 
Codesters
CodestersCodesters
Codesters
 
How to run a hackday
How to run a hackdayHow to run a hackday
How to run a hackday
 
Bruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open sourceBruno Skvorc - The many ways to contribute to open source
Bruno Skvorc - The many ways to contribute to open source
 

Ähnlich wie Puppet and windows do's and don'ts

Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...NETWAYS
 
Xconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceXconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceParas Narang
 
Nonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutionsNonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutions501 Commons
 
Intro to Tools & Resources: UMSI Orientation Fall 2014
Intro to Tools & Resources: UMSI Orientation Fall 2014Intro to Tools & Resources: UMSI Orientation Fall 2014
Intro to Tools & Resources: UMSI Orientation Fall 2014Jackie Wolf
 
50+ Ways to Improve Your Classroom With Technology v 4.0
50+ Ways to Improve Your Classroom With Technology v 4.050+ Ways to Improve Your Classroom With Technology v 4.0
50+ Ways to Improve Your Classroom With Technology v 4.0Vicki Davis
 
How to Build a Game in One Weekend - HackExtend Prep Day
How to Build a Game in One Weekend - HackExtend Prep DayHow to Build a Game in One Weekend - HackExtend Prep Day
How to Build a Game in One Weekend - HackExtend Prep DayNataly Eliyahu
 
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringeChocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringeRob Reynolds
 
Everyday computer tips
Everyday computer tipsEveryday computer tips
Everyday computer tipsHolly Akers
 
Understanding and implementing website security
Understanding and implementing website securityUnderstanding and implementing website security
Understanding and implementing website securityDrew Gorton
 
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...Puppet
 
Software Testing Overview
Software Testing OverviewSoftware Testing Overview
Software Testing OverviewHawkman Academy
 
Developing word press professionally
Developing word press professionallyDeveloping word press professionally
Developing word press professionallyAustin Gil
 
Common mistakes by beginners in Programming
Common mistakes by beginners in ProgrammingCommon mistakes by beginners in Programming
Common mistakes by beginners in ProgrammingDejan Toteff
 
Arduino day, Bangalore
Arduino day, BangaloreArduino day, Bangalore
Arduino day, Bangaloreviralsachde
 

Ähnlich wie Puppet and windows do's and don'ts (20)

Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
Puppet Camp Duesseldorf 2014: Bas Grolleman - Using puppet on windows, do's a...
 
Xconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceXconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open Source
 
Tdd distilled... in java
Tdd distilled... in javaTdd distilled... in java
Tdd distilled... in java
 
Nonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutionsNonprofit technology common problems and some possible solutions
Nonprofit technology common problems and some possible solutions
 
Intro to Tools & Resources: UMSI Orientation Fall 2014
Intro to Tools & Resources: UMSI Orientation Fall 2014Intro to Tools & Resources: UMSI Orientation Fall 2014
Intro to Tools & Resources: UMSI Orientation Fall 2014
 
50+ Ways to Improve Your Classroom With Technology v 4.0
50+ Ways to Improve Your Classroom With Technology v 4.050+ Ways to Improve Your Classroom With Technology v 4.0
50+ Ways to Improve Your Classroom With Technology v 4.0
 
How to Build a Game in One Weekend - HackExtend Prep Day
How to Build a Game in One Weekend - HackExtend Prep DayHow to Build a Game in One Weekend - HackExtend Prep Day
How to Build a Game in One Weekend - HackExtend Prep Day
 
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringeChocolatey Goodness: From Fringe to Mainstream #dotnetfringe
Chocolatey Goodness: From Fringe to Mainstream #dotnetfringe
 
Lvl.up
Lvl.upLvl.up
Lvl.up
 
Everyday computer tips
Everyday computer tipsEveryday computer tips
Everyday computer tips
 
Understanding and implementing website security
Understanding and implementing website securityUnderstanding and implementing website security
Understanding and implementing website security
 
LET'S TALK ANDROID Dev
LET'S TALK ANDROID DevLET'S TALK ANDROID Dev
LET'S TALK ANDROID Dev
 
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Break...
 
How to make a presentation
How to make a presentationHow to make a presentation
How to make a presentation
 
Introduce Python
Introduce PythonIntroduce Python
Introduce Python
 
Software Testing Overview
Software Testing OverviewSoftware Testing Overview
Software Testing Overview
 
Developing word press professionally
Developing word press professionallyDeveloping word press professionally
Developing word press professionally
 
Common mistakes by beginners in Programming
Common mistakes by beginners in ProgrammingCommon mistakes by beginners in Programming
Common mistakes by beginners in Programming
 
Arduino day, Bangalore
Arduino day, BangaloreArduino day, Bangalore
Arduino day, Bangalore
 
SummerCamp 2010
SummerCamp 2010SummerCamp 2010
SummerCamp 2010
 

Kürzlich hochgeladen

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Kürzlich hochgeladen (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Puppet and windows do's and don'ts

Hinweis der Redaktion

  1. Initial Slide
  2. So, a quick introduction, my name is Bas Grolleman and I have been freelancing for over 8 years now, keeping myself running on a healthy mix of good espresso, sarcasm and whisky. From those 8 years, 6 where spend getting large sets of machines to do the same thing using puppet. And now I’m training to be a Scrum Master, because in practice, when they call in the freelancer there is this huge wishlist combined with an even larger technical debt. And I think scrum is one of the best ways to show quick results but make sure there is enough time for improvement.
  3. I’ll quickly go over the structure of this presentation.
  4. I don’t like windows, but that’s not saying much, I don’t like Mac either. And avocado’s, terrible things. Still, here I am on stage talking about Windows, so why? In the end it comes down to a single thing
  5. This is what happens, the reality of work My first experience was with Kobo, (show ereader), the ebook company Windows setups with puppet needed a lot of reboots, and where inconsistent. Brought it down to 2 reboots and reliable results. I might have actually enjoyed it a few times, as solving problems is fun. But my hair is short for a reason, it’s not all quad cores and multi screen setups.
  6. I’m a positive guy, so it will mostly be a do’s kind of presentation.
  7. At least 3.3 - Because of the Reboot module Newer is better, as windows support is improving
  8. Obvious right? If it is possible to make one piece of code that works on Linux/Windows without OS Specific stuff, do that. You can cheat with default parameters. When this is not the case, do not spread case statements everywhere Put Generic stuff at the top Case statement with Kernel for the rest Add comments when you skip stuff and why You might want to use separate files ( profile::base::windows, profile::base::linux )
  9. Windows requires reboots, and I might want to have a chat with the guy that thought rebooting wasn’t so bad. This requires some thought, because your puppet runs will be broken up Check out the puppetlabs/reboot module Fixes the issue by stopping puppet for reboot, avoiding half configured stuff Figure out what pieces of code go together Limit the amount of reboots Use fixed versions, nobody is happy when half the datacenter starts rebooting. Avoid reboots in future
  10. I don’t know powershell in depth, but I steal But I know enough to see what kind of code I’m reading Get a good powershell module (Joshcooper or Puppetlabs) Have a look at Powershell ISE when writing scripts Lead Developer - Jeffrey Snover, had excellent talk during Devops in Amsterdam
  11. puppetlabs/Registry Lot’s of stuff done in registry instead of files, crucial difference
  12. rismoney/chocolatey module I skipped this, but it saves a lot of time Package management / auto upgrades
  13. Create a module with just checks Windows Only Linux Only Use the $caller_module_name variable and a define to give clear hints
  14. Fork, even without code getting pulled, someone might help out on your version of the module Lot’s of work needs to be done Don’t worry about doing pull requests
  15. A few things I would recommend you should not be doing
  16. This will result in 2 systems wanting to control If required, make sure to check if changes aren’t returning frequently Avoid user management with a domain controller
  17. Fix stuff in one place If it only works when you have a set of hiera code, it’s hard to debug It’s even harder to implement later
  18. Mix Slashes, try to use backwards slashes all the time Works for file Doesn’t work for exec When in doubt, escape the slashes, it will work on both cases
  19. Windows is object based Files should be the last place to look Check registry Check objects using powershell
  20. This is a future reference for those looking at the presentation later If I have time to spare, I could go into one of the modules more in-depth