如何在导出为CSV之前向每行添加日期/时间

戴夫

我有一个很好的工作Powershell功能,称为PSO。PSO功能根据给定的输入/参数搜索一个或多个特定的Windows进程。当过程名称与searchparameter匹配时,它将过程所有者和更多信息导出/追加到csv文件中。到目前为止一切都很好。

现在,我真的很想将日期和时间信息添加到PowerShell写入csv的每一行中。我已经为此苦了一段时间了。我已经在VBScript中使用了类似的模拟工具,但是我真的开始喜欢Powershell,并且喜欢查看和了解更多信息。

在PSO功能下方,我假设这是应生成和添加日期和时间的区域...对吗?

Function Get-PSO($searchString)
# http://powershell.com/cs/blogs/tips/archive/2009/12/17/get-process-owners.aspx
# Usage: Get-PSO * OR Get-PSO exp*,*paint*,calc*,notepad*
# Sample Export2csv: Get-PSO notepad* | Export-CSV $env:userprofile\desktop\export.csv -Append 

# A few date/time formats for later use... i hope
$date=(Get-Date -format "yyyy-MM-d")
$time=(Get-Date -format "HH:mm:ss")
$datetime=(Get-Date -format "yyyy-MM-d HH:mm")

$foundProcess = ps $searchString -ea silentlycontinue
if($foundProcess -eq $null) { return; }
$foundprocess | % {
gwmi Win32_Process -Filter ("Handle={0}" -f $_.id ) | 
 % { Add-Member -TypeName Type -InputObject $_ -MemberType NoteProperty -Name Owner -Value ($_.GetOwner().User) -PassThru } |
# See below my last attempt to get this tot work
# % { Add-Member -TypeName Type -InputObject $_ -MemberType NoteProperty -Name Owner -Value ($_.GetOwner().User) -MemberType NoteProperty -Name Date -Value $date -PassThru } |
  select Name, Handle, Owner, Type
}

当我运行该函数; Get-PSO记事本* | Export-CSV $ env:userprofile \ desktop \ export.csv -Append)我得到以下结果:

名称;句柄;所有者;类型

notepad ++。exe; 7736;戴夫;

我喜欢添加日期/时间,结果应类似于:

名称;句柄;所有者;日期;时间;日期时间;类型

notepad ++。exe; 7736; Dave; 5-4-2015; 20:07; 5-4-2015 20:07;

任何人?一些帮助或想法将不胜感激。

大卫·安德森

这是你想要的?

Function Get-PSO($searchString) {
    # http://powershell.com/cs/blogs/tips/archive/2009/12/17/get-process-owners.aspx
    # Usage: Get-PSO * OR Get-PSO exp*,*paint*,calc*,notepad*
    # Sample Export2csv: Get-PSO notepad* | Export-CSV $env:userprofile\desktop\export.csv -Append 

    # A few date/time formats for later use... i hope
    $date=(Get-Date -format "yyyy-MM-d")
    $time=(Get-Date -format "HH:mm:ss")
    $datetime=(Get-Date -format "yyyy-MM-d HH:mm")

    $foundProcess = ps $searchString -ea silentlycontinue
    if($foundProcess -eq $null) { return; }
    $foundprocess | % {         
        gwmi Win32_Process -Filter ("Handle={0}" -f $_.id ) | 
            % { 
                Add-Member -InputObject $_ -MemberType NoteProperty -Name Owner -Value ($_.GetOwner().User) -PassThru
                Add-Member -InputObject $_ -MemberType NoteProperty -Name Date -Value $date -PassThru
                Add-Member -InputObject $_ -MemberType NoteProperty -Name Time -Value $time -PassThru
                Add-Member -InputObject $_ -MemberType NoteProperty -Name DateTime -Value $datetime -PassThru
                Add-Member -InputObject $_ -MemberType NoteProperty -Name Type -Value "" -PassThru
            } |
            select Name, Handle, Owner, Date, Time, DateTime, Type
    }
}

每个Add-Member命令都会为单个结果添加一个属性。Name参数将是导出的CSV中的列名称,而该Value参数将是值。select命令(实际上Select-Object)将结果过滤到列出的属性子集。

或者,您可以仅使用Select-Object和Calculated Properties来完成所有这些操作

Function Get-PSO($searchString) {
    # http://powershell.com/cs/blogs/tips/archive/2009/12/17/get-process-owners.aspx
    # Usage: Get-PSO * OR Get-PSO exp*,*paint*,calc*,notepad*
    # Sample Export2csv: Get-PSO notepad* | Export-CSV $env:userprofile\desktop\export.csv -Append 

    # A few date/time formats for later use... i hope
    $date=(Get-Date -format "yyyy-MM-d")
    $time=(Get-Date -format "HH:mm:ss")
    $datetime=(Get-Date -format "yyyy-MM-d HH:mm")

    $foundProcess = ps $searchString -ea silentlycontinue
    if($foundProcess -eq $null) { return; }
    $foundprocess | % {         
        gwmi Win32_Process -Filter ("Handle={0}" -f $_.id ) | 
            select-Object Name, Handle, 
                @{Name='Owner'; Expression={$_.GetOwner().User}}, 
                @{Name='Date'; Expression={$date}}, 
                @{Name='Time'; Expression={$time}}, 
                @{Name='DateTime'; Expression={$datetime}}, 
                @{Name='Type'; Expression={''}}
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在jq中向CSV导出添加标头?

来自分类Dev

如何在 Highcharts 导出器中将导出日期和时间添加为用户格式?

来自分类Dev

如何在Linux中为日期变量添加时间?

来自分类Dev

如何在 unix shell 脚本中为日期添加时间?

来自分类Dev

如何在刚体的角速度为0之前向其添加扭矩?

来自分类Dev

pandas 如何在写入数据框之前向 csv 添加详细信息

来自分类Dev

如何在Excel中使用VBA向文件名添加日期和时间

来自分类Dev

如何在Excel中使用VBA向文件名添加日期和时间

来自分类Dev

向 Javascript 日期添加时间

来自分类Dev

如何在 DataSet C# 中导出/导入日期时间

来自分类Dev

如何在Oracle中为日期(时间戳)添加分钟?

来自分类Dev

如何在Laravel 5中为输入字段时间和日期添加引导类

来自分类Dev

如何在Python中为日期时间对象添加填充零?

来自分类Dev

如何在时间和日期时钟上为其他位置添加缺少的城市?

来自分类Dev

如何在Oracle中为日期(时间戳)添加分钟?

来自分类Dev

如何在WPML输出之前向菜单添加链接?

来自分类Dev

如何在__init__之前向类添加属性?

来自分类Dev

如何在ASP中的多行表达式中向每行末尾添加注释?

来自分类Dev

如何在以午夜00小时为中心的javascript中向UTC时间戳添加3个月?

来自分类Dev

如何在脚本中向文件添加时间戳

来自分类Dev

如何在LineGraph achartengine中向TimeSeries添加日期

来自分类Dev

如何在Eclipse中的Android上向EditText添加日期

来自分类Dev

如何在MySQL中向当前日期添加小时

来自分类Dev

如何在Codeigniter中将数组导出为CSV?

来自分类Dev

添加日期导致午夜之前的时间

来自分类Dev

PHP日期导出为CSV格式

来自分类Dev

PHP日期导出为CSV格式

来自分类Dev

如何使用上次修改日期而不是当前日期向文件添加时间戳

来自分类Dev

如何使用上次修改日期而不是当前日期向文件添加时间戳

Related 相关文章

  1. 1

    如何在jq中向CSV导出添加标头?

  2. 2

    如何在 Highcharts 导出器中将导出日期和时间添加为用户格式?

  3. 3

    如何在Linux中为日期变量添加时间?

  4. 4

    如何在 unix shell 脚本中为日期添加时间?

  5. 5

    如何在刚体的角速度为0之前向其添加扭矩?

  6. 6

    pandas 如何在写入数据框之前向 csv 添加详细信息

  7. 7

    如何在Excel中使用VBA向文件名添加日期和时间

  8. 8

    如何在Excel中使用VBA向文件名添加日期和时间

  9. 9

    向 Javascript 日期添加时间

  10. 10

    如何在 DataSet C# 中导出/导入日期时间

  11. 11

    如何在Oracle中为日期(时间戳)添加分钟?

  12. 12

    如何在Laravel 5中为输入字段时间和日期添加引导类

  13. 13

    如何在Python中为日期时间对象添加填充零?

  14. 14

    如何在时间和日期时钟上为其他位置添加缺少的城市?

  15. 15

    如何在Oracle中为日期(时间戳)添加分钟?

  16. 16

    如何在WPML输出之前向菜单添加链接?

  17. 17

    如何在__init__之前向类添加属性?

  18. 18

    如何在ASP中的多行表达式中向每行末尾添加注释?

  19. 19

    如何在以午夜00小时为中心的javascript中向UTC时间戳添加3个月?

  20. 20

    如何在脚本中向文件添加时间戳

  21. 21

    如何在LineGraph achartengine中向TimeSeries添加日期

  22. 22

    如何在Eclipse中的Android上向EditText添加日期

  23. 23

    如何在MySQL中向当前日期添加小时

  24. 24

    如何在Codeigniter中将数组导出为CSV?

  25. 25

    添加日期导致午夜之前的时间

  26. 26

    PHP日期导出为CSV格式

  27. 27

    PHP日期导出为CSV格式

  28. 28

    如何使用上次修改日期而不是当前日期向文件添加时间戳

  29. 29

    如何使用上次修改日期而不是当前日期向文件添加时间戳

热门标签

归档