私はAzure Windows VMを実行しています。これは、起動時に(タスクスケジューラから起動された)バッチファイルを実行します。複数のAzure VMでスケジュールされたタスクを管理者として実行
バッチファイルをSYSTEMとして起動することはできず、ユーザーとして実行する必要があるため、VM管理者を使用します。タスクスケジューラでは、このユーザーは\として表示されます。これはすべて正常に動作します。
私はこれらのVMの多くを、既存のVMのVHDを作成し、そのVHDから(おそらくScaleSetで)より多くのVMを作成することで実行できるようにしたいと考えています。
スクリプトは、VMを最初に起動したときに再起動する必要があります。
これを行うと、VMHごとにMACHINE_NAMEが異なるため、起動スクリプトが壊れることが想定されます。
この問題を解決するにはどうすればよいでしょうか?
'%computername%'変数を使用しますか? – 4c74356b41
タスクスケジューラについて大したことは分かりませんが、タスク内で変数を使用する方法はわかりません。しかし、実行されたバッチファイルで "runas"を使用するという考えを私に与えました。このようにして、SYSTEMでタスクを開始し、バッチファイルでrunasと%computername%を使用して、実際のタスクを意図したユーザーとして実行することができます。ありがとう。 – gordonm
実際、runasはコマンドラインでパスワードを受け入れることができないため、psexecはより良いオプションです。 – gordonm