네트워크 어댑터(NIC)에 대한 정보 확인하기(Get-WmiObject 이용)


  • NIC의 정보를 쉽게 확인하는 방법은 다음과 같다.
    Get-WmiObject -Class Win32_*network* -List


  • 여기서 IP 구성 정보를 확인하는 Win32_NetworkAdapterConfiguration을 이용하면 편리하다
    Get-WmiObject -Class Win32_NetworkAdapterConfiguration
    Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Format-List *

    (여기서 IPEnabled가 True인 것을 참고한다.)
    Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where {$_.IPEnabled -eq ‘True’}
    (이렇게 하면 로컬 컴퓨터 IP 구성 상황을 모두 알 수 있다.)


    Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName Server1 | Where {$_.IPEnabled -eq ‘True’}
    (이렇게 하면 원격 컴퓨터 IP 구성 상황을 모두 알 수 있다.)
     

  • 네트워크 어댑터 종류들을 확인해보자.
    Get-WmiObject -Class Win32_NetworkAdapter
    Get-WmiObject -Class Win32_NetworkAdapter | FT name



    Get-WmiObject -Class Win32_NetworkAdapter
    -ComputerName Server1 | FT name
     

3-디스크에 대한 정보 확인하기(Get-WmiObject 사용하기)


  • 컬 컴퓨터 및 원격 컴퓨터의 디스크와 관련된 정보를 확인하기 위해서는 Get-WmiObject를 이용하면 된다.
  • 먼저 disk와 관련된 Get-WmiObject를 확인하기 위해서 다음과 같이 하면 사용 가능한 목록을 확인할 수 있다.
    Get-WmiObject -Class Win32_*Disk* -List


  • 이제 각각의 정보를 한 번 살펴보자.
    Get-WmiObject -Class Win32_LogicalDisk
    Get-WmiObject -Class Win32_LogicalDisk -ComputerName Server1
    (원격지에 위치한 컴퓨터의 디스크 정보도 알 수 있다.)

    Get-WmiObject -Class Win32_MappedLogicalDisk
    Get-WmiObject -Class Win32_MappedLogicalDisk -ComputerName Server1
    (원격 컴퓨터가 어느 fileserver에 연결되어 있는지 알 수 있다.)
    Get-WmiObject -Class Win32_MappedLogicalDisk -ComputerName Server1 | ft name, providername, freespace -autosize
    (이렇게 하면 원격 컴퓨터 Server1이 어느 File server에 어떤 드라이브로 연결되어 있는지 간략하게 알 수 있다.)

    Get-WmiObject -Class Win32_DiskPartition
    Get-WmiObject -Class Win32_DiskPartition -ComputerName Server1

    Get-WmiObject -Class Win32_DiskDrive
    Get-WmiObject -Class Win32_DiskPartition -ComputerName Server1

    Get-WmiObject -Class Win32_DiskQuota
    Get-WmiObject -Class Win32_DiskQuota -ComputerName Server1
    (각 사용자 단위로 디스크 할당량 정도를 확인할 수 있다. 원격 컴퓨터도 마찬가지.)
     

Disk Controller에 오류가 있는지 확인하기


  • 로컬 컴퓨터의 Disk Controller에 문제가 있는지 확인하여 본다.
    • Get-EventLog -LogName System -InstanceId 3221487627 -ErrorAction 0
    • Get-EventLog -LogName System -InstanceId 3221487627 -ErrorAction 0 | ForEach-Object {$_.ReplacementStrings[0] } | Group-Object -NoElement | Sort-Object Count -Descending


  • 이렇게 하여 나온 것 중에 대부분은 USB drive를 강제로 빼서 생기는 것이 많다.

1-내 시스템에서 사용한 USB Storage 종류 알아보기


  • 다음과 같이 실행하면 로컬 컴퓨터에서 사용한 USB 스토리지 정보를 Registry에 추출하여 확인할 수 있다.

    $key = ‘Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*’
    Get-ItemProperty $key | Select-Object -ExpandProperty FriendlyName | Sort-Object

  • 이것을 한 줄로 해결할 수 있다.(semicolon 사용)
    $key = ‘Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*’ ;
    Get-ItemProperty $key | Select-Object -ExpandProperty FriendlyName | Sort-Object

  • 이것을 스크립트로 만들어 사용하여 원격 컴퓨터에서 사용한 USB 종류를 알 수도 있다. 즉, PickupUSBtype.ps1 파일로 만들어서 다음과 같이 하면 원격 컴퓨터에서 사용한 USB 종류들을 확인할 수 있다.
    Invoke-Command -FilePath c:\myscripts\PickupUSBtype.ps1 -ComputerName pc1, pc2, pc3