首页 > 解决方案 > PowerShell 脚本日志

问题描述

使用批处理脚本我在远程计算机上调用 PowerShell 脚本,所以在这里我可以看到脚本正在执行,但脚本日志正在部分生成。当我在本地计算机上手动运行时,日志按预期获取。附件是一个示例日志。我使用的代码是一个简单的家务代码。

我正在使用命令从批处理文件中调用 PowerShell 脚本

powershell -inputformat none C:\temp\cleanup.ps1

这是我正在使用的代码

$VerbosePreference = "Continue"
$DaysToDelete = 2
$LogDate = get-date -format "MM-d-yy-HH"
$objShell = New-Object -ComObject Shell.Application 
$objFolder = $objShell.Namespace(0xA)
$ErrorActionPreference = "silentlycontinue"
#$MemoryDmpPath = "C:\Windows\Memory.dmp"
$MemoryDmp = $env:systemroot
$MemoryDmp


Start-Transcript -Path C:\Build\DiskClean-up.log
$After =  Get-WmiObject Win32_LogicalDisk | Where-Object { $_.DriveType -eq "3" } | Select-Object SystemName,
@{ Name = "Drive" ; Expression = { ( $_.DeviceID ) } },
@{ Name = "Size (GB)" ; Expression = {"{0:N1}" -f( $_.Size / 1gb)}},
@{ Name = "FreeSpace (GB)" ; Expression = {"{0:N1}" -f( $_.Freespace / 1gb ) } },
@{ Name = "PercentFree" ; Expression = {"{0:P1}" -f( $_.FreeSpace / $_.Size ) } } |
Format-Table -AutoSize | Out-String
$After

## Deletes the contents of the C:\Temp folder.
Get-ChildItem "C:\Users\*\AppData\Local\Microsoft\Windows\Explorer\*" -Recurse -Force -Verbose -ErrorAction SilentlyContinue |
Where-Object { ($_.LastWriteTIme -lt $(Get-Date).AddDays(-$DaysToDelete)) } 
#| remove-item -force -Verbose -recurse -ErrorAction SilentlyContinue
## The Contents of C:\Temp have been removed successfully!


## Deletes the contents of the C:\Temp folder.
Get-ChildItem "C:\Users\*\AppData\Local\Microsoft\Windows\Explorer\*" -Recurse -Force -Verbose -ErrorAction SilentlyContinue
#|remove-item -force -Verbose -recurse -ErrorAction SilentlyContinue
## The Contents of C:\Temp have been removed successfully!


## deletes the dmp files
$lastWrite =(Get-ItemProperty -Path $MemoryDmp\Memory.dmp -Name LastWriteTime).lastwritetime
$lastWrite

$timespan = new-timespan -days 30 -hours 00 -minutes 00

if (((get-date) - $lastWrite) -gt $timespan) {
    Write-host MEMORY.dmp file is older then 60 days hence delete.
    Remove-Item -path $MemoryDmp\MEMORY.DMP -force -Verbose
} else {
    Write-host MEMORY.dmp file is newer than 60 days and it cannot be deleted.
}

Stop-Transcript

我期待的输出日志如下所示。

************************
Windows PowerShell 脚本启动
开始时间:20190409151717
用户名:home\admin1
运行身份用户:home\admin1
机器:家庭(Microsoft Windows NT 6.1.7601 Service Pack 1)
主机应用程序:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
进程 ID:9016
PS版本:5.1.14409.1018
PS版:桌面
PSCompatibleVersions:1.0、2.0、3.0、4.0、5.0、5.1.14409.1018
构建版本:10.0.14409.1018
CLRVersion:4.0.30319.42000
WSManStack 版本:3.0
PSRemotingProtocol版本:2.3
序列化版本:1.1.0.1
************************
脚本已启动,输出文件为 C:\Temp\DiskClean-up.log
详细:在目标“Windows Update (wuauserv)”上执行“停止服务”操作。
详细:对目标“C:\Windows\Temp\BdeSqm”执行“删除目录”操作。
详细:对目标“C:\Windows\Temp\DPTF”执行“删除目录”操作。
详细:对目标“C:\Windows\Temp\DPTF\dptf_pnmwlanproxy.dll”执行“删除文件”操作。
详细:对目标“C:\Windows\Temp\DPTF\dptf_wwanproxy.dll”执行“删除文件”操作。
详细:对目标“C:\Windows\Temp\DPTF\dptf_pnmwlanproxy.dll”执行“删除文件”操作。
详细:对目标“C:\Windows\Temp\DPTF\dptf_wwanproxy.dll”执行“删除文件”操作。
详细:在目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs”上执行“删除目录”操作。
详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\McTray_MC0X8CPC.log”执行“删除文件”操作。
详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\UpdaterUI_MC0X8CPC.log”执行“删除文件”操作。
详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\UpdaterUI_MC0X8CPC_error.log”执行“删除文件”操作。
详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\UpdaterUI_MC0X8CPC.log”执行“删除文件”操作。
详细:对目标“C:\users\A747231\AppData\Local\Temp\McAfeeLogs\UpdaterUI_MC0X8CPC_error.log”执行“删除文件”操作。
详细:对目标“C:\users\A747231\AppData\Local\Temp\Outlook Logging”执行“删除目录”操作。
详细:对目标“C:\users\A747231\AppData\Local\Temp\Outlook Logging\Outlook-20190409T1112140152.etl”执行“删除文件”操作。

************************
Windows PowerShell 脚本结束
结束时间:20190409151838
************************

但我得到的输出低于

************************
Windows PowerShell 脚本启动
开始时间:20190409151717
用户名:home\admin1
运行身份用户:home\admin1
机器:家庭(Microsoft Windows NT 6.1.7601 Service Pack 1)
主机应用程序:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
进程 ID:9016
PS版本:5.1.14409.1018
PS版:桌面
PSCompatibleVersions:1.0、2.0、3.0、4.0、5.0、5.1.14409.1018
构建版本:10.0.14409.1018
CLRVersion:4.0.30319.42000
WSManStack 版本:3.0
PSRemotingProtocol版本:2.3
序列化版本:1.1.0.1
************************
脚本已启动,输出文件为 C:\Temp\DiskClean-up.log
************************
Windows PowerShell 脚本结束
结束时间:20190409151838
************************

标签: powershell

解决方案


推荐阅读