Geek School: Bruke PowerShell til å få informasjon om datamaskinen

Innholdsfortegnelse:

Geek School: Bruke PowerShell til å få informasjon om datamaskinen
Geek School: Bruke PowerShell til å få informasjon om datamaskinen

Video: Geek School: Bruke PowerShell til å få informasjon om datamaskinen

Video: Geek School: Bruke PowerShell til å få informasjon om datamaskinen
Video: Бесперебойное электричество НАЧАЛО - выключают на ночь свет - YouTube 2024, April
Anonim
WMI og nyere broder CIM kan begge brukes til å styre Windows-maskiner i ditt miljø. Men vet du forskjellen mellom dem? Bli med oss når vi tar en titt.
WMI og nyere broder CIM kan begge brukes til å styre Windows-maskiner i ditt miljø. Men vet du forskjellen mellom dem? Bli med oss når vi tar en titt.

Husk å lese de forrige artiklene i serien:

  • Lær hvordan du automatiserer Windows med PowerShell
  • Lære å bruke Cmdlets i PowerShell
  • Lære hvordan du bruker objekter i PowerShell
  • Læreformatering, filtrering og sammenligning i PowerShell
  • Lær å bruke Remoting i PowerShell

Og hold deg innstilt for resten av serien hele uken.

Introduksjon

WMI står for Windows Management Instrumentation. Ordet "Instrumentasjon" refererer til det faktum at WMI gir deg mulighet til å få informasjon om datamaskinens interne tilstand, akkurat som instrumentbrettinstrumenter i bilen din kan hente og vise informasjon om tilstanden til bilens interne komponenter.

WMI består av et lager som inneholder klasser som representerer komponenter som kan administreres i maskinen. Dermed mener vi bare fordi WMI har en Win32_Battery-klasse, betyr ikke at maskinen inneholder et batteri. Disse klassene kan deretter bli forespurt for informasjon lokalt eller til og med på tvers av et nettverk ved hjelp av et spørrespråk som ligner SQL som kalles WQL. Imidlertid har WMI vært kjent for å være svært upålitelig, hovedsakelig på grunn av det faktum at den er basert på RPC (Remote Procedure Calls), som gjør noen galne ting med portene de velger å kommunisere på.

Fra og med Windows 8 og Server 2012 blir WMI faset ut til fordel for den vanlige informasjonsmodellen eller CIM for kort. Den eneste forskjellen mellom WMI og CIM er transportprotokollene de bruker. Mens WMI utfører spørringer ved hjelp av Remote Procedure Calls, bruker CIM HTTP, som ser ut som en stor forskjell. På baksiden snakker de fremdeles med det samme oppbevaringsstedet.

Bruke WMI

Den raskeste og enkleste måten å utforske informasjonen tilgjengelig for deg via WMI, er å ta tak i en kopi av en hvilken som helst gratis WMI Object Browser. Vi liker denne. Når du har lastet ned, brann den opp, og du vil ha et grafisk grensesnitt for å bla gjennom WMI-klassene.

Hvis du vil finne ut noe om en datamaskinens diskkonfigurasjon, trykker du på Ctrl + F-tastaturkombinasjonen for å hente en søkeboks, skriv deretter "logisk disk" og trykk enter.
Hvis du vil finne ut noe om en datamaskinens diskkonfigurasjon, trykker du på Ctrl + F-tastaturkombinasjonen for å hente en søkeboks, skriv deretter "logisk disk" og trykk enter.
På den nederste halvdelen av søknaden kan du se at vi har to forekomster av klassen.
På den nederste halvdelen av søknaden kan du se at vi har to forekomster av klassen.
Når vi har den klassen vi leter etter, spør det fra PowerShell, er rett fram.
Når vi har den klassen vi leter etter, spør det fra PowerShell, er rett fram.

Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”

Jeg har ikke sett den syntaksen en stund med folk i disse dager, og foretrekker å bruke den nye parameteriserte syntaksen.
Jeg har ikke sett den syntaksen en stund med folk i disse dager, og foretrekker å bruke den nye parameteriserte syntaksen.

Get-WmiObject –Class Win32_LogicalDisk

Hvis du vil få informasjonen fra en annen datamaskin på nettverket ditt, kan du bare bruke parameteren ComputerName.
Hvis du vil få informasjonen fra en annen datamaskin på nettverket ditt, kan du bare bruke parameteren ComputerName.

Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator

Image
Image

Bruke CIM

Husk at CIM bare er tilgjengelig på Windows 8 og Server 2012, fremover er dette definitivt veien å gå.

Get-CimInstance –ClassName Win32_LogicalDisk

Det er også tabulasjon for parameteren -ClassName når du bruker Get-CimInstance, noe som viser at fremover er dette Microsofts innsats vil bli fokusert.
Det er også tabulasjon for parameteren -ClassName når du bruker Get-CimInstance, noe som viser at fremover er dette Microsofts innsats vil bli fokusert.

Faktisk ble WMI utviklet av et helt eget team i Microsoft, men har senere blitt overtatt av de ansvarlige for PowerShell. De var de som la merke til at det kommer til å være veldig vanskelig å rydde opp rotet WMI igjen. I et forsøk på å rette opp situasjonen, prøver de å gjøre WMI og CIM mer tilgjengelig ved å skrive wrapper cmdlets som bruker WMI og CIM under hetten. Den eneste måten å sjekke om en cmdlet er en innpakning, er å se på dokumentasjonen. For eksempel er Get-Hotfix cmdlet et omslag for Win32_QuickFixEngineering-klassen, som vist i dokumentasjonen.

Det betyr at du kan få hurtigreparasjonene på eksterne maskiner ved hjelp av Get-HotFix cmdlet i stedet for en WMI-spørring.
Det betyr at du kan få hurtigreparasjonene på eksterne maskiner ved hjelp av Get-HotFix cmdlet i stedet for en WMI-spørring.

Get-HotFix –ComputerName localhost

Anbefalt: