- 1. Cmdlets-opdrachten in datum en tijd PowerShell
- 2. Cmdlets-opdrachten in PowerShell voor beveiliging en beveiligingsdescriptors
- 3. Cmdlets-opdrachten in PowerShell voor bestanden en mappen
- 4. Cmdlets-opdrachten in Systeembeheertaak PowerShell
- 5. Cmdlets-opdrachten in Help en informatietaak PowerShell
- 6. Cmdlets-opdrachten in Windows PowerShell-sessies PowerShell
- 7. Cmdlets-opdrachten in gegevensopslag en PowerShell importeren
Wanneer u Windows 10 of Windows Server 2016-besturingssystemen gebruikt, hebben we een krachtige beheer- en controletool voor meerdere systeemparameters en dat is Windows PowerShell.
Windows PowerShell is bijgewerkt in Windows 10 en Server 2016 om betere controle over elk systeemproces te bieden, en het belangrijkste onderdeel van PowerShell zijn de cmdlets.
Cmdlets vormen de basis van Windows PowerShell, wat ook de nieuwste shell-taal of opdrachtscripting van Microsoft is, dus een cmdlet is een lichtgewicht opdracht die wordt gebruikt in de Windows PowerShell-omgeving.
Solvetic zal een volledige analyse doen van de cmdlets die in Windows Powershell kunnen worden geïmplementeerd en in plaats van zich te concentreren op de individuele cmdlets, valt deze nadruk op de taken die we met die cmdlets kunnen uitvoeren. Deze taken omvatten verschillende aspecten, zoals het lezen en schrijven van tekstbestanden tot het beheren van gebeurtenislogboeken en het classificeren of filteren van gegevens en dus zullen we zien hoe onze ondersteuningstaken veel meer gecentraliseerd zullen zijn.
We zullen begrijpen hoe het gebruik van cmdlets ons de mogelijkheid geeft om veel meer informatie te verkrijgen dan we denken te verkrijgen.
1. Cmdlets-opdrachten in datum en tijd PowerShell
Deze groep omvat taken zoals het ophalen van de huidige datum en tijd en het uitvoeren van datumberekeningen.
Datum en tijd van computer wijzigenOm deze taak uit te voeren, kunnen we de Set-Date cmdlet gebruiken, maar we moeten er rekening mee houden dat dit een delicate cmdlet is die voorzichtig moet worden gebruikt. Als we ons bijvoorbeeld in een Active Directory-omgeving bevinden, moeten de tijden van onze computer volledig worden gesynchroniseerd met de tijden van de domeincontroller; Zo niet, dan is het wellicht niet mogelijk om in te loggen op het domein.
Tijden in het team worden vaak toegewezen met behulp van een automatische tijdservice; in dat geval is het waarschijnlijk niet nodig om datums en tijden handmatig in te stellen, maar als we om de een of andere reden datums en tijden handmatig moeten instellen, biedt Set-Date een gemakkelijke manier om dit te doen.
Een manier om de datum en/of tijd op een computer te wijzigen, is door de parameter -date te gebruiken, gevolgd door de nieuwe datum en tijd. Om bijvoorbeeld de datum en tijd in te stellen op 10:30 uur. vanaf 6 november 2021-2022 voeren wij de volgende regel uit:
Set-Date -datum "11/6/2017 10:30 AM"
VERGROTEN
De nieuwe tijd en datum worden automatisch in het systeem ingesteld. Als het nodig is om de klok twee dagen aan te passen, gebruikt deze opdracht de Get-Date cmdlet en de AddDays-methode om de klok twee dagen vooruit te zetten:
Set-Date (Get-Date) .AddDays (2)Dit voegt twee dagen toe aan de huidige datum door de werkelijke systeemtijd te nemen:
VERGROTEN
Andere methoden die we kunnen gebruiken zijn AddHours, AddMinutes en AddSeconds, deze opties stellen ons in staat om uren, minuten of seconden aan te passen aan de weersomstandigheden of een soort administratief beheer.
In landen waar de tijd bijvoorbeeld door de zomer wordt beïnvloed, kunnen we de klok min één uur instellen met behulp van de volgende regel:
Set-Date (Get-Date) .AddHours (-1)Als alternatief is het mogelijk om de parameter -adjust te gebruiken om de tijd aan te passen met het formaat uren: minuten: seconden. Dit commando zet de klok bijvoorbeeld 2 uur en 40 minuten vooruit:
Set-Date -aanpassing 2: 40: 0
Datum- en tijdinformatie weergevenMet de Get-Date cmdlet kunnen we de huidige datum en tijd ophalen. Evenzo zijn er enkele andere trucs die we kunnen doen met Get-Date, om deze waarden aan te passen.
Als we de huidige datum en tijd willen weergeven, gebruiken we gewoon de Get-Date-cmdlet zonder extra parameters:
Krijg datum
VERGROTEN
Daar hebben we de huidige dag, datum en tijd. Als we alleen de datum willen weergeven, gebruiken we de parameter -displayhint en specificeert deze alleen de datum:
Get-Date -displayhint-datum
VERGROTEN
Als we alleen de tijd willen weergeven, gebruiken we de volgende regel:
Get-Date -displayhint-tijdHet is ook mogelijk om Get-Date te gebruiken om een datetime-object te maken voor elke datum of tijd. Met deze opdracht maken we bijvoorbeeld een variabele met de naam $ A die om 12.00 uur wordt toegewezen. vanaf 1 december 2021-2022:
$ A = Get-Date 1/12/2017
VERGROTEN
Als we nu een specifieke tijd aan deze variabele willen toevoegen, hoeven we deze alleen op de volgende manier toe te voegen:
$ A = Get-Date "12/1/2017 11:00 AM"De Get-Date-cmdlet bevat ook een aantal methoden om tot op heden eenvoudig te rekenen:
AddSeconds AddMinutes AddUren AddDays AddMonths AddYears
Datumberekening uitvoerenDe nieuwe New-TimeSpan-cmdlet biedt een manier om datumberekeningen uit te voeren in Windows PowerShell. Deze opdracht geeft bijvoorbeeld het aantal dagen tussen de datum van vandaag en een toekomstige datum aan:
New-TimeSpan $ (Get-Date) $ (Get-Date -maand 10 -dag 31 -jaar2021-2022)In dit geval zien we het aantal dagen tussen de datum van vandaag en 31 oktober van het jaar 2021-2022:
VERGROTEN
We kunnen volledige details van dagen, minuten, uren en andere zien. Om New-TimeSpan te gebruiken, hoeft u slechts een paar datum- en tijdwaarden te gebruiken. De beste manier om dit te doen is door de Get-Date methode te gebruiken; dat helpt ons ervoor te zorgen dat we een aantal datetime-objecten krijgen waarmee New-TimeSpan kan werken.
In dit voorbeeld is de eerste datum gemaakt met behulp van de Get-Date-cmdlet zonder extra parameters (houd er rekening mee dat de cmdlet tussen haakjes moet staan).
Voor de tweede datum werd ook Get-Date aangeroepen, maar de parameters -month, -day en -year werden toegevoegd, samen met de juiste waarden.
2. Cmdlets-opdrachten in PowerShell voor beveiliging en beveiligingsdescriptors
Deze taken omvatten acties zoals het configureren van het Windows PowerShell-scriptuitvoeringsbeleid en het ophalen van de digitale handtekening of beveiligingsdescriptor voor een bestand of map.
Pas het Windows PowerShell-configuratiebeleid aanMet de cmdlet Set-ExecutionPolicy kunnen we bepalen welke Windows PowerShell-scripts op de computer kunnen worden uitgevoerd. Windows PowerShell heeft vier verschillende uitvoeringsbeleidsregels:
- Beperkt: kan geen scripts uitvoeren. Windows PowerShell kan alleen worden gebruikt in de interactieve modus.
- AllSigned: alleen scripts die zijn ondertekend door een vertrouwde uitgever kunnen worden uitgevoerd.
- RemoteSigned: gedownloade scripts moeten worden ondertekend door een vertrouwde uitgever voordat ze kunnen worden uitgevoerd.
Om een van deze beleidsregels toe te wijzen, gebruiken we de volgende syntaxis:
Set-ExecutionPolicy (beleid) Set-ExecutionPolicy OnbeperktHet is nodig om deze actie te bevestigen:
VERGROTEN
Beleid voor scriptuitvoering weergevenDe cmdlet Get-ExecutionPolicy is verantwoordelijk voor het aangeven welk van de vier uitvoeringsbeleidsregels momenteel van kracht is. Hiervoor voeren wij het volgende uit:
Get-ExecutionPolicy
VERGROTEN
3. Cmdlets-opdrachten in PowerShell voor bestanden en mappen
Deze taken omvatten acties zoals het maken, hernoemen, kopiëren en verwijderen van bestanden en mappen.
Bestanden en mappen kopiërenDe cmdlet Copy-Item geeft ons de mogelijkheid om een item als bestanden of map naar een andere locatie te kopiëren. We kunnen bijvoorbeeld de volgende opdracht uitvoeren die het bestand Tests.txt kopieert van de map D: \ Solvetic naar de map C: \ Solvetic:
Kopieeritem d: \ Solvetic \ tests.txt c: \ Solvetic
VERGROTEN
Als we alle inhoud van een map willen kopiëren, inclusief submappen, dan moeten we gewoon een jokerteken gebruiken zoals dit:
Kopieeritem d: \ Solvetic \ * c: \ Solvetic
VERGROTEN
Als we alleen de bestanden met een bepaalde extensie willen kopiëren, bijvoorbeeld afbeeldingen, gebruiken we de volgende regel:
Kopieeritem d: \ Solvetic \ *. Jpg.webp c: \ Solvetic
Een nieuwe map of bestand makenDe cmdlet New-Item is een snelle en gemakkelijke manier om een nieuw bestand of nieuwe map in Windows te maken.
In dit geval gaan we een nieuwe map maken met de naam Windows PowerShell in de map C: \ Solvetic. Hiervoor zullen we New-Item uitvoeren samen met het volledige pad naar de nieuwe map en het nieuwe type item (dat u kunt specificeren met de -type parameter en de values directory). De opdracht heeft de volgende structuur:
Nieuw item c: \ Solvetic \ WindowsPowerShell -type directory
VERGROTEN
Dit zal het genoemde element in het aangegeven pad creëren. Om een nieuw bestand te maken, moeten we hetzelfde proces volgen, waarbij we de volledige naam van het pad specificeren, maar deze keer het bestandstype instellen. Met deze opdracht maken we het bestand C: \ Solvetic \ Solvetic1.txt:
Nieuw item C: \ Solvetic \ Solvetic1.txt -type bestand
VERGROTEN
Als het bestand bestaat en we willen het overschrijven, kunnen we de parameter -force als volgt toevoegen:
Nieuw item C: \ Solvetic \ Solvetic1.txt -type bestand -force
Een bestand of map verwijderenDe cmdlet Remove-Item is verantwoordelijk voor het verwijderen van bestanden en mappen op het systeem.
Als we een bestand willen verwijderen, gebruiken we de volgende regel:
Item verwijderen c: \ Solvetic \ Solvetic1.txt
VERGROTEN
We kunnen ook jokertekens gebruiken om meerdere items te verwijderen. Deze opdracht verwijdert bijvoorbeeld alle bestanden in het pad C: \ Solvetic:
Verwijder-item c: \ Solvetic \ *Een andere van de beschikbare opties is om aan te geven welke elementen moeten worden geëlimineerd en welke niet, hiervoor kunnen we de volgende syntaxis gebruiken:
Remove-Item c: \ scripts \ * -include * .txt -exclude * Tests *In dit geval worden alle .txt-bestanden verwijderd, behalve het bestand met de naam Tests. De Remove-Item cmdlet heeft een parameter genaamd -whatif die eigenlijk niets verwijdert, maar gewoon laat zien wat er zou gebeuren als we Remove-Item zouden uitvoeren:
Verwijder-item c: \ Solvetic \ *.Txt -whatif
VERGROTEN
Een bestand of map verplaatsenMet de cmdlet Move-Item kunt u een bestand of map van de ene naar de andere locatie verplaatsen. We verplaatsen bijvoorbeeld een map van station C naar station D:
Move-Item c: \ Solvetic \ Solvetic d: \ Solvetic
VERGROTEN
Als het element in het bestemmingspad bestaat, kunnen we de parameter -force gebruiken voor de uitvoering ervan:
Move-Item c: \ Solvetic \ Solvetic d: \ Solvetic -force
De naam van een bestand of map wijzigenMet de cmdlet Rename-Item kunnen we de naam van bestanden of mappen wijzigen, voor het gebruik ervan hebben we twee waarden nodig:
- Het huidige pad voor het bestand of de map.
- De nieuwe naam voor het bestand of de map.
Naam van item c wijzigen: \ Solvetic \ Solvetic Solvetic2
VERGROTEN
Controleer het bestaan van een bestand of mapEen van de belangrijkste toepassingen van de Test-Path-cmdlet is om het bestaan van een bestand of map te verifiëren. Dit commando controleert bijvoorbeeld of het bestand C: \ Solvetic \ Solvetic.txt bestaat:
Testpad c: \ Solvetic \ Solvetic.txt
VERGROTEN
Als we het resultaat true krijgen, bestaat het bestand, anders zien we false. Het is zelfs mogelijk om het bestaan van sleutels te verifiëren in de Windows-registereditor.
Testpad HKCU: \ Software \ Microsoft \ Windows \ CurrentVersion
VERGROTEN
4. Cmdlets-opdrachten in Systeembeheertaak PowerShell
Deze taken omvatten acties zoals het starten en stoppen van services, het ophalen van gegevens met behulp van WMI en het beheren van gebeurtenislogboeken en gebeurtenislogboekgebeurtenissen.
Lijst met service-informatieDe Get-Service-cmdlet is ontworpen om informatie op te halen over de services die op het systeem zijn geïnstalleerd.
Gebruik gewoon Get-Service zonder extra parameters:
Get-ServiceHet resultaat zal het volgende zijn. Daar kunnen we elke service zien met zijn naam en huidige status.
VERGROTEN
We kunnen filters toepassen om de services met een specifieke status te visualiseren, bijvoorbeeld om alle services in de status Gestopt te zien, zullen we het volgende uitvoeren:
Get-Service | Waar-Object {$ _. Status -eq "gestopt"}
VERGROTEN
Opmerking$ _. vertegenwoordigt het object dat door de pijplijn is gegaan.
Op dezelfde manier, om alle services te zien die actief zijn, voeren we het volgende uit:
Get-Service | Waar-Object {$ _. Status -eq "running"}Standaard retourneert Windows PowerShell services in alfabetische volgorde. Door de cmdlet Sort-Object te gebruiken, is het echter mogelijk om de geretourneerde gegevens op elke gewenste manier te sorteren. Deze opdracht sorteert bijvoorbeeld eerst services op State en vervolgens op DisplayName:
Get-Service | Sorteer-Objectstatus, weergavenaam
VERGROTEN
Gebeurtenislogboeken beherenGebeurtenissen in Windows zijn een van de beste manieren waarop we als beheerders systeemgebeurtenissen moeten beheren.
De Get-EventLog-cmdlet heeft twee doelen: het stelt ons in staat om de gebeurtenislogboeken te beheren en het geeft ons ook toegang tot de gebeurtenissen in die gebeurtenislogboeken.
Om de lijst met gebeurtenissen te verkrijgen, zullen we het volgende uitvoeren. Daar kunnen we de verschillende categorieën zien met hun aantallen evenementen.
Get-EventLog -lijst
VERGROTEN
Als we alleen informatie willen over een specifiek gebeurtenislogboek, kunnen we de Where-Object-cmdlet gebruiken om het ophalen van gegevens te beperken tot het logboek waarvan LogDisplayName gelijk is aan, in dit geval Systeem:
Get-EventLog -lijst | Waar-Object {$ _. Logdisplayname -eq "System"}Om alle gebeurtenissen van een specifieke categorie op te sommen, kunnen we de volgende regel uitvoeren:
Get-EventLog-systeem
VERGROTEN
We kunnen ook de parameter -nieuwste gebruiken en alleen het laatste aantal gebeurtenissen in het logboek vastleggen, zoals aangegeven:
Get-EventLog-systeem -nieuwste 5
VERGROTEN
Om veel meer informatie over een evenement te krijgen, voeren we de volgende regel uit:
Get-EventLog-systeem -nieuwste 5 | Formaatlijst
VERGROTEN
U kunt ook gegevens doorsluizen via de Where-Object-cmdlet om een subset van gebeurtenissen te retourneren. Met deze opdracht worden bijvoorbeeld alleen die gebeurtenissen in het Windows PowerShell-gebeurtenislogboek opgehaald met een EventID gelijk aan 403:
Get-EventLog "Windows PowerShell" | Waar-Object {$ _. EventID -eq 403}
VERGROTEN
Met de volgende optie kunt u alle gebeurtenissen in het Windows Power shell-gebeurtenislogboek ophalen en vervolgens de cmdlet Group-Object gebruiken om die gebeurtenissen te groeperen op EventID.
Get-EventLog "Windows PowerShell" | Groep-Object eventid | Sorteer-objectnaamDaar kunnen we het aantal keren dat de gebeurtenis plaatsvond, de naam en de beschrijving zien.
VERGROTEN
De eigenschappen van een service wijzigenMet de Set-Service-cmdlet kunt u een manier bieden om de beschrijving, het opstarttype of de weergavenaam van een service te wijzigen. Het enige wat we hoeven te doen is Set-Service aanroepen, gevolgd door de naam van de service die we willen wijzigen en de juiste parameter (-description, -startup, -displayname)
Set-Service XblAuthManager -opstarttype "handmatig"
VERGROTEN
Een service pauzeren of opnieuw startenDe Suspend-Service cmdlet wordt gebruikt om een service te onderbreken die momenteel wordt uitgevoerd.
Een gestopte service verbreekt alle bestaande verbindingen en weigert nieuwe verbindingen te nemen. Een onderbroken service blijft normaal gesproken bestaande verbindingen onderhouden, maar accepteert geen nieuwe verbindingen.
Voer hiervoor gewoon het volgende uit:
Dienstonderbreking tapisrv
VERGROTEN
In dit geval hebben we de telefonieservice onderbroken met uw servicenaam, maar als we dat willen, kunnen we de servicenaam gebruiken:
Dienst onderbreken -weergavenaam "telefonie"Om een service in Windows opnieuw te starten, moeten we de Resume-Service cmdlet gebruiken, gevolgd door de onderbroken service:
CV-service tapisrv
Gegevensherstel met WMIOmdat er slechts een paar cmdlets (Get-Process, Get-Service en Get-EventLog) zijn ontworpen om systeembeheertaken uit te voeren, is WMI nog steeds de toonaangevende automatiseringstechnologie voor systeembeheer, dus systeembeheerders zullen waarschijnlijk sterk afhankelijk zijn van Get- WmiObject voor administratieve taken.
Get-WmiObject kan op externe computers worden uitgevoerd, wat betekent dat u Windows PowerShell daadwerkelijk als beheertool kunt gebruiken.
Om de BIOS-informatie te verkrijgen, kunnen we de volgende regel uitvoeren:
Get-WmiObject win32_bios
VERGROTEN
Om er zeker van te zijn dat we informatie krijgen over alle eigenschappen (en hun waarden), is de beste optie om de door Get-WmiObject geretourneerde gegevens naar Select-Object te pipen en vervolgens het jokerteken * te gebruiken om aan te geven dat we alle gegevens willen ophalen. waarden van de eigendommen.
Als het nodig is om de eigenschappen en methoden voor een specifieke WMI-klasse te verkrijgen, kunnen we Get-WmiObject gebruiken om verbinding te maken met een betreffende klasse en die informatie vervolgens door de Get-Member-cmdlet te leiden:
Get-WmiObject win32_bios | lid worden
VERGROTEN
Stop en start een dienstOm een service in Windows te stoppen, moeten we de Stop-Service cmdlet gebruiken:
Stop-Service btwdinsOm een service te starten gebruiken we de Start-Service cmdlet:
Start-Service btwdins
Een proces in Windows beëindigen met PowerShellMet de cmdlet Stop-Process kunnen we een proces (of processen) beëindigen. We kunnen de processen aangeven die u wilt doden door de proces-ID op te geven of door de procesnaam op te geven. We hebben de mogelijkheid om een proces op de volgende manier te beëindigen:
- Met uw identiteitsbewijs:
Stop-proces 3512
- Op zijn naam:
Stop-proces -procesnaam kladblok
VERGROTEN
Stop-Process accepteert ook jokertekens. Deze opdracht beëindigt bijvoorbeeld elk exemplaar van Kladblok, evenals elk ander proces waarvan de naam begint met een opmerking:
Stop-Proces -procesnaam opmerking *
5. Cmdlets-opdrachten in Help en informatietaak PowerShell
Deze taken omvatten zaken als het weergeven van Windows PowerShell-versiegegevens en het gebruik van de Get-Member-cmdlet om eigenschap- en methodegegevens voor een object op te halen.
Krijg hulpWindows PowerShell bevat twee basistypen Help, Command Help en Concept Help, die toegankelijk zijn vanaf de console met behulp van de Get-Help-cmdlet. Om een lijst van alle beschikbare Help-onderwerpen op te halen, hoeven we alleen maar de volgende opdracht te typen:
Krijg hulp *
VERGROTEN
Zodra we deze lijst hebben, kunt u hulp krijgen over het specifieke onderwerp door de naam van het onderwerp door te geven aan Get-Help. Als u bijvoorbeeld meer wilt weten over de Get-Member-cmdlet. In dat geval voeren we gewoon uit:
Get-Help Get-Lid
VERGROTEN
Alle Windows PowerShell-cmdlets weergevenGet-Command is ontwikkeld om u te helpen als u de naam van een cmdlet niet meer weet.
Get-Command moet zonder aanvullende parameters worden gebruikt en we krijgen een lijst met alle Windows PowerShell-cmdlets:
Get-Command
VERGROTEN
We kunnen de Format-List cmdlet gebruiken om de eigenschappen van de cmdlets op te halen:
Get-Commando | Formaat-Lijst *
VERGROTEN
Het is mogelijk om Select-Object te gebruiken om alle eigenschappen behalve Naam te filteren:
Get-Command | Selecteer-Objectnaam
VERGROTEN
Deze informatie kan worden geëxporteerd naar een tekstbestand voor later beheer, hiervoor moeten we uitvoeren:
Get-Command | Hulp krijgen | Uit-bestand c: \ Solvetic \ Help.txt
Lijst van de versie van de cmdletsDe Get-Host-cmdlet retourneert informatie (zoals het versienummer) voor Windows PowerShell.
Ontvang-host
VERGROTEN
Maak een lijst van de eigenschappen en methoden van een opdrachtU kunt de Windows PowerShell-cmdlet Get-Member gebruiken. Als je eenmaal verbinding hebt gemaakt met een object, kun je dat object doorsluizen naar Get-Member, en Get-Member zal op zijn beurt de eigenschappen en methoden van dat object weergeven.
Get-EventLog -lijst | Get-Lid
VERGROTEN
Met de parameter -membertype kunnen we de gegevens beperken die worden geretourneerd naar de eigenschappen:
Get-WmiObject win32_bios | Get-Member -membertype eigenschappen
VERGROTEN
Lijst geïnstalleerde Windows PowerShell-providersWindows PowerShell-providers bepalen de gegevensarchieven waarin u kunt bladeren. U kunt bijvoorbeeld de opdracht Get-ChildItem gebruiken om een lijst op te halen van alle bestanden die in een map zijn gevonden.
Om te bepalen welke providers voor u beschikbaar zijn, roept u eenvoudig de Get-PSProvider-cmdlet aan zonder parameters:
VERGROTEN
6. Cmdlets-opdrachten in Windows PowerShell-sessies PowerShell
Deze taken omvatten taken zoals het ophalen van de Windows PowerShell-geschiedenis en het opnieuw aanroepen van een opdracht in die geschiedenis.
Lijst taal en lokale informatieMet de Get-Culture-cmdlet kunnen we taal- en landinstellingen bekijken.
VERGROTEN
Lijst met Windows PowerShell-geschiedenisTijdens elke sessie houdt Windows PowerShell alle opdrachten bij die we in het consolevenster typen. Het ophalen van een lijst met die opdrachten is net zo eenvoudig als het uitvoeren van de cmdlet Get-History:
VERGROTEN
Standaard houdt Windows PowerShell de 64 meest recente opdrachten bij die in het consolevenster zijn getypt. Om een specifieke hoeveelheid weer te geven, gebruiken we de parameter -count:
Get-History 15 -tel 15
VERGROTEN
Een vorig commando oproepenMet de Invoke-History-cmdlet kunt u een Windows PowerShell-opdracht opnieuw uitvoeren door simpelweg het ID-nummer op te geven dat aan die opdracht is toegewezen.
Invoke-geschiedenis 3Hiermee wordt het commando uitgevoerd dat zich op positie nummer 3 bevindt:
VERGROTEN
De Invoke-History-cmdlet accepteert alleen een unieke ID, in het geval van het uitvoeren van meer opdrachten, moeten we een aantal Invoke-History-opdrachten uitvoeren, waarbij we de twee scheiden met een puntkomma:
Invoke-geschiedenis 3; Invoke-geschiedenis 4
7. Cmdlets-opdrachten in gegevensopslag en PowerShell importeren
Deze taken bevatten taken zoals het lezen van en schrijven naar tekstbestanden, evenals het opslaan van gegevens in HTML- of XML-indeling.
Gegevens toevoegen aan een tekstbestandMet behulp van de cmdlet Add-Content kunt u gegevens aan een tekstbestand toevoegen. Dit commando voegt bijvoorbeeld de woorden "Solvetic" toe aan het bestand C: \ Solvetic \ Solvetic.txt:
Add-Content c: \ Solvetic \ Solvetic.txt "Solvetic"VERGROTEN
Standaard voegt de plug-in de nieuwe waarde direct na het laatste teken in het tekstbestand toe. Als je liever hebt dat het woord Solvetic op een aparte regel verschijnt, voeg je gewoon `n (Windows PowerShell-slang voor "nieuwe regel") in de waarde in die naar het bestand wordt geschreven.
Add-Content c: \ Solvetic \ Solvetic.txt "` nSolvetic "
VERGROTEN
Hier zijn enkele van de andere speciale tekens die kunnen worden gebruikt in Windows PowerShell-uitvoer:
`0 - Null` a - Alert `b - Backspace` n - Nieuwe regel `r - Line return` t - Horizontale tab `'- Enkele aanhalingstekens` "- Dubbele aanhalingstekens
Gegevens weergeven en opslaan met een opdrachtMet de Tee-Object-cmdlet kunnen we gegevens weergeven in het Windows PowerShell-venster en diezelfde gegevens opslaan in een tekstbestand, allemaal met één enkele opdracht. Deze opdracht gebruikt bijvoorbeeld de Get-Process-cmdlet om informatie op te halen over alle processen die momenteel op de computer worden uitgevoerd, en gebruikt vervolgens Tee-Object om de gegevens tegelijkertijd op het scherm weer te geven en op te slaan in het bestand C: \ Solvetic \ Solvetic . TEKST:
Get-proces | Tee-Object -bestand c: \ Solvetic \ Solvetic.txt
VERGROTEN
We kunnen zien dat de gegevens op het scherm worden opgenomen en tegelijkertijd in het geselecteerde bestand worden opgeslagen:
VERGROTEN
De inhoud van een bestand verwijderenMet de Clear-Content cmdlet kunnen we de inhoud van een bestand verwijderen zonder het te verwijderen.
Clear-Content c: \ Solvetic \ Solvetic.txt
Gegevens opslaan als HTMLDe ConvertTo-Html-cmdlet maakt het heel eenvoudig om de uitvoer van Windows PowerShell op een webpagina in HTML-indeling te bekijken, wat het lezen en de structuur van de gegevens vereenvoudigt. We zullen het volgende uitvoeren:
Get-proces | Converteren Naar-Html | Set-inhoud c: \ Solvetic \ Solvetic.htmIn dit voorbeeld slaan we alle systeemprocessen op in het bestand Solvetic.txt en converteren het naar HTML-formaat:
VERGROTEN
Hiermee wordt het HTML-bestand gemaakt dat met elke browser kan worden geopend:
VERGROTEN
Tekst uit een bestand lezenDankzij de Get-Content cmdlet is het mogelijk om toegang te krijgen tot de inhoud van een bestand op de computer.
Get-Content c: \ Solvetic \ Solvetic.txt
VERGROTEN
Gegevens opslaan in XML-indelingU kunt de cmdlet Export-Clixml gebruiken om een bestand in XML-indeling op te slaan.
Met deze regel krijgen we alle processen van het systeem en slaan we ze op als een XML-bestand. Wanneer het wordt uitgevoerd, wordt het respectieve XML-bestand gemaakt:
VERGROTEN
We hebben gezien hoe de Windows PowerShell-cmdlets zijn ontworpen om ons de mogelijkheid te bieden om een veel directer en vollediger beheer van alle componenten en services van het besturingssysteem uit te voeren.