Find latest modified file information in PowerShell
-
21-12-2019 - |
Question
I run this code:
Get-ChildItem 'C:\Test Folder' | Where {$_.LastWriteTime} | select -last 1
And I get back Mode, LastWriteTime, Length, and Name of the last modified file - great!
I'm trying to get the username of the file's owner as well.
I've added this code:
| ForEach-Object {Get-Acl $_.FullName}
Which returns Path, Owner, Access for the file.
How can I display LastWriteTime, and Owner to be the only objects shown in the output?
Solution
Are you sure that what you are trying to do is not the following?
Get-ChildItem 'C:\Test Folder' | Sort {$_.LastWriteTime} | select -last 1
You can try this:
$c = Get-ChildItem 'C:\Test Folder' | Sort {$_.LastWriteTime} | select -last 1 | foreach {$a=$_;$b=Get-Acl $_.FullName; Add-Member -InputObject $b -Name "LastWriteTime" -MemberType NoteProperty -Value $a.LastWriteTime;$b}
$c.LastWriteTime
OTHER TIPS
So the select will allow you to just get the properties you are interested in.
So a few things to do:
- Figure out what properties you could select from
Get-ChildItem | Get-Member -membertype properties
Once you know the properties just add to the select in your original statement
Get-ChildItem'c:\test folder' | where {$_.lastwritetime} | select -last 1 | ` foreach { write-host $_.lastwritetime ((get-ACL).owner)}
Finally, don't be afraid of the Get-Help command.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow