다음을 통해 공유


Windows 명령 - CMD 및 PowerShell

적용 대상: ✔️ Windows VM

이 섹션에는 RDP 연결 실패 문제를 해결해야 하는 경우와 같이 SAC를 사용하여 Windows VM에 액세스해야 하는 시나리오에서 일반적인 작업을 수행하기 위한 예제 명령이 포함되어 있습니다.

SAC는 Windows Server 2003만 기본적으로 사용할 수 없게 된 이래 모든 버전의 Windows에 포함되었습니다. SAC는 커널 드라이버, Special Administration Console Helper 서비스(sacsvr) 및 sacsess.exe 프로세스를 사용합니다sacdrv.sys. 자세한 내용은 응급 관리 서비스 도구 및 설정을 참조 하세요.

SAC를 사용하면 직렬 포트를 통해 실행 중인 OS에 연결할 수 있습니다. SAC sacsess.exe 에서 CMD를 시작하면 실행 중인 OS 내에서 시작됩니다 cmd.exe . 직렬 콘솔 기능을 통해 SAC에 연결된 동시에 VM에 RDP하는 경우 작업 관리자에서 확인할 수 있습니다. SAC를 통해 액세스하는 CMD는 RDP를 통해 연결할 때 사용하는 것과 동일합니다 cmd.exe . 해당 CMD 인스턴스에서 PowerShell을 시작하는 기능을 포함하여 모두 동일한 명령 및 도구를 사용할 수 있습니다. 이는 SAC에서 SAC와 WinRE(Windows Recovery Environment)의 주요 차이점으로, WinRE가 다른 최소 OS로 부팅되는 실행 중인 OS를 관리할 수 있게 해줍니다. Azure VM은 WinRE에 액세스하는 기능을 지원하지 않지만 직렬 콘솔 기능을 사용하여 SAC를 통해 Azure VM을 관리할 수 있습니다.

SAC는 뒤로 스크롤하지 않고 80x24 화면 버퍼로 제한되므로 명령에 추가하여 | more 출력을 한 번에 한 페이지씩 표시합니다. 다음 페이지를 <enter> 보거나 다음 줄을 보려면 사용합니다<spacebar>.

SHIFT+INSERT 는 직렬 콘솔 창의 붙여넣기 바로 가기입니다.

SAC의 제한된 화면 버퍼로 인해 더 긴 명령은 로컬 텍스트 편집기에 입력한 다음 SAC에 붙여넣기 쉽습니다.

CMD를 사용하여 Windows 레지스트리 설정 보기 및 편집

RDP를 사용하도록 설정했는지 확인합니다.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections

두 번째 키(\Policies 아래)는 관련 그룹 정책 설정이 구성된 경우에만 존재합니다.

RDP를 사용하도록 설정

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections /t REG_DWORD /d 0

두 번째 키(\Policies 아래)는 관련 그룹 정책 설정이 구성된 경우에만 필요합니다. 그룹 정책에서 구성된 경우 다음 그룹 정책 새로 고침 시 값이 다시 작성됩니다.

CMD를 사용하여 Windows 서비스 관리

서비스 상태 보기

sc query termservice

서비스 로그온 계정 보기

sc qc termservice

서비스 로그온 계정 설정

sc config termservice obj= "NT Authority\NetworkService"

등호 다음에 공백이 필요합니다.

서비스 시작 유형 설정

sc config termservice start= demand

등호 다음에 공백이 필요합니다. 가능한 시작 값에는 ,, autosystem, demanddisabled, delayed-auto등이 있습니다boot.

서비스 종속성 설정

sc config termservice depend= RPCSS

등호 다음에 공백이 필요합니다.

서비스 시작

net start termservice

또는

sc start termservice

서비스 중지

net stop termservice

또는

sc stop termservice

CMD를 사용하여 네트워킹 기능 관리

NIC 속성 표시

netsh interface show interface

IP 속성 표시

netsh interface ip show config

IPSec 구성 표시

netsh nap client show configuration

NIC 사용

netsh interface set interface name="<interface name>" admin=enabled

DHCP를 사용하도록 NIC 설정

netsh interface ip set address name="<interface name>" source=dhcp

자세한 netsh내용은 여기클릭하세요.

Azure VM은 IP 주소를 얻는 데 DHCP를 사용하려면 항상 게스트 운영 체제에서 구성돼야 합니다. Azure 고정 IP 설정은 여전히 DHCP를 사용하여 VM에 고정 IP를 제공합니다.

Ping

ping 8.8.8.8

포트 ping

텔넷 클라이언트 설치

dism /online /Enable-Feature /FeatureName:TelnetClient

연결 테스트

telnet bing.com 80

텔넷 클라이언트를 제거하려면

dism /online /Disable-Feature /FeatureName:TelnetClient

기본적으로 Windows에서 사용할 수 있는 방법으로 제한된 경우 PowerShell은 포트 연결을 테스트하기 위한 더 좋은 방법이 될 수 있습니다. 예제는 아래 PowerShell 섹션을 참조하세요.

DNS 이름 확인 테스트

nslookup bing.com

Windows 방화벽 규칙 표시

netsh advfirewall firewall show rule name="Remote Desktop - User Mode (TCP-In)"

Windows 방화벽 사용 안 함

netsh advfirewall set allprofiles state off

문제 해결 시 이 명령을 사용하여 Windows 방화벽을 일시적으로 배제할 수 있습니다. 다음 다시 시작 시 또는 아래 명령을 사용하여 사용하도록 설정할 때 사용하도록 설정됩니다. Windows 방화벽을 배제하는 방법으로 WINDOWS 방화벽 서비스(MPSSVC) 또는 BFE(기본 필터링 엔진) 서비스를 중지하지 마세요. MPSSVC 또는 BFE를 중지하면 모든 연결이 차단됩니다.

Windows 방화벽 설정

netsh advfirewall set allprofiles state on

CMD를 사용하여 사용자 및 그룹 관리

로컬 사용자 계정 만들기

net user /add <username> <password>

로컬 그룹에 로컬 사용자 추가

net localgroup Administrators <username> /add

사용자 계정이 사용하도록 설정되어 있는지 확인

net user <username> | find /i "active"

일반화된 이미지에서 만든 Azure VM은 로컬 관리자 계정의 이름을 VM 프로비전 중에 지정된 이름으로 바꿉니다. 그래서 일반적으로되지 Administrator않습니다 .

사용자 계정 사용

net user <username> /active:yes

사용자 계정 속성 보기

net user <username>

로컬 관리자 계정의 관심 줄 예:

Account active Yes

Account expires Never

Password expires Never

Workstations allowed All

Logon hours allowed All

Local Group Memberships *Administrators

로컬 그룹 보기

net localgroup

CMD를 사용하여 Windows 이벤트 로그 관리

이벤트 로그 오류 쿼리

wevtutil qe system /c:10 /f:text /q:"Event[System[Level=2]]" | more

반환할 원하는 이벤트 수로 변경 /c:10 하거나 필터와 일치하는 모든 이벤트를 반환하도록 이동합니다.

이벤트 ID별 이벤트 로그 쿼리

wevtutil qe system /c:1 /f:text /q:"Event[System[EventID=11]]" | more

이벤트 ID 및 공급자별 이벤트 로그 쿼리

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more

지난 24시간 동안 이벤트 ID 및 공급자별 이벤트 로그 쿼리

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"

24시간 대신 7일을 되돌아보는 데 사용합니다 604800000 .

지난 7일 동안의 이벤트 ID, 공급자 및 EventData별 이벤트 로그 쿼리

wevtutil qe security /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4624 and TimeCreated[timediff(@SystemTime) <= 604800000]] and EventData[Data[@Name='TargetUserName']='<username>']]" | more

CMD를 사용하여 설치된 애플리케이션 보기 또는 제거

설치된 애플리케이션 나열

wmic product get Name,InstallDate | sort /r | more

sort /r 최근에 설치된 항목을 쉽게 확인할 수 있도록 설치 날짜별로 내림차순으로 정렬합니다. 출력의 다음 페이지로 이동하거나 <enter> 한 줄로 진행하는 데 사용합니다<spacebar>.

애플리케이션 제거

wmic path win32_product where name="<name>" call uninstall

제거하려는 애플리케이션에 대해 위의 명령에서 반환된 이름으로 바꿉 <name> 습니다.

CMD를 사용하는 파일 시스템 관리

파일 버전 가져오기

wmic datafile where "drive='C:' and path='\\windows\\system32\\drivers\\' and filename like 'netvsc%'" get version /format:list

이 예제에서는 Windows 버전에 따라 netvsc.sys, netvsc63.sys 또는 netvsc60.sys 가상 NIC 드라이버의 파일 버전을 반환합니다.

시스템 파일 손상 검사

sfc /scannow

Windows 이미지 복구도 참조하세요.

시스템 파일 손상 검사

dism /online /cleanup-image /scanhealth

Windows 이미지 복구도 참조하세요.

파일 권한을 텍스트 파일로 내보내기

icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /t /c > %temp%\MachineKeys_permissions_before.txt

ACL 파일에 파일 사용 권한 저장

icacls %programdata%\Microsoft\Crypto\RSA\MachineKeys /save %temp%\MachineKeys_permissions_before.aclfile /t

ACL 파일에서 파일 사용 권한 복원

icacls %programdata%\Microsoft\Crypto\RSA /save %temp%\MachineKeys_permissions_before.aclfile /t

사용할 때 경로는 사용할 /restore/save지정한 폴더의 부모 폴더여야 합니다. 이 예제 \RSA 에서는 위의 예제에 지정된 폴더의 \MachineKeys 부모입니다 /save .

폴더의 NTFS 소유권 가져오기

takeown /f %programdata%\Microsoft\Crypto\RSA\MachineKeys /a /r

폴더에 재귀적으로 NTFS 권한 부여

icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)"

디바이스 관리

존재하지 않는 PNP 디바이스 제거

%windir%\System32\RUNDLL32.exe %windir%\System32\pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean

그룹 정책 관리

그룹 정책 업데이트 강제 적용

gpupdate /force /wait:-1

CMD를 사용하는 기타 작업

OS 버전 표시

ver

또는

wmic os get caption,version,buildnumber /format:list

또는

systeminfo find /i "os name"

systeminfo | findstr /i /r "os.*version.*build"

OS 설치 날짜 보기

systeminfo | find /i "original"

또는

wmic os get installdate

마지막 부팅 시간 보기

systeminfo | find /i "system boot time"

표준 시간대 보기

systeminfo | find /i "time zone"

또는

wmic timezone get caption,standardname /format:list

Windows 다시 시작

shutdown /r /t 0

추가 /f 하면 실행 중인 애플리케이션이 경고 사용자 없이 강제로 닫힙니다.

안전 모드 부팅 감지

bcdedit /enum | find /i "safeboot"

Windows 명령 - PowerShell

SAC에서 PowerShell을 실행하려면 CMD 프롬프트에 도달한 후 다음을 입력합니다.

powershell <enter>

주의

다른 PowerShell 명령을 실행하기 전에 PowerShell 세션에서 PSReadLine 모듈을 제거합니다. PSReadLine이 SAC의 PowerShell 세션에서 실행되는 경우 클립보드에서 붙여넣은 텍스트에 추가 문자가 도입될 수 있는 알려진 문제가 있습니다.

먼저 PSReadLine이 로드되었는지 확인합니다. 기본적으로 Windows Server 2016, Windows 10 및 이후 버전의 Windows에서 로드됩니다. 수동으로 설치한 경우에만 이전 Windows 버전에 존재합니다.

이 명령이 출력 없이 프롬프트로 돌아오면 모듈이 로드되지 않았으며 SAC의 PowerShell 세션을 정상적으로 계속 사용할 수 있습니다.

get-module psreadline

위의 명령이 PSReadLine 모듈 버전을 반환하는 경우 해당 버전을 언로드하려면 다음 명령을 실행합니다. 이 명령은 모듈을 삭제하거나 제거하지 않고 현재 PowerShell 세션에서 해당 모듈을 언로드만 합니다.

remove-module psreadline

PowerShell을 사용하여 Windows 레지스트리 설정 보기 및 편집

RDP를 사용하도록 설정했는지 확인합니다.

get-itemproperty -path 'hklm:\system\curRentcontrolset\control\terminal server' -name 'fdenytsconNections'

get-itemproperty -path 'hklm:\software\policies\microsoft\windows nt\terminal services' -name 'fdenytsconNections'

두 번째 키(\Policies 아래)는 관련 그룹 정책 설정이 구성된 경우에만 존재합니다.

RDP를 사용하도록 설정

set-itemproperty -path 'hklm:\system\curRentcontrolset\control\terminal server' -name 'fdenytsconNections' 0 -type dword

set-itemproperty -path 'hklm:\software\policies\microsoft\windows nt\terminal services' -name 'fdenytsconNections' 0 -type dword

두 번째 키(\Policies 아래)는 관련 그룹 정책 설정이 구성된 경우에만 필요합니다. 그룹 정책에서 구성된 경우 다음 그룹 정책 새로 고침 시 값이 다시 작성됩니다.

PowerShell을 사용하여 Windows 서비스 관리

서비스 정보 보기

get-wmiobject win32_service -filter "name='termservice'" | format-list Name,DisplayName,State,StartMode,StartName,PathName,ServiceType,Status,ExitCode,ServiceSpecificExitCode,ProcessId

Get-Service은 사용할 수 있지만 서비스 로그온 계정을 포함하지는 않습니다. Get-WmiObject win32-service 않습니다.

서비스 로그온 계정 설정

(get-wmiobject win32_service -filter "name='termservice'").Change($null,$null,$null,$null,$null,$false,'NT Authority\NetworkService')

이외의 서비스 계정을 NT AUTHORITY\LocalServiceNT AUTHORITY\NetworkService사용하거나 LocalSystem계정 이름 뒤의 마지막(여덟 번째) 인수로 계정 암호를 지정합니다.

서비스 시작 유형 설정

set-service termservice -startuptype Manual

Set-service은 (또는 시작 유형에 대해) ManualDisabled 허용합니다Automatic.

서비스 종속성 설정

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\TermService' -Name DependOnService -Value @('RPCSS','TermDD')

서비스 시작

start-service termservice

서비스 중지

stop-service termservice

PowerShell을 사용하여 네트워킹 기능 관리

NIC 속성 표시

get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | format-list status,name,ifdesc,macadDresS,driverversion,MediaConNectState,MediaDuplexState

또는

get-wmiobject win32_networkadapter -filter "servicename='netvsc'" | format-list netenabled,name,macaddress

Get-NetAdapter 는 2012+에서 사용할 수 있으며, 2008R2에서는 사용할 수 있습니다 Get-WmiObject.

IP 속성 표시

get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'" | format-list DNSHostName,IPAddress,DHCPEnabled,IPSubnet,DefaultIPGateway,MACAddress,DHCPServer,DNSServerSearchOrder

NIC 사용

get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | enable-netadapter

또는

(get-wmiobject win32_networkadapter -filter "servicename='netvsc'").enable()

Get-NetAdapter 는 2012+에서 사용할 수 있으며, 2008R2에서는 사용할 수 있습니다 Get-WmiObject.

DHCP를 사용하도록 NIC 설정

get-netadapter | where {$_.ifdesc.startswith('Microsoft Hyper-V Network Adapter')} | Set-NetIPInterface -DHCP Enabled

(get-wmiobject Win32_NetworkAdapterConfiguration -filter "ServiceName='netvsc'").EnableDHCP()

Get-NetAdapter 는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 Get-WmiObject을 사용합니다. Azure VM은 IP 주소를 얻는 데 DHCP를 사용하려면 항상 게스트 운영 체제에서 구성돼야 합니다. Azure 고정 IP 설정은 여전히 DHCP를 사용하여 VM에 IP를 제공합니다.

Ping

test-netconnection

참고 항목

Write-Progress cmdlet은 이 명령에서 작동하지 않을 수 있습니다. 완화 방법으로 PowerShell에서 실행 $ProgressPreference = "SilentlyContinue" 하여 진행률 표시줄을 사용하지 않도록 설정할 수 있습니다.

또는

get-wmiobject Win32_PingStatus -Filter 'Address="8.8.8.8"' | format-table -autosize IPV4Address,ReplySize,ResponseTime

Test-Netconnection 매개 변수가 없으면 ping을 시도합니다 internetbeacon.msedge.net. 2012 이상에서 사용할 수 있습니다. 2008R2의 경우 두 번째 예제와 같이 사용합니다 Get-WmiObject .

포트 Ping

test-netconnection -ComputerName bing.com -Port 80

또는

(new-object Net.Sockets.TcpClient).BeginConnect('bing.com','80',$null,$null).AsyncWaitHandle.WaitOne(300)

Test-NetConnection 는 2012 이상에서 사용할 수 있습니다. 2008R2 사용 Net.Sockets.TcpClient

DNS 이름 확인 테스트

resolve-dnsname bing.com

또는

[System.Net.Dns]::GetHostAddresses('bing.com')

Resolve-DnsName 는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 System.Net.DNS을 사용합니다.

이름으로 Windows 방화벽 규칙 표시

get-netfirewallrule -name RemoteDesktop-UserMode-In-TCP

포트별로 Windows 방화벽 규칙 표시

get-netfirewallportfilter | where {$_.localport -eq 3389} | foreach {Get-NetFirewallRule -Name $_.InstanceId} | format-list Name,Enabled,Profile,Direction,Action

또는

(new-object -ComObject hnetcfg.fwpolicy2).rules | where {$_.localports -eq 3389 -and $_.direction -eq 1} | format-table Name,Enabled

Get-NetFirewallPortFilter 는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 hnetcfg.fwpolicy2 COM 개체를 사용합니다.

Windows 방화벽 사용 안 함

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

Set-NetFirewallProfile 는 2012 이상에서 사용할 수 있습니다. 2008R2의 경우 위의 CMD 섹션에서 참조한 대로 사용합니다 netsh advfirewall .

PowerShell을 사용하여 사용자 및 그룹 관리

로컬 사용자 계정 만들기

new-localuser <name>

사용자 계정이 사용하도록 설정되어 있는지 확인

(get-localuser | where {$_.SID -like "S-1-5-21-*-500"}).Enabled

또는

(get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'").Disabled

Get-LocalUser 는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 Get-WmiObject을 사용합니다. 이 예제에서는 항상 SID S-1-5-21-*-500이 있는 기본 제공 로컬 관리자 계정을 보여줍니다. 일반화된 이미지에서 만든 Azure VM은 로컬 관리자 계정의 이름을 VM 프로비전 중에 지정된 이름으로 바꿉니다. 그래서 일반적으로되지 Administrator않습니다 .

로컬 그룹에 로컬 사용자 추가

add-localgroupmember -group Administrators -member <username>

로컬 사용자 계정 사용

get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | enable-localuser

이 예제에서는 항상 SID S-1-5-21-*-500이 있는 기본 제공 로컬 관리자 계정을 사용할 수 있습니다. 일반화된 이미지에서 만든 Azure VM은 로컬 관리자 계정의 이름을 VM 프로비전 중에 지정된 이름으로 바꿉니다. 그래서 일반적으로되지 Administrator않습니다 .

사용자 계정 속성 보기

get-localuser | where {$_.SID -like "S-1-5-21-*-500"} | format-list *

또는

get-wmiobject Win32_UserAccount -Namespace "root\cimv2" -Filter "SID like 'S-1-5-%-500'" | format-list Name,Disabled,Status,Lockout,Description,SID

Get-LocalUser 는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 Get-WmiObject을 사용합니다. 이 예제에서는 항상 SID S-1-5-21-*-500이 있는 기본 제공 로컬 관리자 계정을 보여줍니다.

로컬 그룹 보기

(get-localgroup).name | sort (get-wmiobject win32_group).Name | sort

Get-LocalUser 는 2012 이상에서 사용할 수 있습니다. 2008R2에 대해서는 Get-WmiObject을 사용합니다.

PowerShell을 사용하여 Windows 이벤트 로그 관리

이벤트 로그 오류 쿼리

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Level=2]]" | more

반환할 원하는 이벤트 수로 변경 /c:10 하거나 필터와 일치하는 모든 이벤트를 반환하도록 이동합니다.

이벤트 ID별 이벤트 로그 쿼리

get-winevent -logname system -maxevents 1 -filterxpath "*[System[EventID=11]]" | more

이벤트 ID 및 공급자별 이벤트 로그 쿼리

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11]]" | more

지난 24시간 동안 이벤트 ID 및 공급자별 이벤트 로그 쿼리

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Hyper-V-Netvsc'] and EventID=11 and TimeCreated[timediff(@SystemTime) <= 86400000]]]"

24시간 대신 7일을 되돌아보는 데 사용합니다 604800000 . |

지난 7일 동안의 이벤트 ID, 공급자 및 EventData별 이벤트 로그 쿼리

get-winevent -logname system -maxevents 1 -filterxpath "*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and EventID=4624 and TimeCreated[timediff(@SystemTime) <= 604800000]] and EventData[Data[@Name='TargetUserName']='<username>']]" | more

PowerShell을 사용하여 설치된 애플리케이션 보기 또는 제거

설치된 소프트웨어 나열

get-wmiobject win32_product | select installdate,name | sort installdate -descending | more

소프트웨어 제거

(get-wmiobject win32_product -filter "Name='<name>'").Uninstall()

PowerShell을 사용한 파일 시스템 관리

파일 버전 가져오기

(get-childitem $env:windir\system32\drivers\netvsc*.sys).VersionInfo.FileVersion

이 예제에서는 Windows 버전에 따라 netvsc.sys, netvsc63.sys 또는 netvsc60.sys 이름이 지정된 가상 NIC 드라이버의 파일 버전을 반환합니다.

파일 다운로드 및 추출

$path='c:\bin';md $path;cd $path;(new-object net.webclient).downloadfile( ('htTp:/'+'/download.sysinternals.com/files/SysinternalsSuite.zip'),"$path\SysinternalsSuite.zip");(new-object -com shelL.apPlication).namespace($path).CopyHere( (new-object -com shelL.apPlication).namespace("$path\SysinternalsSuite.zip").Items(),16)

이 예제에서는 폴더를 c:\bin 만든 다음 Sysinternals 도구 c:\bin모음을 다운로드하여 추출합니다.

PowerShell을 사용하는 기타 작업

OS 버전 표시

get-wmiobject win32_operatingsystem | format-list caption,version,buildnumber

OS 설치 날짜 보기

(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).installdate)

마지막 부팅 시간 보기

(get-wmiobject win32_operatingsystem).lastbootuptime

Windows 작동 시간 보기

"{0:dd}:{0:hh}:{0:mm}:{0:ss}.{0:ff}" -f ((get-date)-(get-wmiobject win32_operatingsystem).converttodatetime((get-wmiobject win32_operatingsystem).lastbootuptime))

작동 시간을 다음과 같이 <days>:<hours>:<minutes>:<seconds>:<milliseconds>49:16:48:00.00반환합니다.

Windows 다시 시작

restart-computer

추가 -force 하면 실행 중인 애플리케이션이 경고 사용자 없이 강제로 닫힙니다.

인스턴스 메타데이터

Azure VM 내에서 Azure 인스턴스 메타데이터를 쿼리하여 osType, 위치, vmSize, vmId, 이름, resourceGroupName, subscriptionId, privateIpAddress 및 publicIpAddress와 같은 세부 정보를 볼 수 있습니다.

인스턴스 메타데이터를 쿼리하려면 Azure 호스트를 통해 인스턴스 메타데이터 서비스에 REST를 호출하기 때문에 정상적인 게스트 네트워크 연결이 필요합니다. 따라서 인스턴스 메타데이터를 쿼리할 수 있는 경우 게스트가 네트워크를 통해 Azure 호스팅 서비스와 통신할 수 있음을 알려줍니다.

자세한 내용은 Azure Instance 메타데이터 서비스를 참조하세요.

인스턴스 메타데이터

$im = invoke-restmethod -headers @{"metadata"="true"} -uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -method get

$im | convertto-json

OS 유형(인스턴스 메타데이터)

$im.Compute.osType

위치(인스턴스 메타데이터)

$im.Compute.Location

크기(인스턴스 메타데이터)

$im.Compute.vmSize

VM ID(인스턴스 메타데이터)

$im.Compute.vmId

VM 이름(인스턴스 메타데이터)

$im.Compute.name

리소스 그룹 이름(인스턴스 메타데이터)

$im.Compute.resourceGroupName

구독 ID(인스턴스 메타데이터)

$im.Compute.subscriptionId

태크(인스턴스 메타데이터)

$im.Compute.tags

배치 그룹 ID(인스턴스 메타데이터)

$im.Compute.placementGroupId

플랫폼 오류 도메인(인스턴스 메타데이터)

$im.Compute.platformFaultDomain

플랫폼 업데이트 도메인(인스턴스 메타데이터)

$im.Compute.platformUpdateDomain

IPv4 개인 IP 주소(인스턴스 메타데이터)

$im.network.interface.ipv4.ipAddress.privateIpAddress

IPv4 공용 IP 주소(인스턴스 메타데이터)

$im.network.interface.ipv4.ipAddress.publicIpAddress

IPv4 서브넷 주소/접두사(인스턴스 메타데이터)

$im.network.interface.ipv4.subnet.address

$im.network.interface.ipv4.subnet.prefix

IPv6 IP 주소(인스턴스 메타데이터)

$im.network.interface.ipv6.ipAddress

MAC 주소(인스턴스 메타데이터)

$im.network.interface.macAddress

다음 단계

  • 기본 직렬 콘솔 Windows 설명서 페이지는 여기에 있습니다.
  • 이 직렬 콘솔을 Linux VM에서도 사용할 수 있습니다.
  • 부팅 진단에 대해 자세히 알아봅니다.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.