有没有人设法成功使用此模块,我正在运行32位Windows 7,我使用run as administrator打开管理员shell,我已导入WebAdministration模块,然后尝试使用带有一些问题的命令,这里提供了两个例子
网站
我使用以下命令创建了一个网站
new-website -name testsite -port 80 -hostheader testsite -physicalpath c:\temp
然后我尝试使用该命令获取网站详细信息 get-website -name testsite 但它总是返回所有网站,似乎忽略了-name参数。只有这样我才能获得该网站使用过滤器
get-website | ? { $_.name -eq 'testsite' } | get-member
当我使用appcmd时,它使用以下命令
按预期工作C:\> C:\Windows\System32\inetsrv\appcmd.exe list site testsite
AppPools
当我尝试使用以下命令列出apppool时
dir iis:\apppools
我收到以下错误
Get-ChildItem : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
然而,当我按照以下方式使用appcmd时,我会按预期获得所有apppool,而不会出现任何错误
C:\Windows\System32\inetsrv\appcmd.exe list apppool
是否有人成功设法使用WebAdministration模块?
提前致谢
专利
答案 0 :(得分:9)
如果您已经以管理员身份运行PowerShell并禁用了Windows UAC,并且仍然看到此错误,请确保WAS(Windows进程激活服务)正在运行。您可以停止W3SVC,但如果WAS停止,PowerShell肯定会给出同样令人头疼的“拒绝访问”错误。
答案 1 :(得分:0)
您需要确保PowerShell窗口正在升级,请尝试右键单击“开始”菜单,然后使用“以管理员身份运行”选项确保其升级。
答案 2 :(得分:0)
关于Get-Website忽略-Name参数,根据this forum post,这似乎是一个错误。解决方法是使用Get-Item
$website = "Default Web Site"
Get-Item "IIS:\sites\$website"
请务必使用双引号,使用单引号时不会展开变量。
关于浏览应用程序池,我怀疑这是一个权限问题,正如CarlosAg所提到的那样。确保使用提升的权限运行PowerShell。我通常通过右键单击并选择“以管理员身份运行”来启动PowerShell。