SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
Chocolatey
The package manager for Windows
Software Management with DSC
and Chocolatey
Rob Reynolds
@ferventcoder
Rob Reynolds
• Creator and Founder of Chocolatey
• Enjoys long walks on the beach and designing
solutions that make hard things easy
• Co-wrote infrastructure framework 

known as the Chuck Norris Framework
• Over 10 years experience in 

infrastructure automation
• Obsesses over user experience
• Microsoft MVP for whatever they are
calling .NET area now
Agenda
• The Story of Windows
Automation
• Windows Software
Ecosystem
• Chocolatey
• Chocolatey + DSC
Let’s talk about a story…
possibly your story
The Story of Modern
Automation for Windows
You probably use or have
used traditional tools
Traditional Tools
• Manual Configuration
• Golden Images
• Endpoint management tools
• Not necessarily bad, just are harder to fit into
modern automation approaches
Modern Automation
• Feature-Rich
• Infrastructure as Code (IaC)
• Source Control
• Testable Infrastructure
• Reporting
• Centralized Management
PowerShell DSC
• Microsoft
• Building on PowerShell
• Desired State
• Modern Approaches
• Framework - couple it with full Configuration
Management Platforms like Puppet / Chef when
appropriate
So you modernized your
Windows automation
DevOps == Rainbows and
Unicorns
“Umm…”
Rainbows and Unicorns
“Just go with it…”
Something was not quite right…
Configuration Management
alone is missing something
Software Management / Package
Management is necessary for
great Configuration Management
Software management may
account for 50-90% of your
automation
Windows Software Ecosystem
• Over 20 installer formats and
thousands of installers in the
wild
• Zips and other archive
formats
• Software installers are messy
• It’s like the Wild West
PowerShell DSC - Package Resource
• You may have used Package Resource
• Finding the PackageID (MSI Product Code GUID)
• Non-MSI?
• Upgrades?
“Fortunately there is a
better way”
So you knew about
Chocolatey
But does it work well in
organizational sense?
That’s an iceberg
Well, obviously - what does
it represent though?
Here’s a hint
Let’s take a step back and
evaluate what’s possible
Chocolatey - Sane Software Management
• Easily manage the software lifecycle
• Native installers, zips, binaries
• PowerShell module simplifies work
• Packages are independent building
blocks
• Integrates with configuration
management
• Business friendly features
Chocolatey - The Approach
• Single, unifying interface - control
the chaos
• Decentralized - multiple places to
get packages, including internal
• PowerShell
• Flexible
• Secure
• Reliable
6+ years - proven technology
Community Package Repository
• https://chocolatey.org/
packages
• Community Feed / Community
Maintained
• Moderated as of October 2014
• Everything goes through
VirusTotal
• Organizations Should Not
Depend b/c Trust and Control
Hosting Your Own Package Server
• https://chocolatey.org/docs/how-to-host-feed
• Non-Windows Hosting
• Artifactory
• Sonatype Nexus
• NuGet Gallery proper
• ProGet / MyGet
• NuGet.Server / Chocolatey.Server
• Puppet - chocolatey/chocolatey_server module
• Visual Studio Team Services
Chocolatey Packages
• Zip files + Versioning, Dependencies & PowerShell
• Metadata - Software Information / Package Information
• PowerShell - https://chocolatey.org/docs/helpers-reference
• 30+ Built-in functions - turn hard tasks into 1 liners
• Handle additional missing installer logic (like add to PATH)
• Add options missing from installer arguments
• Files - drop in binaries, native installers
Creating Packages
• https://chocolatey.org/docs/create-
packages
• choco new
• Generates package files with most of
the work done
• Create your own packaging templates!
Package Builder
“Generates software
deployment packages”
Package Builder
• Package Builder automatically
creates high quality packaging from
an installer/zip in 5-10 seconds
• Determines everything necessary
for silently installing software
• Supports passing urls (and
checksums) - downloads files first
• Allows customization
• Supports exe, msi, 7z, zip, msu, and
msp files
How does it work?
Package Internalizer
“Convert existing packages
to offline”
Package Internalizer
• Take advantage of existing packages
without dependency on the internet
• Downloads existing package and all
remote resources
• Recompiles package to use those
internal resources
• Option to download and point to
other locations
• Ability to host packages on private
internal repositories
• Visual Interface coming
Package Synchronizer
You detect a theme for
feature names
Package Synchronizer - Auto Sync
• Chocolatey maintains state based
on packages. System state can be
manipulated outside of Chocolatey
• Any Chocolatey command will
trigger synchronization in licensed
editions of Chocolatey
• Package Synchronizer syncs with
manual software removal
• Syncs w/software that
automatically upgrades, such as
Chrome
Package Synchronizer - All Packages in Programs
and Features
• Any Chocolatey package
installed will result in an
entry in Programs and
Features, even if it doesn't
have a native install
• Supporting legacy inventory
reporting systems is now a
snap
• Do not need to build MSIs /
Installers for internal use just
to support legacy reporting
Package Synchronizer - Choco Sync Command
• Brings all software in
Programs and Features
under Chocolatey
management
• Generates packaging and
baselines to Chocolatey
install
• Provides packaging code to
take back to source control
How does it work?
Other Features
Other Features
• https://chocolatey.org/docs/
release-notes-licensed
• Auto-uninstaller more effective
thanks to more checks and
Package Synchronizer
• Install/upgrade passing secrets
• Ubiquitous Directory Switch
• More built-in PowerShell
functions
• Uninstall non-Chocolatey
managed software
• Self-Service Installer
• Package Throttle / Package
Modernizer / Package Grid
• Upcoming Central
Management UI
• Others
Roadmap
• WSA support / Windows Nano Support
• More Security / More UX
• Package enhancements
• Package signing / security enhancements
• Extend Nuspec further - name, version, release,
architecture (release is in, doesn’t work with anything yet so
don’t use it)
• Package Management Provider - hoping to finish here at
Summit!
Where does DSC come in?
cChoco DSC Resource
• Manages Chocolatey
installation
• Manages Choco sources
• Manages packages
• https://github.com/
PowerShellOrg/cChoco
• https://
www.powershellgallery.co
m/packages/cChoco/2.3.0.0
cChocoInstaller
• Manages Chocolatey
installation
• Manage install location
• Can work offline,
however currently
requires specifying a
script to run locally
cChocoSource
• Manage available package
sources
• Add or remove, does not
disable
• Add credentials
• Add priorities for sources
• Will need new source items -
0.10.4+
• Bug somewhere currently, so
hold on this one
cChocoPackageInstall
• Ensure software package
installation
• Optional params, chocoParams,
Version, Source, and AutoUpgrade
• Allows customizing complete
choco call
• Recommend not setting source
until it is fixed - https://
github.com/PowerShellOrg/
cChoco/issues/44 (pass source
through chocoParams)
cChoco - Get Involved
• If you are looking for a place to contribute, this is a
good place
Demo
Questions
+
• Rob
• @ferventcoder
• ferventcoder at
gmail
Evaluate Chocolatey for Business in your environment - special discounts available conference attendees - reach out at https://
chocolatey.org/contact for details

Contenu connexe

Tendances

Migración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL DeveloperMigración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL Developer
Valentin Leonard Tabacaru
 
Domino OSGi Development
Domino OSGi DevelopmentDomino OSGi Development
Domino OSGi Development
Paul Fiore
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Guido Schmutz
 
Giáo trình access 2010
Giáo trình access 2010Giáo trình access 2010
Giáo trình access 2010
https://www.facebook.com/garmentspace
 

Tendances (20)

BPEL, BPEL vs ESB (Integration)
BPEL, BPEL vs ESB (Integration)BPEL, BPEL vs ESB (Integration)
BPEL, BPEL vs ESB (Integration)
 
Migración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL DeveloperMigración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL Developer
 
Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)
 
CMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentCMIS: An Open API for Managing Content
CMIS: An Open API for Managing Content
 
Modern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and ThymeleafModern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and Thymeleaf
 
IBM DB2 for z/OS Administration Basics
IBM DB2 for z/OS Administration BasicsIBM DB2 for z/OS Administration Basics
IBM DB2 for z/OS Administration Basics
 
Introduction to Powershell Version 5
Introduction to Powershell Version 5Introduction to Powershell Version 5
Introduction to Powershell Version 5
 
Domino OSGi Development
Domino OSGi DevelopmentDomino OSGi Development
Domino OSGi Development
 
RNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance BoostRNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance Boost
 
Dev112 let's calendar that
Dev112   let's calendar thatDev112   let's calendar that
Dev112 let's calendar that
 
SKILLWISE-DB2 DBA
SKILLWISE-DB2 DBASKILLWISE-DB2 DBA
SKILLWISE-DB2 DBA
 
Git interview questions | Edureka
Git interview questions | EdurekaGit interview questions | Edureka
Git interview questions | Edureka
 
Functional Application Logging : Code Examples Using Spring Boot and Logback
Functional Application Logging : Code Examples Using Spring Boot and LogbackFunctional Application Logging : Code Examples Using Spring Boot and Logback
Functional Application Logging : Code Examples Using Spring Boot and Logback
 
솔라리스 OS 로그 분석
솔라리스 OS 로그 분석솔라리스 OS 로그 분석
솔라리스 OS 로그 분석
 
DNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First LookDNUG HCL Domino 11 First Look
DNUG HCL Domino 11 First Look
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
4. linux file systems
4. linux file systems4. linux file systems
4. linux file systems
 
Monitor và tối ưu sql server
Monitor và tối ưu sql serverMonitor và tối ưu sql server
Monitor và tối ưu sql server
 
Android Training (Storing data using SQLite)
Android Training (Storing data using SQLite)Android Training (Storing data using SQLite)
Android Training (Storing data using SQLite)
 
Giáo trình access 2010
Giáo trình access 2010Giáo trình access 2010
Giáo trình access 2010
 

Similaire à Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017

Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UKChocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
Rob Reynolds
 
Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017
Rob Reynolds
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
Puppet
 
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Puppet
 

Similaire à Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017 (20)

Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
Easily Manage Software on Windows with Chocolatey - PuppetConf 2016
 
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
PuppetConf 2016: Easily Manage Software on Windows with Chocolatey – Rob Reyn...
 
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UKChocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
Chocolatey + DSC = Software Automation Sweeter - PowerShell Day UK
 
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
 Chocolatey - Software Automation for Windows (and sneak peak of Central Mana... Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
Chocolatey - Software Automation for Windows (and sneak peak of Central Mana...
 
Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019
Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019
Chocolatey for Organizations: Easily Manage Software - PowerShell Summit 2019
 
Chocolatey + Artifactory = A Sweet Solution for Managing Windows
Chocolatey + Artifactory = A Sweet Solution for Managing WindowsChocolatey + Artifactory = A Sweet Solution for Managing Windows
Chocolatey + Artifactory = A Sweet Solution for Managing Windows
 
Modern Software Management on Windows w/Chocolatey
Modern Software Management on Windows w/ChocolateyModern Software Management on Windows w/Chocolatey
Modern Software Management on Windows w/Chocolatey
 
Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017Modern Software Management on Windows w/Chocolatey - That Conference 2017
Modern Software Management on Windows w/Chocolatey - That Conference 2017
 
Modern Software Management on Windows with Chocolatey and Puppet
Modern Software Management on Windows with Chocolatey and PuppetModern Software Management on Windows with Chocolatey and Puppet
Modern Software Management on Windows with Chocolatey and Puppet
 
PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...
PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...
PuppetConf 2017: Modern Software Management on Windows with Chocolatey and Pu...
 
Modern Software Management on Windows with Chocolatey - Automation Management...
Modern Software Management on Windows with Chocolatey - Automation Management...Modern Software Management on Windows with Chocolatey - Automation Management...
Modern Software Management on Windows with Chocolatey - Automation Management...
 
Chocolatey and Puppet: Managing Your Windows Software Since 2011
Chocolatey and Puppet: Managing Your Windows Software Since 2011Chocolatey and Puppet: Managing Your Windows Software Since 2011
Chocolatey and Puppet: Managing Your Windows Software Since 2011
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Windows Just Got Chocolatey (Package Management) LISA15
Windows Just Got Chocolatey (Package Management) LISA15Windows Just Got Chocolatey (Package Management) LISA15
Windows Just Got Chocolatey (Package Management) LISA15
 
Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014
Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014
Plugging Chocolatey into Your Puppet Infrastructure - PuppetConf 2014
 
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
Plugging Chocolatey into your Puppet Infrastructure PuppetConf2014
 
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
Easily Manage Patching and Application Updates with Chocolatey + Puppet - Apr...
 
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
 
Undine: Turnkey Drupal Development Environments
Undine: Turnkey Drupal Development EnvironmentsUndine: Turnkey Drupal Development Environments
Undine: Turnkey Drupal Development Environments
 
Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developers
 

Plus de Rob Reynolds

DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?
Rob Reynolds
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day Development
Rob Reynolds
 
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Rob Reynolds
 

Plus de Rob Reynolds (9)

Running a Successful Open Source Project
Running a Successful Open Source ProjectRunning a Successful Open Source Project
Running a Successful Open Source Project
 
Puppet On Windows - Puppet Camp DC 2015
Puppet On Windows - Puppet Camp DC 2015Puppet On Windows - Puppet Camp DC 2015
Puppet On Windows - Puppet Camp DC 2015
 
DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?DevOps: What is This Puppet You Speak Of?
DevOps: What is This Puppet You Speak Of?
 
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
 
DevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day DevelopmentDevOps: Using Vagrant to Enhance Your Day to Day Development
DevOps: Using Vagrant to Enhance Your Day to Day Development
 
Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)Automated Testing but like for PowerShell (April 2012)
Automated Testing but like for PowerShell (April 2012)
 
DevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on WindowsDevOps: Getting Started with Puppet on Windows
DevOps: Getting Started with Puppet on Windows
 
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
Puppet on Windows: Now You're Getting Chocolatey PuppetConf2013
 
UppercuT - Getting Started
UppercuT - Getting StartedUppercuT - Getting Started
UppercuT - Getting Started
 

Dernier

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Dernier (20)

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Software Management with PowerShell DSC and Chocolatey - PowerShell Summit 2017

  • 1. Chocolatey The package manager for Windows Software Management with DSC and Chocolatey Rob Reynolds @ferventcoder
  • 2. Rob Reynolds • Creator and Founder of Chocolatey • Enjoys long walks on the beach and designing solutions that make hard things easy • Co-wrote infrastructure framework 
 known as the Chuck Norris Framework • Over 10 years experience in 
 infrastructure automation • Obsesses over user experience • Microsoft MVP for whatever they are calling .NET area now
  • 3. Agenda • The Story of Windows Automation • Windows Software Ecosystem • Chocolatey • Chocolatey + DSC
  • 4. Let’s talk about a story… possibly your story
  • 5. The Story of Modern Automation for Windows
  • 6.
  • 7. You probably use or have used traditional tools
  • 8. Traditional Tools • Manual Configuration • Golden Images • Endpoint management tools • Not necessarily bad, just are harder to fit into modern automation approaches
  • 9. Modern Automation • Feature-Rich • Infrastructure as Code (IaC) • Source Control • Testable Infrastructure • Reporting • Centralized Management
  • 10. PowerShell DSC • Microsoft • Building on PowerShell • Desired State • Modern Approaches • Framework - couple it with full Configuration Management Platforms like Puppet / Chef when appropriate
  • 11. So you modernized your Windows automation
  • 12. DevOps == Rainbows and Unicorns “Umm…”
  • 13. Rainbows and Unicorns “Just go with it…”
  • 14.
  • 15.
  • 16.
  • 17. Something was not quite right…
  • 19. Software Management / Package Management is necessary for great Configuration Management
  • 20. Software management may account for 50-90% of your automation
  • 21. Windows Software Ecosystem • Over 20 installer formats and thousands of installers in the wild • Zips and other archive formats • Software installers are messy • It’s like the Wild West
  • 22. PowerShell DSC - Package Resource • You may have used Package Resource • Finding the PackageID (MSI Product Code GUID) • Non-MSI? • Upgrades?
  • 23. “Fortunately there is a better way”
  • 24. So you knew about Chocolatey
  • 25. But does it work well in organizational sense?
  • 26.
  • 28. Well, obviously - what does it represent though?
  • 30.
  • 31. Let’s take a step back and evaluate what’s possible
  • 32. Chocolatey - Sane Software Management • Easily manage the software lifecycle • Native installers, zips, binaries • PowerShell module simplifies work • Packages are independent building blocks • Integrates with configuration management • Business friendly features
  • 33. Chocolatey - The Approach • Single, unifying interface - control the chaos • Decentralized - multiple places to get packages, including internal • PowerShell • Flexible • Secure • Reliable 6+ years - proven technology
  • 34. Community Package Repository • https://chocolatey.org/ packages • Community Feed / Community Maintained • Moderated as of October 2014 • Everything goes through VirusTotal • Organizations Should Not Depend b/c Trust and Control
  • 35. Hosting Your Own Package Server • https://chocolatey.org/docs/how-to-host-feed • Non-Windows Hosting • Artifactory • Sonatype Nexus • NuGet Gallery proper • ProGet / MyGet • NuGet.Server / Chocolatey.Server • Puppet - chocolatey/chocolatey_server module • Visual Studio Team Services
  • 36. Chocolatey Packages • Zip files + Versioning, Dependencies & PowerShell • Metadata - Software Information / Package Information • PowerShell - https://chocolatey.org/docs/helpers-reference • 30+ Built-in functions - turn hard tasks into 1 liners • Handle additional missing installer logic (like add to PATH) • Add options missing from installer arguments • Files - drop in binaries, native installers
  • 37. Creating Packages • https://chocolatey.org/docs/create- packages • choco new • Generates package files with most of the work done • Create your own packaging templates!
  • 39. Package Builder • Package Builder automatically creates high quality packaging from an installer/zip in 5-10 seconds • Determines everything necessary for silently installing software • Supports passing urls (and checksums) - downloads files first • Allows customization • Supports exe, msi, 7z, zip, msu, and msp files
  • 40. How does it work?
  • 41.
  • 43. Package Internalizer • Take advantage of existing packages without dependency on the internet • Downloads existing package and all remote resources • Recompiles package to use those internal resources • Option to download and point to other locations • Ability to host packages on private internal repositories • Visual Interface coming
  • 45. You detect a theme for feature names
  • 46. Package Synchronizer - Auto Sync • Chocolatey maintains state based on packages. System state can be manipulated outside of Chocolatey • Any Chocolatey command will trigger synchronization in licensed editions of Chocolatey • Package Synchronizer syncs with manual software removal • Syncs w/software that automatically upgrades, such as Chrome
  • 47. Package Synchronizer - All Packages in Programs and Features • Any Chocolatey package installed will result in an entry in Programs and Features, even if it doesn't have a native install • Supporting legacy inventory reporting systems is now a snap • Do not need to build MSIs / Installers for internal use just to support legacy reporting
  • 48. Package Synchronizer - Choco Sync Command • Brings all software in Programs and Features under Chocolatey management • Generates packaging and baselines to Chocolatey install • Provides packaging code to take back to source control
  • 49. How does it work?
  • 50.
  • 52. Other Features • https://chocolatey.org/docs/ release-notes-licensed • Auto-uninstaller more effective thanks to more checks and Package Synchronizer • Install/upgrade passing secrets • Ubiquitous Directory Switch • More built-in PowerShell functions • Uninstall non-Chocolatey managed software • Self-Service Installer • Package Throttle / Package Modernizer / Package Grid • Upcoming Central Management UI • Others
  • 53. Roadmap • WSA support / Windows Nano Support • More Security / More UX • Package enhancements • Package signing / security enhancements • Extend Nuspec further - name, version, release, architecture (release is in, doesn’t work with anything yet so don’t use it) • Package Management Provider - hoping to finish here at Summit!
  • 54. Where does DSC come in?
  • 55. cChoco DSC Resource • Manages Chocolatey installation • Manages Choco sources • Manages packages • https://github.com/ PowerShellOrg/cChoco • https:// www.powershellgallery.co m/packages/cChoco/2.3.0.0
  • 56. cChocoInstaller • Manages Chocolatey installation • Manage install location • Can work offline, however currently requires specifying a script to run locally
  • 57. cChocoSource • Manage available package sources • Add or remove, does not disable • Add credentials • Add priorities for sources • Will need new source items - 0.10.4+ • Bug somewhere currently, so hold on this one
  • 58. cChocoPackageInstall • Ensure software package installation • Optional params, chocoParams, Version, Source, and AutoUpgrade • Allows customizing complete choco call • Recommend not setting source until it is fixed - https:// github.com/PowerShellOrg/ cChoco/issues/44 (pass source through chocoParams)
  • 59. cChoco - Get Involved • If you are looking for a place to contribute, this is a good place
  • 60. Demo
  • 62. + • Rob • @ferventcoder • ferventcoder at gmail Evaluate Chocolatey for Business in your environment - special discounts available conference attendees - reach out at https:// chocolatey.org/contact for details