Skip to content

Commit 18e20b0

Browse files
author
fbarriere
committed
Support null value for ServiceAutoStartProvider property of xWebApplication.
1 parent 532db4c commit 18e20b0

File tree

1 file changed

+28
-15
lines changed

1 file changed

+28
-15
lines changed

DSCResources/MSFT_xWebApplication/MSFT_xWebApplication.psm1

+28-15
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ data LocalizedData
1717
VerboseSetTargetPreload = Updating Preload for Web application "{0}".
1818
VerboseSetTargetAutostart = Updating AutoStart for Web application "{0}".
1919
VerboseSetTargetIISAutoStartProviders = Updating AutoStartProviders for IIS.
20-
VerboseSetTargetWebApplicationAutoStartProviders = Updating AutoStartProviders for Web application "{0}".
20+
VerboseSetTargetWebApplicationAutoStartProviders = Updating AutoStartProviders for Web application "{0}".
21+
VerboseSetTargetWebApplicationClearAutoStartProviders = Removing AutoStartProviders for Web application "{0}".
2122
VerboseTestTargetFalseAbsent = Web application "{0}" is absent and should not absent.
2223
VerboseTestTargetFalsePresent = Web application $Name should be absent and is not absent.
2324
VerboseTestTargetFalsePhysicalPath = Physical path for web application "{0}" does not match desired state.
@@ -229,22 +230,34 @@ function Set-TargetResource
229230
if ($PSBoundParameters.ContainsKey('ServiceAutoStartProvider') -and `
230231
$webApplication.serviceAutoStartProvider -ne $ServiceAutoStartProvider)
231232
{
232-
if (-not (Confirm-UniqueServiceAutoStartProviders `
233-
-ServiceAutoStartProvider $ServiceAutoStartProvider `
234-
-ApplicationType $ApplicationType))
233+
if ($ServiceAutoStartProvider -eq $null)
235234
{
236-
Write-Verbose -Message ($LocalizedData.VerboseSetTargetIISAutoStartProviders)
237-
Add-WebConfiguration `
238-
-filter /system.applicationHost/serviceAutoStartProviders `
239-
-Value @{name=$ServiceAutoStartProvider; type=$ApplicationType} `
240-
-ErrorAction Stop
235+
Write-Verbose -Message `
236+
($LocalizedData.VerboseSetTargetWebApplicationClearAutoStartProviders `
237+
-f $Name)
238+
Clear-ItemProperty -Path "IIS:\Sites\$Website\$Name" `
239+
-Name serviceAutoStartProvider `
240+
-ErrorAction Stop
241+
}
242+
else
243+
{
244+
if (-not (Confirm-UniqueServiceAutoStartProviders `
245+
-ServiceAutoStartProvider $ServiceAutoStartProvider `
246+
-ApplicationType $ApplicationType))
247+
{
248+
Write-Verbose -Message ($LocalizedData.VerboseSetTargetIISAutoStartProviders)
249+
Add-WebConfiguration `
250+
-filter /system.applicationHost/serviceAutoStartProviders `
251+
-Value @{name=$ServiceAutoStartProvider; type=$ApplicationType} `
252+
-ErrorAction Stop
253+
}
254+
Write-Verbose -Message `
255+
($LocalizedData.VerboseSetTargetWebApplicationAutoStartProviders -f $Name)
256+
Set-ItemProperty -Path "IIS:\Sites\$Website\$Name" `
257+
-Name serviceAutoStartProvider `
258+
-Value $ServiceAutoStartProvider `
259+
-ErrorAction Stop
241260
}
242-
Write-Verbose -Message `
243-
($LocalizedData.VerboseSetTargetWebApplicationAutoStartProviders -f $Name)
244-
Set-ItemProperty -Path "IIS:\Sites\$Website\$Name" `
245-
-Name serviceAutoStartProvider `
246-
-Value $ServiceAutoStartProvider `
247-
-ErrorAction Stop
248261
}
249262
}
250263

0 commit comments

Comments
 (0)