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?

Était-ce utile?

La 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

Autres conseils

So the select will allow you to just get the properties you are interested in.

So a few things to do:

  1. Figure out what properties you could select from
    Get-ChildItem | Get-Member -membertype properties
    
  2. 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top