Mat*_*nde 4 powershell powershell-ise
我开始将这个PowerShell脚本放在一起,希望能够替换当前手动执行的一些任务
我正在使用
get-Date.AddDays()
Run Code Online (Sandbox Code Playgroud)
功能
我正在使用ISE来构建脚本,在测试中我得到输出,如果我挑出'starttime'属性,但这似乎是一个全部因为值都是null,理想情况下我想使用'timesubmitted'属性,但日期似乎输出奇怪,我认为没有正确读取,因为我的'timesubmitted'查询总是空的
如果你做一个打开的查询,它会以这种格式出现
20120416030836.778000-420
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所拥有的.
无视| 'format-table'函数就是这样我可以看到我是否得到了所需的输出
#Clears Old Print Jobs on Specified server
#Sets Execution Policy for Script to run
Set-ExecutionPolicy RemoteSigned -Force
#establishes variable for cutoff date
$d = Get-Date
$old = $d.AddDays(-4)
#Queries WMI and retrieves print jobs
Get-WmiObject -class win32_printjob -namespace "root\CIMV2" | where-object {$_.timesubmitted -lt
"$old"} | ft caption,document,jobid,jobstatus,owner,timesubmitted
Run Code Online (Sandbox Code Playgroud)
在PowerShell中,每个WMI实例都有一个ScriptMethod,可用于将日期从WMI格式转换为.NET格式:
Get-WmiObject Win32_PrintJob |
Where-Object { $_.ConvertToDateTime($_.TimeSubmitted) -lt $old } |
Foreach-Object { $_.Delete() }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6929 次 |
| 最近记录: |