查看: 369|回复: 0

[文章教程] iis7.X系列引入WebAdministration模块

[复制链接]
xuanxiao 发表于 2022-7-6 11:05:11 | 显示全部楼层 |阅读模式
在 IIS 7.5(Windows 7、Win2008 R2)中无法使用管理单元进行 WebAdministration,只能使用 import-module
  1. # Web管理在Windows 2008 R2上作为一个模块加载,但作为Windows 2008的一组管理单元加载(不是R2)

  2. function Util-Load-Web-Administration
  3. {
  4.     $ModuleName = "WebAdministration"
  5.     $ModuleLoaded = $false
  6.     $LoadAsSnapin = $false

  7.     if ($PSVersionTable.PSVersion.Major -ge 2)
  8.     {
  9.         if ((Get-Module -ListAvailable | ForEach-Object {$_.Name}) -contains $ModuleName)
  10.         {
  11.             Import-Module $ModuleName

  12.             if ((Get-Module | ForEach-Object {$_.Name}) -contains $ModuleName)
  13.                 { $ModuleLoaded = $true } else { $LoadAsSnapin = $true }
  14.         }
  15.         elseif ((Get-Module | ForEach-Object {$_.Name}) -contains $ModuleName)
  16.             { $ModuleLoaded = $true } else { $LoadAsSnapin = $true }
  17.     }
  18.     else
  19.     { $LoadAsSnapin = $true }

  20.     if ($LoadAsSnapin)
  21.     {
  22.         try
  23.         {
  24.             if ((Get-PSSnapin -Registered | ForEach-Object {$_.Name}) -contains $ModuleName)
  25.             {
  26.                 if ((Get-PSSnapin -Name $ModuleName -ErrorAction SilentlyContinue) -eq $null)
  27.                     { Add-PSSnapin $ModuleName }

  28.                 if ((Get-PSSnapin | ForEach-Object {$_.Name}) -contains $ModuleName)
  29.                     { $ModuleLoaded = $true }
  30.             }
  31.             elseif ((Get-PSSnapin | ForEach-Object {$_.Name}) -contains $ModuleName)
  32.                 { $ModuleLoaded = $true }
  33.         }

  34.         catch
  35.         {
  36.             Write-Error "`t`t$($MyInvocation.InvocationName): $_"
  37.             Exit
  38.         }
  39.     }
  40. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号