2010-04-20 92 views
8

有没有人成功地使用这个模块,我正在运行32位Windows 7,在那里我打开了一个使用以管理员身份运行的管理员shell,我导入了WebAdministration模块,然后尝试使用有一些问题的命令,都在这里提供两个例子IIS 7.5 PowerShell模块使用问题

网站

我创建了一个网站,使用下面的命令

new-website -name testsite -port 80 -hostheader testsite -physicalpath c:\temp 

然后我ATTE使用命令 获取网站详细信息get-website -name testsite 但它总是返回所有网站,似乎忽略了-name参数。当我使用APPCMD它的工作原理是使用以下命令

C:\> C:\Windows\System32\inetsrv\appcmd.exe list site testsite 

AppPools

预计当我尝试列出的唯一途径,我可以得到该网站使用过滤器

get-website | ? { $_.name -eq 'testsite' } | get-member 

使用以下命令的应用程序

dir iis:\apppools 

我得到以下错误

Get-ChildItem : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) 

然而,当我使用APPCMD如下我得到的所有apppools预期没有任何错误

C:\Windows\System32\inetsrv\appcmd.exe list apppool 

有没有人成功地设法使用WebAdministration模块?

在此先感谢
帕特

回答

0

你需要确保PowerShell窗口正在运行升高,尝试用鼠标右键单击开始菜单,使用“以管理员身份运行”选项,以确保它运行升高。

0

关于Get-Website忽略-Name参数,这看起来像是一个根据this forum post的错误。解决方法是使用获取项目

$website = "Default Web Site" 
Get-Item "IIS:\sites\$website" 

请务必使用双引号,使用单引号时不扩展变量。

关于浏览应用程序池我怀疑这是一个权限问题,因为CarlosAg提到。确保您使用提升的权限运行PowerShell。我通常通过右键单击它并选择“以管理员身份运行”来启动PowerShell。

8

如果您已经以管理员身份运行PowerShell并禁用了Windows UAC并且仍然看到此错误,请确保WAS(Windows进程激活服务)正在运行。如果WAS停止,您可以停止W3SVC,但PowerShell肯定会给出同样令人头疼的“访问被拒绝”错误。