Get-WmiObject Remote Computer: Inventory Computers Using PowerShell
Hoe kan ik externe computers inventariseren met behulp van PowerShell? Het antwoord is door Get-WmiObject op een externe computer te gebruiken. Deze post geeft je een volledige handleiding. Blijf lezen als je geïnteresseerd bent.
Hoe maak ik verbinding met WMI op afstand?
Windows Management Instrumentation (WMI) is een in Windows ingebouwde beheerinfrastructuur voor het opvragen van beheer- en operationele gegevens. Het kan worden gebruikt om lokale en externe computers te bevragen op informatie zoals actieve processen, geïnstalleerde software, BIOS-informatie en nog veel meer.
De Get-WmiObject cmdlet haalt instanties van WMI-klassen op of informatie over beschikbare WMI-klassen. Je kunt de parameter ComputerName gebruiken om een externe computer op te geven, zodat je verbinding kunt maken met WMI op afstand.
Hoe gebruik je PowerShell Get-WMIObject op een externe computer
Vervolgens zullen we zien hoe je PowerShell Get-WmiObject kunt gebruiken op een externe computer om computerinformatie te inventariseren.
Als de Query-parameter is opgegeven, voert de cmdlet een WMI-querytaal (WQL) statement uit. Als de List-parameter is opgegeven, krijgt de cmdlet informatie over de beschikbare WMI-klassen in een opgegeven namespace. De ComputerName-parameter wordt gebruikt om computers op te geven. Laten we eens naar een aantal voorbeelden kijken.
Eerst testen we de WMI-verbinding met de externe computer. Het onderstaande voorbeeld laat zien hoe je de WMI-verbinding kunt testen met de externe computer genaamd PC1.
- Get-WmiObject -query "SELECT * FROM Win32_OperatingSystem" -ComputerName PC1
Je kunt ook de lijst met netwerkshares van een externe machine ophalen door gebruik te maken van de WMI-klasse Win32_Share in PowerShell. Hierbij staat FT voor het Format-Table cmdlet, je kunt dit wijzigen naar FL om het resultaat in lijstweergave te tonen.
- Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share" | FL
Je kunt SQL Query-achtige syntaxis gebruiken om filters toe te passen op de Win32_Share-klasse. Het volgende PowerShell-script filtert en toont alleen netwerksharemappen (geen verborgen shares) door de filter Type=0 toe te voegen.
- Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share Where Type=0" | FT
Meer voorbeelden
Voorbeeld 1: Haalt services op van de externe computer PC1:
- Get-WmiObject -Class Win32_Service -ComputerName PC1
U kunt ook de services op een externe computer ophalen met behulp van Get-WmiObject op afstand computerCredential. Het volgende voorbeeld maakt gebruik van de Credential parameter. De waarde van de Credential parameter is een gebruikersaccountnaam. De gebruiker wordt om een wachtwoord gevraagd.
- Get-WmiObjectWin32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam
Voorbeeld 2: Stop een service op de externe computer PC1:
- (Get-WmiObject -Class Win32_Service -Filter "name="WinRM"' -ComputerName PC1).StopService()
Voorbeeld 3: Haal de BIOS op van de externe computer PC1:
- Get-WmiObject -Class Win32_Bios -ComputerName PC1| Format-List -Property *
Opmerking
We moeten u erop wijzen dat de Get-WmiObject cmdlet is vervangen door Get-CimInstancein PowerShell 3.0. Bijvoorbeeld, de volgende opdracht geeft de naam van elke actieve proces samen met zijn kernel-tijd van groot naar klein weer:
- Get-CimInstance -Class Win32_Process -ComputerName DC1 | Select-Object -Property Name,KernelModeTime | Sort-Object KernelModeTime -Descending
AnyViewer: GUI-oplossing voor externe desktop voor Windows
Als u een meer directe manier wilt om computerbeheer- en operationele gegevens te bevragen, raden we ten zeerste AnyViewer aan, een gratis remote desktop programma dat u in staat stelt om op afstand een computer van een andere te bedienen. Het biedt een grafische gebruikersinterface voor een externe computer, wat veel directer en intuïtiever is dan PowerShell.
Stap 1. Download, installeer en start AnyViewer op beide computers.
Stap 2. Ga naar Inloggen, en klik vervolgens op Aanmelden. (Als u zich al heeft aangemeld op de officiële website, kunt u direct inloggen.)
Stap 3. Vul de registratie-informatie in.
Stap 4. Nu zie je dat je succesvol bent ingelogd op AnyViewer. Jouw apparaat zal automatisch worden toegewezen aan het account waarop je bent ingelogd.
Stap 5. Log in op hetzelfde AnyViewer-account op de twee apparaten en klik vervolgens op Eén-klik bediening om onbeheerde externe toegang te realiseren.
✍Opmerking: Als je jouw account upgrade naar een Professional of Enterprise-abonnement, dan krijg je meer mogelijkheden:
- Je kan meer apparaten toewijzen om onbeheerde externe toegang mogelijk te maken.
- Er worden meer momenteel verbonden apparaten weergegeven, wat handig is om op elk moment meer verbindingsgeschiedenissen te bekijken.
- Je kan in privacymodus verbinding maken met een andere computer, wat betekent dat je het scherm kunt verduisteren en de muis en het toetsenbord van de externe computer kunt blokkeren, om zo jouw privacy verder te beschermen.
Stap 6. Nadat je volledige controle over de externe computer hebt gekregen, kan je elk programma openen en beheren alsof je het daadwerkelijk gebruikt.
Conclusie
Deze post biedt een volledige handleiding over hoe je PowerShell Get-WmiObject kunt gebruiken op een externe computer om computerinformatie te inventariseren. Als je een meer directe en intuïtieve manier wilt om informatie over computerbeheer en -operaties op te vragen, wordt je geadviseerd om AnyViewer te gebruiken.