<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VmwFolder Archives - LucD notes</title>
	<atom:link href="https://www.lucd.info/tag/vmwfolder/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.lucd.info/tag/vmwfolder/</link>
	<description>My PowerShell ramblings</description>
	<lastBuildDate>Sun, 05 Jun 2016 14:18:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://www.lucd.info/wp-content/uploads/2018/12/cropped-120px-Tibetan_Dharmacakra-32x32.png</url>
	<title>VmwFolder Archives - LucD notes</title>
	<link>https://www.lucd.info/tag/vmwfolder/</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>vSphereDSC &#8211; VmwFolder</title>
		<link>https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/</link>
					<comments>https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/#respond</comments>
		
		<dc:creator><![CDATA[LucD]]></dc:creator>
		<pubDate>Sun, 05 Jun 2016 13:41:44 +0000</pubDate>
				<category><![CDATA[DSC]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[VmwFolder]]></category>
		<category><![CDATA[vSphere]]></category>
		<category><![CDATA[vSphereDSC]]></category>
		<guid isPermaLink="false">http://www.lucd.info/?p=5286</guid>

					<description><![CDATA[In this post I&#8217;ll introduce the first DSC resource from the vSphereDSC module, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this post I&#8217;ll introduce the first DSC resource from the <strong>vSphereDSC</strong> module, the <strong>VmwFolder</strong> resource. Since this is the first post in the series, I will also expand a bit on how the vSphereDSC module is set up and which conventions I&#8217;m using.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder/" rel="attachment wp-att-5311"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-5311" src="https://lucd.info/wp-content/uploads/2016/06/VmwFolder.jpg" alt="VmwFolder" width="427" height="275" srcset="https://www.lucd.info/wp-content/uploads/2016/06/VmwFolder.jpg 427w, https://www.lucd.info/wp-content/uploads/2016/06/VmwFolder-300x193.jpg 300w" sizes="(max-width: 427px) 100vw, 427px" /></a></p>
<p>A vSphere Folder is a resource which can exist rather independently in an existing vSphere environment. You can easily create some test Folders to get the hang and feel of the vSphereDSC module and play with DSC Configurations based on this vSphereDSC resource.</p>
<p><span id="more-5286"></span></p>
<h2>Lay of the Land</h2>
<p>In the <a href="https://www.lucd.info/2016/06/04/vspheredsc-intro/" target="_blank">Intro</a> of this series I already mentioned some of the issues I encountered, and how these had impact on the <strong>vSphereDSC</strong> module setup. It is my intention to gradually build up the <strong>vSphereDSC</strong> module, meaning that I will keep adding DSC Resources in future posts, but I will also be providing <strong>Unit and Integration tests</strong> (with <a href="https://github.com/pester/Pester" target="_blank">Pester</a>) and automate the module&#8217;s <strong>build process</strong> with <a href="https://www.appveyor.com/" target="_blank">Appveyor</a>.</p>
<p>The posts will be primarily based on a DSC <strong>Pull Server</strong> set up. This because that corresponds with what I use in my test environment, but also because I consider that architecture as the &#8220;<em>automated</em>&#8221; version of a DSC setup. That&#8217;s the one that you will be using in a real environment later on. This doesn&#8217;t mean that you can not test resources and Configurations without having to wait for the LCM interval to expire, as I will show later in this post.</p>
<p>The <strong>vSphereDSC</strong> module uses <strong>class-based</strong> DSC resources, that means you need to have <strong>WMF 5</strong> to use the module. All my tests have been done with the <a href="https://blogs.msdn.microsoft.com/powershell/2015/02/18/windows-management-framework-5-0-preview-february-2015-is-now-available/" target="_blank">WMF 5 February 2016 build</a> on the <strong>Pull</strong> and <strong>vEngine</strong> servers, so you will need to install that version as a minimum. On the Pull server and the vEngine server, which are Windows 2012 R2 servers, I have build 5.0.10586.117.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/wmf5-w2k12r2/" rel="attachment wp-att-5288"><img decoding="async" class="alignnone wp-image-5288 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/wmf5-w2k12r2-300x109.jpg" alt="wmf5-w2k12r2" width="300" height="109" srcset="https://www.lucd.info/wp-content/uploads/2016/06/wmf5-w2k12r2-300x109.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/wmf5-w2k12r2.jpg 419w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>On the Windows 10 station, that I use to write the Configuration files, I have 5.0.10586.122. Note that WMF 5 on Windows 10 is an official release, not a preview.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/wmf5-w10/" rel="attachment wp-att-5289"><img decoding="async" class="alignnone wp-image-5289 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/wmf5-w10-300x113.jpg" alt="wmf5-w10" width="300" height="113" srcset="https://www.lucd.info/wp-content/uploads/2016/06/wmf5-w10-300x113.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/wmf5-w10.jpg 394w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>As a side note, there is a <a href="https://social.technet.microsoft.com/wiki/contents/articles/33573.windows-powershell-build-numbers.aspx" target="_blank">Wiki page</a> (maintained by <a href="https://twitter.com/JanEgilRing" target="_blank">Jan Egil Ring</a>) that lists the PowerShell builds.</p>
<p>Until now I have been doing my development of the vSphereDSC module from a private BitBucket repository. But as of this post, the documented parts of the vSphereDSC module will be available on <a href="https://github.com/lucdekens/vSphereDSC" target="_blank">Github</a>, and from the <a href="https://www.powershellgallery.com/packages/vSphereDSC/" target="_blank">PSGallery</a>.</p>
<h2>The Layout</h2>
<p>As I already described in the Intro, the file structure of the <strong>vSphereDSC</strong> module is quite straightforward. Some design decisions were dictated by the issues that I encountered. The structure on Github now looks like this</p><pre class="urvanov-syntax-highlighter-plain-tag">$env: psmodulepath (folder)
&nbsp;&nbsp;&nbsp; |- vSphereDSC (folder)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- vSphereDSC.psm1 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- vSphereDSC.psd1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- vSphereDSCHelper.ps1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- Tools (folder)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- Get-TargetGuid.ps1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- Test-DscConfiguration.ps1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- vEng-LCM-Configuration-Guid.ps1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- vSphereDSC-Module-To-Pull-Server.ps1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- Examples (folder)
            |- PowerCLI
                |- pcli01-PowerCLI.ps1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- VmwFolder
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- cf01-vCenter-Folder.ps1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- cf02-vCenter-Folder.ps1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- cf03-vCenter-Folder.ps1

The actual code for the vSphereDSC module is located in the vSphereDSC.psm1 and vSphereDSCHelper.ps1 files.</pre><p>The reason why the Helper function are in a separate file and why this is not a nested module were already explained in the Intro. In short, we need to keep the PowerCLI cmdlets outside the class methods, and due to PowerCLI PSSnapin we can not use a module. As a bypass, the vSphereDSCHelper.ps1 file is dot-sourced in the vSphereDSC.psm1 file. This looks something like this</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">. &quot;$($PSScriptRoot)\vSphereDSCHelper.ps1&quot;</pre><p></p>
<h2>The Code</h2>
<p>If we look at the <strong>VmwFolder</strong> class, we can distinguish three distinct areas. Note that I use the Region directive to organise my code. This also allows me to show/hide the individual parts.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder-1/" rel="attachment wp-att-5290"><img loading="lazy" decoding="async" class="alignnone wp-image-5290 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/vmwFolder-1-300x271.jpg" alt="vmwFolder-1" width="300" height="271" srcset="https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-1-300x271.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-1.jpg 463w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<h3>Class Properties</h3>
<p>The <strong>Class Properties</strong> are just that, the properties that will be present in the <strong>VmwFolder</strong> class. But it is also the location where you specify the attributes of these properties. The most important one being the <strong>Key</strong> attribute. In fact all properties marked with the Key attribute will be taken together to form the &#8220;key&#8221; for a specific <strong>instance</strong> of the <strong>VmwFolder</strong> class. This &#8220;key&#8221; shall uniquely identify each instance of the VmwFolder class.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder-2/" rel="attachment wp-att-5294"><img loading="lazy" decoding="async" class="alignnone wp-image-5294 size-thumbnail" src="https://lucd.info/wp-content/uploads/2016/06/vmwFolder-2-150x150.jpg" alt="vmwFolder-2" width="150" height="150" /></a></p>
<p>In the case of VmwFolder, the properties Path and Name are not sufficient to uniquely identify a VmwFolder instance. The reason is that we can have &#8220;Yellow&#8221; and &#8220;Blue&#8221; folders with the same name, who appear to be in the same location. The reason they appear to be in the same location is due to the hidden folders that exist in a vSphere environment.</p>
<p>Take for example the following situation where we seem to have a folder with the name <strong>Folder2</strong>, located under the Datacenter <strong>Homelab</strong>. From the Web Client we see the following. Is this one object or are these two different objects ?</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder-3b/" rel="attachment wp-att-5300"><img loading="lazy" decoding="async" class="alignnone wp-image-5300 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/vmwFolder-3b-300x127.jpg" alt="vmwFolder-3b" width="300" height="127" srcset="https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-3b-300x127.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-3b.jpg 440w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>The old C# Client, where the &#8220;Yellow&#8221; and &#8220;Blue&#8221; foldernames originated, seems to say it are two different objects, provided we take the colour as a distinghuising characteristic.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder-3c/" rel="attachment wp-att-5301"><img loading="lazy" decoding="async" class="alignnone wp-image-5301 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/vmwFolder-3c-300x121.jpg" alt="vmwFolder-3c" width="300" height="121" srcset="https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-3c-300x121.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-3c.jpg 393w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>The answer, these are two different objects. And it is all due to the &#8220;<em>hidden</em>&#8221; folders that we could be confused. In a Datacenter object, there are pointers to the <strong>Hosts and Clusters</strong> view and the <strong>VM and Templates</strong> view. These pointers go to the hidden folders &#8220;<strong>host</strong>&#8221; and &#8220;<strong>vm</strong>&#8221; which are the respective parents for these two Folder objects that have the same name.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder-3d/" rel="attachment wp-att-5302"><img loading="lazy" decoding="async" class="alignnone wp-image-5302 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/vmwFolder-3d-300x127.jpg" alt="vmwFolder-3d" width="300" height="127" srcset="https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-3d-300x127.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-3d.jpg 440w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>And that is why the <strong>Type</strong> property is a <strong>Key</strong> property for the <strong>VmwFolder</strong> class.</p>
<h3>DSC Methods</h3>
<p>With this I mean the three methods that DSC requires to be present in each DSC class-based resource: <strong>Test</strong>, <strong>Set</strong> and <strong>Get</strong>.</p>
<p>As a general rule, I try to keep the code in these methods limited to the actual function of these three methods. For example, in the Test method, the code first checks of the folder exists (line 76), then depending on the desired state ($this.Ensure), the code returns $true or $false.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder-5/" rel="attachment wp-att-5303"><img loading="lazy" decoding="async" class="alignnone wp-image-5303 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/vmwFolder-5-300x91.jpg" alt="vmwFolder-5" width="300" height="91" srcset="https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-5-300x91.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-5-768x233.jpg 768w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-5.jpg 905w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Note how on line 72, the vSphereDSCHelper.ps1 file is dot-sourced. This file contains all the code where we use PowerCLI cmdlets. In this particular case we needed to that, because in line 74 we call the Helper function <strong>Connect-VmwVIServer</strong>, which uses PowerCLI cmdlets.</p>
<h3>Class Helper Methods</h3>
<p>In this region we code all the methods that contain the more advanced code. While the Test, Set and Get methods were limited to their basic functionality logic, these Class Helper methods contain the &#8220;deeper&#8221; code. As an example, let&#8217;s have a look at the TestVmwFolder method.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder-6/" rel="attachment wp-att-5304"><img loading="lazy" decoding="async" class="alignnone wp-image-5304 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/vmwFolder-6-300x97.jpg" alt="vmwFolder-6" width="300" height="97" srcset="https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-6-300x97.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-6-768x248.jpg 768w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-6.jpg 878w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>In lines 106-111 we handle the logic that composes that path to the node, in this case a Folder, that we are looking for. This path is composed of the Path and the Name property. We need to code the special case where the node could be located in the RootFolder.</p>
<p>When the node is found, we need to check if the type corresponds with the Type of the Folder we are looking for (lines 114-115)</p>
<p>It&#8217;s this kind of logic that we want to keep out of the standard Test, Set and Get methods.</p>
<p>Note that there are quite a bit of Write-Verbose lines in the code. This use of the Write-Verbose cmdlet is indispensable when developing DSC resources in my opinion.</p>
<h3>External Helper Functions</h3>
<p>These are all the functions that use PowerCLI. As already explained, we can&#8217;t use PowerCLI inside the class methods. The solution I have chosen is to keep these functions outside of the class in a separate .ps1 file.</p>
<p>Most of the functions in there are rather straight-forward PowerCLI-based functions. Some of these were in fact already discussed in some other posts on this blog. See <a class="title" href="https://www.lucd.info/2016/05/05/universal-powercli-loader/" rel="bookmark">Universal PowerCLI Loader</a>, <a class="title" href="https://www.lucd.info/2016/06/03/get-inventoryplus-inventory-all-vsphere-objects/" rel="bookmark">Get-InventoryPlus – Inventory of all vSphere objects </a>and <a class="title" href="https://www.lucd.info/2016/06/03/vsphere-object-path/" rel="bookmark">vSphere Object by Path</a>.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder-7/" rel="attachment wp-att-5305"><img loading="lazy" decoding="async" class="alignnone wp-image-5305 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/vmwFolder-7-300x215.jpg" alt="vmwFolder-7" width="300" height="215" srcset="https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-7-300x215.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-7.jpg 355w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<h3>Verbosity</h3>
<p>Perhaps an interesting point to make in relation to the Write-Verbose I made earlier. We do want to see &#8220;verbose&#8221; output from the class methods and the Helper functions, but we don&#8217;t really want to see &#8220;verbose&#8221; output from all the PowerCLI cmdlets.</p>
<p>Instead of suppressing the verbosity on each individual cmdlet where we don&#8217;t want it, I opted for using the $PSDefaultParameterValues at the in the module.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/vmwfolder-8/" rel="attachment wp-att-5306"><img loading="lazy" decoding="async" class="alignnone wp-image-5306 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/vmwFolder-8-300x68.jpg" alt="vmwFolder-8" width="300" height="68" srcset="https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-8-300x68.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/vmwFolder-8.jpg 351w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>That way I avoid the many lines that would scroll by during the loading of the PowerCLI modules and PSSnapin.</p>
<h2>Tools</h2>
<p>In the Tools folder I will include some scripts that I use during the development/test phase of the <strong>vSphereDSC</strong> module. The purpose and the proper use of these scripts will be explained in a separate post on the <strong>Principles of Operations</strong>.</p>
<h2>Examples</h2>
<h3>PowerCLI</h3>
<p>To start working with the vSphereDSC module we need to deploy <a href="https://communities.vmware.com/community/vmtn/automationtools/powercli/overview" target="_blank">PowerCLI</a> on the <strong>vEngine</strong> Server. And obviously we are going to do that with a DSC Configuration file. The sample file is named pcli01-PowerCLI.ps1.</p>
<p>The Configuration I provide to push PowerCLI to the vEngine server, is similar to what <a href="https://twitter.com/vinithmenon28" target="_blank">Vinith Menon</a> posted in his <a href="https://virtualize-automate.com/wp/index.php/2016/01/05/automate-powercli-install-across-your-windows-environment-using-powershell-dsc/" target="_blank">Automate PowerCLI Install across your Windows Environment using PowerShell DSC</a> post. Note that the Configuration file uses the <strong>Start-DscConfiguration</strong> cmdlet to immediately start the installation of PowerCLI on the vEngine server.</p>
<p>If all goes well you should see &#8220;PowerCLI installed&#8221; in the verbose output.</p>
<p><a href="https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/pcli/" rel="attachment wp-att-5307"><img loading="lazy" decoding="async" class="alignnone wp-image-5307 size-medium" src="https://lucd.info/wp-content/uploads/2016/06/pcli-300x80.jpg" alt="pcli" width="300" height="80" srcset="https://www.lucd.info/wp-content/uploads/2016/06/pcli-300x80.jpg 300w, https://www.lucd.info/wp-content/uploads/2016/06/pcli.jpg 639w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<h3>VmwFolder</h3>
<p>In the vSPhereDSC module a number of Configuration sample files are included.</p>
<p>Note that in this stage you will still need to provide the credentials of the vCenter account in clear text !</p>
<p>The samples are rather straight-forward. In the Principles of Operations I will show how you can organise smooth testing of your Configurations.</p>
<table>
<tbody>
<tr>
<td>Filename</td>
<td>Target</td>
<td>Description</td>
</tr>
<tr>
<td>cf01-vCenter-Folder.ps1</td>
<td>vCenter</td>
<td>Create a folder</td>
</tr>
<tr>
<td>cf02-vCenter-Folder.ps1</td>
<td>vCenter</td>
<td>Create two folders</td>
</tr>
<tr>
<td>cf03-vCenter-Folder.ps1</td>
<td>vCenter</td>
<td>Create two folders with the same name, but of different type</td>
</tr>
</tbody>
</table>
<p>This concludes the introduction of the <strong>VmwFolder</strong> resource.</p>
<p>&nbsp;</p>
<p>Since this is the first actual vSphereDSC resource that is made public, I would love to hear your feedback. Use the Issues option on the Github repository to report feedback, bug requests, feature request&#8230;</p>
<p>Enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.lucd.info/2016/06/05/vspheredsc-vmwfolder/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
