diff --git a/Puppetfile b/Puppetfile index 4ed0792..88af026 100644 --- a/Puppetfile +++ b/Puppetfile @@ -20,6 +20,10 @@ mod 'puppetlabs-registry', '3.1.0' mod 'puppetlabs-powershell', '3.0.1' mod 'puppet-windowsfeature', '3.2.2' mod 'puppetlabs-chocolatey', '5.0.2' +mod 'puppetlabs-wsus_client', '3.1.0' +mod 'puppetlabs-accounts', '6.1.0' +mod 'puppetlabs-dism', '1.3.1' +mod 'puppetlabs-dsc', '1.9.4' # Modules from Git # Examples: https://github.com/puppetlabs/r10k/blob/master/doc/puppetfile.mkd#examples diff --git a/manifests/os/win.pp b/manifests/os/win.pp index eec1381..02d09c8 100644 --- a/manifests/os/win.pp +++ b/manifests/os/win.pp @@ -1,5 +1,5 @@ class os::win { - if $osfamily == 'windows' { + if $facts[osfamily] == 'windows' { include role::custom_windows } } diff --git a/site-modules/profile/manifests/custom_windows.pp b/site-modules/profile/manifests/custom_windows.pp index c9b86b0..79f333e 100644 --- a/site-modules/profile/manifests/custom_windows.pp +++ b/site-modules/profile/manifests/custom_windows.pp @@ -1,6 +1,7 @@ class profile::custom_windows ( - Boolean $custom_account = false, - if $custom_account { - class { '::profile::windows::custom_account': } + Boolean $add_user = true, +) { + if $add_user { + class { '::profile::custom_windows::add_user': } } } diff --git a/site-modules/profile/manifests/custom_windows/add_user.pp b/site-modules/profile/manifests/custom_windows/add_user.pp new file mode 100644 index 0000000..4145825 --- /dev/null +++ b/site-modules/profile/manifests/custom_windows/add_user.pp @@ -0,0 +1,14 @@ +class profile::custom_windows::add_user { + + profile::custom_windows::define_user { 'myuser': + + user_name => 'myuser', + user_group => 'mygroup', + user_groups => ['BUILTIN\\Administrators', 'BUILTIN\\Users'], + user_home => "C:\\Users\\myuser", + user_password => 'puppet', + ensure => 'present', + manage_home => true, + user_file => 'myfile', + } +} diff --git a/site-modules/profile/manifests/custom_windows/custom_account.pp b/site-modules/profile/manifests/custom_windows/custom_account.pp deleted file mode 100644 index e69de29..0000000 diff --git a/site-modules/profile/manifests/custom_windows/define_user.pp b/site-modules/profile/manifests/custom_windows/define_user.pp new file mode 100644 index 0000000..6d49589 --- /dev/null +++ b/site-modules/profile/manifests/custom_windows/define_user.pp @@ -0,0 +1,31 @@ +define profile::custom_windows::define_user ( + + String $user_name, + String $ensure, + String $user_group, + Optional[Array] $user_groups, + String $user_password, + String $user_file, + String $user_home, + Boolean $manage_home, + +) { + file { "${user_home}\\${user_file}": + ensure => directory, + owner => $user_name, + require => User[$user_name], + } + + user { $user_name: + ensure => $ensure, + password => $user_password, + groups => $user_group, + managehome => $manage_home, + home => "C:\\Users\\$user_name", + require => Group[$user_group], + } + + group { $user_group: + ensure => $ensure, + } +}