ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Creating Scheduled Task with Powershell - Using specific user account

    Scheduled Pinned Locked Moved Solved IT Discussion
    powershellwindows 10scriptingchocolateytask scheduler
    22 Posts 5 Posters 8.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • DustinB3403D
      DustinB3403 @dafyre
      last edited by DustinB3403

      @dafyre said in Creating Scheduled Task with Powershell - Using specific user account:

      @dustinb3403 said in Creating Scheduled Task with Powershell - Using specific user account:

      Hrmm. . .

      I wonder if New-ScheduledTaskPrincipal -UserID 'localhost\user' would work. . . but what would I use to pass in the password. . .

      Why are you running it as a specific user instead of SYSTEM ?

      For some unknown to me reason running as a system task was failing. . .

      1 Reply Last reply Reply Quote 0
      • DustinB3403D
        DustinB3403
        last edited by DustinB3403

        Oh I know why now. . .

        Rather than actually running the powershell script (task scheduler) it is launching notepad to attempt to open the ps1 file.

        This obviously is a failure.

        What needs to execute is "powershell.exe" with arguments -ExecutionPolicy Bypass c:\Scripts\choco-upgrade.ps1

        1 Reply Last reply Reply Quote 0
        • DustinB3403D
          DustinB3403
          last edited by

          Which maybe (can't recall if I tried this. . .) just doing

          -execute 'powershell.exe' -arguments '. .. . ' will work. .

          1 Reply Last reply Reply Quote 0
          • DustinB3403D
            DustinB3403
            last edited by

            Nope that fails. . . -Arguments isn't a known parameter

            1 Reply Last reply Reply Quote 0
            • DustinB3403D
              DustinB3403
              last edited by

              This here says I should be using New-ScheduleTaskAction with -execute and -argument

              but it fails.. . .

              1 Reply Last reply Reply Quote 0
              • DustinB3403D
                DustinB3403
                last edited by DustinB3403

                doh. . . it would help if I didn't fatfinger the spelling of "Argument". . .

                Working version

                Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
                choco install flashplayerplugin flashplayeractivex firefox googlechrome vlc sharex filezilla openshot 7zip.install wiztree -y
                #Create a new trigger that is configured to trigger at startup
                $STTrigger = New-ScheduledTaskTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Saturday -At 8PM
                #Name for the scheduled task
                $STName = "choco-upgrade"
                #Action to run as
                $STAction = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-ExecutionPolicy Bypass c:\Scripts\choco-upgrade.ps1'
                #Configure when to stop the task and how long it can run for. In this example it does not stop on idle and uses the maximum possible duration by setting a timelimit of 0
                $STSettings = New-ScheduledTaskSettingsSet -DontStopOnIdleEnd -ExecutionTimeLimit ([TimeSpan]::Zero)
                #Configure the principal to use for the scheduled task and the level to run as
                $STPrincipal = New-ScheduledTaskPrincipal -GroupId "BUILTIN\Administrators" -RunLevel "Highest"
                #Register the new scheduled task
                Register-ScheduledTask $STName -Action $STAction -Trigger $STTrigger -Principal $STPrincipal -Settings $STSettings
                New-Item -ItemType directory -Path C:\Scripts
                cd "c:\"
                copy-item "\\serverpath\folder\folder\Scripts\choco-upgrade.ps1" -Destination "C:\Scripts\choco-upgrade.ps1"
                
                1 Reply Last reply Reply Quote 2
                • DustinB3403D
                  DustinB3403
                  last edited by

                  So using the SYSTEM account appears to work, at least when I manually run the task. So meh w/e. It still requires a user to be logged in, which I might see if I can change that flag as I don't want to rely on my users remaining logged in.

                  But they likely never sign out either.

                  1 Reply Last reply Reply Quote 3
                  • ObsolesceO
                    Obsolesce
                    last edited by

                    I know this post is old, but I've found doing scheduled tasks with SaltStack is insanely simple and very effective lately... so much more than using MS Group Policy.

                    https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.win_task.html

                    wrx7mW 1 Reply Last reply Reply Quote 3
                    • wrx7mW
                      wrx7m @Obsolesce
                      last edited by

                      @obsolesce said in Creating Scheduled Task with Powershell - Using specific user account:

                      I know this post is old, but I've found doing scheduled tasks with SaltStack is insanely simple and very effective lately... so much more than using MS Group Policy.

                      https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.win_task.html

                      I really want to get back into learning saltstack again.

                      scottalanmillerS ObsolesceO 2 Replies Last reply Reply Quote 2
                      • scottalanmillerS
                        scottalanmiller @wrx7m
                        last edited by

                        @wrx7m said in Creating Scheduled Task with Powershell - Using specific user account:

                        @obsolesce said in Creating Scheduled Task with Powershell - Using specific user account:

                        I know this post is old, but I've found doing scheduled tasks with SaltStack is insanely simple and very effective lately... so much more than using MS Group Policy.

                        https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.win_task.html

                        I really want to get back into learning saltstack again.

                        You can, in theory, use it to report and manage Windows Defender.

                        1 Reply Last reply Reply Quote 0
                        • ObsolesceO
                          Obsolesce @wrx7m
                          last edited by

                          @wrx7m said in Creating Scheduled Task with Powershell - Using specific user account:

                          @obsolesce said in Creating Scheduled Task with Powershell - Using specific user account:

                          I know this post is old, but I've found doing scheduled tasks with SaltStack is insanely simple and very effective lately... so much more than using MS Group Policy.

                          https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.win_task.html

                          I really want to get back into learning saltstack again.

                          Here's an example of a task that goes to all minions it's supposed to go to... and it "just works". No AD required.
                          Also, using SaltStack to sync that .ps1 it runs from GitLab:

                          0_1525903964206_a7c132dd-863e-484e-a947-e291f463a810-image.png

                          1 Reply Last reply Reply Quote 3
                          • 1
                          • 2
                          • 2 / 2
                          • First post
                            Last post