Hallo,
ich bin seit gestern an einem PowerShell Skript für meine SharePoint Server 2010 Website, welches Daten hochlädt.
Da dieses Skript regelmäßig ausgeführt werden muss, habe ich mich für die geplanten Aufgaben von Windows entschieden. (scheduled Task) Nun habe ich die grundlegenden Dinge wie einen Trigger erstellt, und mein Skript wird auch ausgeführt. Allerdings mangelt
es an einigen speziellen Eigenschaften, bei denen ich nicht weiß wie ich diese setze. Auch 'googlen' hat mir leider nicht weitergeholfen, da das Netz übersäät mit PowerShell V3 & V4 Beispielen ist, in denen die ganze Angelegenheit bedeutend einfacher zu
sein scheint und für meinen Anwendungsfall leider nicht kompatibel ist, da neue Versionen der PowerShell ein höheres Framework nutzen, SharePoint jedoch nur die Version der PowerShell 2.0.
Die Eigenschaften, welche ich bei meiner Aufgabe via Skript nicht gesetzt bekomme sind:
- Allgemein -> Konfigurieren für: .. Standardmäßig ist Windows Vista und Server 2008 ausgewählt, ich möchte jedoch Win7
- Allgemein -> Mit höchsten Privilegien ausführen
- Trigger -> Erweiterte Einstellungen -> Wiederholen jede: 2 Minuten
- Einstellungen -> Folgende Regel anwenden falls die Aufgabe bereits ausgeführt wird: Vorhandene Instanz anhalten
Anbei zur besseren Verständnis mein verwendeter SkriptCode:
$TaskName = "SkriptAufgabe"
$TaskCommand = "c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe"
$TaskScript = "C:\local\Skript.ps1"
$TaskArg = "-WindowStyle Hidden -NonInteractive -Executionpolicy unrestricted -file $TaskScript"
$TaskStartTime = [datetime]::Now.AddMinutes(1)
$service = new-object -ComObject("Schedule.Service")
$service.Connect()
$rootFolder = $service.GetFolder("\")
$TaskDefinition = $service.NewTask(0)
$TaskDefinition.Settings.Enabled = $true
$TaskDefinition.Settings.AllowDemandStart = $true
$triggers = $TaskDefinition.Triggers
$trigger = $triggers.Create(2)
$trigger.StartBoundary = $TaskStartTime.ToString("yyyy-MM-dd'T'HH:mm:ss")
$trigger.Enabled = $true
$Action = $TaskDefinition.Actions.Create(0)
$action.Path = "$TaskCommand"
$action.Arguments = "$TaskArg"
$rootFolder.RegisterTaskDefinition("$TaskName",$TaskDefinition,6,"System",$null,5)
Vielen Dank im voraus!
Mfg
YTMFB