Abrufen des Dienststatus vom Remotecomputer mithilfe von PowerShell

Migel Hewage Nimesha 15 Februar 2024
Abrufen des Dienststatus vom Remotecomputer mithilfe von PowerShell

In diesem Artikel wird das Herstellen einer Verbindung zu einem Remotecomputer, der Zugriff auf seine Dienste und der Dienststatus mithilfe von PowerShell erläutert.

Abrufen des Dienststatus vom Remotecomputer mithilfe von PowerShell

Es gibt viele Möglichkeiten, eine Verbindung zu einem entfernten Computer herzustellen und auf seine Dienste zuzugreifen. Windows PowerShell erleichtert dies durch das Cmdlet Get-WmiObject.

Es kann verwendet werden, um Ressourcen auf einem entfernten Computer einfach zu verwalten. Sie können den Befehl Get-WmiObject mit einem WMI-Klassennamen ausführen, um auf die lokalen Computerdienste zuzugreifen.

Dieser Befehl wird standardmäßig auf dem lokalen Computer ausgeführt.

Get-WmiObject Win32_Bus

Ausgang:

Zugriff auf die lokalen Computerdienste

Das Cmdlet Get-WmiObject stellt den Parameter -ComputerName bereit, um den Remote-Computer anzugeben. Dies kann ein NetBIOS-Name oder eine IP-Adresse des Remote-Computers sein.

In einigen Szenarien müssen Sie möglicherweise auch einen vollständig qualifizierten Domänennamen angeben. Dieser Parameter ist nicht vom Windows PowerShell-Remotingmechanismus abhängig.

Daher ist es nicht auf das WS-Verwaltungsprotokoll angewiesen. Benutzer müssen sich keine Gedanken darüber machen, ob ihr Computer für die Ausführung von WM-Management-Remotebefehlen konfiguriert ist.

Get-WmiObject -Class Win32_Bus -ComputerName 100.34.35.10

Dies sollte sich mit dem Remote-Computer verbinden, der durch die IP-Adresse 100.34.35.10 identifiziert wird, und die Ressourceninformationen Win32_Bus abrufen.

In einigen Szenarien müssen Sie den Benutzernamen und das Kennwort angeben, um eine Verbindung zum Remotehost herzustellen. Das Cmdlet Get-WmiObject hat einen -Credential-Parameter, um die Anmeldeinformationen für den Remote-Computer anzugeben.

Es gibt zwei Möglichkeiten, ein Argument für den Parameter -Credential zu übergeben.

  1. Geben Sie einen Benutzernamen an
  2. Stellen Sie ein PsCredential-Objekt bereit

Geben Sie einen Benutzernamen an

Der Parameter -Credential des Cmdlets Get-WmiObject akzeptiert nur einen Benutzernamen oder Benutzerkontonamen als Text, wie im Folgenden gezeigt.

Get-WmiObject Win32_Service -Credential user001 -ComputerName 100.43.10.11

Dieser Befehl versucht, eine Verbindung zu dem Host herzustellen, der durch die IP-Adresse 100.43.10.11 identifiziert wird. Die Verbindung verwendet den angegebenen Benutzernamen (user001) als protokollierenden Benutzer.

Dieser Befehl fordert den Benutzer auf, das Kennwort einzugeben. Wenn das richtige Passwort angegeben wurde, baut es die Verbindung auf und ruft die Informationen der WMI-Instanz Win32_Service ab.

Geben Sie ein PSCredential-Objekt an

Der Parameter -Credential des Cmdlets Get-WmiObject akzeptiert das Objekt PSCredential als Argument. Dies ist eine sehr sichere Methode, um Ihre Anmeldeinformationen an einen beliebigen Befehl weiterzugeben.

Wir können ganz einfach ein PSCredential-Objekt erstellen, wie unten gezeigt.

$credentialObj = Get-Credential

Das Cmdlet Get-Credential gibt ein PSCredential-Objekt zurück und speichert es in der Variablen $credentialObj. Wenn Sie den obigen Befehl in Windows PowerShell ausführen, wird ein Dialogfeld zur Eingabe des Benutzernamens und des Kennworts dieses Objekts angezeigt.

Dialogfeld Geben Sie Benutzername und Passwort ein

Lassen Sie uns den Benutzernamen und das Passwort wie folgt eingeben.

Geben Sie Benutzername und Passwort ein

Benutzername: user01

Passwort: user01

Prüfen wir den gespeicherten Wert im $credentialObj:

$credentialObj

Ausgang:

$credentialObj-Wert

Der Benutzername kann als user01 angesehen werden, und das Passwort ist ein PowerShell SecureString. Es wird nicht empfohlen, Ihre Passwörter im Klartextformat zu speichern.

Daher speichert das Objekt PSCredential das Passwort als SecureString, was sicherer ist.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Verwandter Artikel - PowerShell Service