我必须运行一些powershell脚本才能运行应用程序。我可以运行所有的程序,除了这一个:
Param(
[string]$cmd = "start"
)
$script = $myInvocation.MyCommand.Name
$host.UI.RawUI.WindowTitle = $script
function StartServer {
kafka-server-start $env:KAFKA_DIR\config\server.properties
}
function StopServer {
kafka-server-stop
}
switch ($cmd) {
"start" { StartServer; break }
"stop" { StopServer; break }
"shutdown" { StopServer; break }
default { Write-Host "$script [cmd=start|stop|shutdown]" }
}
如果我试图运行这个脚本,我会收到一条消息,命令“wmic”找不到。我没有使用“wmin”命令。我只是想从打字开始写剧本 ./nameOfScript
.
1条答案
按热度按时间lnxxn5zx1#
此错误是因为系统路径中没有wmic,或者其他人或企业构建标准/sop已将其从系统中删除。
wmic多年来一直是windows的一部分,直到windows 10和windows server 2016。
这是另一个脚本工具,许多人甚至不知道那里有,因此从来没有使用它的意图。作为前狂热的wmic用户,wmic是powershell imho的前身。如果你看看wmic的文档或者网上关于它的东西,你就会明白我的意思。
wmic-对wmi的命令行控制微软创造了很多很好的理由让命令提示符在windowsxp和windowsserver2003家族中成为系统管理的家。windows management instrumentation命令行(wmic)就是其中一个原因,它使用windows management instrumentation(wmi)的强大功能从命令行启用系统管理。
自从microsoft systems management server(sms)2.0以来,wmi一直是microsoft系统管理计划的一个重要部分,自从引入windows 2000以来,它越来越流行。但是,在引入wmic之前,您无法从命令提示符轻松访问wmi存储库或wmi命名空间。
https://msdn.microsoft.com/en-us/library/bb742610.aspx
wmic vs wmi powershell cmdlet wmi命令行(wmic)实用程序为wmi提供命令行接口。使用Windows7,您可以利用WindowsPowerShell的强大功能来完成wmic所能做的一切。https://blogs.msdn.microsoft.com/wmi/2010/01/06/wmic-vs-wmi-powershell-cmdlets
完全公开,我不知道什么是ApacheKafka,因此没有使用它的豪华经验。然而,这种错误在客户环境中我已经见过不止一次了。