如何获得提升访问权限以启动应用程序池回收?

时间:2015-02-05 14:48:03

标签: powershell iis cmd

我刚刚使用此代码(在ps1文件上)来回收我的ApplicationPool:

$WebserverName="MySite"

# Load IIS module:
Import-Module WebAdministration

# Get pool name by the site name:
$pool = (Get-Item "IIS:\Sites\$WebserverName"| Select-Object applicationPool).applicationPool
# Recycle the application pool:
  Restart-WebAppPool $pool

但它告诉我这个错误:

Import-Module:进程应具有提升状态以访问IIS

所以,我在网上搜索,我能够创建这个.bat文件:

@ECHO OFF
@cd ..
@SET DebugLevel=3
@SET PowerShellScriptPath=.\Header.ps1
@SET CurrentScriptName=%~n0.ps1

@PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList ' -NoProfile -ExecutionPolicy Bypass -File ""%PowerShellScriptPath%"" ""%CurrentScriptName%"" ""%DebugLevel%""' -Verb RunAs}"

@pause

我运行它,与管理员用户一起登录,但它显示了一个蓝屏(来自powershell)并突然停止。

我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

@SET PowerShellScriptPath=.\Header.ps1
@PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList ' -NoProfile -ExecutionPolicy Bypass -File  ""%PowerShellScriptPath%"" ' -Verb RunAs}"

你批处理有一些你不需要的东西。

答案 1 :(得分:0)

请确保运行此过程的用户在您尝试对其执行操作的框中具有管理员权限。这为我解决了这个问题。