我写了一个简单的控制台应用程序,该应用程序以管理员权限运行,代码基于this link,用户输入.ps1
(powershell)脚本路径,应用程序执行此路径中的此脚本。
首先我尝试了#34; Hello World"脚本并且工作正常,但是当我尝试其他脚本时,powershell会出错。
我在.ps1
scipt:
install-WindowsFeature smtp-server
Read-Host -Prompt “Press Enter to exit”
令人惊讶的是,如果我手动运行此命令install-WindowsFeature smtp-server
,它可以正常工作。
但是我需要应用程序才会这样做,而不是手动。
以下是powershell错误:
install-WindowsFeature : The term 'install-WindowsFeature' is not recognized as the name of a cmdlet, function, script
file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
At c:\users\administrator\desktop\EnableSMTP.ps1:1 char:1
+ install-WindowsFeature smtp-server
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (install-WindowsFeature:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Press Enter to exit:
答案 0 :(得分:1)
Install-WindowsFeature是ServerManager模块提供的cmdlet。手动运行脚本时,必须已将此模块导入到会话中。通过程序运行时,模块未导入,因此无法识别cmdlet名称。尝试添加Import-Module ServerManager
作为脚本中的第一行,看看是否能解决您的问题。
答案 1 :(得分:1)
答案 2 :(得分:-1)
我想你可能需要一个资本“我”...... 安装-WindowsFeature