自動化された展開スクリプトを(batファイルとして)作成しています。私たちのアプリケーションは主にWindowsサービスです。SC CREATEを使用してサービスを作成する予定です。問題は、パスワードをスクリプトファイルにクリアテキストとして保存することです。パスワードを暗号化してsc createに渡す方法はありますか?
また、ユーザー名とパスワードをスキップしてサービスを開始する方法はありますか?
自動化された展開スクリプトを(batファイルとして)作成しています。私たちのアプリケーションは主にWindowsサービスです。SC CREATEを使用してサービスを作成する予定です。問題は、パスワードをスクリプトファイルにクリアテキストとして保存することです。パスワードを暗号化してsc createに渡す方法はありますか?
また、ユーザー名とパスワードをスキップしてサービスを開始する方法はありますか?
回答:
インストール時に顧客に資格情報を選択させるのではなく、資格情報を埋め込むことを知っているため、これは内部アプリケーションであると想定しています。
Windows 7 / Windows Server 2008 R2以降では、管理されたサービスアカウントを使用できます。これらは、設計上、知っているパスワードを持っていないアカウントです。(これらはコンピューターアカウントのように動作し、定期的に自分のパスワードを自動的に変更します。)
アカウントを作成し、コンピューターに関連付けて、コンピューターにインストールする必要があります(3つのPowerShellコマンド)。また、アカウントは複数のコンピューターにまたがることはできません(2012年およびgMSAまで)。
そのバッチスクリプト以外のワークステーション管理に使用しているものや、所有しているワークステーションの数はわかりませんが、スクリプト化のためにMSA名の一部として何らかの環境変数を使用できる場合があります。SOME-PC
MSAという名前のワークステーションの場合SOME-PC-YOURSERVICE
、アカウントをインストールすると、ワークステーションでPowerShellコマンドが実行さInstall-ADServiceAccount -Identity SOME-PC-YOURSERVICE
れSOME-PC
ます。
MSAを作成してワークステーションにインストールすると、サービスを実行するアカウントを指定するときにパスワードを入力する必要がなくなります。