使用 Powershell 中的 Microsoft.Web.Administration - 它连接到我的 IISExpress 实例而不是我的主要实例?
Using Microsoft.Web.Administration from Powershell - it's connecting to my IISExpress instance instead of my main one?
我正在尝试通过 PowerShell 管理我的 IIS 实例。
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration") | Out-Null
$Iis = [Microsoft.Web.Administration.ServerManager]::OpenRemote($WebServer)
$IisApp = $Iis.sites[$SiteName].Applications["/$WebApplicationName"]
if(-not $IisApp)
{
$IisApp = $Iis.sites[$SiteName].Applications.Add("/$WebApplicationName", $WebApplicationFolder)
}
这会失败,因为它有时会在目标机器上找到错误的 IIS 实例。我如何告诉 Microsoft.Web.Administration
使用 real IIS 而不是 IIS Express?
我也试过通过 NuGet 获取最新的 Microsoft.Web.Administration
,但效果也好不到哪里去。我已将程序集下拉到共享的 Nuget 位置 (c:\nuget\packages\
),而是从那里加载程序集
add-type -Path "C:\nuget\packages\Microsoft.Web.Administration\lib\netstandard1.5\Microsoft.Web.Administration.dll"
并确认 ServerManager 来自正确的程序集并且没有什么不同。
我已经从我的机器上卸载了 IIS Express,它可以在我的机器上运行,但我无法从我希望定位的每台机器上卸载 IIS Express。
如何告诉 Microsoft.Web.Administration
专注于真正的 IIS 而不是 IIS Express?
如果安装了 IIS Express,一切都会失败。如果没有安装 IIS Express,一切都很好。
帮忙?
从 C:\Windows\System32\inetsrv
加载 Microsoft.Web.Administration 修复了它。使用 OpenRemote
的远程调用不起作用,所以我不得不使用 Invoke-SqlCommand
在远程机器上进行管理。
我正在尝试通过 PowerShell 管理我的 IIS 实例。
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration") | Out-Null
$Iis = [Microsoft.Web.Administration.ServerManager]::OpenRemote($WebServer)
$IisApp = $Iis.sites[$SiteName].Applications["/$WebApplicationName"]
if(-not $IisApp)
{
$IisApp = $Iis.sites[$SiteName].Applications.Add("/$WebApplicationName", $WebApplicationFolder)
}
这会失败,因为它有时会在目标机器上找到错误的 IIS 实例。我如何告诉 Microsoft.Web.Administration
使用 real IIS 而不是 IIS Express?
我也试过通过 NuGet 获取最新的 Microsoft.Web.Administration
,但效果也好不到哪里去。我已将程序集下拉到共享的 Nuget 位置 (c:\nuget\packages\
),而是从那里加载程序集
add-type -Path "C:\nuget\packages\Microsoft.Web.Administration\lib\netstandard1.5\Microsoft.Web.Administration.dll"
并确认 ServerManager 来自正确的程序集并且没有什么不同。
我已经从我的机器上卸载了 IIS Express,它可以在我的机器上运行,但我无法从我希望定位的每台机器上卸载 IIS Express。
如何告诉 Microsoft.Web.Administration
专注于真正的 IIS 而不是 IIS Express?
如果安装了 IIS Express,一切都会失败。如果没有安装 IIS Express,一切都很好。
帮忙?
从 C:\Windows\System32\inetsrv
加载 Microsoft.Web.Administration 修复了它。使用 OpenRemote
的远程调用不起作用,所以我不得不使用 Invoke-SqlCommand
在远程机器上进行管理。