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 !