Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit Powershell einen Task erstellen

Frage Entwicklung Batch & Shell

Mitglied: Marabunta

Marabunta (Level 1) - Jetzt verbinden

04.11.2014, aktualisiert 22:32 Uhr, 3642 Aufrufe, 5 Kommentare

Hallo,

ich habe diese Funktion fast komplett aus dem Internet.
Powershell kenne ich schon ne weile aber mit dieser Funktion komme ich nicht zurecht =/.
ComObjecte sind soweit ich weiß in Powershell nicht besonders gesprächig was Hilfe angeht.

Was soll es eigentlich tun?
Auf vielen Rechnern mit unterschiedlichen Benutzern(es gibt nicht den Benutzer der überall verwendbar wäre) eine Aufgabe erzeugen und ein Skript mit Adminrechten starten.
Alles was nicht nötig ist kann bei der Antwort gekürzt werden.

Das Problem: Wie startet es mit dem Computerstart und nicht täglich?

  1. EDIT: LÖSUNG : $Trigger = $triggers.Create(8) statt 2

Es muss mit PS 2.0 funktionieren

Function Create-ScheduledTask()
{
$Service = New-Object -ComObject("Schedule.Service")
$Service.Connect("localhost") # Der Ort wo es ausgeführt wird?! Was könnte da ggf. sonst hin?
$RootFolder = $Service.GetFolder("\")
$TaskDefinition = $Service.NewTask(0) # ist die 0 eine Indexnummer und überschreibt evtl. einen anderen Task?!
$RegistrationInfo = $TaskDefinition.RegistrationInfo
$RegistrationInfo.Date = '2011-03-02T08:00:00.000000'
$RegistrationInfo.Description = "Run a powershell script through a scheduled task"
$TaskPrincipal = $TaskDefinition.Principal
$TaskPrincipal.RunLevel = 1 # was ist das?
$Settings = $TaskDefinition.Settings
$Settings.Enabled = $True
$Settings.StartWhenAvailable = $True
$Settings.Hidden = $True
$Settings.ExecutionTimeLimit = "PT1H"
          1. MultipleInstances values: * Parallel = 0
          2. * Queue = 1
          3. * IgnoreNew = 2
          4. * StopExisting = 3
$Settings.MultipleInstances = 3
$Settings.DisallowStartIfOnBatteries = $False
$Settings.StopIfGoingOnBatteries = $False
$Settings.AllowHardTerminate = $False
$Settings.StartWhenAvailable = $True
$Settings.IdleSettings.StopOnIdleEnd = $False
$Settings.IdleSettings.RestartOnIdle = $False
$Settings.IdleSettings.WaitTimeOut = $Null
$Settings.IdleSettings.IdleDuration = $Null
$Settings.ExecutionTimeLimit = "PT1H"
#Can't find these properties in Schedule.Service
#$Settings.DisallowStartOnRemoteAppSession = $False
#$Settings.UseUnifiedSchedulingEngine = $False
$Triggers = $TaskDefinition.Triggers
$Trigger = $triggers.Create(2) # 2 = ?
$Trigger.StartBoundary = "2011-03-29T23:00:10"
$Trigger.DaysInterval = 1
$Trigger.Id = "DailyTriggerId"
$Trigger.Enabled = $True
$Trigger.ExecutionTimeLimit = "PT4H"
$Action = $TaskDefinition.Actions.Create(0) # 0 = ?
$Command = '%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe'
$CommandArguments = "& 'Z:\Test\Test.ps1'"
$Action.Path = $Command
$Action.Arguments = $CommandArguments
#Syntax: http://msdn.microsoft.com/en-us/library/windows/desktop/aa381365%28v=vs ...
$Rootfolder.RegisterTaskDefinition('Run a powershell script through a scheduled task', $TaskDefinition, 6, "System", $null , 5)
}
Create-ScheduledTask
Mitglied: 114757
04.11.2014, aktualisiert um 21:06 Uhr
Moin,
die einzelnen Eigenschaften des Com-Objekts sind hier alle schön dokumentiert:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa383607(v=vs.8 ...
Dort findest du für alle deine Fragen die entsprechenden Antworten.

Gruß jodel32
Bitte warten ..
Mitglied: Marabunta
04.11.2014 um 21:35 Uhr
der link steht auch in der funktion, den hab ich mir angesehen und weiß was ich brauch aber nicht wo ich es wie anwende.
Bitte warten ..
Mitglied: 114757
04.11.2014, aktualisiert um 21:37 Uhr
Zitat von Marabunta:
der link steht auch in der funktion, den hab ich mir angesehen und weiß was ich brauch aber nicht wo ich es wie anwende.
stimmt nicht, das ist ein anderer und dort findest du 200% alles, hab ich doch gerade nachgesehen !!
Bitte warten ..
Mitglied: 114757
LÖSUNG 04.11.2014, aktualisiert um 22:43 Uhr
Beispiel:
$TaskDefinition = $Service.NewTask(0) # ist die 0 eine Indexnummer und überschreibt evtl. einen anderen Task?!
http://msdn.microsoft.com/en-us/library/windows/desktop/aa383470(v=vs.8 ...
01.
This parameter is reserved for future use and must be set to 0.
Beispiel 2
$TaskPrincipal.RunLevel = 1 # was ist das?
http://msdn.microsoft.com/en-us/library/windows/desktop/aa382076(v=vs.8 ...
01.
1 = Tasks will be run with the highest privileges.
Beispiel 3
$Trigger = $triggers.Create(2) # 2 = ?
http://msdn.microsoft.com/en-us/library/windows/desktop/aa383898(v=vs.8 ...

01.
2 = Triggers the task on a daily schedule. For example, the task starts at a specific time every day, every-other day, every third day, and so on.
du bist nur zu faul etwas zu lesen ...sorry
Bitte warten ..
Mitglied: Marabunta
04.11.2014 um 22:29 Uhr
nein ich hatte nur verständnisprobleme bei der anwendung. jetzt weiß ich genug. danke
Bitte warten ..
Ähnliche Inhalte
Windows Server
Powershell Skript funktioniert im Task Scheduler nicht (4)

Frage von winlin zum Thema Windows Server ...

Windows Server
gelöst Powershell Skript als geplanter Task (9)

Frage von Ex0r2k16 zum Thema Windows Server ...

Windows Server
Scheduled Tasks (4)

Frage von derhoeppi zum Thema Windows Server ...

Batch & Shell
gelöst CSR erstellen via Powershell ? (4)

Frage von chaos2go zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (10)

Frage von Paderman zum Thema Server-Hardware ...

Server-Hardware
Starker PC zum Virtualisieren (10)

Frage von canlot zum Thema Server-Hardware ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...