я пытаюсь получить свойство (владелец) файл с помощью строки коды в PowerShell:Получить файл «последний сохраненный на» собственность без изменения его
$file = "\\networkshare\directory\file.doc"
Get-ItemProperty -Path $file | Format-list -Property * -Force
Это легко извлечь владелец, модифицированный дата и т.д. Но я хочу, чтобы извлечь «последний спас» и 'номер редакции':
Update:
Следующий код, похоже, работает. Но каждый раз, когда я запускаю скрипт, он меняет значение «last saved by». Как предотвратить это и только прочитать свойство?
$word = New-Object -Com Word.Application
$word.Visible = $false #to prevent the document you open to show
$doc = $word.Documents.Open("\\networkshare\directory\file.doc")
$binding = "System.Reflection.BindingFlags" -as [type]
Foreach($property in $doc.BuiltInDocumentProperties) {
try {
$pn = [System.__ComObject].invokemember("name",$binding::GetProperty,$null,$property,$null)
if ($pn -eq "Last author") {
$lastSaved = [System.__ComObject].invokemember("value",$binding::GetProperty,$null,$property,$null)
echo "Last saved by: "$lastSaved
} }
catch { }
}
$doc.Close()
$word.Quit()
У меня нет времени для правильного правильного ответа n ow (глупые встречи), но если вы google *** powershell расширили свойства файла ***, вы найдете несколько примеров использования COM-объекта Shell.Application для этого. – EBGreen
@EBGreen см. Обновленный вопрос выше. Я добавил дополнительный вопрос –
Пробовал ли вы объект Shell.Application COM, как я предложил? – EBGreen