簡體   English   中英

"在 Python 腳本運行手冊(Azure 自動化帳戶)中使用子進程庫運行 PowerShell 命令時遇到問題"

[英]Trouble running PowerShell command with subprocess library in Python script runbook (Azure automation account)

我是 Azure 自動化的新手,並且有一個可以在本地計算機上正常運行的 python 腳本。 該腳本運行 PowerShell 命令以獲取登錄日志,並在寫入存儲帳戶表之前對其進行一些字符串解析。 我能夠通過自動化帳戶中的“Python Packages”刀片安裝腳本的所有依賴項。 有沒有辦法在某處添加 powershell.exe 以便可以使用子進程庫來運行 PowerShell 命令? 或者,是否可以導入一個庫以運行 PowerShell 命令或從 Azure AD 獲取登錄日志,而無需直接使用 powershell.exe 文件?

此外,Microsoft.Powershell.Core 已添加到自動化帳戶的模塊中。 我只是使用了錯誤的文件名,應該使用 powershell.exe 以外的其他東西嗎? 您必須安裝不同的模塊,還是我引用錯誤?

這是腳本的相關部分:

import subprocess
import sys
import json
import azure.core
from azure.core.credentials import AzureNamedKeyCredential 
from azure.data.tables import TableServiceClient, TableClient 

data = subprocess.check_output(["powershell.exe", "Connect-AzureAD -AccountId placeholder@placeholder.com \n Get-AzureADAuditSignInLogs"]).decode(sys.stdout.encoding)

我已經在我的環境中測試過

如果我在我的 python 腳本中使用 subprocess 來運行 PowerShell 命令,我會得到與你相同的錯誤

這是因為子進程模塊無法找到 powershell.exe 路徑

對於解決方法,您可以使用以下任一選項:

  1. 您可以使用 PowerShell 腳本而不是 python 腳本<\/li>
  2. 您可以在 Python 代碼中使用 MS Graph API 而不是 PowerShell 命令<\/li><\/ol>"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM