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, 3117 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...

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

Frage von chaos2go zum Thema Batch & Shell ...

Windows Server
Powershell Skript funktioniert im Task Scheduler nicht (4)

Frage von winlin zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...