{"id":72966,"date":"2020-03-06T08:42:03","date_gmt":"2020-03-06T05:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti"},"modified":"2020-03-06T08:42:03","modified_gmt":"2020-03-06T05:42:03","slug":"chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","title":{"rendered":"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Historisk set har kommandolinjev\u00e6rkt\u00f8jer i Unix-systemer v\u00e6ret bedre udviklet end i Windows, men med fremkomsten af en ny l\u00f8sning har situationen \u00e6ndret sig.<\/i><\/p>\n<p>Windows PowerShell g\u00f8r det muligt for systemadministratorer at automatisere de fleste rutineopgaver. Med det kan du \u00e6ndre indstillinger, stoppe og starte tjenester samt vedligeholde de fleste installerede applikationer. At betragte det bl\u00e5 vindue som endnu en kommandotolk ville v\u00e6re forkert. Denne tilgang afspejler ikke essensen af de innovationer, Microsoft har tilbudt. Faktisk er mulighederne i Windows PowerShell meget bredere: i en kort serie artikler vil vi fors\u00f8ge at afklare, hvordan Microsofts l\u00f8sning adskiller sig fra de mere velkendte v\u00e6rkt\u00f8jer.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/487876\/\"><img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/57911997d520dd5eeef9d87ddcecb125.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Grundl\u00e6ggende funktioner\u00a0<\/h2>\n<p>\nDet er klart, at Windows PowerShell f\u00f8rst og fremmest er en kommandoprompt med et scriptsprog, oprindeligt baseret p\u00e5 .NET Framework, og senere p\u00e5 .NET Core. I mods\u00e6tning til shell-versioner, der modtager og returnerer tekstdata, arbejder Windows PowerShell med .NET-klasser, som har egenskaber og metoder. PowerShell giver mulighed for at udf\u00f8re almindelige kommandoer samt adgang til COM-, WMI- og ADSI-objekter. Den bruger forskellige datalagre, s\u00e5som filsystemet eller Windows-registret, som der er oprettet s\u00e5kaldte udbydere (providers) for at f\u00e5 adgang til. Det er v\u00e6rd at bem\u00e6rke muligheden for at integrere k\u00f8rbare PowerShell-komponenter i andre applikationer for at udf\u00f8re forskellige operationer, ogs\u00e5 gennem et grafisk interface. Det g\u00e6lder ogs\u00e5 det modsatte: mange Windows-applikationer giver adgang til deres administrationsgr\u00e6nseflader via PowerShell.\u00a0<\/p>\n<p>Windows PowerShell g\u00f8r det muligt at:<\/p>\n<ul>\n<li>\u00c6ndre indstillinger for operativsystemet;<\/li>\n<li>Administrere tjenester og processer;<\/li>\n<li>Konfigurere serverroller og -komponenter;<\/li>\n<li>Installere software;<\/li>\n<li>Administrere installeret software via s\u00e6rlige gr\u00e6nseflader;<\/li>\n<li>Integrere k\u00f8rbare komponenter i tredjepartsprogrammer;<\/li>\n<li>Oprette scripts til automatisering af administrationsopgaver;<\/li>\n<li>Arbejder med filsystemet, Windows-registret, certifikatlageret osv.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Shell og udviklingsmilj\u00f8<\/h2>\n<p>\nWindows PowerShell findes i to versioner: udover konsol-emulatoren med en kommandolinje er der et integreret script-milj\u00f8 (Integrated Scripting Environment - ISE). For at f\u00e5 adgang til kommandolinjegr\u00e6nsefladen skal du blot v\u00e6lge den relevante genvej i Windows-menuen eller k\u00f8re powershell.exe fra menuen 'K\u00f8r'. Der vises et bl\u00e5t vindue p\u00e5 sk\u00e6rmen, som adskiller sig betydeligt i funktionalitet fra det for\u00e6ldede cmd.exe. Her er der autoudfyldning og andre funktioner, som brugere af kommandolinjer i Unix-systemer kender til.<\/p>\n<p><img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/2b2d6fa0a82530ddedc7c106160a883e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>For at arbejde med shell'en er det n\u00f8dvendigt at huske nogle tastekombinationer:<\/p>\n<ul>\n<li>Piletasterne op og ned ruller gennem historikken for at gentage tidligere indtastede kommandoer;<\/li>\n<li>H\u00f8jre pil i slutningen af linjen gentager den tidligere kommando tegn for tegn;<\/li>\n<li>Ctrl+Home sletter den indtastede tekst fra mark\u00f8rens position til starten af linjen;<\/li>\n<li>Ctrl+End sletter tekst fra mark\u00f8ren til slutningen af linjen.<\/li>\n<\/ul>\n<p>\nF7 viser et vindue med indtastede kommandoer og giver mulighed for at v\u00e6lge en af dem. I konsollen fungerer ogs\u00e5 musen til at v\u00e6lge tekst, kopiere og inds\u00e6tte, placere mark\u00f8ren, slette, backspace \u2014 alt som vi elsker.<\/p>\n<p><img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/217b3584c4ffbbfaea8f4fcd97512505.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nWindows PowerShell ISE er et fuldt udviklingsmilj\u00f8 med en kodeditor, der underst\u00f8tter faner og syntaksfremh\u00e6velse, en kommando-konstrukt\u00f8r, en indbygget debugger og andre programmeringsgl\u00e6der. Hvis du i udviklingsmilj\u00f8ets editor skriver et bindestreg efter kommandoens navn, f\u00e5r du en dropdown-liste med alle tilg\u00e6ngelige parametre angivet med type. Du kan starte PowerShell ISE enten via en genvej fra systemmenuen eller ved hj\u00e6lp af den eksekverbare fil powershell_ise.exe.<\/p>\n<p><img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/f80df64ede3d89759757c87709d62155.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Cmdlets\u00a0<\/h2>\n<p>\nI Windows PowerShell er der blevet introduceret s\u00e5kaldte cmdlets. Dette er specialiserede .NET-klasser, der indeholder forskelligartet funktionalitet. De navngives efter princippet \"Handling-Objekt\" (eller \"Verbum-Substantiv\", hvis du foretr\u00e6kker det), og den med bindestreg adskilte sammens\u00e6tning minder om verbet og subjektet i naturlige s\u00e6tninger. For eksempel betyder Get-Help bogstaveligt talt \"F\u00e5-Hj\u00e6lp\" eller i konteksten af PowerShell: \"Vis-Support\". I bund og grund er dette et tilsvarende til man-kommandoen i Unix-systemer, og manualerne i PowerShell skal derfor anmodes om p\u00e5 denne m\u00e5de, ikke ved at kalde cmdlets med flaget --help eller \\\/?. Glem ikke den online dokumentation for PowerShell: den er ganske detaljeret hos Microsoft.<\/p>\n<p>Udover Get bruges der i cmdlets andre verber (og ikke kun verber, strengt taget). Nedenfor viser vi nogle eksempler:<\/p>\n<p><code>Tilf\u00f8j<\/code> \u2014 tilf\u00f8je;<br \/>\n<code>Ryd<\/code> \u2014 rydde;<br \/>\n<code>Aktiver<\/code> \u2014 aktivere;<br \/>\n<code>Deaktiver<\/code> \u2014 deaktivere;<br \/>\n<code>Ny<\/code> \u2014 oprette;<br \/>\n<code>Fjern<\/code> \u2014 fjerne;<br \/>\n<code>S\u00e6t<\/code> \u2014 s\u00e6tte;<br \/>\n<code>Start<\/code> \u2014 starte;<br \/>\n<code>Stop<\/code> \u2014 stoppe;<br \/>\n<code>Eksport\u00e9r<\/code> \u2014 eksportere;<br \/>\n<code>Import\u00e9r<\/code> \u2014 importere.<\/p>\n<p>Der er system-, bruger- og valgfrie cmdlets: Ved udf\u00f8relse returnerer de alle et objekt eller en array af objekter. De er ikke f\u00f8lsomme over for store og sm\u00e5 bogstaver, dvs. med hensyn til fortolkeren af kommandoer er der ingen forskel mellem Get-Help og get-help. Adskillelsen foretages med symbolet \u2018;\u2019, men det skal kun bruges, hvis der udf\u00f8res flere cmdlets p\u00e5 \u00e9n linje.\u00a0<\/p>\n<p>Windows PowerShell cmdlets grupperes i moduler (NetTCPIP, Hyper-V osv.), og for at s\u00f8ge efter et objekt og en handling findes cmdlet Get-Command. Du kan vise hj\u00e6lp til det p\u00e5 f\u00f8lgende m\u00e5de:<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/394c5af2fa8183b22403848f07756118.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Som standard viser kommandoen en kort hj\u00e6lp, men der kan ved behov sendes parametre (argumenter) til cmdlets. Med deres hj\u00e6lp kan du for eksempel f\u00e5 detaljeret hj\u00e6lp (parameteren -Detailed) eller fuld hj\u00e6lp (parameteren -Full), samt vise eksempler (parameteren -Examples):<\/p>\n<pre><code class=\"powershell\">Get-Help Get-Command -Examples<\/code><\/pre>\n<p>\nHj\u00e6lpen i Windows PowerShell opdateres med cmdlet Update-Help. Hvis kommandoens linje bliver for lang, kan cmdlets argumenter flyttes til den n\u00e6ste linje ved at skrive det speciale tegn \u2018`\u2019 og trykke p\u00e5 Enter \u2014 det g\u00e5r ikke bare at afslutte en kommando p\u00e5 \u00e9n linje og forts\u00e6tte p\u00e5 en anden.<\/p>\n<p>Her er nogle eksempler p\u00e5 almindelige cmdlets:\u00a0<\/p>\n<p><code>Get-Process<\/code> \u2014 vis de k\u00f8rende processer i systemet;<br \/>\n<code>Get-Service<\/code> \u2014 vis tjenesterne og deres status;<br \/>\n<code>Get-Content<\/code> \u2014 vis indholdet af filen.<\/p>\n<p>For ofte brugte cmdlets og eksterne v\u00e6rkt\u00f8jer i Windows PowerShell er der korte synonymer \u2014 aliaser (fra engelsk Alias). For eksempel er dir et alias for Get-ChildItem. I synonymlisten findes ogs\u00e5 alternativer til kommandoer fra Unix-systemer (ls, ps osv.), og cmdlet Get-Help kaldes med kommandoen help. Du kan se den fulde liste over aliaser ved hj\u00e6lp af cmdlet Get-Alias:<\/p>\n<p><img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/94f8cf9fd6c346e5b250d994ef1f7661.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Scripts, funktioner, moduler og PowerShell-sprog<\/h2>\n<p>\nWindows PowerShell-scripts gemmes som almindelige tekstfiler med filtypen .ps1. De kan ikke startes med et dobbeltklik: du skal h\u00f8jreklikke for at \u00e5bne kontekstmenuen og v\u00e6lge \"K\u00f8r i PowerShell\". Fra konsollen skal du enten angive den fulde sti til scriptet eller navigere til den relevante mappe og skrive filnavnet. K\u00f8rsel af scripts er ogs\u00e5 underlagt systempolitikken, og for at tjekke de aktuelle indstillinger kan du bruge cmdleten Get-ExecutionPolicy, som vil vise en af f\u00f8lgende v\u00e6rdier: <\/p>\n<p><code>Restricted<\/code> \u2014 k\u00f8rsel af scripts er forbudt (standard);<br \/>\n<code>AllSigned<\/code> \u2014 kun k\u00f8rsel af signeret scripts fra betroede udviklere er tilladt;<br \/>\n<code>RemoteSigned<\/code> \u2014 k\u00f8rsel af signerede og egne scripts er tilladt;<br \/>\n<code>Unrestricted<\/code> \u2014 k\u00f8rsel af alle scripts er tilladt.<\/p>\n<p>Administrator har to muligheder. Den mest sikre indeb\u00e6rer signering af scripts, men det er en ret kompliceret proces \u2014 vi vil se n\u00e6rmere p\u00e5 det i kommende artikler. Lige nu vil vi tage den nemmeste vej og \u00e6ndre politikken:<\/p>\n<pre><code class=\"powershell\">Set-ExecutionPolicy RemoteSigned<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/139949e0da3470b866d4b54f3e2a0498.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPowerShell skal k\u00f8res som administrator for dette, selvom du med en s\u00e6rlig parameter kan \u00e6ndre politikken for den aktuelle bruger.<\/p>\n<p>Scripts skrives i et objektorienteret programmeringssprog, hvis kommandoer navngives p\u00e5 samme m\u00e5de som de tidligere n\u00e6vnte cmdlets: \"Handling-Objekt\" (\"Verbum-Substantiv\"). Dets prim\u00e6re form\u00e5l er at automatisere administrationsopgaver, men det er et fuldt ud tolket sprog, der indeholder alle n\u00f8dvendige konstruktioner: betinget forgrening, loops, variabler, arrays, objekter, fejlbehandling osv. Enhver teksteditor kan bruges til at skrive scripts, men det er nemmest at starte Windows PowerShell ISE.<\/p>\n<p>Du kan sende parametre til et script, g\u00f8re dem obligatoriske og angive standardv\u00e6rdier. Derudover tillader Windows PowerShell at oprette funktioner og kalde dem ligesom cmdlets: til dette bruges konstruktionen Function og kr\u00f8llede parenteser. Et script med funktioner kaldes et modul og har filtypen .psm1. Moduler skal gemmes i mapper, der er defineret i PowerShell-omgivelsesvariabler. Du kan se dem ved hj\u00e6lp af f\u00f8lgende kommando:<\/p>\n<pre><code class=\"powershell\">Get-ChildItem Env:PSModulePath | Format-Table -AutoSize<\/code><\/pre>\n<p><\/p>\n<h2>Konvolutter<\/h2>\n<p>\nI det sidste eksempel anvendte vi en struktur, der er velkendt for brugerne af Unix-systemets skaller. I Windows PowerShell tillader en lodret streg ogs\u00e5 at sende output fra en kommando som input til en anden, men der er en v\u00e6sentlig forskel i implementeringen af konvolutten: det handler ikke l\u00e6ngere om en samling tegn eller en hvilken som helst tekst. Indbyggede cmdlets eller brugerdefinerede funktioner returnerer objekter eller arrays af objekter og kan ogs\u00e5 modtage dem som input. Ligesom i Bourne shell og dets mange efterkommere forenkler PowerShell udf\u00f8relsen af komplekse opgaver ved hj\u00e6lp af konvolutter.<\/p>\n<p>Det enkleste eksempel p\u00e5 en konvolut ser s\u00e5ledes ud:<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/0bb6e0e00d97d23fa2384d40c7419d71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nF\u00f8rst udf\u00f8res cmdlet'en Get-Service, og derefter sendes alle de modtagne tjenester til sortering efter egenskaben Status i cmdlet'en Sort-Object. Hvilken specifik parameter resultatet af den tidligere del af konvolutten sendes til afh\u00e6nger af dens type \u2014 normalt er det InputObject. Dette sp\u00f8rgsm\u00e5l vil blive uddybet i en artikel om programmeringssproget PowerShell.\u00a0<\/p>\n<p>Hvis man \u00f8nsker det, kan k\u00e6den forl\u00e6nges, og resultatet af Sort-Object kan sendes videre til endnu en cmdlet (de vil blive udf\u00f8rt fra venstre mod h\u00f8jre). Forresten har Windows-brugere ogs\u00e5 adgang til den velkendte struktur for sidevisning fra Unix:\u00a0<\/p>\n<pre><code class=\"powershell\">Get-Service | Sort-Object -property Status | more<\/code><\/pre>\n<p><\/p>\n<h2>K\u00f8rsel af opgaver i baggrunden\u00a0<\/h2>\n<p>\nDet er ofte n\u00f8dvendigt at starte en kommando i baggrunden, s\u00e5 man ikke skal vente p\u00e5 resultatet i skalkonsollen. I Windows PowerShell findes der flere cmdlets til dette form\u00e5l:<\/p>\n<p><code>Start-Job<\/code> \u2014 start af en baggrundsopgave;<br \/>\n<code>Stop-Job<\/code> \u2014 stop af en baggrundsopgave;<br \/>\n<code>Get-Job<\/code> \u2014 visning af listen over baggrundsopgaver;<br \/>\n<code>Receive-Job<\/code> \u2014 visning af resultatet af udf\u00f8relsen af en baggrundsopgave;<br \/>\n<code>Remove-Job<\/code> \u2014 sletning af en baggrundsopgave;<br \/>\n<code>Wait-Job<\/code> \u2014 overf\u00f8rsel af en baggrundsopgave tilbage til konsollen.<\/p>\n<p>For at starte en baggrundsopgave bruger vi cmdlet'en Start-Job og angiver kommandoen eller s\u00e6ttet af kommandoer i kr\u00f8llede parenteser:<\/p>\n<pre><code class=\"powershell\">Start-Job {Get-Service}<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/0a75c1f4af75e5aec66df909ca4adb70.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nBaggrundsopgaver i Windows PowerShell kan manipuleres ved at kende deres navne. F\u00f8rst skal vi l\u00e6re at vise dem:<\/p>\n<pre><code class=\"powershell\">Get-Job<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/664dba26ddcfb54bef79717c86f3c8ec.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nNu viser vi resultatet af opgaven Job1:<\/p>\n<pre><code class=\"powershell\">Receive-Job Job1 | more<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/02d930327929af463cf506f9d90357e6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDet er ganske enkelt.<\/p>\n<h2>Fjernudf\u00f8relse af kommandoer<\/h2>\n<p>\nWindows PowerShell giver mulighed for at udf\u00f8re kommandoer og scripts ikke kun p\u00e5 den lokale computer, men ogs\u00e5 p\u00e5 en fjern computer og endda p\u00e5 en hel gruppe maskiner. Der er flere m\u00e5der at g\u00f8re dette p\u00e5:<\/p>\n<ul>\n<li>Mange cmdlets har en parameter <code>-ComputerName<\/code>, men med denne metode kan man for eksempel ikke oprette en pipeline;<\/li>\n<li>Cmdlet'en <code>Enter-PSSession<\/code> giver mulighed for at oprette en interaktiv session p\u00e5 den fjerneste maskine;\u00a0<\/li>\n<li>Med cmdlet'en <code>Invoke-Command<\/code> kan man udf\u00f8re kommandoer eller scripts p\u00e5 en eller flere fjerncomputere.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Versioner af PowerShell<\/h2>\n<p>\nSiden den f\u00f8rste udgivelse i 2006 har PowerShell \u00e6ndret sig markant. V\u00e6rkt\u00f8jet er tilg\u00e6ngeligt for mange systemer, der k\u00f8rer p\u00e5 forskellige hardwareplatforme (x86, x86-64, Itanium, ARM): Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008\/2008 R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012\/2012 R2, Windows 10, Windows Server 2016, GNU\/Linux og OS X. Den seneste version 6.2 blev udgivet den 10. januar 2018. Scripts skrevet til tidligere versioner vil sandsynligvis fungere i senere versioner, men der kan opst\u00e5 problemer med nedadg\u00e5ende kompatibilitet, da der i l\u00f8bet af \u00e5rene er kommet mange nye cmdlets til PowerShell. For at finde ud af versionen af den installerede kommandolinje kan man bruge egenskaben PSVersion fra den indbyggede variabel $PSVersionTable:<\/p>\n<pre><code class=\"powershell\">$PSVersionTable.PSVersion<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/c2d422d1489f88ef8631ee82cc2f60c8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMan kan ogs\u00e5 bruge cmdlet'en:<\/p>\n<pre><code class=\"powershell\">Get-Variable -Name PSVersionTable \u2013ValueOnly<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/5cffcfe260243235e8f91a6c543191f7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDet samme kan g\u00f8res med cmdlet'en Get-Host. Der er faktisk mange muligheder, men for at anvende dem skal man l\u00e6re programmeringssproget PowerShell, hvilket vi vil g\u00f8re i <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/490924\/\"><b>den n\u00e6ste artikel<\/b><\/a><\/noindex>.\u00a0<\/p>\n<h2>Resum\u00e9\u00a0<\/h2>\n<p>\nMicrosofts succes har resulteret i en virkelig kraftfuld kommandolinje med et brugervenligt integreret milj\u00f8 til udvikling af scripts. Den adskiller sig fra de velkendte v\u00e6rkt\u00f8jer fra Unix-verdenen ved dens dybe integration med Windows-familien af operativsystemer samt med software til disse og .NET Core-platformen. PowerShell kan beskrives som en objektorienteret shell, fordi cmdlets og brugerdefinerede funktioner returnerer objekter eller objekt-arrays og kan tage dem som input. Vi mener, at alle serveradministratorer p\u00e5 Windows b\u00f8r have kendskab til dette v\u00e6rkt\u00f8j: tiden, hvor de kunne klare sig uden kommandolinjen, er forbi. Den avancerede kommandolinje er is\u00e6r n\u00f8dvendig p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/marketplace\/servercore#order\">vores prisvenlige VPS'er, der k\u00f8rer p\u00e5 Windows Server Core<\/a><\/noindex>, men det er en helt anden historie.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ruvds.com\/ru-rub\/#order\"><img decoding=\"async\" alt=\"Hvad er Windows PowerShell, og hvad bruges det til? Del 1: Grundl\u00e6ggende funktioner\" src=\"\/wp-content\/uploads\/2020\/03\/0683e52726ae6d7def7206e5974a74b2.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Kun registrerede brugere kan deltage i unders\u00f8gelsen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Log ind<\/a><\/noindex>, please.<\/p>\n<h2 class=\"default-block__polling-title\">Hvilke emner b\u00f8r f\u00f8rst n\u00e6vnes i de n\u00e6ste artikler i serien?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">53,2%<\/strong>Programmering i PowerShell123<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">42,4%<\/strong>Funktioner og moduler i PowerShell98<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">22,1%<\/strong>Hvordan underskriver man sine egne scripts?51<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">12,1%<\/strong>Arbejde med lagre via leverand\u00f8rer (providers)28<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">57,6%<\/strong>Automatisering af computeradministration med PowerShell133<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">30,7%<\/strong>H\u00e5ndtering af software og integration af PowerShell-udf\u00f8rselskomponenter i tredjepartsprodukter71<\/p>\n<\/li>\n<\/ul>\n<p>    231 brugere har stemt. 37 brugere har undladt at stemme.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/487876\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0440\u0443\u0442\u0438\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u0421 \u0435\u0435 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u0438\u043d\u0435\u0435 \u043e\u043a\u043e\u0448\u043a\u043e \u043a\u0430\u043a \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":72967,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-72966","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Windows PowerShell \u0438 \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442? \u0427\u0430\u0441\u0442\u044c 1: \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-06T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-06T05:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Hvad er Windows PowerShell, og hvad kan man bruge det til? Del 1: Grundl\u00e6ggende funktioner | ProHoster","description":"Historisk set har kommandolinjev\u00e6rkt\u00f8jer i Unix-systemer udviklet sig bedre end i Windows, men med fremkomsten af en ny l\u00f8sning er situationen \u00e6ndret. Windows PowerShell giver systemadministratorer mulighed for.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Windows PowerShell \u0438 \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442? \u0427\u0430\u0441\u0442\u044c 1: \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 | ProHoster","og:description":"\u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 Unix-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0440\u0430\u0437\u0432\u0438\u0442\u044b \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 Windows, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. Windows PowerShell \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c.","og:url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/chto-takoe-windows-powershell-i-s-chem-ego-edyat-chast-1-osnovnye-vozmozhnosti","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-06T05:42:03+00:00","article:modified_time":"2020-03-06T05:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"72966","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:42:52","updated":"2026-08-11 12:50:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/72966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=72966"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/72966\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/72967"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=72966"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=72966"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=72966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}