2016-03-23 12 views
0

NSSMとpowershellを使用してサービスとしてSeleniumをインストールしようとしています。しかし、サービスが作成されている間は、正しいパラメータが設定されていません。NSSMでサービスをPowerShellにインストール

CMDで実行された同じコマンドが正常に実行され、期待どおりにサービスがインストールされます。

PowershellでNSSMに設定をどのように渡しますか?私が使っているコマンドは次のとおりです。

nssm install SeleniumHub java -jar C:\bin\Selenium2\selenium-server-standalone-2.53.0.jar -role hub -hubConfig C:\bin\Selenium2\seleniumHubConfig.json 

NSSM PowerShellが正しくNSSMの実行可能ファイルを見つけることですので、私のPATH上にあるが、同じようにパラメータを処理していないようだCMD

答えて

0

として、それならばCMDで動作する理由:

cmd /c "nssm install SeleniumHub java -jar C:\bin\Selenium2\selenium-server-standalone-2.53.0.jar -role hub -hubConfig C:\bin\Selenium2\seleniumHubConfig.json" 
0

正しい - PowerShellはCMDと同じパラメータを処理しません。ここでの問題は、NSSMのパラメータ(-role-hubなど)の一部がPowerShellのパラメータのように見えるため、PowerShellはそれらをNSSMに渡すのではなく解釈するためです。

これらのパラメータを引用符で囲むと便利ですが、パラメータ付きのコマンドを呼び出す最良の方法は、配列としてバンドルし、呼び出しオペレータ&を使用することです。

$params = @('install', 'SeleniumHub', 'java', '-jar', 
      'C:\bin\Selenium2\selenium-server-standalone-2.53.0.jar', 
      '-role', 'hub', '-hubConfig', 
      'C:\bin\Selenium2\seleniumHubConfig.json') 
& nssm $params 
関連する問題