The rules of writing charms are the same in Windows as they are in linux. As a reference, the Nova Hyper-V charm can be used. The charm can be found at:
https://github.com/cloudbase/nova-hyperv-charm
By default, Juju adds $env:CHARM_DIR\hooks\Modules and $env:CHARM_DIR\Modules in $env:PSModulePath. So you can simply write a module, bundle it with your charm, and simply do an Import-Module in your hooks. We should strive to create a common suite of helper modules for all juju charms on windows!
The CharmHelpers module in the above mentioned Hyper-V charm is a good start. Its basically a port of the Openstack charm helpers written in python.
Windows Charms:
1. Windows Active Directory Controller
2. Windows Active Directory Join
3. Windows Active Directory Exchange
Relations:
Windows Active Directory Controller
File dependencies(put them on a samba share, in the folder "Exchange". You can get them from //10.7.1.10/ISO/Exchange):
Exchange ISO File: mu_exchange_server_2013_x64_dvd_1112105.iso
Prerequisites installers: FilterPack64bit.exe, filterpack2010sp1-kb2460041-x64-fullfile-en-us.exe, UcmaRuntimeSetup.exe
Configuration:
Specify the Samba share where the file dependencies are
Virtual machine requirements:
CPU - more than 4 cores
RAM - more than 6GB
HDD - more than 40GB
Beware!:
You can install only one Exchange per Active Directory Domain
The machine will reboot 4 times
The installation will take approximately 1 hour
4. Windows Active Directory MsSQL
5. Windows Active Directory SharePoint
6. Windows IIS Drupal
Relations:
MySQL
Memcached
Windows Active Directory Controller
Windows Active Directory MsSQL
File dependencies:
Every file dependency is downloaded from the internet using official download links and it is checked for integrity using SHA1 checksum.
Minimum virtual machine requirements:
CPU - 2 cores
RAM - 2GB
HDD - 30GB
NOTE: If any download link becomes unavailable, it must be updated together its SHA1 hash. Use only official download links !