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:
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.
- Geben Sie einen Benutzernamen an
- 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.
Lassen Sie uns den Benutzernamen und das Passwort wie folgt eingeben.
Benutzername: user01
Passwort: user01
Prüfen wir den gespeicherten Wert im $credentialObj
:
$credentialObj
Ausgang:
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.
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.