Hi,
I am trying to Powershell configuration in which I have an array of websites.
As I will have multiple websites, I will need to create first a new directory for the respective website, and then create the IIS website and application pool. Here is an example:
#Create the folder File $Site.Name { Type = "Directory" DestinationPath = "$($Allnodes.RootPath)\$($Site.Name)" Ensure = "Present" } #Create Website xWebsite $Site.Name { Ensure = 'Present' Name = $Site.Name State = $Site.State PhysicalPath = "$($Allnodes.RootPath)\$($Site.Name)" ApplicationPool = $Site.AppPool.Name BindingInfo = @( MSFT_xWebBindingInformation { Port = $Allnodes.Aplatform.Website.Bindings.FirstBinding.Port IPAddress = $Site.Bindings.FirstBinding.IPAddress HostName = $Site.Bindings.FirstBinding.Hostname Protocol = $Site.Bindings.FirstBinding.Protocol } ) DependsOn = @("[File]$Site.Name",[otherdependencies with variables])
I need that DependsOn just to be sure that the website in IIS is created after the directory is created on the disk. When I try to compile this MOF, I get the following error:
ValidateNodeResources : Resource ‘[File]System.Collections.Hashtable.Name’ required by
‘[xWebsite]SiteName’ does not exist. Please ensure that the required resource exists and the
name is properly formed.
How is the correct way to define the DependsOn when it is a variable? If I use DependsOn with a string [File]CreateDirectory then it works, but I can’t use a static string because on top of this configuration it is a foreach which creates the directory on disc, website, apppool for each website, so they have to be unique.
Thank you