我刚刚使用此代码(在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)并突然停止。
我做错了什么?
谢谢!
答案 0 :(得分:0)
试试这个:
@SET PowerShellScriptPath=.\Header.ps1
@PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList ' -NoProfile -ExecutionPolicy Bypass -File ""%PowerShellScriptPath%"" ' -Verb RunAs}"
你批处理有一些你不需要的东西。
答案 1 :(得分:0)
请确保运行此过程的用户在您尝试对其执行操作的框中具有管理员权限。这为我解决了这个问题。