用powershell查找word和excel文档的最后保存者
||
我有一个包含子文件夹的文件夹,我想运行一个Powershell脚本来查找所有Office文档(目前是word和excel 2003、2007和2010),并打印我们可以在其上找到的“最后保存者”属性文件的属性,详细信息选项卡。
有人可以帮忙吗?
-解决方案-
$word = New-Object -Com Word.Application
$word.Visible = $false #to prevent the document you open to show
$doc = $word.Documents.Open($path)
$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)
write-host \"Last saved by: \"$lastSaved
} }
catch { }
}
$doc.Close()
$word.Quit()
对正确答案做了一些调整,现在可以正常工作了。
没有找到相关结果
已邀请:
1 个回复
苦诫
但是文档属性存储在属性BuiltInDocumentProperties中,该属性本身是动态COM对象(因此不能直接使用) 我使用的方法是遍历这些属性中的每一个,然后检索值:
您只需打印$ pn变量即可获得所有可用属性的名称。