Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取powershell日志_Powershell - Fatal编程技术网

如何获取powershell日志

如何获取powershell日志,powershell,Powershell,我有一个PowerShell函数,可以删除在一定时间内未修改的文件夹 我想知道如何将输出/日志获取到.txt或.csv文件,该文件将显示删除的文件夹以及删除的时间。我尝试了Start Transcript,但它只会显示错误,不会成功 $daysToKeep = -15 $foldersToKeep = 3 $Location = "C:\Users\Administrator\Desktop\Batch" $folderList = Get-ChildItem -Path $

我有一个PowerShell函数,可以删除在一定时间内未修改的文件夹

我想知道如何将输出/日志获取到
.txt
.csv
文件,该文件将显示删除的文件夹以及删除的时间。我尝试了
Start Transcript
,但它只会显示错误,不会成功

$daysToKeep = -15
$foldersToKeep = 3
$Location = "C:\Users\Administrator\Desktop\Batch"
$folderList = Get-ChildItem -Path $Location -Recurse -Directory
                                                      
$folderList | Sort-Object CreationTime -Descending | 
Select-Object -Skip $foldersToKeep |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays($DaysToKeep) } | 
Remove-Item -Recurse 

如果将文件放入循环中,则可以使用
DeleteTime
属性创建自定义对象:

$LogFile = 'C:\temp\FileDeleteLog.csv'
$daysToKeep = -15
$DateBound = (Get-Date).AddDays($daysToKeep)
$foldersToKeep = 3
$Location = "C:\Users\Administrator\Desktop\Batch"

Get-ChildItem -Path $Location -Recurse -Directory |
Sort-Object CreationTime -Descending |
Select-Object -Skip $foldersToKeep |
Where-Object { $_.LastWriteTime -lt $DateBound } | 
ForEach-Object{
    [PSCustomObject]@{
        FolderPath = $_.FullName
        LastWriteTime = $_.LastWriteTime
        DeleteTime = (Get-Date)
    }

    Remove-Item $_.FullName -Recurse
} |
Export-Csv -Path $LogFile -NoTypeInformation

我可以想象有很多方法可以做到这一点,这只是其中之一。我们可以使用
selectobject
在现有管道中添加时间戳。但是,如果该过程需要很长时间,则这些时间戳与文件夹实际删除时间之间可能会出现不可接受的间隔。就目前而言,我认为上面的内容会更准确。

非常有效。谢谢