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
등호 다음에 공백이 필요합니다. 가능한 시작 값에는 , , auto
system
, demand
, , disabled
가 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은 항상 게스트 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 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기