2016-07-18 8 views
2

Ich versuche PowerShell zu verwenden, um eine PowerPoint Präsentation auf einer SharePoint Website herunterzufahren.Powershell zum ordnungsgemäßen Herunterfahren eines Sharepoint-Dokuments

Ich habe bot die process.kill und die Stop-Process Befehle, aber die Sache ist, dass die Datei nicht ordnungsgemäß geschlossen ist und auf der SharePoint Website versaut ist. Wenn ich es lösche, kommt es zurück. Ich weiß, dass das mit der Kurzzeitsperre zu tun hat, aber das möchte ich vermeiden. Wenn ich AltF4 die PowerPoint Präsentation oder Esc es, wird die Datei in einem stabilen Zustand verlassen.

Antwort

2

Versuchen Speichern und Schließen der PowerPoint Präsentationen nach unten anmutig, bevor Sie die Prozesse mit Stop-Process töten:

# 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

Das war schnell! Scheint zu arbeiten. Ich erhalte nur einen Fehler, wenn Powerpoint nicht gestartet wird, bevor ich den ppsx lauge, aber er schließt richtig ohne Sperre. Das wird es also tun. Vielen Dank ! – theclaw

+0

@theclaw Ich habe ein "if" zu meiner Antwort hinzugefügt, so dass es nur ausgeführt wird, wenn ein 'PowerPoint'-Prozess läuft. Das könnte dein Problem lösen? Wenn meine Antwort Ihre Frage beantwortet hat, können Sie es akzeptieren, danke. :) – Richard

+0

Ja, klingt auch gut, danke. – theclaw

Verwandte Themen