PowerShell을 사용하여 원격 컴퓨터에서 서비스 상태 가져오기
이 문서에서는 PowerShell을 사용하여 원격 컴퓨터에 연결하고 해당 서비스에 액세스하고 서비스 상태에 대해 설명합니다.
PowerShell을 사용하여 원격 컴퓨터에서 서비스 상태 가져오기
원격 컴퓨터에 연결하고 해당 서비스에 액세스하는 방법에는 여러 가지가 있습니다. Windows PowerShell은 Get-WmiObject
cmdlet을 통해 이를 용이하게 합니다.
원격 컴퓨터의 리소스를 쉽게 관리하는 데 사용할 수 있습니다. WMI 클래스 이름으로 Get-WmiObject
명령을 실행하여 로컬 컴퓨터 서비스에 액세스할 수 있습니다.
이 명령은 기본적으로 로컬 시스템에 대해 실행됩니다.
Get-WmiObject Win32_Bus
출력:
Get-WmiObject
cmdlet은 -ComputerName
매개 변수를 제공하여 원격 컴퓨터를 지정합니다. 원격 시스템의 NetBIOS 이름 또는 IP 주소일 수 있습니다.
일부 시나리오에서는 정규화된 도메인 이름을 제공해야 할 수도 있습니다. 이 매개 변수는 Windows PowerShell 원격 메커니즘에 종속되지 않습니다.
따라서 WS-Management 프로토콜에 의존하지 않습니다. 사용자는 컴퓨터가 WM-Management 원격 명령을 실행하도록 구성되었는지 여부에 대해 걱정할 필요가 없습니다.
Get-WmiObject -Class Win32_Bus -ComputerName 100.34.35.10
이는 100.34.35.10
IP 주소로 식별되는 원격 컴퓨터에 연결하고 Win32_Bus
리소스 정보를 검색해야 합니다.
일부 시나리오에서는 원격 호스트에 연결하기 위해 사용자 이름과 암호를 지정해야 합니다. Get-WmiObject
cmdlet에는 원격 시스템에 대한 로그인 정보를 지정하는 -Credential
매개 변수가 있습니다.
-Credential
매개변수에 대한 인수를 전달하는 방법에는 두 가지가 있습니다.
- 사용자 이름 제공
PsCredential
객체 제공
사용자 이름 제공
Get-WmiObject
cmdlet의 -Credential
매개 변수는 다음과 같이 사용자 이름 또는 사용자 계정 이름만 텍스트로 허용합니다.
Get-WmiObject Win32_Service -Credential user001 -ComputerName 100.43.10.11
이 명령은 100.43.10.11
IP 주소로 식별되는 호스트에 연결을 시도합니다. 연결은 주어진 사용자 이름(user001
)을 로깅 사용자로 사용합니다.
이 명령은 사용자에게 암호를 입력하라는 메시지를 표시합니다. 올바른 암호가 제공되면 연결을 설정하고 Win32_Service
WMI 인스턴스의 정보를 검색합니다.
PSCredential
객체 제공
Get-WmiObject
cmdlet의 -Credential
매개 변수는 PSCredential
개체를 인수로 허용합니다. 이것은 자격 증명을 모든 명령에 전달하는 매우 안전한 방법입니다.
아래와 같이 PSCredential
개체를 쉽게 만들 수 있습니다.
$credentialObj = Get-Credential
Get-Credential
cmdlet은 PSCredential
개체를 반환하고 $credentialObj
변수에 저장합니다. Windows PowerShell에서 위의 명령을 실행하면 이 개체의 사용자 이름과 암호 값을 입력하라는 대화 상자가 표시됩니다.
다음과 같이 사용자 이름과 암호를 입력합시다.
사용자 이름: user01
비밀번호: user01
$credentialObj
에 저장된 값을 확인하겠습니다.
$credentialObj
출력:
Username
은 user01
로 볼 수 있으며 Password
는 PowerShell SecureString
입니다. 암호를 일반 텍스트 형식으로 저장하는 것은 권장되지 않습니다.
따라서 PSCredential
개체는 암호를 보다 안전한 SecureString
으로 저장합니다.
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.