多步骤 powershell 命令 [duplicate]

Multiple step powershell command [duplicate]

提问人:pithhelmet 提问时间:8/1/2023 最后编辑:mklement0pithhelmet 更新时间:8/1/2023 访问量:40

问:

我有一个 Windows 任务,它每次在凌晨 1:15 执行一次 powershell 命令

目前,他们使用此命令进行操作

Get-WinEvent -LogName Microsoft-Windows-PowerShell/Operational | Export-CSV C:\temp\Microsoft-Windows-PowerShell-Operational.csv

问题是 - 每次执行文件时都会被写入。

我想使用运行日期的文件名。

交互式地,我有这个代码块,它可以工作

$filenameFormat = "c:\temp\" + (Get-Date -Format "MM_dd_yyyy") + "_MWPSO.csv"
Get-WinEvent -LogName Microsoft-Windows-PowerShell/Operational | Export-CSV #filenameFormat

我已经尝试了这些命令

# Get-WinEvent -LogName Microsoft-Windows-PowerShell/Operational | Export-CSV "c:\temp\" + (Get-Date -Format "MM_dd_yyyy") + "_MWPSO.csv"

# $filenameFormat = "c:\temp\" + (Get-Date -Format "MM_dd_yyyy") + "_MWPSO.csv" ` Get-WinEvent -LogName Microsoft-Windows-PowerShell/Operational | Export-CSV $filenameFormat

# $filenameFormat = "c:\temp\" + (Get-Date -Format "MM_dd_yyyy") + "_MWPSO.csv"
# Get-WinEvent -LogName Microsoft-Windows-PowerShell/Operational | Export-CSV  $filenameFormat

问:如何在行代码中使用新创建的文件名?

Windows PowerShell 语法参数 传递

评论


答:

1赞 Santiago Squarzon 8/1/2023 #1

如何在一行代码中使用新创建的文件名?

您已经在以下方面做到了:

.. | Export-CSV "c:\temp\" + (Get-Date -Format "MM_dd_yyyy") + "_MWPSO.csv"

只是缺少括号,因此首先评估串联:

.. | Export-CSV ("c:\temp\" + (Get-Date -Format "MM_dd_yyyy") + "_MWPSO.csv")

或者,您可以使用 $(..) 进行字符串插值:

.. | Export-Csv "C:\temp\$((Get-Date -Format 'MM_dd_yyyy'))_MWPSO.csv"

评论

1赞 pithhelmet 8/2/2023
完美 - 谢谢