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, 3535 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
Batch & Shell
gelöst Postfachordner mit Powershell Gui erstellen (4)

Frage von blackhawk17 zum Thema Batch & Shell ...

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

Frage von Ex0r2k16 zum Thema Windows Server ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell oder Batch-Task: Kopiere Datei x mal und benenne diese um (2)

Frage von Lorderich zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Webbrowser
Windows 7 unbeliebte Internetseite sperren (15)

Frage von Daoudi1973 zum Thema Webbrowser ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Linux Desktop
KDE Slimbook (11)

Link von Frank zum Thema Linux Desktop ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...