【问题标题】:how to run powershell script in python [closed]如何在python中运行powershell脚本[关闭]
【发布时间】:2020-09-12 11:19:04
【问题描述】:

'''$Session = New-Object -ComObject "Microsoft.Update.Session"

$Searcher = $Session.CreateUpdateSearcher()

$historyCount = $Searcher.GetTotalHistoryCount()

$Result = $Searcher.QueryHistory(0, $historyCount) |选择对象日期,

@{name="操作";表达式={switch($_.operation)

{

1 {“安装”};

2 {“卸载”};

3 {“其他”}

}}},

@{name="状态";表达式={switch($_.resultcode)

{

1 {“进行中”};

2 {“成功”};

3 {“错误成功”};

4 {“失败”};

5 {“中止”}

}}},

@{name="更新";表达式={IF($_.Title.tostring() -match "(.*?)"){$matches[0].replace('(','').replace(')','')} }},

标题 $Result |其中{$_.Date -gt (Get-Date).AddDays(-14)} |排序对象日期 |选择日期、操作、状态、更新、标题 | Export-Csv -NoType "$Env:userprofile\Desktop\WindowsUpdates.csv"|格式表

这是保存到记事本的脚本,我想使用 python 获取输出

导入子流程

p = subprocess.run('F:\getwindowupdate.ps1', shell=True)

打印(p.stdout)

这只是打开记事本文件如何使用python执行这个powershell脚本

【问题讨论】:

  • 请帮助我是 python 的新手。如何使用 python 从此脚本获取输出。
  • 我想获取有关窗口补丁的信息,是否安装。但在 python 中我不能这样做。给出任何想法如何获取窗口更新信息,它的更新与否。非常感谢
  • 这能回答你的问题吗? Run PowerShell function from Python script

标签: python powershell


【解决方案1】:

您可以将命令传递给 PowerShell 并在您的 python 脚本中检索输出。

第 1 步 编写 PowerShell 脚本

    Write-Host 'Hello, World!'

将其保存为 script.ps1

PS:这会输出

    Hello, World!

第 2 步 编写一个 python 脚本并从那里调用您的 PowerShell 脚本并检索输出

    import sys
    import subprocess

    cmd = ["PowerShell", "-ExecutionPolicy", "Unrestricted", "-File", ".\\script.ps1"]
    ec = subprocess.call(cmd)
    print("Powershell returned: {0:d}".format(ec))

这将输出:

    Hello, World!
    Powershell returned: 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多