MiLLHouSe 15 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 Hallo zusammen, ich versuche gerade, ein PS-Skript automatisiert über die Aufgabenplanung beim Anmelden des Benutzers starten zu lassen. Die Skript-Datei habe ich per GPO auf ein Verzeichnis lokal verteilt, die Aufgabenplanung wird ebenfalls über GPO erstellt. Das alles funktioniert. Nur das Ausführen leider nicht. Ich lasse als Aktion "Programm starten" Das Programm (Powershell) wird aufgerufen mit: c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe Bei "Argumente hinzufügen) steht: -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File "c:\temp\skriptdatei.ps1" Ausführender Benutzer ist "System", darf unabhängig der Benutzeranmeldung ausgeführt werden, natürlich mit den höchsten Privilegien. Das Problem ist, dass die Aufgabenplanung behauptet, dass der geplante Task erfolgreich ausgeführt wurde, es passiert nur leider nichts. Im Skript steht dieser Befehl: Get-AppxPackage Microsoft.OutlookForWindows | remove-appxpackage Ich habe auch schon den Administrator (Domäne) eingestellt. Den Task manuell starten bringt ebenfalls nichts. Es steht immer dort, dass er erfolgreich ausgeführt wurde, passiert ist aber nichts. Führe ich den Befehl zum Aufruf von Powershell incl. Skript manuell aus, funktioniert es und dieses Outlook(new) wird deinstalliert. Ich bin lokaler Admin, die meisten Benutzer bei mir sind es jedoch nicht. Trage ich im Task mich als Benutzer ein, funktioniert das Skript auch. Nur wird mir das nichts nutzen, da mind. 90% der Benutzer keine lokalen Adminrechte besitzen. Warum aber funktioniert der Aufruf als System oder mit Benutzer Administrator nicht? In der Ereignisanzeige steht auch nichts drin. Wer hat evtl. noch eine Idee, dass dieses Skript ausgeführt werden kann? Grüße Alex Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 Geht es dabei um ein "User-Package"? Dann sollte der jeweilige Benutzer als ausführendes Konto benutzt werden. Hast Du schon mal den Parameter "-AllUsers" probiert? Das sollte ein Package für alle de-installieren. Dann brauchst Du es pro PC auch nur einmal ausführen und nicht für jeden Benutzer einzeln. Zitieren Link zu diesem Kommentar
testperson 1.707 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 Hi, zusätzlich könntest du ein wenig Logging einbauen. Für den Anfang wäre vermutlich Start-Transcript -Path C:\Temp\MeinScriptLog.txt <# Hier könnte Ihre Werbung oder Script stehen ;) #> Stop-Transcript schon hilfreich. Gruß Jan Zitieren Link zu diesem Kommentar
MiLLHouSe 15 Geschrieben 15. November 2023 Autor Melden Teilen Geschrieben 15. November 2023 @testperson Das funktioniert. Das Log wird erstellt: ********************** nStart der Windows PowerShell-Aufzeichnung Startzeit: 20231115141916 Benutzername: xxx\SYSTEM RunAs-Benutzer: xx\SYSTEM Konfigurationsname: Computer: xxx (Microsoft Windows NT 10.0.22631.0) Hostanwendung: c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File c:\temp\PS-Skript.ps1 Prozess-ID: 12416 PSVersion: 5.1.22621.2506 PSEdition: Desktop PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.22621.2506 BuildVersion: 10.0.22621.2506 CLRVersion: 4.0.30319.42000 WSManStackVersion: 3.0 PSRemotingProtocolVersion: 2.3 SerializationVersion: 1.1.0.1 ********************** Die Aufzeichnung wurde gestartet. Die Ausgabedatei ist "C:\Temp\MeinScriptLog.txt". ********************** Ende der Windows PowerShell-Aufzeichnung Endzeit: 20231115141916 ********************** Zitieren Link zu diesem Kommentar
testperson 1.707 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 Option 1) Du hast jetzt zwischen Start- und Stop-Transcript dein Script vergessen Option 2) Das Script macht einfach gar nichts Zitieren Link zu diesem Kommentar
MiLLHouSe 15 Geschrieben 15. November 2023 Autor Melden Teilen Geschrieben 15. November 2023 (bearbeitet) Ja ok, das Skript stand tatsächlich unten, ist mir nicht aufgefallen. Nun ist es dazwischen und das Ergebnis sieht aber trotzdem genauso aus wie oben. Ich lasse es natürlich über die Aufgabenplanung starten, denn manuell am Client funktioniert der Aufruf ja problemlos und das "neue Outlook" wird problemlos deinstalliert. So steht es jetzt drin: Start-Transcript -Path C:\Temp\MeinScriptLog.txt <# Get-AppxPackage Microsoft.OutlookForWindows | remove-appxpackage #> Stop-Transcript Das habe ich als xxx.ps1 abgespeichert und rufe es in der Aufgabenplanung so auf: c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File c:\temp\PS-Skript.ps1 [edit] Ich habe die ps1-Datei mal manuell aufrufen wollen und bekomme nun den "Fehler", dass die Ausführung von Skripts auf dem System deaktiviert ist. Dann liegt es wohl daran!? bearbeitet 15. November 2023 von MiLLHouSe Zitieren Link zu diesem Kommentar
Mario-HS 5 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 (bearbeitet) Ich benutze immer eine Batch um die ps-skripte zu starten, damit ich die gpo nicht im script berücksichtigen muss. Du kannst ja mal zum test ein batch erstellen, in dem folgendes steht. start Powershell.exe -executionpolicy Unrestricted -File "Hier liegt mein script.ps1" Wenn sich ein PS fenster öffnet aber nicht der gewünschte inhalt ausgeführt wird, liegt das problem ja im skript. bearbeitet 15. November 2023 von Mario-HS Zitieren Link zu diesem Kommentar
testperson 1.707 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 vor 17 Minuten schrieb MiLLHouSe: <# Get-AppxPackage Microsoft.OutlookForWindows | remove-appxpackage #> Entferne einmal den Kommentarblock. Also das "<#" und "#>". 1 Zitieren Link zu diesem Kommentar
MiLLHouSe 15 Geschrieben 15. November 2023 Autor Melden Teilen Geschrieben 15. November 2023 Das ist ja mein Problem. Die Ausführung an sich klappt ja, nur eben nicht über die Aufgabenplanung als SYSTEM oder als Benutzer Administrator. Es geht bei mir (mit lokalen Admin-Rechten) und bei manueller Ausführung ohne Probleme. Nur über die Aufgabenplanung (nach Anmeldung und manuell) nicht. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 vor 1 Minute schrieb MiLLHouSe: Es geht bei mir (mit lokalen Admin-Rechten) und bei manueller Ausführung ohne Probleme. vor 43 Minuten schrieb BOfH_666: Hast Du schon mal den Parameter "-AllUsers" probiert? Das sollte ein Package für alle de-installieren. Dann brauchst Du es pro PC auch nur einmal ausführen und nicht für jeden Benutzer einzeln. Zitieren Link zu diesem Kommentar
MiLLHouSe 15 Geschrieben 15. November 2023 Autor Melden Teilen Geschrieben 15. November 2023 vor 2 Minuten schrieb testperson: Entferne einmal den Kommentarblock. Also das "<#" und "#>". Leider keine Änderung. Das erzeugte TXT sieht weiterhin wie gehabt aus. @BOfH_666 Du meinst als Parameter dann so: -AllUsers -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File "c:\temp\PS-Skript.ps1" ? Da kommt dann 0x1 bei der Ausführung, also direkt ein Fehler. Zitieren Link zu diesem Kommentar
Mario-HS 5 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 Schau mal hier, da wird es beschrieben wie es deinstalliert werden kann per PS https://techcommunity.microsoft.com/t5/outlook-blog/the-new-outlook-for-windows-for-organization-admins/ba-p/3929169 Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 vor 52 Minuten schrieb MiLLHouSe: Du meinst als Parameter dann so: -AllUsers -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File "c:\temp\PS-Skript.ps1" ? Nein, meint er nicht. ;) Get-AppxPackage Microsoft.OutlookForWindows | remove-appxpackage -AllUsers 1 Zitieren Link zu diesem Kommentar
MiLLHouSe 15 Geschrieben 15. November 2023 Autor Melden Teilen Geschrieben 15. November 2023 (bearbeitet) Hallo Sunny, ich wollte es auch gerade schreiben, dass ich da ja falsch war und dass es natürlich genau dorthin gehört. Das habe ich mittlerweile schon ausprobiert, aber es klappt weiterhin nicht. Zwar sagt die Aufgabenplanung weiterhin schön brav, dass der Task ausgeführt wurde, nur passiert einfach nichts :( . Anderswo habe ich gelesen, dass man mit dem Befehl "Set-ExecutionPolicy RemoteSigned evtl. weiterkommt. Damit konnte ich dann aber lediglich das ps1-File ohne irgendwelche Parameter in PS aufrufen. Manuell kann ich die Deinstallation durchführen, da gebe ich in einer CMD einfach c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File c:\temp\PS-Skript.ps1 ein und es läuft. Nur automatisiert nicht. Ich geb's bald auf... bearbeitet 15. November 2023 von MiLLHouSe Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 15. November 2023 Melden Teilen Geschrieben 15. November 2023 Ich würde das mal etwas aufdröseln - Pipes in unbeaufsichtigten Skripts sind Mist, weil Du nicht loggen kannst, was in der Pipeline passiert... So als Vorschlag - und vielleicht mag ein Mod das in Skripting-Forum schieben, da gehört es eher hin Start-Transcript -Path "$( $MyInvocation.InvocationName ).Log" $Packages = Get-AppxPackage Microsoft.OutlookForWindows Write-Host "Number of Packages found: $( $Packages.Count )" If ( $Packages.Count -gt 0 ) { Foreach ( $Package in $Packages ) { $Package | Select Name, Version, InstallLocation | Format-Table -Autosize } Write-Host "Removing Packages..." Foreach ( $Package in $Packages ) { Remove-AppxPackage $Package -Verbose } } Else { Write-Host "No Packages found, nothing to do..." } Stop-Transcript Die Vorschläge mit "Remove-AppxPackage -AllUsers" werden nicht funktionieren, weil das kein Bundle ist, das kann nur pro User deinstalliert werden. Also muß auch das Skript im Benutzerkontext laufen. 1 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.