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.8k 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.
    • dafyreD
      dafyre @DustinB3403
      last edited by

      @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 ?

      DustinB3403D 1 Reply Last reply Reply Quote 1
      • 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
                            • 1 / 2
                            • First post
                              Last post