Windows 명령 - CMD 및 PowerShell

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

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

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

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

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, demand, , disableddelayed-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은 항상 게스트 OS에서 DHCP를 사용하여 IP 주소를 가져오도록 구성해야 합니다. Azure 고정 IP 설정은 여전히 DHCP를 사용하여 고정 IP를 VM에 제공합니다.

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]]]"

를 사용하여 604800000 24시간이 아닌 7일을 되돌아봅니다.

지난 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 설치 날짜별로 내림차순을 정렬하여 최근에 설치한 항목을 쉽게 확인할 수 있습니다. 를 사용하여 <spacebar> 출력의 다음 페이지로 이동하거나 <enter> 한 줄을 앞으로 이동합니다.

애플리케이션 제거

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 위의 예제에 /save 지정된 폴더의 \MachineKeys 부모입니다.

폴더의 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\NetworkService또는 LocalSystem이외의 서비스 계정을 NT AUTHORITY\LocalService사용하는 경우 계정 이름 뒤의 마지막(여덟 번째) 인수로 계정 암호를 지정합니다.

서비스 시작 유형 설정

set-service termservice -startuptype Manual

Set-service 는 시작 유형에 Automatic대해 , Manual또는 Disabled 을 허용합니다.

서비스 종속성 설정

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은 항상 게스트 OS에서 DHCP를 사용하여 IP 주소를 가져오도록 구성해야 합니다. 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의 경우 COM 개체를 hnetcfg.fwpolicy2 사용합니다.

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]]]"

를 사용하여 604800000 24시간이 아닌 7일을 되돌아봅니다. |

지난 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 instance 메타데이터를 쿼리하여 osType, Location, vmSize, vmId, name, resourceGroupName, subscriptionId, privateIpAddress 및 publicIpAddress와 같은 세부 정보를 볼 수 있습니다.

instance 메타데이터를 쿼리하려면 Azure 호스트를 통해 instance 메타데이터 서비스에 REST를 호출하므로 정상적인 게스트 네트워크 연결이 필요합니다. 따라서 instance 메타데이터를 쿼리할 수 있는 경우 게스트가 네트워크를 통해 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

다음 단계

도움을 요청하십시오.

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