Azure Automation を使用して PowerShell スクリプトを開発すると、非常に遅くなる可能性があります。これは、スクリプトをローカルでテスト実行できる PowerShell ISE アドインを使用することで役立ちます。
ただし、必然的に、ローカルで実行している場合と Azure Automation で実行している場合では、いくつかの点が異なります。たとえば、ファイルパス。
スクリプトが現在実行されている環境を検出する正しい方法は何ですか?
現時点では、ローカルにのみ保持し、アップロードしない変数アセットを定義しています。次に、次のようなことができます。
# Check if we are running locally - NOTE: Do not upload the runningLocally variable! Keep it local only
if (Get-AutomationVariable -Name 'runningLocally') {
# We are running locally
} else {
# We are running in Azure Automation
}
しかし、これはかなり扱いにくく、エラーが発生しやすいようです。より堅牢で信頼性の高い方法を探しています。
いくつかの追加の方法を発見しました。AA で実行するときのマシン名とユーザー名はどちらも「クライアント」ですが、これはより堅牢な方法と思われますか?