{"id":275,"date":"2016-07-01T06:00:00","date_gmt":"2016-07-01T14:00:00","guid":{"rendered":"https:\/\/andrewwippler.com\/?p=275"},"modified":"2016-06-24T15:52:07","modified_gmt":"2016-06-24T23:52:07","slug":"puppet-with-windows","status":"publish","type":"post","link":"https:\/\/andrewwippler.com\/2016\/07\/01\/puppet-with-windows\/","title":{"rendered":"Puppet with Windows"},"content":{"rendered":"

Using Puppet on Windows workstations can be a challenge. The different architectures (x86 and x86_64) can have an impact on declaring packages. I have decided to ignore 32 bit systems and treat all as 64 bit – after all, it is 2016 and 32 bit should not be deployed.
\n<\/p>\n

Since everything is stored in the registry (and I am no registry expert), I find myself first making a change in the GPO, searching for the change in the registry, and converting what I found to Puppet manifests. There are a few modules that also help with local policy settings.<\/p>\n

I have my Windows workstations checking in to Puppet every hour as it is not critical for them to be in-sync as often as multi-user servers.<\/p>\n

I have found PuppetDB to be a great alternative to inventory software. The modules to get it in that state are:<\/p>\n

ody\/pkginventory<\/a> (using my pull request for Windows support)
\n
jhaals\/<\/span>warranty<\/a><\/p>\n

Several other modules help Windows become easier to manage – they are:<\/p>\n

puppetlabs\/<\/span>registry<\/a>
\n
chocolatey\/chocolatey<\/a>
\n
puppetlabs\/powershell<\/a>
\n
ayohrling\/local_security_policy<\/a>
\n
https:\/\/github.com\/Puppet-Finland\/local_group_policy<\/a><\/p>\n

My roles::workstation manifest includes the base profile, an anti-virus software install, company-wide fonts, and a few key utilities I like to use on customer computers – Defraggler, LibreOffice, and DelProf2<\/a>. Being that it is Puppet, I can deploy either exe, msi, or Chocolatey packages to computers.<\/p>\n","protected":false},"excerpt":{"rendered":"

Using Puppet on Windows workstations can be a challenge. The different architectures (x86 and x86_64) can have an impact on declaring packages. I have decided to ignore 32 bit systems and treat all as 64 bit – after all, it is 2016 and 32 bit should not be deployed.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[55],"tags":[29,26,28],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/posts\/275"}],"collection":[{"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/comments?post=275"}],"version-history":[{"count":6,"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/posts\/275\/revisions"}],"predecessor-version":[{"id":284,"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/posts\/275\/revisions\/284"}],"wp:attachment":[{"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/media?parent=275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/categories?post=275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/andrewwippler.com\/wp-json\/wp\/v2\/tags?post=275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}