IIS 脚本禁用多个应用程序的目录浏览
IIS Script to disable directory browse for multiple applications
如果我知道硬编码的名称,下面的这个脚本对 application/site 来说非常有用。但是,我正在寻找一种方法来完成此脚本的功能,但适用于默认网站下的所有站点。下面是一个示例以及 IIS 中显示的示例。感谢任何帮助。
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE/TESTAPPLICATION2' -filter "system.webServer/directoryBrowse" -name "enabled" -value "False"
我需要在默认网站下以粗体显示的所有内容才能关闭目录浏览。如果它只是一台服务器,这会很简单,但我们正在寻找 50 多台服务器,一个脚本会节省很多时间。再一次,应用程序名称不是硬编码的,而且都是不同的。我只是想找出一种方法来一次禁用多个 sites/applications 功能。
- 默认站点
测试应用程序 1
测试应用程序 2
测试应用程序 3
此代码应该有效:
$siteName = "Default Web Site"
$site = Get-IISSite -Name $siteName
$apps = $site.Applications
ForEach ($app In $apps) {
Set-WebConfigurationProperty -PSPath "MACHINE/WEBROOT/APPHOST/$site$($app.Path)" -Filter "system.webServer/directoryBrowse" -Name "enabled" -Value "False"
}
脚本的作用:
- 获取网站。
- 获取站点的应用程序。
- 遍历每个应用程序并设置您想要的属性。
如果您想要 one-liner,这里是:
$siteName = "Default Web Site"
(Get-IISSite -Name $siteName).Applications.foreach({Set-WebConfigurationProperty -PSPath "MACHINE/WEBROOT/APPHOST/$site$($_.Path)" -Filter "system.webServer/directoryBrowse" -Name "enabled" -Value "False"})
如果我知道硬编码的名称,下面的这个脚本对 application/site 来说非常有用。但是,我正在寻找一种方法来完成此脚本的功能,但适用于默认网站下的所有站点。下面是一个示例以及 IIS 中显示的示例。感谢任何帮助。
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE/TESTAPPLICATION2' -filter "system.webServer/directoryBrowse" -name "enabled" -value "False"
我需要在默认网站下以粗体显示的所有内容才能关闭目录浏览。如果它只是一台服务器,这会很简单,但我们正在寻找 50 多台服务器,一个脚本会节省很多时间。再一次,应用程序名称不是硬编码的,而且都是不同的。我只是想找出一种方法来一次禁用多个 sites/applications 功能。
- 默认站点
测试应用程序 1
测试应用程序 2
测试应用程序 3
此代码应该有效:
$siteName = "Default Web Site"
$site = Get-IISSite -Name $siteName
$apps = $site.Applications
ForEach ($app In $apps) {
Set-WebConfigurationProperty -PSPath "MACHINE/WEBROOT/APPHOST/$site$($app.Path)" -Filter "system.webServer/directoryBrowse" -Name "enabled" -Value "False"
}
脚本的作用:
- 获取网站。
- 获取站点的应用程序。
- 遍历每个应用程序并设置您想要的属性。
如果您想要 one-liner,这里是:
$siteName = "Default Web Site"
(Get-IISSite -Name $siteName).Applications.foreach({Set-WebConfigurationProperty -PSPath "MACHINE/WEBROOT/APPHOST/$site$($_.Path)" -Filter "system.webServer/directoryBrowse" -Name "enabled" -Value "False"})