寻找一种更好的方式来记录或跟踪脚本何时运行



我有一个powershell脚本,它支持多个远程it。为了跟踪其使用情况,它会记录并将当前用户名、日期、时间和当前计算机名附加到存储在网络驱动器中的csv文件中。大约有20个人使用这些脚本,因此csv文件可以尝试同时打开和写入条目。

有没有更好的方法可以做到这一点,因为我确信csv最终会损坏?

谢谢。

在这种情况下,我将使用EventLog来使用Write EventLog记录事件。

$server = "My-Log-Server" # Log server name or IP
$eventChannel = "Application" # EventLog. It is possible to choose any existing or create own.
$provider = "Calculator" # Provider of event. It is possible to choose any existing or create own.
$eventid = 300 # Id of the event
# Message: current computer, current user, date/time
$msg = ( $env:COMPUTERNAME, $env:USERNAME, ( Get-Date ).ToString( "yyyy-MM-dd HH:mm:ss" )) -join","
Write-EventLog -ComputerName $server -LogName $eventChannel -Source $provider -EventID $eventid -EntryType Information -Message $msg

然后

  1. 使用Get-WinEvent创建一个计划任务来收集事件,并将记录附加到csv文件或
  2. 制作一个事件驱动的任务,将一条记录附加到csv文件中

最新更新