我有一个运行PS命令的WCF服务,可以在本地计算机和远程计算机上启动IIS网站。命令是:
$siteName = '" + siteName + "';
$serverName = '" + serverName + "';
$block = {" + block + "};
$session = New-PSSession -ComputerName $serverName
Invoke-Command -Session $session -ScriptBlock $block -ArgumentList $siteName
要使此命令生效,我们需要将运行WCF服务的应用程序池帐户添加到托管网站的计算机上的管理员组。
有没有办法在不给应用程序池帐户管理员访问权限的情况下实现这一目标?
此致 希尔帕
答案 0 :(得分:2)
好吧,经过一些快速检查,我发现了这个,
要为IIS使用Windows PowerShell cmdlet,您必须是IIS Administrators或Administrators组的成员,或者您必须被委派了适当的权限。
这是来自Misrosoft的Powershell CMDLETS管理工具网站,Here
因此看起来您可以成为IIS管理员的成员并获得相同的能力。
更新:
如果您希望其他人能够运行Powershell,您需要执行以下操作;
Set-PSSessionConfiguration -Name Microsoft.PowerShell -showSecurityDescriptorUI
确认您要执行操作,这会打开以下对话框,允许您让其他人在该计算机上运行命令:
我是从Microsoft发现的,请告诉我这是否可以解决您的问题。
答案 1 :(得分:0)
不,如果您想直接启动AppPool,您必须是管理员。
解决方法是使用Windows服务或频繁运行计划任务来启动/停止应用程序池。你的网站会以某种方式触发它。在某处删除文件很容易,而且应该可以正常工作。