脚本手动运行但不是通过 c#
Script runs manually but not via c#
我写了一个简单的控制台应用程序,应用程序 运行s 具有管理员权限,代码基于 this link,用户输入一个 .ps1
(powershell) 脚本 path 并且应用程序在此路径中执行此脚本。
首先,我在 "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:
我想你可能需要大写 "I" ...
安装-WindowsFeature
Install-WindowsFeature 是 ServerManager 模块提供的一个 cmdlet。当您手动 运行 脚本时,您必须已经将此模块导入到您的会话中。当通过程序 运行 时,模块未导入,因此无法识别 cmdlet 名称。尝试将 Import-Module ServerManager
添加为脚本的第一行,看看是否能解决您的问题。
我以前也遇到过这种情况。
在解决方案资源管理器中,右键单击项目-->属性-->生成
将平台目标从 "Any CPU" 更改为 x64
我写了一个简单的控制台应用程序,应用程序 运行s 具有管理员权限,代码基于 this link,用户输入一个 .ps1
(powershell) 脚本 path 并且应用程序在此路径中执行此脚本。
首先,我在 "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:
我想你可能需要大写 "I" ... 安装-WindowsFeature
Install-WindowsFeature 是 ServerManager 模块提供的一个 cmdlet。当您手动 运行 脚本时,您必须已经将此模块导入到您的会话中。当通过程序 运行 时,模块未导入,因此无法识别 cmdlet 名称。尝试将 Import-Module ServerManager
添加为脚本的第一行,看看是否能解决您的问题。
我以前也遇到过这种情况。
在解决方案资源管理器中,右键单击项目-->属性-->生成
将平台目标从 "Any CPU" 更改为 x64