3

こんにちは、クラスター マネージャーからサービスを停止し、サービスをアンインストールし、サービスを再インストールして、クラスター マネージャーからサービスを開始するための PowerShell スクリプトがあります。NServiceBus.Host.exe は、サービスのアンインストールと再インストールに使用されます。インストールで問題が発生しています。サービスは正常にインストールされていますが、パラメーターとして「/startManually」を送信しても、サービスは常に自動スタートアップ タイプです。次に、インストール時に、使用するサービスのユーザー名とパスワードを指定したにもかかわらず、userName がローカル マシン名であることを示す Login failed for user sql エラーが表示されます。以下は、サービスをインストールするための私のコード行です。どんな助けも祝福です。

& "NServiceBus.Host.exe" ("/install", "/startManually", "/serviceName:$ServiceName", "/displayName:$ServiceName", "/username:$ServiceUserName", "/password:$ServicePassword") > tmp.txt
4

1 に答える 1

1

通常、Start-Processコマンドレットを使用してPowerShellからプロセスを起動することをお勧めします。これにより、プロセスを起動するプロセス全体(しゃれは意図されていません)のトラブルシューティングがはるかに簡単になります。

-ArgumentListコマンドライン引数を変数に組み込み、その結果の変数をパラメーターに渡すことができます。

$Arguments = '/install /startManually /serviceName:{0} /displayName:{0} /username:{1} /password:{2}' -f $ServiceName, $ServiceUserName, $ServicePassword)
$nServiceBus = Resolve-Path -Path nServiceBus.Host.exe;

Write-Host -Object ('Argument string is: {0}' -f $Arguments);
Write-Host -Object ('Path to nServiceBus.Host.exe is: {0}' -f $nServiceBus);
Start-Process -Wait -NoNewWindow -FilePath $nServiceBus -ArgumentList $Arguments -RedirectStandardOutput tmp.txt;

お役に立てれば。

于 2012-10-14T18:06:20.467 に答える