{"id":10160,"date":"2026-02-13T17:38:04","date_gmt":"2026-02-13T17:38:04","guid":{"rendered":"https:\/\/howtogeek.blog\/da\/?p=10160"},"modified":"2026-02-13T17:38:04","modified_gmt":"2026-02-13T17:38:04","slug":"saadan-stroemliner-du-opgaver-med-powershell-script-automation","status":"publish","type":"post","link":"https:\/\/howtogeek.blog\/da\/saadan-stroemliner-du-opgaver-med-powershell-script-automation\/","title":{"rendered":"S\u00e5dan str\u00f8mliner du opgaver med PowerShell Script Automation"},"content":{"rendered":"<p>PowerShell er et ret kraftfuldt v\u00e6rkt\u00f8j til at styre processer, automatisere opgaver og alt det der p\u00e5 Windows-maskiner. Helt \u00e6rligt, hvis du pr\u00f8ver at k\u00f8re scripts automatisk &#8211; m\u00e5ske til sikkerhedskopier, opdateringer eller bare rutinem\u00e6ssig vedligeholdelse &#8211; kan PowerShell g\u00f8re det. Men den vanskelige del er, at Windows har en sikkerhedsforanstaltning kaldet execution policy, som fungerer som en gatekeeper, der blokerer usignerede filer eller script-from-the-internet-filer fra at k\u00f8re, medmindre du giver besked om andet. Det kan v\u00e6re et problem, is\u00e6r hvis du bare pr\u00f8ver at f\u00e5 noget automatisering i gang uden konstant at klikke p\u00e5 ja eller \u00e6ndre indstillinger manuelt hver gang.<\/p>\n<p>S\u00e5 her er sagen: Du skal f\u00f8rst s\u00e6nke udf\u00f8relsespolitikken og derefter konfigurere tidsplanen. Ellers vil dine scripts bare ikke k\u00f8re eller blive blokeret, hvilket er super frustrerende. Derudover er der et par m\u00e5der at automatisere disse scripts p\u00e5 &#8211; ved hj\u00e6lp af Task Scheduler GUI til de mindre tekniske eller PowerShell selv, hvis du er fortrolig med cmdlets. Uanset hvad, burde disse trin hj\u00e6lpe dig med at f\u00e5 tingene til at k\u00f8re automatisk uden besv\u00e6r (eller i det mindste g\u00f8re det mindre besv\u00e6rligt).Husk blot, at du p\u00e5 nogle ops\u00e6tninger muligvis har brug for administratorrettigheder eller yderligere tilladelser, afh\u00e6ngigt af dine sikkerhedspolitikker.<\/p>\n<h2>Hvordan automatiserer man PowerShell-scripts?<\/h2>\n<h3>Ret udf\u00f8relsespolitikken f\u00f8rst for at lade scripts k\u00f8re<\/h3>\n<p>Denne indstilling er det, der blokerer din scriptk\u00f8rsel i de fleste tilf\u00e6lde. Det er lidt m\u00e6rkeligt, men hvis udf\u00f8relsespolitikken er indstillet til &#8216;Begr\u00e6nset&#8217; (hvilket den normalt er som standard), vil PowerShell ikke k\u00f8re usignerede scripts. S\u00e5 du skal l\u00f8sne denne sikkerhed p\u00e5 en kontrolleret m\u00e5de, ideelt set kun for dit brugeromr\u00e5de. For at g\u00f8re dette skal du \u00e5bne <strong>PowerShell<\/strong> med administratorrettigheder (s\u00f8g efter PowerShell, h\u00f8jreklik, og v\u00e6lg derefter <strong>K\u00f8r som administrator<\/strong> ) og indtaste denne kommando:<\/p>\n<pre><code>Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned<\/code><\/pre>\n<p>Dette giver dig mulighed for at k\u00f8re scripts, der er signeret eller oprettet lokalt. P\u00e5 nogle maskiner f\u00e5r du en prompt, der sp\u00f8rger, om du er sikker p\u00e5, at du vil \u00e6ndre politikken \u2013 bare sig Ja. Hvis dine scripts er fra internettet eller up\u00e5lidelige kilder, skal du indstille den til <code>Unrestricted<\/code>. Brug denne kommando:<\/p>\n<pre><code>Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted<\/code><\/pre>\n<p>Lidt forsigtighed her \u2013 for Windows skal selvf\u00f8lgelig g\u00f8re det sv\u00e6rere end n\u00f8dvendigt. V\u00e6r blot opm\u00e6rksom p\u00e5: indstillingen <code>Unrestricted<\/code>tillader alle scripts at k\u00f8re, hvilket kan v\u00e6re en sikkerhedsrisiko, hvis du ikke er forsigtig.<\/p>\n<h3>Metode 1: Brug af opgaveplanl\u00e6gger<\/h3>\n<p>Dette er det nemmeste for de fleste, is\u00e6r hvis du bare vil klikke og glemme alt. Det er peg-og-klik, ingen scripting kr\u00e6ves.\u00c5bn K\u00f8r med <kbd>Win + R<\/kbd>, og skriv derefter <strong>taskschd.msc<\/strong>. Det er din Gateway til <strong>Opgavestyring<\/strong>. H\u00f8jreklik derefter p\u00e5 <strong>Opgavestyringsbibliotek<\/strong>, og v\u00e6lg <strong>Opret grundl\u00e6ggende opgave<\/strong> eller <strong>Opret opgave<\/strong> for at f\u00e5 flere muligheder.<\/p>\n<ul>\n<li>Navngiv din opgave, og giv den en kort beskrivelse (f.eks.&#8217;Auto Run PowerShell Script&#8217;).P\u00e5 fanen <strong>Generelt<\/strong> skal du indstille den til at k\u00f8re, uanset om du er logget ind eller ej, hvis det er n\u00f8dvendigt. Nogle gange skal du v\u00e6lge <strong>K\u00f8r med de h\u00f8jeste rettigheder, <\/strong> hvis dit script kr\u00e6ver administratorrettigheder (hvilket det normalt g\u00f8r).<\/li>\n<li>Indstil triggeren \u2013 hvorn\u00e5r du vil have den k\u00f8rende. Dagligt, ved opstart, ved logon \u2013 hvad der end fungerer. Klik p\u00e5 <strong>Ny<\/strong>, v\u00e6lg din tidsplan, og tryk p\u00e5 OK.<\/li>\n<li>G\u00e5 derefter til fanen <strong>Handlinger<\/strong>, tryk p\u00e5 <strong>Ny<\/strong>, og v\u00e6lg derefter <strong>Start et program<\/strong>. I feltet Program\/script skal du skrive `&lt;script&gt; <code>powershell<\/code>, og i <strong>`Tilf\u00f8j argumenter`<\/strong> skal du skrive `&lt;arguments&gt; <code>-File \"full\\path\\to\\your\\script.ps1\"<\/code>`.For eksempel:.<code>-File \"D:\\Scripts\\backup.ps1\"<\/code>S\u00f8rg for, at stien og filnavnet er korrekte, ellers k\u00f8rer den ikke.<\/li>\n<li>Juster andre indstillinger som betingelser eller indstillinger om n\u00f8dvendigt, og klik derefter p\u00e5 OK. F\u00e6rdig.<\/li>\n<\/ul>\n<p>Det er stort set det \u2013 denne ops\u00e6tning starter dit script med planlagte intervaller eller ved specifikke udl\u00f8sere. Denne ops\u00e6tning betyder ingen manuelle k\u00f8rsel, ingen glemsel \u2013 kun automatisering.<\/p>\n<h3>Metode 2: Automatiser direkte via PowerShell<\/h3>\n<p>Hvis du er interesseret i scripting og vil g\u00f8re alt fra PowerShell selv, er denne metode noget for dig. Den er lidt mere involveret, men mere fleksibel og gentagelig. F\u00f8rst skal du oprette et triggerobjekt:<\/p>\n<pre><code>$Trigger = New-ScheduledTaskTrigger -Once -At 4am<\/code><\/pre>\n<p>Dette vil indstille opgaven til at k\u00f8re \u00e9n gang klokken 4. Skift <code>-Once<\/code>til <code>-Daily<\/code>eller <code>-AtStartup<\/code>for andre udl\u00f8sere. For eksempel en daglig k\u00f8rsel hver 3.dag:<\/p>\n<pre><code>$Trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 3 -At 9am<\/code><\/pre>\n<p>Dern\u00e6st skal du definere handlingen \u2013 hvad der k\u00f8rer, n\u00e5r udl\u00f8seren aktiveres. Det er her, det <code>New-ScheduledTaskAction<\/code>kommer ind i billedet:<\/p>\n<pre><code>$Action = New-ScheduledTaskAction -Execute \"powershell.exe\" -Argument \"-File `\"<full>`\"<\/full><\/code><\/pre>\n<p>Glem ikke at erstatte `<full>` med din faktiske scriptplacering. Hvis du ogs\u00e5 vil have scriptet til at k\u00f8re under en bestemt brugerkonto, skal du definere en variabel for den eller bruge den aktuelle bruger:<\/full><\/p>\n<pre><code>$User = \"YourDomain\\YourUser\"<\/code><\/pre>\n<p>Registrer endelig opgaven med <code>Register-ScheduledTask<\/code>. Et eksempel:<\/p>\n<pre><code>Register-ScheduledTask -TaskName \"My PowerShell Auto\" -Trigger $Trigger -User $User -Action $Action<\/code><\/pre>\n<p>P\u00e5 denne m\u00e5de kan du automatisere alt fuldt ud indefra PowerShell, hvilket er ret smart, hvis du tilpasser meget eller automatiserer ops\u00e6tningsscripts. Bare en note \u2013 du skal muligvis bruge administratorrettigheder til nogle af disse kommandoer, is\u00e6r hvis du opretter opgaver, der k\u00f8rer med forh\u00f8jede rettigheder.<\/p>\n<p>P\u00e5 \u00e9n ops\u00e6tning fejlede det hele f\u00f8rste gang \u2013 sandsynligvis sikkerhed eller tilladelser. Efter en genstart eller k\u00f8rsel af PowerShell som administrator, fungerede det fint. Nogle gange er man n\u00f8dt til at eksperimentere med brugertilladelser eller politikker for at f\u00e5 det helt rigtigt.<\/p>\n<p>Med alt dette p\u00e5 plads er det ret nemt at f\u00e5 dine PowerShell-scripts til at k\u00f8re efter planen \u2013 uanset om det er dagligt, ved opstart eller ved logon \u2013 uden ekstra klik. Bare lidt arbejde f\u00f8rst, s\u00e5 g\u00e5r det glat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PowerShell er et ret kraftfuldt v\u00e6rkt\u00f8j til at styre processer, automatisere opgaver og alt det der p\u00e5 Windows-maskiner. Helt \u00e6rligt, hvis du pr\u00f8ver at k\u00f8re scripts automatisk &#8211; m\u00e5ske til sikkerhedskopier, opdateringer eller bare rutinem\u00e6ssig vedligeholdelse &#8211; kan PowerShell g\u00f8re det. Men den vanskelige del er, at Windows har en sikkerhedsforanstaltning kaldet execution policy, som [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10160","post","type-post","status-publish","format-standard","hentry","category-how-to"],"acf":[],"_links":{"self":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts\/10160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/comments?post=10160"}],"version-history":[{"count":1,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts\/10160\/revisions"}],"predecessor-version":[{"id":10161,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts\/10160\/revisions\/10161"}],"wp:attachment":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/media?parent=10160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/categories?post=10160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/tags?post=10160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}