Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 3730 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
gelöst Powershell Skript als geplanter Task (9)

Frage von Ex0r2k16 zum Thema Windows Server ...

Vmware
VMware Powershell Script als Task Scheduler ausführen (4)

Frage von vinevg zum Thema Vmware ...

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

Frage von chaos2go zum Thema Batch & Shell ...

Batch & Shell
gelöst Postfachordner mit Powershell Gui erstellen (4)

Frage von blackhawk17 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(6)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

LAN, WAN, Wireless

Neue Cisco Catalyst-Serie 9000

Information von Kuemmel zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows 10
Netzwerkkarte schaltet sich erst nach dem Logon ein (23)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (18)

Frage von Yaimael zum Thema Windows Server ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (16)

Frage von Spitzbube zum Thema Netzwerke ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...