Powershell installeren vanaf de opdrachtregel. Hoe PowerShell te openen, alle methoden. Aanvullende en generieke shell-lanceringsmethoden

Ervaren gebruikers van het Windows 10-besturingssysteem hebben wellicht gehoord van het PowerShell-opdrachtregelhulpprogramma. Degenen die ervaring hebben met het werken met Windows 7 en 8.1 zijn er wellicht ook mee bekend. Na jarenlang gebruik te hebben gemaakt van de Windows-opdrachtregeltoepassing en .bat-bestanden, is het tijd om kennis te maken met een krachtiger hulpmiddel.

PowerShell is een waardevolle toevoeging aan de lijst met Windows-hulpmiddelen, en de omvang ervan kan voor sommige gebruikers intimiderend zijn. Wat is het: een scripttaal of een opdrachtshell? Maak je geen zorgen: ondanks de uitgebreide mogelijkheden kan iedereen PowerShell onder de knie krijgen.

Stap 1: Installatie

Ten eerste hebben we het PowerShell-hulpprogramma zelf nodig. Als u Windows 10 gebruikt, heeft u al versie 5 van PowerShell geïnstalleerd. Windows 10 Anniversary Update gebruikt versie 5.1, maar het verschil is niet merkbaar. Windows 8 en 8.1 gebruiken PowerShell 4, wat ook ruim voldoende is. Het installeren van PowerShell op Windows 7 levert geen problemen op, maar je zult toch een paar extra stappen moeten nemen. In het bijzonder moet u bovendien het .Net Framework installeren. U kunt het Windows Management Framework installeren, inclusief PowerShell.

PowerShell heeft twee interfaces. Gevorderde gebruikers kunnen kiezen voor een volledige GUI-interface die bekend staat als de Integrated Scripting Environment (ISE). Voor beginners is het het beste om de PowerShell-console, een eenvoudige, op tekst gebaseerde Windows-opdrachtregelinterface, of zelfs DOS 3.2 te gebruiken.

Om PowerShell als beheerder in Windows 10 uit te voeren, klikt u op de Start-knop en bladert u omlaag naar Windows PowerShell. Zoek in Windows 8.1 naar Windows PowerShell in de map Systeem in Windows. In Windows 7 bevindt de shell zich in de map Accessoires. Als gewone gebruiker kan PowerShell op dezelfde manier worden gestart, met behulp van de linkermuisknop in plaats van de rechtermuisknop.

U kunt zoeken gebruiken in elke versie van Windows. Voor toekomstig gebruik kunt u PowerShell aan de taakbalk vastmaken.

Stap 2: Oude Windows-opdrachten

De Windows-opdrachtsyntaxis in PowerShell werkt zoals gewoonlijk. Bijvoorbeeld, CD mappen wijzigen, richt toont een lijst met alle bestanden en mappen in de huidige map.

Afhankelijk van hoe u de PowerShell-console start, kunt u mogelijk beginnen c:\Windows\systeem32 of in c :\Gebruikers\ . In het voorbeeld in de schermafbeelding wordt de opdracht gebruikt CD..(met een spatie) om één niveau tegelijk omhoog te gaan en voer vervolgens de opdracht uit richt om een ​​lijst met bestanden en mappen in een map weer te geven C:\.

Stap 3: Installeer Help-bestanden

Teams vinden het leuk CD En richt zijn geen actieve PowerShell-opdrachten. Dit zijn zogenaamde aliassen - vervangingen voor echte PowerShell-opdrachten. Aliassen zijn handig voor degenen die uitgebreide ervaring hebben met de opdrachtregel. Ze raken echter niet de diepten van PowerShell.

Typ om aan de slag te gaan met PowerShell hulp en het commando dat je nodig hebt. De schermafbeelding toont de opdracht .

Team hulp zegt dat richt is een alias voor de PowerShell-opdracht Get-ChildItem. Als je typt get-kinditem V PS C:\>, ziet u hetzelfde als wanneer u de opdracht gebruikt richt.

Zoals onderaan de schermafbeelding aangegeven, worden Help-bestanden voor PowerShell niet automatisch geïnstalleerd. Om ze te krijgen, voert u PowerShell uit als beheerder en typt u update-hulp. Het installeren van de helpbestanden duurt enkele minuten; het kan zijn dat er een aantal modules ontbreken. In dit geval zijn bijvoorbeeld de Help voor NetWNV en SecureBoot niet geïnstalleerd. Als alles klaar is, zorgt het complete hulpsysteem altijd voor de nodige tips.

Typ nu de opdracht hulp krijgen en voor elke opdracht waarin u geïnteresseerd bent ("cmdlet" in PowerShell, cmdlets in het Russisch), wordt de beschrijving ervan weergegeven. Bijvoorbeeld, hulp krijgen kinditem krijgen geeft een lijst met opties weer get-kinditem. Ook kunt u verschillende mogelijke opties weergeven. Bijvoorbeeld

get-help get-childitem -voorbeelden

biedt zeven gedetailleerde gebruiksvoorbeelden get-kinditem. Team

get-help get-childitem -gedetailleerd

bevat deze zeven voorbeelden en gedetailleerde uitleg van elke parameter in de cmdlet get-kinditem.

Stap 4: Krijg hulp bij instellingen

In de schermafbeelding je hebt misschien twee lijsten hieronder opgemerkt SYNTAXIS Voor get-kinditem. Het hebben van twee verschillende syntaxis betekent dat er twee manieren zijn om de cmdlet uit te voeren. Hoe houd je de syntaxis van elkaar gescheiden en wat betekenen de parameters? Het antwoord is eenvoudig als je de truc kent.

Voor meer informatie over cmdlet-parameters get-kinditem of een andere gebruiksparameter -vol:

get-help get-childitem -full

Dit geeft u een lijst met wat u met de cmdlet kunt doen en wat er zal gebeuren. Kijk naar de schermafbeelding.

Als u de parameterbeschrijvingen doorneemt, zult u dat merken get-kinditem maakt het mogelijk een voorwerp te bemachtigen kind(zoals een submapnaam of bestandsnaam) op een opgegeven locatie, met of zonder overeenkomende bepaalde tekens. Bijvoorbeeld:

get-childItem “*.txt” -recurse

retourneert een lijst met "*.txt"-bestanden in de huidige map en alle submappen (vanwege de parameter -recursie). Terwijl

get-childitem “HKLM:\Software”

retourneert een lijst met alle registersleutels op het hoogste niveau HKEY_LOCAL_MACHINE\Software.

Als u ooit hebt geprobeerd toegang te krijgen tot het register via de Windows-opdrachtregel of .bat-bestanden, zult u de functionaliteit van deze toegangsoptie waarderen.

Stap 5: Namen leren

Er is een reden waarom de tot nu toe getoonde cmdlets er ongeveer hetzelfde uitzien: get-childitem, update-help, get-help gebruik een enkel werkwoord-zelfstandig naamwoord-patroon. Alle PowerShell-cmdlets gebruiken deze conventie; ze gebruiken een werkwoord vóór een enkel zelfstandig naamwoord. Dit zal aantrekkelijk zijn voor degenen die ooit last hadden van inconsistente opdrachtnamen in de VB- en VBA-talen.

Bekijk de meest voorkomende cmdlets:

set-locatie: stelt de huidige werklocatie in op een specifieke locatie

krijg-inhoud: Haalt de inhoud van het bestand op

krijg-item: haalt bestanden en mappen op

kopieer-item: kopieert een object van de ene locatie naar de andere

verwijder-item: verwijdert bestanden en mappen

: Zorgt ervoor dat processen worden uitgevoerd op een lokale of externe computer

krijg service: Zorgt ervoor dat services worden uitgevoerd op een lokale of externe computer

invoke-webrequest: haalt inhoud op van een webpagina op internet

Gebruik om te bekijken hoe een specifieke cmdlet werkt hulp krijgen zoals in het geval

get-help copy-item -full

Op basis van de beschrijving in de Help kunt u begrijpen wat de cmdlet nodig heeft. Als u bijvoorbeeld alle bestanden en mappen wilt kopiëren van Documenten V c:\temp, gebruik

kopieeritem c:\gebruikers\ \documenten\* c:\temp

Door deze opdracht te typen, ziet u verschillende interessante functies van de PowerShell-omgeving. Als u bijvoorbeeld typt kopieer-ik en druk op de Tab-knop, PowerShell wordt ingevuld Kopieer-item. Als u een cmdlet onjuist typt en PowerShell deze niet kan herkennen, wordt er een volledige beschrijving gegeven van wat er verkeerd is gedaan.

Probeer deze cmdlet:

invoke-webrequest askwoody.com

U krijgt een korte lijst met de titels, afbeeldingen, links en andere inhoud van de webpagina. Let op bij hulp krijgen naar de lijst invoke-webrequest, dat “een verzameling formulieren, links, afbeeldingen en andere belangrijke HTML-elementen retourneert” – precies wat er op het scherm zou moeten worden weergegeven.

Met sommige cmdlets kunt u PowerShell zelf beheren:

krijg-commando: lijst met alle beschikbare cmdlets

krijgen-werkwoord: lijst met alle beschikbare werkwoorden

clear-host: Wis het hostprogrammascherm

Met verschillende parameters kunt u het aantal opdrachten beperken en het aantal nuttige opties beperken. Als u bijvoorbeeld een lijst wilt zien met alle cmdlets die werken met Windows-services, typt u

get-opdracht *-service

Alle beschikbare werkwoorden met het zelfstandig naamwoord worden weergegeven dienst. Hier is hun lijst:

Ontvang service

Nieuwe service

Herstart-Service

CV-service

Set-service

Start-Service

Stop-Service

Opschortingsservice

U kunt deze cmdlets combineren met andere.

Stap 6: Pijpen gebruiken

Als u bekend bent met de Windows-opdrachtregel of batchbestanden, dan kent u omleiding en leidingen. Omleiding (> symbool) en pijpen (| symbool) nemen het resultaat van een actie en koppelen dit aan een andere locatie. U kunt bijvoorbeeld het resultaat van de opdracht omleiden richt naar een tekstbestand of geef het resultaat van de opdracht door ping naar het team vinden om interessante resultaten te filteren, zoals

map > temp.txt

ping askwoody.com | zoek “pakketten” > temp2.txt

Hier in het tweede team vinden zoekt naar een tekenreeks pakketten, door het team overgenomen van het adres askwoody.com ping en voegt alle overeenkomende regels samen in een bestand genaamd temp2.txt.

De eerste van deze opdrachten werkt prima in PowerShell. Om de tweede opdracht uit te voeren, heb je zoiets nodig als

ping askwoody.com | select-string-pakketten | out-bestand temp2.txt

Het gebruik van omleiding en pipelines breidt de mogelijkheden van de Windows-opdrachtregel aanzienlijk uit: in plaats van eindeloos naar beneden te scrollen op het scherm om naar een tekstreeks te zoeken, kunt u de Windows-opdrachten filteren die u nodig hebt.

Powershell heeft ondersteuning pijp, en het is niet beperkt tot tekst. Met PowerShell kunt u een volledig object van de ene cmdlet naar de andere doorgeven, waarbij het object een combinatie is van gegevens (eigenschappen genoemd) en acties (methoden) die die gegevens kunnen gebruiken.

Het lastige deel komt bij het uitlijnen van de objecten. De objecten die door één cmdlet worden geleverd, moeten overeenkomen met het type objecten dat door de ontvangende cmdlet wordt geaccepteerd. Tekst is een heel eenvoudig objecttype, dus als u met tekst werkt, is het uitlijnen van objecten een eenvoudige taak. De overige objecten zijn niet zo eenvoudig.

Hoe dit te begrijpen? Gebruik cmdlet word lid. Als u wilt weten welk type object een cmdlet verwerkt, voert u deze uit word lid. Als u bijvoorbeeld probeert inzicht te krijgen in de processen die op een computer worden uitgevoerd en uw opties hebt beperkt tot cmdlets , kunt u als volgt het resultaat van de cmdlets achterhalen:

get-proces | word lid

Het uitvoeren van deze cmdlet levert een lange lijst met eigenschappen en methoden op , maar helemaal aan het begin van de lijst ziet u het type object dat wordt gemaakt :

TypeName: Systeem.Diagnostiek.Process

De onderstaande schermafbeelding toont ook de eigenschappen genaamd get-process-handvatten, naam, NPM, PM, SI, VM En W.S..

Als u het resultaat wilt manipuleren Om met deze cmdlet te werken (in plaats van een lange lijst met actieve processen op de monitor weer te geven), moet u een andere opdracht vinden die als invoer wordt gebruikt Systeem.Diagnostiek.Proces. Gebruik PowerShell opnieuw om de cmdlet te vinden die u nodig hebt:

get-command -Parametertype System.Diagnostics.Process

Deze cmdlet biedt een lijst met cmdlets die kunnen worden verwerkt Systeem.Diagnostiek.Proces.

Van sommige cmdlets is bekend dat ze vrijwel alle soorten gegevens accepteren. De belangrijkste onder hen is . Deze cmdlet passeert elk object dat via de pipe wordt verzonden, één voor één, en past hierop de opgegeven selectiecriteria toe. Er is een speciale markering genaamd $_ , waarmee u elk item in de pijp één voor één kunt gebruiken.

Stel dat u een lijst wilt krijgen van alle processen die worden uitgevoerd op een computer met de naam "svchost", dat wil zeggen dat u de eigenschap wilt matchen Naam proces svchost. Gebruik het commando:

get-proces | waar-object ($_.Name -eq “svchost”)

Cmdlet kijkt naar elk voorwerp Systeem.Diagnostiek.Proces, vergelijkt .Naam dit object met "svchost"; als er overeenkomsten zijn, worden deze op de monitor weergegeven. Kijk naar de schermafbeelding.

Stap 7: Analyseer nuttige PowerShell-opdrachten

U weet inmiddels al genoeg om de computer te kunnen beschadigen, dus wees voorzichtig. Laten we bijvoorbeeld eens kijken naar veelgevraagde PowerShell-opdrachten.

Deze opdrachten werken alleen op Windows 10 en alleen als u PowerShell als beheerder uitvoert. Ze zijn ontworpen om vooraf geïnstalleerde Windows 10-applicaties opnieuw te installeren en kunnen handig zijn voor degenen die deze programma's eerst hebben verwijderd en vervolgens hebben besloten ze terug te sturen. De commando's zien er als volgt uit:

Get-AppXPackage | Foreach (Add-AppxPackage -DisableDevelopmentMode -Registreer “$($_.InstallLocation)\AppXManifest.xml”)

Als u deze opdracht uitvoert, negeert u de rode waarschuwingen en start u uw computer opnieuw op wanneer de opdracht is voltooid; alle vooraf geïnstalleerde programma's in Windows 10 verschijnen op hun plaats.

Hier ziet u hoe deze opdracht werkt. Get-AppXPackage controleert alle applicatiepakketten in het gebruikersprofiel. Zelfs als u de applicatie verwijdert, blijft deze in de lijst met gebruikersprofielen staan.

Cmdlet Get-AppXPackage geeft een object terug Typenaam Microsoft.Windows.Appx.PackageManager.Commands.AppxPackage, dat de volledig gekwalificeerde naam van het toepassingspakket en de locatie van het overeenkomstige XML-manifestbestand bevat. Als u de cmdlet get-appxpakket, ziet u een lange lijst met applicatiepakketten. De schermafbeelding toont de beschrijving van de Xbox-app.

Cmdlet Foreach loopt door elk object heen AppXPakket door ze naar de cmdlet te sturen Add-AppxPackage. Volgens hulp krijgen Voor Add-AppxPackage, zijn er twee sleutelschakelaars:

  • Schakelaar -Register gebruikt om bestaande installaties van applicatiepakketten te registreren, kunt u parameters instellen Schakel Ontwikkelingsmodus uit En Register
  • Schakelaar -Ontwikkelingsmodus uitschakelen vertelt Windows dat het een bestaand toepassingspakket dat is uitgeschakeld, niet-geregistreerd of beschadigd is, opnieuw moet registreren.

Lijn " $($_.InstallLocation)\AppXManifest.x ml" beschrijft waar het bestand zich bevindt manifest.xml. Als je naar de bestanden kijkt AppXManifest.xml, ziet u een complexe lijst met applicatie-ID's, uitvoerbare bestanden en een groot aantal visuele elementen die aan de applicatie zijn gekoppeld.

Na het opnieuw opstarten worden alle toegevoegde applicatiepakketten gedownload en geïnstalleerd vanuit de Windows Store.

Een programma uitvoeren vanuit PowerShell

De taak van het uitvoeren van een uitvoerbaar bestand (programma of opdrachtregelhulpprogramma) vanuit PowerShell komt vrij vaak voor. PowerShell biedt verschillende manieren om dit te doen, die we later in dit artikel zullen bekijken. Laten we beginnen met de eenvoudigste...

Directe lancering

De eenvoudigste manier om een ​​uitvoerbaar bestand in PowerShell uit te voeren, is door naar de map met het bestand te navigeren en het rechtstreeks uit te voeren. Laten we bijvoorbeeld een eenvoudig programma nemen dat een begroeting weergeeft en dit uitvoeren met de opdracht:

Set-locatie ″C:\Program Files″
.\Hallo.exe

Houd er rekening mee dat zelfs als u zich in de gewenste map bevindt, u het relatieve pad naar het uitvoerbare bestand moet opgeven. De uitzondering vormen bestanden uit mappen die worden vermeld in de omgevingsvariabele (pad). Verschillende ingebouwde programma's en hulpprogramma's (kladblok, calc, ping, enz.) in de map Windows\System32 kunnen bijvoorbeeld worden gestart zonder het pad op te geven.

Exploitant &

Als u het volledige pad naar het uitvoerbare bestand moet opgeven, kunt u de operator gebruiken & (bel operator). Hiermee kunt u een tekstreeks tussen aanhalingstekens als één enkele opdracht uitvoeren. Bijvoorbeeld:

& ′C:\Program Files\Hallo.exe′

Omdat de operator & de doorgegeven opdracht niet analyseert, kan deze de parameters ervan niet interpreteren. Daarom worden aanvullende parameters\argumenten ook als tekst, tussen aanhalingstekens, doorgegeven. Laten we als voorbeeld het vorige programma nemen en het enigszins aanpassen, zodat het de gewenste tekst als argument accepteert:

& ′C:\Program Files\Hello.exe′ ′Hallo wereld′

Indien gewenst kunt u meerdere argumenten opgeven, gescheiden door komma's:

& ′C:\Program Files\Hello.exe′ ′Hallo,′, ′ wereld′

Voor het gemak kunnen de opdracht en argumenten in variabelen worden geplaatst:

$exe = ′C:\Program Files\Hallo.exe′
$arg1 = ′Hallo′
$arg2 = ′wereld′
& $exe $arg1 $arg2

Welnu, als er veel argumenten zijn, kunnen ze worden gecombineerd met behulp van de volgende constructie:

$exe = ′C:\Program Files\Hallo.exe′
$allargs = @(′Hallo,′,′wereld′)
& $exe $allargs

Invoke-expressie

De cmdlet Invoke-Expression werkt vrijwel op dezelfde manier als de operator &: er is een teksttekenreeks voor nodig en deze wordt uitgevoerd als een opdracht. Bijvoorbeeld:

Invoke-Expression -Command ′C:\Windows\Hello.exe′

Het heeft echter één groot nadeel, namelijk het onvermogen om met spaties te werken. De volgende opdracht veroorzaakt bijvoorbeeld een fout:

Invoke-Expression -Command ′C:\Program Files\Hello.exe′

Deze functie maakt het gebruik van de cmdlet uiterst lastig. Hoewel dergelijke fouten, indien nodig, kunnen worden vermeden door aanvullende aanhalingstekens te gebruiken, bijvoorbeeld als volgt:

Invoke-Expression -Command ″C:\′Program Files′\Hello.exe″

Start-proces

De cmdlet Start-Process start het opgegeven bestand als een proces met behulp van de methode Begin.NET-klasse Proces. Bijvoorbeeld:

Startproces -FilePath ′C:\Program Files\Hello.exe′

Standaard wordt het proces in een apart venster uitgevoerd, dat sluit wanneer het proces is voltooid. U kunt dit gedrag wijzigen met behulp van parameters, zodat de volgende opdracht in het huidige venster wordt uitgevoerd:

Start-Process -FilePath ′C:\Program Files\Hello.exe′ -NoNewWindow -Wachten

Met Start-Process kunt u ook aanvullende argumenten aan het proces doorgeven:

Start-Process -FilePath ′C:\Program Files\Hello.exe′ -ArgumentList ′Hallo wereld′ -NoNewWindow -Wacht

Standaard retourneert de cmdlet niets, maar u kunt de parameter -PassThru gebruiken om te forceren dat er een procesobject wordt geretourneerd. Het is erg handig om dit object in een variabele te plaatsen:

$process = Start-Process -FilePath ′C:\Program Files\Hello.exe′ -Wait -PassThru

waaruit je vervolgens veel nuttige dingen kunt leren, zoals de status:

$process.HasExited

$process.ExitTime

of uitvoeringscode:

$process.ExitCode

.NETTO

In principe kan de klasse .NET Process rechtstreeks worden gebruikt, zonder de cmdlet Start-Process. U kunt het proces bijvoorbeeld starten met het commando:

::Start(′C:\Program Files\Hallo.exe′)

Deze methode is behoorlijk lastig en omslachtig (naar mijn mening), maar iets flexibeler in gebruik. Laten we ons programma bijvoorbeeld in het huidige venster uitvoeren, er argumenten aan doorgeven en het uitvoeringsresultaat nemen:

$process = Nieuw object -TypeName System.Diagnostics.Process
$process.StartInfo.FileName = ″C:\Program Files\Hallo.exe″
$process.StartInfo.Arguments = ″Hallo, wereld″
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.UseShellExecute = $false
$proces.Start()
$process.WaitForExit()

$process.StandatdOutput.ReadToEnd()

WMI

U kunt bijna alles doen met WMI, inclusief het uitvoeren van een programma. De methode is hiervoor zeer geschikt Creëren WMI-klasse Win32_Proces. Deze methode start via RPC een proces op een lokale of externe computer. Als u bijvoorbeeld een programma op de lokale computer wilt uitvoeren, kunt u de volgende opdracht gebruiken:

()″Win32_Process″).Create(′C:\Program Files\Hello.exe′)

En om op een externe computer uit te voeren, ziet de opdracht er als volgt uit:

()″\\remotecomputer\root\cimv2:Win32_Process″).Create(′C:\Program Files\Hello.exe′)

U kunt ook de cmdlet Invoke-WmiMethod gebruiken:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″C:\Program Files\Hello.exe″

Of gebruik de cmdlet Invoke-CimMethod:

Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @(CommandLine=″C:\Program Files\Hello.exe″)

WMI start het proces in een apart venster en retourneert een object met de proces-ID (ProcessID) en het resultaat van de uitvoering (ReturnValue). ReturnValue kan de volgende waarden aannemen:

0 — Succesvolle voltooiing
2 -Toegang geweigerd
3 — Onvoldoende privileges
8 —Onbekende mislukking
9 — Pad niet gevonden
21 - Ongeldige parameter

Invoke-Command

De cmdlet Invoke-Command kan opdrachten uitvoeren op een lokale of externe computer met behulp van WinRM. Om ons programma bijvoorbeeld op de lokale computer uit te voeren, gebruiken we de opdracht:

Invoke-Command -ScriptBlock (″C:\′Program Files′\Hello.exe″)

Indien nodig kunt u argumenten aan het programma doorgeven:

Invoke-Command -ScriptBlock (C:\′Program Files′\Hello.exe ″Hallo, wereld″)

Houd er rekening mee dat Invoke-Command niet erg vriendelijk is met spaties, dus om fouten te voorkomen moet je creatief worden met aanhalingstekens. Dergelijke problemen kunnen echter worden vermeden door bijvoorbeeld het gebruik van de cmdlet te combineren met de operator &:

Invoke-Command -ScriptBlock (& ​​​​′C:\Program Files\Hello.exe′)

Invoke-Command wordt voornamelijk gebruikt voor bediening op afstand; het belangrijkste voordeel is de mogelijkheid om gelijktijdig op meerdere computers uit te voeren. Bijvoorbeeld:

Invoke-Command -ScriptBlock (″C:\′Program Files′\Hello.exe″) -Computernaam SRV1,SRV2,SRV3

$scriptblock = (″C:\′Program Files′\Hallo.exe″)
$Computers = @(′SRV1′,′SRV2′,′SRV3′)
Invoke-Command -ScriptBlock $scriptblock -Computernaam $Computers

Standaard retourneert de cmdlet het resultaat van de uitvoering van het programma, en als u deze op de achtergrond uitvoert (de parameter -AsJob), retourneert deze een Job-object:

Invoke-Command -ScriptBlock (C:\′Program Files′\Hello.exe) -Computernaam localhost -AsJob -JobName Hallo

Invoke-Item

De cmdlet Invoke-Item is ontworpen om een ​​standaardactie op een bestand toe te passen. U kunt het uitvoerbare bestand dus uitvoeren met de opdracht:

Invoke-Item -Pad ″C:\Program Files\Hello.exe″

Het is echter het handigst om Invoke-Item te gebruiken om een ​​specifiek type bestand te openen. Zo openen we bijvoorbeeld een tekstbestand:

Invoke-Item -Pad ″C:\Files\test.txt″

En hier zijn alle tekstbestanden in de map:

Invoke-Item -Pad ″C:\Files\*.txt″

CMD

Kortom, een andere manier om een ​​programma vanuit PowerShell te starten is het gebruik van de cmd-shell. De methode is vrij “indirect”, maar werkt toch. Met de volgende opdracht wordt een nieuwe cmd-instantie gestart, wordt het opgegeven programma daarin uitgevoerd, wordt de cmd afgesloten en wordt het resultaat geretourneerd:

cmd /c ″C:\Program Files\Hallo.exe″

PoSh biedt zo'n overvloed aan manieren om een ​​programma te lanceren. En elk van hen is goed voor bepaalde situaties.

Het artikel is overigens geschreven op basis van PowerShell: Deep Dive en Best Practice. Ik raad aan om het te lezen, er staat nog steeds veel interessants in.

PowerShell is een alternatieve opdrachtregel met uitgebreide functionaliteit. Veel computerbezitters die goed thuis zijn in systeemprocessen zijn geïnteresseerd in de mogelijkheden om het op Windows 10 en eerdere versies van deze software te gebruiken om specifieke processen en pc-instellingen voor zichzelf te wijzigen.

Er is niets ingewikkelds aan het gebruik van PowerShell. Volg gewoon alle instructies in dit artikel en u zult slagen.

Als u geen expert bent op dit gebied, maar net begint met het bestuderen van opdrachtregels en de acties die daarin kunnen worden uitgevoerd, zal het nuttig zijn als u de antwoorden kent op de belangrijkste vragen over het gebruik van een dergelijke applicatie. Bijvoorbeeld hoe u Windows PowerShell ISE Windows 10 uitvoert en scripts schrijft en ermee werkt.

Hoe PowerShell openen?

Dit kan op verschillende van de volgende manieren:

  • - u vindt de toepassing in de algemene componentenlijst onder de letter W.
  • Gebruik zoeken in de taakbalk - open het en voer het woord PowerShell in om te zoeken.
  • Gebruik het menu "Uitvoeren", voer het door de Win + R-combinatie uit en schrijf de naam van het hulpprogramma, waarna het in het systeem zal worden gevonden.
  • Stel in Commander de PowerShell-actie in, maar u moet weten dat u met de applicatie werkt via een reeds lopende regel, en niet in een apart venster.
  • Selecteer in Windows-instellingen Taakbalkeigenschappen en Startmenu. Vink op het tabblad “Navigatie” het vakje aan naast “Vervang de opdrachtregel door PowerShell...”. Nu kunt u het hulpprogramma inschakelen met behulp van de Win+X-combinatie.

Hoe schrijf en voer ik scripts uit?

Hoe maak je een PowerShell-script en voer je het uit? Dit kan eenvoudig in een notitieblok worden gedaan - gebruik het om de opdrachten aan te geven die u nodig hebt in het nieuwe document. Sla het vervolgens op, maar verander het formaat in .ps1 - dit is de extensie die de bestanden van dit systeemhulpprogramma hebben.

U kunt als volgt scripts in de applicatie zelf schrijven:

  • Lanceer het.
  • Klik op het item "Maken".
  • Of klik op “Bestand” en selecteer “Maken” in de lijst die verschijnt.
  • Schrijf alle opdrachten die moeten worden uitgevoerd en sla het bestand op.

Scripts kunnen nog steeds in FAR Manager worden geschreven en bewerkt, maar ze kunnen niet rechtstreeks in een dergelijke applicatie worden gebruikt, omdat deze bestanden van dit type via de standaard cmd-regel weergeeft. Andere acties worden echter op dezelfde manier uitgevoerd als in het "native" hulpprogramma.

U kunt het script op deze manier uitvoeren:

  1. Meld u aan bij PowerShell als beheerder.
  2. Gebruik de cd-opdrachten om de locatie van het vereiste bestand op te geven. Bijvoorbeeld e: cd\ cd work .\ bestandsnaam. Ps1, of e: \werk\bestandsnaam.ps1
  3. In dit geval is e: de naam van de harde schijf waarop het bestand zich bevindt.
  4. Druk op Enter.

Het programma zal u zeker een bericht laten zien met de tekst "Het bestand ___ .Ps1 kan niet worden geladen omdat het uitvoeren van scripts verboden is op dit systeem..." wanneer u de opdracht voor de eerste keer uitvoert. Feit is dat Windows dankzij de ontwikkelaars is uitgerust met bescherming tegen interferentie, dus geen van de gebruikers heeft standaard toegang om dergelijke acties uit te voeren. Maar deze beperking kan heel gemakkelijk worden omzeild.

Hoe? De tekst die bij de fout verschijnt, raadt u aan de opdracht get-help about_signing in te voeren om meer informatie te krijgen. U kunt deze instructies volgen of de op afstand ondertekende combinatie Set-ExecutionPolicy gebruiken. Nadat u deze hebt ingevoerd, is bevestiging vereist en wordt de beperking verwijderd.

Overige vragen over gebruik

Veel mensen hebben een vraag: hoe kom je achter de versie van PowerShell? Om dit te doen, doet u het volgende:

  1. Voer $PSVersionTable in.
  2. Als dit niets oplevert, dan heb je versie 1.0 - daar is een commando $host.version voor.
  3. Anders verschijnt er gedetailleerde informatie over welke versie van de applicatie op de pc is geïnstalleerd.

Er is meer dan een jaar verstreken sinds de release van Windows 7 en Server 2008.

Programmeurs, systeembeheerders en gevorderde gebruikers hebben veel toepassingen gevonden voor het blauwe venster, vergelijkbaar met de opdrachtregel.

De meeste beginnende gebruikers weten niet eens wat PowerShell (PS) is.

Maar met scripts voor PowerShell kunt u bijna 100% van de acties en scripts die in het besturingssysteem worden uitgevoerd, automatiseren via de opdrachtregel en grafische interface.

Laten we kennis maken met de belangrijkste mogelijkheden van dit programma, waarbij we meer aandacht besteden aan de functie van het maken en uitvoeren van scripts (firmware).

Er zijn talloze handleidingen en documentatie voor het programma, ook in het Russisch. Doel van het artikel– de gebruiker voorzien van conceptuele kennis, up-to-date brengen, maar of het de moeite waard is om de tolk en de uitvoering van scripts daarin beter te leren kennen, zal iedereen voor zichzelf beslissen.

Wat is Windows PowerShell?

PowerShell– een tolk gebaseerd op het .NET Framework, uitgerust met een eigen scripttaal.

De eerste betekent dat het in tekstmodus werkt: u voert een opdracht in, voert deze uit en op het scherm ziet u het resultaat van de uitvoering ervan.

Zoals het was in MS-DOS en oudere versies van UNIX.

De tweede vereenvoudigt, versnelt en automatiseert het beheer en onderhoud van systemen, applicaties, processen en aanverwante diensten door beheerders en gewone gebruikers aanzienlijk.

Vergeleken met andere tolken, PS is anders:

  • integratie met – stelt u in staat krachtige scripts te maken door er programmacode in te introduceren;
  • alle geretourneerde gegevens zijn objecten, geen tekst-/tekenreeksgegevens, wat betekent dat ze worden doorgegeven aan andere scripts en op welke manier dan ook worden verwerkt.

PowerShell-versie 2 beschikt over de volgende mogelijkheden, Laten we enkele ervan in meer detail bekijken:

  • Mogelijkheid om opdrachten weer te geven als cmdlets– ze worden binnen de tolk gelanceerd; anders wordt de opdracht in een afzonderlijk proces uitgevoerd.
  • Gebruik van transportbanden– zijn ontworpen om gegevens van de ene opdracht naar de andere over te dragen met behoud van hun structuur en type.
  • Geïntegreerde multi-stream gegevensoverdracht via het netwerk met prioriteitstelling en hervatting van de verbinding.
  • Ondersteuning voor positionele en benoemde parameters.
  • Achtergrondwerk– asynchrone aanroep van opdrachten en het starten van scripts op externe machines.
  • Het opzetten van beperkte sessies met externe clients en er scripts op uitvoeren.
  • Modules– een manier om scripts te organiseren wanneer ze zelfvoorzienend worden en in hun eigen container worden uitgevoerd zonder de omgeving van de module te beïnvloeden.
  • Beschikbaarheid van een foutafhandelaar.
  • Grafische omgeving voor de taal: syntaxis, debugger, markeren, automatische opdrachtvoltooiing met ondersteuning voor Unicode en bladwijzers.
  • Breekpunten aan lijnen toevoegen, opdrachten, bewerkingen en variabelen voor het debuggen van het script.
  • Blokkeer en interlineaire opmerkingen.
  • Ondersteuning voor het maken van aliassen voor sommige cmdlets, die op het moment van uitvoering worden omgezet in gewone opdrachten.
  • Beperkte sessies creëren, waar u een strikt gedefinieerde lijst met opdrachten kunt uitvoeren en nog veel meer.

PowerShell-broncode voor iedereen beschikbaar gemaakt: Elk communitylid kan vrijelijk zijn eigen extensies maken om de functionaliteit van de opdrachtregelinterpreter te vergroten.

U kunt beginnen met het beheersen van een geïntegreerde scripttaal zonder enige programmeervaardigheden.

Het is onwaarschijnlijk dat je een complex scenario kunt creëren, maar bijna iedereen zal reeksen primitieve acties kunnen uitvoeren.

Hoewel het, zonder kennis van de basisconcepten van PowerShell, onwaarschijnlijk is dat u iets kunt doen in het opdrachtinterpretervenster. Laten we met hen beginnen.

Cmdlets

Cmdlets– eigenaardige PS-commando’s, waarachter een verscheidenheid aan functies verborgen zijn. De commando's die in de interpreter zijn ingebouwd, worden geïmplementeerd volgens het werkwoord-zelfstandig naamwoord-principe, bijvoorbeeld Get-Process (een lijst met processen ophalen). Met deze oplossing kunt u de essentie van de opdracht begrijpen, alleen al door de naam (in het Engels).

Sommige cmdlets ondersteunen het ontvangen/overdragen van gegevens en reeksen informatie, terwijl hun structuur en type behouden blijven. Dit werkt volgens het principe van een transportband (dit wordt in de volgende sectie besproken). Hoe dan ook, de cmdlets worden de objecten in volgorde uitgevoerd en verwerkt.

Voor het implementeren van cmdlets kunnen alle ondersteunde .NET API's worden gebruikt die in elke .NET-taal zijn gemaakt.

Zo krijgt de gebruiker toegang tot specifieke functies van het programma.

Cmdlets kunnen rechtstreeks of via unieke paden (stationsletters en mappaden) toegang krijgen tot de vereiste informatie.

Met behulp van cmdlets kunt u werken met bestandssysteem- en certificaatarchiefobjecten, geïnstalleerde applicaties en services.

Transportband

Wanneer u niet erg primitieve scripts maakt of bewerkingen uitvoert met gegevens die u via het script hebt verkregen, moet u soms ook enkele acties uitvoeren.

Hiervoor is een transportband aanwezig. Net als in UNIX combineert het opdrachten door de uitvoer van de ene cmdlet ongewijzigd door te geven aan de invoer van een andere, waarbij het type ervan behouden blijft.

In dit geval is er geen container- of karakter-voor-karakter parsering van informatie vereist.

De verzonden informatie kan ook een functie bevatten. Nadat het werk van de gecombineerde opdrachten is voltooid, wordt de functie van het converteren van informatie naar tekstvorm (gegevens naar tekenreeksen converteren) aangeroepen met behulp van tekstopmaak.

Scripts

Ondanks het feit dat je met de shell veel acties kunt automatiseren, moet je opdrachten handmatig invoeren, wat niet erg handig is.

Vooral als dezelfde handelingen keer op keer moeten worden uitgevoerd.

En je kunt niet zonder de menselijke factor: typefouten, fouten, het per ongeluk indrukken van toetsen bij het schrijven van regels code, het corrigeren of opnieuw typen van een regel vereist een gebruiksvriendelijkere houding.

Om eentonige reeks acties uit te voeren, heeft PS scripts geïmplementeerd: tekstbestanden met een reeks opdrachten erin die begrijpelijk zijn voor de tolk.

Scripts in PowerShell zullen het werk op de pc en het onderhoud ervan verder vereenvoudigen en automatiseren, vooral als het script vertakkingen, voorwaarden, logische bewerkingen en lussen bevat.

Maar ook hier is ‘niet alles goud wat blinkt’: een eigen script schrijven of een kant-en-klaar script uploaden (zij het enigszins afstemmen op je eigen doelen) zal niet zo eenvoudig lukken.

Als binnenMicrosofthet mocht ongeacht hoeveel moeite scripts voor gemaaktPowerShell , geschreven door oplichters en kwaadwillenden voor egoïstische of hooligan-doeleinden.

Om op Windows PS te kunnen draaien, moet u de startcontrole passeren.

Als het mislukt en het script moet worden uitgevoerd, moet u de configuratie wijzigen van de objecten die verantwoordelijk zijn voor de beveiliging van macro's.

Voordat u scripts gebruikt

Bij het gebruik van VBS doen zich veel problemen voor, die de PowerShell-ontwikkelaars volledig hebben opgelost als de scriptbeveiliging niet wordt verlaagd om aan gebruikersscriptverzoeken te voldoen of problemen op te lossen die verband houden met het beveiligingsniveau van het besturingssysteem.

Het uitvoeren van een gedownload script op de computer van een gebruiker is een eenvoudige en effectieve optie voor het verspreiden van kwaadaardige software of het stelen van persoonlijke informatie door aanvallers.

Alles gebeurt vanwege fundamentele onwetendheid over de inhoud van het scriptbestand (ps1) en de wens om hun problemen snel op te lossen ten koste van het werk van anderen. Objecten die het beveiligingsniveau van de scriptuitvoering bepalen, creëren een omgeving waarin het onmogelijk is het script uit te voeren.

Het opzettelijk uitvoeren van macro's vindt plaats na het wijzigen van het beveiligingsniveau, als de gebruiker groen licht geeft, zich realiseert wat hij doet en zeker weet wat er in het *.ps1-bestand staat.

Omdat de beveiligingsconfiguratie lastig is voor mensen die hun eigen scripts moeten implementeren en uitvoeren, is het mogelijk om de configuratie te wijzigen.

Hier kunt u de bescherming tot een minimum beperken of verstandig manoeuvreren tussen de mogelijkheid om gaten te openen voor penetratie en het gemak van werken met PowerShell.

De shell heeft drie beveiligingsniveaus:

  • bestanden met de ps1-extensie worden niet door het systeem geïdentificeerd als uitvoerbaar bestand en aangeduid als onbekend of tekst (door te dubbelklikken worden ze geopend in de standaard teksteditor die op de computer wordt gebruikt);
  • Met de shell kunt u scripts uitvoeren nadat u hun volledige pad hebt opgegeven, worden scriptbestanden in de huidige map niet doorzocht, waardoor het onmogelijk wordt om macro's uit te voeren die zich in de huidige map bevinden;
  • het ingebouwde Execution Policy-script uitvoeren, verantwoordelijk voor het toevoegen van het vereiste script aan de lijst met toegestane scripts.

Denk er niet eens aan om de configuratie te wijzigen, en verlaag het naar ten minste het tweede niveau, zonder vertrouwd te raken met de basisprincipesPowerShelltotdat je op zijn minst oppervlakkig de inhoud van * begint te begrijpen.ps1.

Er is ook het concept van een uitvoeringsbeleid, gemaakt om te voorkomen dat scripts per ongeluk worden uitgevoerd. Er zijn vijf startbeleidsinstellingen:

  • beperkt - standaard geïnstalleerd, worden alleen door Microsoft ondertekende scripts uitgevoerd, waardoor u informatie kunt verkrijgen over de hardware- en softwareshell van de computer;
  • handtekening van verwijderde bestanden hebben– u kunt alle macro's uitvoeren, maar per mail verzonden bestanden moeten ondertekend zijn;
  • digitaal ondertekend door een vertrouwde bron– alle ondertekende scripts worden uitgevoerd;
  • onbeperkt– start eventuele macro's;
  • omzeilen– zijn bedoeld voor programmeurs die hun eigen beveiligingssysteem creëren, in plaats van het systeem in de shell te gebruiken.

U kunt de huidige status van het uitvoeringsbeleid controleren met behulp van de opdracht “Get-ExecutionPolicy”.Wat het beveiligingsbeleid ook is, de gebruiker zal geen script kunnen uitvoeren dat opdrachten bevat waarvoor hij niet voldoende rechten heeft om uit te voeren.

Powershell starten

Het is tijd om van theorie naar praktijk te gaan. Om scripts uit te voeren heeft u dus een digitale handtekening nodig of (de tweede optie is eenvoudiger).

Er zijn verschillende manieren om een ​​PowerShell-venster te openen.

Het wordt gepresenteerd in twee vormen:

  • klassieke console;

  • PowerShell ISE - voegt ondersteuning toe voor tabbladen, syntaxis, contextuele hulp, contextuele en hoofdmenu's, wat het werken in de tolk enorm vergemakkelijkt.

Begin

De eenvoudigste manier om PS te bellen is via Start.

  1. Open het menu(klik in Windows 7 op “Alle programma’s”).
  2. Ga naar de Windows PowerShell-map en klik op het gewenste icoon.

Rijst. 4 – Start PS via Start

Je kunt ook PS bellen via geïntegreerd zoeksysteem.

Commando tolk

Voor degenen die van niet-standaard en snelle startmethoden houden, gebruik het venster Uitvoeren. Het wordt geopend met de gelijknamige knop in Start en de toetscombinatie Win + R.

In het dialoogvenster schrijven we "powershell" en druk op “Invoeren”.

Win+X

In Windows 10 kan PS worden opgeroepen vanuit het WinX-menu. Feit is dat dit standaard gebeurt door op de opdracht te klikken "Opdrachtregel" CMD openen. Het kan worden vervangen door PowerShell.

Open de “Eigenschappen” van de Taakbalk, plaats op het tabblad “Navigatie” een vinkje naast de enige optie en sla de instellingen op.

U kunt PowerShell aanroepen via de opdrachtregel door er “powershell” in te schrijven of door het uitvoerbare bestand langs het pad uit te voeren: %WINDIR%\ Systeem32\ WindowsPowerShell\v1.0 voor 32-bits systemen en op %WINDIR%\ syswow64\ WindowsPowerShell\v1.0 voor 64-bits Windows van elke editie.

Rijst. 8 – Voer PS uit vanuit de map waar het uitvoerbare bestand is opgeslagen

Het opzetten van een beveiligingsbeleid

Er is niet veel meer over– PowerShell toestaan ​​scripts uit te voeren. Voer het commando “Set-ExecutionPolicy RemoteSigned” in en druk op “Y”.

Dat is alles. Nu kunt u alle cmdlets en scripts uitvoeren. Laten we bijvoorbeeld proberen een lijst met actieve processen weer te geven door "Get-Process" uit te voeren.

Scripts uitvoeren

U kunt scripts maken in elk (het is beter om bij Win te blijven, of iets dergelijks, met ondersteuning voor syntaxis of validatie) of in het PowerShell ISE-programma.

Dit laatste biedt gemakkelijke toegang tot cmdlets, de mogelijkheid om scripts uit te voeren, fouten op te sporen en op te slaan.

Laten we aannemen dat u uw eerste script hebt geschreven (dit is om een ​​lijst met actieve processen te verkrijgen), het hebt opgeslagen via het menu "Bestand" en dat u het moet uitvoeren. Dit gebeurt op drie manieren:

1 We schrijven het volledige pad naar het script in PowerShell (of ISE);

Rijst. 13 – Scripts uitvoeren vanuit het PowerShell ISE-venster

Belangrijk zodat er geen spaties in het pad naar het bestand staan!

PowerShell– een krachtig hulpmiddel voor het vereenvoudigen van routinematige handelingen in Server 2008 en nieuwer. Een belangrijk voordeel van PowerShell zijn scripts en beschikbaarheid versie van het programma met een grafische interface PS ISE. De opdrachten daarin worden gepresenteerd in de vorm van cmdlets, waardoor u vertrouwd kunt raken met de shell en de betekenis van elke opdracht kunt begrijpen. Het beveiligingsbeleid staat niet toe dat een beginner zijn computer beschadigt scripts ontvangen van onbekende bronnen, en de debugging-modus, het creëren van uw eigen cmdlets, functies en foutafhandelingsmechanismen openen onbeperkte mogelijkheden voor programmeurs en beheerders.

Na het overstappen naar het Windows 10-besturingssysteem merkten veel gebruikers de knop "PowerShell uitvoeren" op in de Explorer-interface. In dit opzicht verschenen er veel vragen op internet, gebruikers waren geïnteresseerd in wat voor soort Windows PowerShell-programma het was en waarvoor het nodig was. Als u ook geïnteresseerd bent in dit probleem, dan zou dit materiaal u moeten helpen.

Wat is Windows PowerShell

Windows PowerShell is een scripttaal en opdrachtregelprogramma voor het uitvoeren van deze scripts. Deze taal werd in 2006 uitgebracht als onderdeel van het tweede servicepack voor Windows XP en sindsdien maakt PowerShell deel uit van alle Microsoft-besturingssystemen. In 2008 verscheen de tweede versie van deze taal en vanaf Windows 7 wordt deze versie gebruikt. Bestanden met Windows PowerShell-scripts hebben een PS1-extensie en kunnen worden uitgevoerd als bekende BAT- en CMD-bestanden.

Windows PowerShell is een scripttaal die voornamelijk is ontworpen voor zakelijke klanten van Microsoft die krachtige tools nodig hebben om de taken van het beheer van Windows-servers en computers te automatiseren. Als basis voor deze taal werd het .NET-platform gebruikt, dat sinds 2002 door Microsoft is ontwikkeld.

Met Windows PowerShell kunt u een breed scala aan taken automatiseren. Hiermee kunt u bestanden, services, processen, accounts en instellingen beheren. De PowerShell-taal begrijpt veel van de opdrachten die te vinden zijn in de reguliere Windows Command Prompt (CMD), maar heeft ook een eigen taal die bestaat uit eigen opdrachten, die cmdlets worden genoemd.

Cmdlets (in het Engels cmdlets) worden gevormd volgens de werkwoord-zelfstandig naamwoord-regel, bijvoorbeeld Get-Help. U kunt de basisbeginselen van Windows PowerShell leren met behulp van Help (de Get-Help-cmdlet). Voor algemene informatie voert u eenvoudigweg de opdracht “Get-Help” in; hulp over een specifieke cmdlet, voer “Get-Help Cmdlet-name” in. Als we bijvoorbeeld de opdracht “Get-Help Get-Process” invoeren, krijgen we hulp over de Get-Process-cmdlet.

Een Windows PowerShell-programma uitvoeren

Het Windows PowerShell-programma kan op verschillende manieren worden gestart. De eenvoudigste optie is om eenvoudigweg de zoekopdracht in het Start-menu te gebruiken. Open hiervoor het menu Start, voer de zoekopdracht "Windows PowerShell" in en open vervolgens het gevonden programma.

U kunt ook de Windows-toetscombinatie-R gebruiken en het commando “powershell” invoeren.

In Windows 10 kan PowerShell vanuit elke map worden gestart. Om dit te doen, klikt u op de knop "Bestand" in de linkerbovenhoek van Verkenner en selecteert u "Windows PowerShell uitvoeren".

Windows PowerShell gebruiken

Zoals we al hebben gezegd, kunt u met het PowerShell-programma veel routinetaken in het Windows-besturingssysteem automatiseren. Als voorbeeld zullen we enkele van de mogelijkheden van deze tool demonstreren om duidelijk te maken hoe deze te gebruiken.

De prullenbak legen. Er is een speciale cmdlet voor het leegmaken van de prullenbak, genaamd “Clear-RecycleBin”. Deze cmdlet is handig bij het schrijven van scripts voor het onderhoud van computers. Wanneer u de cmdlet uitvoert, moet u het station opgeven waarop u de Prullenbak wilt legen. Voorbeeld:

Clear-Prullenbak c:

De onderstaande schermafbeelding laat zien hoe deze cmdlet wordt uitgevoerd. Na het invoeren van het commando “Clear-RecycleBin c:” verschijnt er een bevestigingsverzoek. Om door te gaan met het uitvoeren van de cmdlet, voert u de letter “Y” in en drukt u op Enter.

Als u “-Force” toevoegt aan de cmdlet “Clear-RecycleBin c:”, wordt de prullenbak leeggemaakt zonder om bevestiging te vragen. Screenshot hieronder.

Bestanden archiveren. Voor het archiveren en uitpakken van bestanden zijn de cmdlets “Compress-Archive" en "Expand-Archive" beschikbaar. Om bijvoorbeeld de map “C:\test\” te archiveren in het archief “C:\archive\test2.zip”, moet u de volgende cmdlet uitvoeren:

Comprimeren-archief -LiteralPath C:\test\ -DestinationPath C:\archive\test2.zip

Als resultaat van het uitvoeren van de hierboven getoonde opdracht, zal een bestand “test2.zip” verschijnen in de map “C:\archive\” waarin de inhoud van de map “C:\test\” zal worden gearchiveerd.

Lijst met cmdlets voor Windows PowerShell

Er zijn een groot aantal verschillende cmdlets voor Windows PowerShell en het zal niet mogelijk zijn om ze allemaal in één artikel te beschrijven. Daarom raden we u aan vertrouwd te raken met de meest populaire:

  • Get-Help – hulp krijgen;
  • Update-Help – help bij het updaten;
  • Get-Command – zoek naar cmdlets;
  • Get-Alias ​​– zoek naar aliassen voor cmdlets;
  • Get-PSDrive – bekijk aangesloten schijven;
  • Get-Member – bekijk de eigenschappen en methoden die een object heeft;
  • Get-WindowsFeature – bekijk informatie over beschikbare serverrollen en -functies;
  • Install-WindowsFeature (analoog aan Add-WindowsFeature) - installeert rollen of componenten op de gewenste server;
  • Uninstall-WindowsFeature (analoog aan Remove-WindowsFeature) – verwijdert serverrollen of componenten;
  • Get-History – bekijk de geschiedenis van de opdrachten die in deze sessie zijn ingevoerd;
  • Get-Variable – bekijk een lijst met variabelen en hun waarden;
  • Nieuwe variabele – een nieuwe variabele maken;
  • Set-variabele – de waarde van een variabele instellen;
  • Clear-Variable – een variabelewaarde verwijderen;
  • Remove-Variable – het verwijderen van een variabele en zijn waarde;
  • Format-List – het resultaat van de opdracht bekijken als een lijst met eigenschappen, waarbij elke regel een afzonderlijke eigenschap bevat;
  • Format-Table — bekijk het opdrachtresultaat in tabelindeling;
  • Format-Wide - bekijk het resultaat van de opdracht in de vorm van een brede tabel, die slechts één eigenschap voor elk object toont;
  • Format-Custom – bekijk het resultaat van de opdracht met behulp van een aangepaste weergave;
  • Export-Csv – exporteer gegevens naar CSV-formaat;
  • Import-Csv – importeer gegevens uit een CSV-bestand;
  • Export-Clixml - exporteer gegevens naar XML-formaat;

U kunt een volledige lijst met cmdlets voor Windows PowerShell verkrijgen door de cmdlet Get-Command -CommandType uit te voeren.