Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här bilagan innehåller kortfattade svar på granskningsfrågorna som finns i slutet av varje kapitel. Använd den för att verifiera din förståelse och förstärka viktiga begrepp.
Kapitel 1 – Komma igång med PowerShell
- Använd den
$PSVersionTableautomatiska variabeln. - Endast när du behöver kringgå UAC (User Account Control) för uppgifter som kräver utökade privilegier på den lokala datorn.
- Standardkörningsprincipen för Windows klientsystem är
Restricted, vilket förhindrar att skript körs. - Använd
Get-ExecutionPolicyför att fastställa aktuell körningsprincip. - Använd
Set-ExecutionPolicy(till exempelSet-ExecutionPolicy -ExecutionPolicy RemoteSigned).
Kapitel 2 – Hjälpsystemet
- Nej. Parametern DisplayName i
Get-Serviceär namngiven, inte positionell. -
Get-Processhar sex parameteruppsättningar. - Använd
Get-Command -Noun EventLog. - Använd
Get-Process -Name powershell. - Kör
Update-Help(upphöjd som administratör i Windows PowerShell) för att ladda ned och installera det senaste hjälpinnehållet.
Kapitel 3 – Identifiera objekt, egenskaper och metoder
-
Get-Processskapar ettSystem.Diagnostics.Processobjekt. - Skicka kommandot till
Get-Member. - Kontrollera om objektet har en metod som utför åtgärden.
- Använd kommandots
PassThruparameter, om den har en. - Kör kommandot en gång och lagra resultatet i en variabel för att undvika att upprepade gånger generera stora mängder utdata vid prototyper.
Kapitel 4 – One-Liners och pipelinen
- En PowerShell-one-liner är en enda kontinuerlig pipeline, oavsett hur många fysiska linjer den sträcker sig över.
- Radbrytningar kan inträffa vid tecken som pipe-tecken (
|), kommatecken (,), hakparenteser ([ ]), klammerparenteser ({ }) och parenteser (( )). - Du bör filtrera åt vänster för att förbättra prestanda och effektivitet genom att minska mängden data som skickas via pipelinen.
- Ett kommando kan acceptera pipelineindata efter värde (efter typ) eller efter egenskapsnamn.
- Eftersom det mesta av innehållet i PowerShell Gallery är community-bidraget och kanske inte granskas, bör det granskas och testas före användning.
Kapitel 5 – Formatering, alias, providers, jämförelse
- Eftersom formaterings-cmdletar skapar formatobjekt som bryter pipelinen och inte kan användas av de flesta andra kommandon.
- Använd
Get-Alias -Name %för att fastställa den faktiska cmdleten. - Eftersom alias minskar läsbarheten och portabiliteten, vilket gör skript svårare för andra att förstå.
- Använd
Get-ChildItem -Path HKLM:\, HKCU:\för att lista registernycklar i båda katalogerna. - Operatorn
-replaceär skiftlägesokänslig som standard, medan.Replace()metoden är skiftlägeskänslig.
Kapitel 6 – Flödeskontroll
-
ForEach-Objectbearbetar objekt en i taget från pipelinen (direktuppspelning), medan -instruktionenforeachbearbetar objekt från en samling som redan har lästs in i minnet. - En
whileloop utvärderar dess villkor innan det körs, så det kanske inte körs alls om villkoret är falskt, till skillnad fråndo whileochdo until, som körs minst en gång. -
breakavslutar loopen helt och hållet, medancontinuehoppar över den aktuella iterationen och fortsätter till nästa.
Kapitel 7 – Arbeta med WMI
- WMI-cmdletar (till exempel
Get-WmiObject) är äldre och använder DCOM, medan CIM-cmdletar (till exempelGet-CimInstance) är nyare och använder WSMan som standard. - WSMan (Windows Fjärrhantering).
- CIM-sessioner tillåter återanvändning av anslutningar, stöder alternativa autentiseringsuppgifter, förbättrar prestanda och förenklar hanteringen av flera fjärranslutningar.
- Skapa ett sessionsalternativ med
New-CimSessionOption, till exempel för att använda DCOM, och skicka det tillNew-CimSessionoch använd sedan sessionen medGet-CimInstance. - Använd
Remove-CimSession.
Kapitel 8 – PowerShell-fjärrkommunikation
- Använd
Enable-PSRemoting. - Använd
Enter-PSSession. - Det gör att du kan använda en beständig session i stället för att ange datornamnet och autentiseringsuppgifterna med varje kommando.
- Ja, du kan använda en PowerShell-session (PSSession) i ett interaktivt fjärrkommunikationsscenario.
- Lokalt körda cmdlets returnerar aktiva objekt med metoder, medan fjärrkommandon returnerar deserialiserade objekt utan metoder.
Kapitel 9 – Funktioner
- Använd
Get-Verb. -
[CmdletBinding()]Lägg till attributet i funktionen. - När funktionen gör ändringar i systemtillståndet eller utför potentiellt effektfulla åtgärder.
- Ange
-ErrorAction Stop. - Om du vill dokumentera hur du använder funktionen så att du och andra enkelt kan förstå den och få åtkomst till hjälpen med
Get-Help.
Kapitel 10 – Skriptmoduler
- Skapa en
.psm1fil och placera dina funktioner i den. - Med godkända verb säkerställer du konsekvens, undviker varningar och förbättrar identifieringen.
- Använd
New-ModuleManifest. - Använd
Export-ModuleMemberi.psm1filen eller ange funktioner iFunctionsToExportfältet för.psd1filen. - Modulen måste finnas i en mapp med namnet samma som modulen, som finns i en sökväg som anges i
$env:PSModulePathoch innehålla lämplig modulfil (.psm1eller manifest).
Slutgiltiga anteckningar
- Dessa svar är avsiktligt koncisa för att förstärka viktiga begrepp.
- Gå tillbaka till kapitlen för djupare förståelse.
Samarbeta med oss på GitHub
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.