我使用Powershell命令生成某些文件类型的CSV报告.我的目标是找出在特定日期范围内添加了多少.现在,脚本找到所有内容,然后按日期排序以查找我的号码.我想修改命令只返回创建日期范围内的对象,即如果此文件是在2013年3月1日到2013年3月31日之间创建的.可能有一种方法可以将命令限制为日期范围,可能使用Select-对象,我只是想不出来.
Get-ChildItem 'PATH' -recurse -include @("*.tif*","*.jp2","*.pdf") | Select-Object FullName, CreationTime, @{Name="Mbytes";Expression={$_.Length/1Kb}}, @{Name="Age";Expression={(((Get-Date) - $_.CreationTime).Days)}} | Export-Csv 'PATH\scans.csv'
Run Code Online (Sandbox Code Playgroud) 我有一个脚本,针对名为Server1的SQLServer运行Invoke-SQLCmd.从中收集的数据将传递给另一个针对Server2触发的脚本,并将结果插回到Server 1上的表中.在每个Invoke-SQLCmd上,我使用了-user -password和一个具有sa的帐户两个系统上的权限.
当我从命令shell或Poershell ISE运行脚本时,我的数据被插入到表中,并且每个工作都正常; 当我从SQL中运行它时没有任何反应.当我使用xp_cmdshell时,我得不到输出(返回"null").
xp_cmdshell 'powershell.exe -file c:\script.ps1 -ExecutionPolicy Unrestricted'
Run Code Online (Sandbox Code Playgroud)
我已将其放入SQLjob并使用链接到我的域帐户的代理帐户,该帐户在两个框上都具有管理员权限,但仍未在作业历史记录中记录任何结果,并且在Server1上的表中没有数据.
我究竟做错了什么?当它从ISE起作用时,这肯定会起作用吗?