2016-07-18 2 views
2

Я пытаюсь использовать PowerShell для закрытия презентации PowerPoint, расположенной на сайте SharePoint.Powershell для правильного закрытия документа Sharepoint

Я использую бот process.kill и команды Stop-Process, но дело в том, что файл закрыт неправильно и испорчен на сайте SharePoint. Если я удалю его, он вернется. Я знаю, что это связано с краткосрочной блокировкой, но я хочу этого избежать. Если I AltF4PowerPoint презентация или Esc он, файл оставлен в стабильном состоянии.

ответ

2

Попробуйте сохранить и закрытия PowerPoint презентации вниз изящно, прежде чем убить процессы с Stop-Process:

# If there is a powerpoint application running 
If(Get-Process | ?{$_.ProcessName -eq "POWERPNT"}){ 

    $pp = [Runtime.Interopservices.Marshal]::GetActiveObject('powerpoint.application') 
    $pp.Presentations | % { 
     $_.Save() 
     $_.Close() 
    } 

    # Kill off all PowerPoint apps 
    Get-Process | ?{$_.ProcessName -eq "POWERPNT"} | Stop-Process 
} 
+0

Это было быстро! Кажется, работает. Я просто получаю сообщение об ошибке, когда Powerpoint не запускается до запуска ppsx, но он закрывается должным образом без блокировки. Так что сделаю это. Благодаря ! – theclaw

+0

@theclaw Я добавил в 'if' для моего ответа так, что он будет работать только в том случае, если работает' PowerPoint'. Это может решить вашу проблему? Если мой ответ ответит на ваш вопрос, можете ли вы его принять, спасибо. :) – Richard

+0

Да, звучит тоже хорошо, спасибо. – theclaw

Смежные вопросы