Quantcast
Viewing all articles
Browse latest Browse all 5932

PowerShell DSC Blog Series, Part 5- Point in Time List of DSC Resources

Welcome to Part 5 of the Building Clouds blog series on Windows PowerShell Desired State Configuration.  Here is a quick recap of what has been published before this post:

Part 1 – Information about DSC
Part 2 – Authoring DSC Resources when Cmdlets Already Exist
Part 3 – Testing DSC Resources
Part 4 – How-To use PowerShell DSC from your workstation to test PowerShell JEA, in Azure


What is a DSC Resource?

With any new technology there is a glossary of terms to learn.  DSC is pretty straightforward but “Resource” is key to this topic.

  • DSC Resource – a PowerShell module constructed in a specific way that provides Get, Set, and Test functions, and a schema file that helps DSC enumerate the properties that are available to be configured.  Resources can also be based on WMI or Python in the case of Linux.

Or to put it more simply, Resources are the instructions that tell DSC how to manage stuff, like settings and programs.  If you want DSC to copy a file you would use the File Resource.  If you want DSC to configure a registry setting you would use the Registry Resource.

For a deeper dive on Resources, I would recommend the DSC Resource documentation on TechNet and The DSC Book, as well as Bing since more information and articles are being published literally daily on this topic.

 


Point in Time List of DSC Resources

Have you ever heard this before?  “We will be looking at DSC when there are more resources available.”  This statement is looking for a Tipping Point.  If that’s the case but you don’t know where to look or you have been too busy, you might not have noticed the increasing number of resources available for DSC.

To assist your discovery, I am publishing a list of current DSC resources and what they do.  Just like the first article in this series this will be a moving target.  As soon as I hit publish I will be out of date and I won’t promise to curate this list.  The PowerShell team and the PowerShell community are publishing new resources aggressively.  The point is to emphasize that the list has grown considerably in a very short period of time.

If you haven’t looked in a while, you might want to take a glance because there is a good chance the resources you were waiting for have become available.  In fact, Wave 4 of the DSC Resource Kit was recently released.

If you take nothing else away from this post – remember where to look for DSC resources!

  • DSC Resources shipped with Windows
  • Resources available in the PowerShell DSC Resource Kit
  • Resources available from the community GitHub Repository


DSC Resources shipped with Windows

These resources ship with PowerShell DSC, either via WMF or inside Windows installations.

ArchiveProvides a mechanism to unpack archive (.zip) files at a specific path
EnvironmentProvides a mechanism to manage system environment variables.
FileProvides a mechanism to manage files and folders on the target node.
GroupProvides a mechanism to manage local groups on the target node.
LogProvides a mechanism to write messages to the Microsoft-Windows-Desired State Configuration/Analytic event log.
PackageProvides a mechanism to install or uninstall packages, such as Windows Installer and setup.exe packages, on a target node.
RegistryProvides a mechanism to manage registry keys and values on a target node.
ScriptProvides a mechanism to run Windows PowerShell script blocks on target nodes.
ServiceProvides a mechanism to manage services on the target node.
UserProvides a mechanism to manage local user accounts on the target node.
WindowsFeatureProvides a mechanism to ensure that roles and features are added or removed on a target node.
WindowsProcessProvides a mechanism to configure processes on a target node.


Resources available in the PowerShell DSC Resource Kit

These resources are published to the online gallery.  Additional information about how to use them is available at the bottom of the following page - http://gallery.technet.microsoft.com/scriptcenter/DSC-Resource-Kit-All-c449312d.

xActiveDirectory

xADDomainCreate new Active directory forest configuration or new Active directory domain configuration.
xADDomainControllerInstall a Domain Controller in Active Directory.
xADUserAdd or Remove an Active Directory user.
xWaitForADDomainWaits for a new domain to become available.
xADDomainTrustCreate and configure Active Directory domain trusts.

 

xAzure

xAzureAffinityGroupCreates and configures an Azure Affinity Group.
xAzureQuickVMProvision an Azure Virtual Machine with minimal input.
xAzureServiceCreate and configure an Azure Cloud Service.
xAzureStorageAccountCreate and configure an Azure Storage Account.
xAzureSubscriptionRegister an Azure subscription from a .publishsettings file to the computer.
xAzureVMCreate and configure an Azure virtual machine

 

xComputerManagement

xComputerRename a computer and add it to a domain or workgroup.

 

xDatabase

xDatabaseHandles creation/deletion of a database using a dacpac or sql connection string. 
xDBPackageAllows extraction of a dacpac or import of a bacpac from a database.

 

xDHCPServer

xDhcpServerScopeCreate and configure a DHCP Scope
xDhcpServerReservationCreate and configure DHCP Reservations
xDhcpServerOptionCreate and configure DHCP Scope Options

 

xDnsServer

xDnsServerSecondaryZoneCreate and configure a DNS Secondary Zone
xDnsServerZoneTransferConfigure DNS server Zone Transfer

 

xFailOverCluster

xClusterCreate and configurate a failover cluster.
xWaitForClusterWaits for a new failover cluster to become available.

 

xHyper-V

xVhdCreate a virtual disk.
xVhdFileDirectoryCopy contents in to a virtual disk.
xVMHyperVCreate and set properties of a virtual machine.
xVMSwitchCreate and configure a virtual switch.

 

xJEA (Just Enough Administration)

xJeaEndPointCreate and configure JEA Endpoints
xJeaToolkitCreate and configure JEA Toolkits

 

xNetworking

xDnsServerAddressConfigure the DNS settings of a network adapter.
xFirewallConfigure host firewall rules.
xIPAddressConfigure the IP Adrress, Gateway, and Subnet Mask of a network adapter.

 

xPSDesiredStateConfiguration

xDscWebServiceAllows the configuration of an OData endpoint for DSC Service, so that a node can become a DSC Pull Server.
xPackageAllows .msi and .exe software installations.
xProcessEnhancement to the in box WindowsProcess resource and allows you to run a process under the context of a user
xPSEndPointAllows you to create PowerShell session configuration. This resource allows you to specify RunAs account, startup script, SDDL to allow users to connect to this session configuration, as well as ability to restrict the remote access to it.
xArchiveAllows you to create archive files as well as expand existing archive files.
xServiceEnhancement on the in box Service resource and allows you to create and delete a service.
xRemoteFileAllows you to download a file from HTTP or HTTPS locations to a local destination. It allows you to specify the user agent and headers when sending a web request.

 

xRemoteDesktopSessionHost

xRDSessionDeploymentCreates and configures a deployment in RDSH.
xRDSessionCollectionCreates a RDSH collection.
xRDSessionCollectionConfigurationAllows configuration of a RDSH collection.
xRDRemoteAppPublish applications for your RDSH collection.

 

xSmbShare

xSmbShareSetup and configure an SMB Share.

 

xSqlIPs

xSqlHAEndPointConfigure the given instance of SQL high availability service to listen port 5022 with given name, and assigning users that are allowed to communicate through the SQL endpoint.
xSqlHAGroupConfigure a SQL High Availability Group
xSqlHAServiceEnable SQL High Availability (HA) service on a given SQL instance.
xSqlServerInstallInstall SQL Enterprise on a target machine.
xWaitForSqlHAGroupWaits for SQL HA group to be ready by checking the state of the HA group of a given name in a given interval till either the HA group is discoverable or the number of retries reached its maximum.

 

xSystemSecurity

xUACHandles how and when the User Account Control Windows Prompt shows up or doesn't show up.
xIEEscEnables or disables IE Enhanced Security Configuration.

 

xWebAdministration

xWebsiteAllows you to manage IIS Websites.
xWebAppPoolAllows you to manage IIS App Pools.
xWebVirtualDirectoryAllows you to manage IIS Web Virtual Directories.
xWebApplicationAllows you to manage IIS Web Applications.
xWebConfigKeyValueAllows you to update key value pairs in the AppSettings section of Web.Config.

 

xWinEventLog

xWinEventLogConfigure the Windows Event Log

Resources available from the community GitHub Repository

These resources are contributed by the community to a GitHub repo maintained by PowerShell.org, available at the following page - https://github.com/powershellorg/dsc

There is some overlap.  That is on purpose.  When the community would like to extend either a stock resource or one from the resource kit, the resource is renamed by pre-pending a “c” to signify “community” and someone contributes work to extend what is available.

GlobalAssemblyCachePSHOrg_cADDomainPSHOrg_cDNSServerAddresscScriptResource
StackExchange_CertificateStorePSHOrg_cADDomainControllerPSHOrg_cFirewallcSqlHAEndPoint
StackExchange_FirewallRulePSHOrg_cADUserPSHOrg_cIPAddresscSqlHAGroup
StackExchange_NetworkAdapterPSHOrg_cWaitForADDomainPSHOrg_cDSCWebServicecSqlHAService
StackExchange_PageFilePSHOrg_cComputerPSHOrg_cSmbSharecSqlServerInstall
StackExchange_PowerPlanPSHOrg_cClusterPSHOrg_cSqlHAEndPointcWaitForSqlHAGroup
StackExchange_ScheduledTaskPSHOrg_cWaitForClusterPSHOrg_cSqlHAGroupICG_SCOMAgentMgmtGroup
StackExchange_SetExecutionPolicyPSHOrg_cVHDPSHOrg_cSqlHAServiceICG_SCOMBulkMP
StackExchange_TimezonePSHOrg_cVMHostPSHOrg_cSqlServerInstallICG_SCOMImportMP
 PSHOrg_cVMHyperVPSHOrg_cWaitForSqlHAGroupHostsFile
 PSHOrg_cVMSwitchPSHOrg_cAppPool 
 PSHOrg_cVhdFileDirectoryPSHOrg_cWebsite 

 


If you are looking for something and it is not available from these sources (and you can’t find it elsewhere using Bing), please comment a request on the PowerShell.org article below.

We Want Your DSC Resource Wish List!
http://powershell.org/wp/2014/03/20/we-want-your-dsc-resource-wish-list/

Thank you and stay tuned to Building Clouds!

Image may be NSFW.
Clik here to view.

Viewing all articles
Browse latest Browse all 5932

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>