gpt4 book ai didi

powershell - 在命令行中找不到 Cmdlet,但在 ISE 中可用

转载 作者:行者123 更新时间:2023-12-04 17:21:42 31 4
gpt4 key购买 nike

我正在尝试在 Windows Server 2008 R2 VM 上使用 PowerShell 创建 IIS 应用程序和应用程序池。 powershell脚本如下:

Param(
[string] $branchName,
[string] $sourceFolder
)

if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
[Security.Principal.WindowsBuiltInRole] "Administrator"))
{
Write-Warning "You do not have Administrator rights to run this script. `nPlease re-run this script as an Administrator."
Exit
}

$appPool = $branchName
$site = "Default Web Site"

#Add APPPool
New-WebAppPool -Name $appPool -Force

#Create Applications
New-WebApplication -Name $branchName -Site $site -PhysicalPath $sourceFolder - ApplicationPool $appPool -Force

如果我在 PowerShell ISE 中运行脚本,它工作正常,但如果我从命令行(或使用命令行的批处理文件)运行它,我会收到错误

The term New-WebAppPool is not recognized as the name of a cmdlet... etc.



有没有办法可以在 ISE 中安装 Web 管理 cmdlet,但不能在命令行中安装?

最佳答案

假设您使用的是 PowerShell v2(随 Server 2008 R2 安装的默认版本),就像 @jisaak 怀疑的那样:您需要导入模块 WebAdministration在您的代码中明确:

Import-Module WebAdministration

ISE 似乎会自动执行此操作。

另一种选择是 upgrade to PowerShell v4 ,它还会在使用其中一个导出的 cmdlet 时自动导入模块。

关于powershell - 在命令行中找不到 Cmdlet,但在 ISE 中可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34850821/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com