我对PowerShell非常陌生,希望能得到一些帮助创建一个脚本,告诉我文件的修改日期。
我希望我更了解PowerShell,因为我感觉我正在提出很多问题(这个星期我所有的空闲时间都将用于更好地学习PowerShell)。指导我学习如何做这个的方向也将非常有帮助。
这是完整的情况说明:我需要每天运行一个报告,检查90个不同商店列表中的计算机是否执行了某个特定的备份。修改日期应该表明备份是否已经完成,并且会被设置为前一天的日期。
如果修改日期是昨天,那么就不需要输出任何内容。如果不是昨天,我希望在PowerShell窗口或文本文件中输出,哪个更容易就用哪个。
我还必须检查每个90个商店的文件夹是否超过7天了,对于输出也有相同的条件。我对于每个商店的想法是像这样:
对于商店1:
Check file date for \\server\store\computer\c:\folder\"newest modified date in folder"
if date equals yesterday
then do nothing
if date does not equal yesterday
then output "Test did not backup"
check folder modified date for \\server\sample\store\backupfolder
if date equals <7 days old
then do nothign
if date equals >7 days old
then output "test did not backup"
非常抱歉我没有证明我的研究努力,我对PowerShell非常陌生,并且我必须在截止日期之前完成这项工作。昨天以来,我已经学会了如何使用脚本完成我需要做的一切。感谢@Keith指导我走上正确的道路。最终,我使用以下代码实现了我的目标,仅输出结果为false的位置。
$a = Get-ChildItem \\server\XXX\Received_Orders\*.* | Where{$_.LastWriteTime -ge (Get-Date).AddDays(-7)}
if ($a = (Get-ChildItem \\server\XXX\Received_Orders\*.* | Where{$_.LastWriteTime -ge (Get-Date).AddDays(-7)}))
{
}
Else
{
'STORE XXX HAS NOT RECEIVED ANY ORDERS IN THE PAST 7 DAYS'
}
$b = Get-ChildItem \\COMP NAME\Folder\*.* | Where{$_.LastWriteTime -ge (Get-Date).AddDays(-1)}
if ($b = (Get-ChildItem \\COMP NAME\TFolder\*.* | Where{$_.LastWriteTime -ge (Get-Date).AddDays(-1)}))
{
}
Else
{
'STORE XXX DID NOT RUN ITS BACKUP LAST NIGHT'
}