繁体   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