Warum machen die wöchentlichen Aufgaben erstellt via PowerShell mit einer anderen Benutzer-Fehler 0x41306

Wir haben einige scripts, erstellen von geplanten Aufträgen mit PowerShell als Teil unserer Anwendung. Beim testen Sie vor kurzem, habe ich gemerkt, dass einige von Ihnen immer versagt sofort, und keine Ausgabe, die jemals produziert wurden (von der Sie nicht einmal angezeigt in der Get-Job Liste).

Nach vielen Tagen optimieren, haben wir es geschafft Sie zu isolieren um irgendwelche jobs, die ausgeführt werden wöchentlich. Unten ist ein script, das erstellt zwei jobs, die genau das tun die gleiche Sache. Wenn wir dies auf unsere domain, und geben Sie die Anmeldeinformationen eines Domänen-Benutzer, dann zwingen beide jobs laufen in der Task Scheduler GUI (Rechtsklick -> Ausführen), die täglich eine läuft gut (0x0 Ergebnis) und der wöchentliche Ausfall (0x41306).

Hinweis: Wenn ich nicht den-Credential-Parameter, die beiden Arbeitsplätze funktionieren. Die jobs, nur nicht wenn die Aufgabe sowohl wöchentliche, und ausgeführt, wie dieser domain-user.

Ich kann nicht finden, Informationen über warum dies geschieht, noch aus irgendeinem Grund denken, es würde sich anders Verhalten, für wöchentliche Aufträge. Die "Geschichte£ tab in der Task Scheduler hat fast keine nützlichen Informationen, einfach nur "Task beenden aufgrund von Benutzer-Anforderung" und "Task beendet", beide haben keine nützliche info:

Task Scheduler beendet "{eabba479-f8fc-4f0e-bf5e-053dfbfe9f62}"
Instanz von "\Microsoft\Windows\PowerShell\ScheduledJobs\Test1"
Aufgabe. Task Scheduler-Instanz gestoppt
"{eabba479-f8fc-4f0e-bf5e-053dfbfe9f62}" der Aufgabe
"\Microsoft\Windows\PowerShell\ScheduledJobs\Test1" als Anfrage per
user "MyDomain\SomeUser" .

Was ist mit dieser? Warum muss wöchentliche Aufgaben, die unterschiedlich ausgeführt werden, und wie kann ich die diganose dieses Problem?

Dies ist PowerShell v3 auf Windows Server 2008 R2. Ich habe nicht in der Lage zu reproduzieren dieses lokal, aber ich habe keinen Benutzer eingerichtet, in der gleichen Weise wie der in unserem Produktionsbereich (ich bin daran zu arbeiten, aber ich wollte diesen post so schnell wie möglich in der Hoffnung, jemand weiß, was passiert!).

Import-Module PSScheduledJob

$Action =
{
    "Executing job!"
}

$cred = Get-Credential "MyDomain\SomeUser"

# Remove previous versions (to allow re-running this script)
Get-ScheduledJob Test1 | Unregister-ScheduledJob
Get-ScheduledJob Test2 | Unregister-ScheduledJob

# Create two identical jobs, with different triggers
Register-ScheduledJob "Test1" -ScriptBlock $Action -Credential $cred -Trigger (New-JobTrigger -Weekly -At 1:25am -DaysOfWeek Sunday)
Register-ScheduledJob "Test2" -ScriptBlock $Action -Credential $cred -Trigger (New-JobTrigger -Daily -At 1:25am)

Edit: Hinzugefügt, zu Verbinden, wie vorgeschlagen, durch snover:

https://connect.microsoft.com/PowerShell/feedback/details/776801/weekly-tasks-created-via-powershell-using-a-different-user-immediately-fail-with-error-0x41306

Edit: Einige zusätzliche Informationen von Jeff Hicks

Ich verwendet Ihren code zu erstellen, die für die gleiche Arbeit auf meinem 2008 R2 Rechner mit PS
v3. Beide jobs lief fein von der PowerShell mit Start-Job". Aber in der
GUI, ich habe den gleichen Fehler für die wöchentliche job.

Bekomme ich das gleiche Ergebnis unter Windows 8. Etwas sagen, die Aufgabe
service abgebrochen wird. Getestet habe ich einige andere Einstellungen, aber Sie hatten keine Wirkung.
Ich schaute durch alle logs, die ich denken konnte und alles, was Sie zeigen, ist
den job starten, die PowerShell laden und dann den task-scheduler
Abbrechen.

Ich zurücksetzen die wöchentliche Aufgabe ausführen, heute ein bisschen her ist und es immer noch
fehlgeschlagen. Ich auch getestet, eine wöchentliche Aufgabe zu tun etwas anderes als
PowerShell und es lief alles wunderbar.

Ich habe die wöchentliche Aufgabe auf dasselbe Konto wie für den aktuellen Benutzer
und es lief alles wunderbar. Haben es wieder auf das andere Konto, und es
wieder einmal versagt. Ich habe keine Ahnung über die Korrelation zwischen trigger
und Konto.

  • 0x41306 bedeutet, dass die Aufgabe wurde beendet durch den Benutzer. Ref: msdn.microsoft.com/en-us/library/windows/desktop/... Was passiert, wenn Sie schalten Sie die Zeitpläne Umgekehrt?
  • Würde ich blickte auf den code, aber es macht keinen Sinn. Es ist nicht termianted durch die Benutzer 🙁 Nicht sicher, was Sie bedeuten, durch Umschalten der Zeitplan? Das test-Skript erstellt zwei Aufgaben, sind die gleichen, die täglich eine funktioniert immer; die wöchentliche one schlägt immer fehl.
  • Ändern Test2 Wochenplan. Scheitert es? Was passiert, nachdem Sie ändern Ihren Zeitplan wieder täglich ein?
  • Ja, es schlägt fehl, wenn wir es ändern, um wöchentlich (auch über die GUI). Der Zeitplan ist der einzige Unterschied (neben Namen, aber diese nicht einen Unterschied machen), so ist dies ein bisschen erwartet 🙁
  • Wechseln Sie die Reihenfolge der beiden letzten Zeilen in Ihrem Skript. Macht die gleiche Arbeit immer noch nicht, oder ist es der andere jetzt? Wenn es die andere, würde ich vermuten, es gibt einige Objekt - vermutlich der Anmeldedaten - das ist nur gültig für einmaligen Gebrauch oder so etwas.
  • Importieren Sie die PSScheduledJob Modul, dann finden Sie die id der geplante Auftrag mit Get-Job und dump der job-Ausgabe mit Receive-Job -Id <id> - nur ist Fall ist es etwas mit dem script selbst.
  • es ist keine Ausgabe, es läuft nicht. Die PS ausgeführt wird, ist in meinem code-Beispiel, es ist in beiden Fällen gleich und nur ein string 🙁
  • Dachte ich auch, aber es spielt keine Rolle. In der realen Skript erstellen wir rund 10 Arbeitsplätze und die wöchentlichen Werte (2. und 8.) ist fehlgeschlagen 🙁
  • vielleicht nehmen Sie powershell aus der Gleichung zu sehen, wenn Ihr ein Teil der Gleichung , oder die OS. erstellen von geplanten tasks manuell mit dem gleichen Trigger-Möglichkeiten. Sie tun etwas gutartiger als die Ausgabe von ipconfig in eine Datei, und dann lösen Sie Sie manuell.
  • wir haben dies getan (und Jeff Hicks Tat es auch). Nur passiert es ist ein PS-Aufgabe, und an die Wöchentliche und ausführen als anderer Benutzer. Macht keinen Sinn 🙁
  • Hast du jemals eine Lösung finden? Ich habe das gleiche problem und passiert NUR, wenn du es auf anderen Benutzers ausgeführt, kann nicht scheinen, um herauszufinden, was es verursacht wird. Bekomme den gleichen Fehler zu", wie vom Benutzer angefordert ... wie kommt es, dass ein Benutzer zu beenden ... "
  • leider nicht. Vor kurzem wurde ich gebeten, für einen link von Lee Holmes hier twitter.com/Lee_Holmes/status/535870040508096513, aber keine brauchbare Antwort.
  • Ugh, und das ist auf Server 2012 🙁 Art der Niederlagen der ganze Zweck der Verwendung unterschiedlicher Anmeldeinformationen, wenn wir können ' T sogar festlegen, es an einen anderen Benutzer
  • OKAY, so habe ich herausgefunden, das problem, und es ist 100% mit Berechtigungen. Hinsichtlich der geplanten Arbeit, solange Sie das Skript ausführen als Administrator (oder exe-Datei, wenn zusammengestellt) es sollte nicht entfernt werden. Ich bin mit Powershell Studio zum kompilieren zu exe, so dass ich nur eingebaut, ein manifest erfordern erhöhten privs diese zu lösen .... ABER nicht beheben, die Tatsache, dass man nicht DEAKTIVIEREN/AKTIVIEREN der jobs, auch wenn Sie admin perms ... also nochmal ich gehe eine Straße zu blockieren, nur um weiteres ... UGH!
  • dies würde nicht erklären, warum die wöchentliche Zeitpläne scheitern, aber alle anderen Zeitplan?
  • Stimmt, und das einzige, was ich denken kann ist vielleicht irgendwie das Benutzer-Konto "im Cache" in gewissem Sinne und damit die wöchentliche ausfällt. Ich werde testen mine und sehen, was passiert, nach ein oder zwei Wochen laufen und werde berichten.
  • Ich werde aber sagen, ich hatte dieses exakte gleiche Fehlermeldung bei der Anmeldung der Arbeit mit Anmeldeinformationen (verschiedene domain-admin), aber NICHT das Skript ausführen/exe-Datei als Administrator, und einmal lief ich als Admin es nicht mehr wird sofort entfernt ", wie vom Benutzer angefordert"
  • das Problem ist absolut reproduzierbar bei mir, ohne irgendwelche änderungen an Berechtigungen, ändern des Zeitplans zuverlässige Ursache/das Problem behebt. Ich weiß nicht, wie es sein kann, Berechtigungen zu tun hat 🙁
  • Hallo, Jungs, ich vor kurzem haben diese Fehler auch auf windows server 2008 R2 Standard. Und dies geschieht, wenn ich die laufende Zeit(als client erforderlich ist), eine tägliche Aufgabe, die dauert nur 30sek, mit dem administrator. Später habe ich gearbeitet, um dieses durch die Trennung meine Befehle. Aber bekomme immer noch diese Fehlermeldung nach dem ersten cmd(das ist, warum die übrigen Befehle können nicht ausgeführt werden soll, bevor). Glück ist, dass die cmd ausführt, korrekt, aber die Dosis nicht ordnungsgemäß beendet, bis Treffer, die setted zeitliche Begrenzung und Holen Sie sich die 0x41306 Fehler. Eine Idee für diesen Fall?
  • Sieht aus wie Ihre Verbindung Fall gelöscht wurde. Der link ist kaputt, mindestens.
  • Ja, ich habe bemerkt, dass auch. Ich bin nicht überrascht; es war nicht überhaupt verwendet! Mir wurde gesagt, das MVPs gegeben hatte und die PoSh-team hat nicht direkt etwas... scheint etwas brach irgendwo :/

Schreibe einen Kommentar