원격 서버의 창에서 디스크 용량 확인


18

Windows에서 일하고 있으며 원격 Windows 서버의 명령 줄 디스크 용량을 통해 알고 싶습니다.

예를 들어 : @localhost입니다. 이제 서버 172.68.68.68의 D : 드라이브가 10GB보다 큰지 여부를 알고 싶습니다. 어떻게 확인할 수 있습니까?

모든 서버에서 Windows OS를 실행 중

답변:


18

Powershell을 사용하면 다음 명령을 사용할 수 있습니다.

Get-WmiObject -Class win32_logicalDisk -ComputerName server1, server2, server3, etc | Select-Object pscomputername, deviceid, freespace, size

교체 등 서버 1, 서버 2를 원격 서버 이름 또는 IP를 함께.

결과는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

원하는 경우 | Export-Csv -Path .\drives.csv스크립트 끝에 추가 하여 Excel과 함께 사용할 수 있도록 CSV (쉼표로 구분 된 값) 파일로 파일을 출력 할 수 있습니다 . 그렇게하면 Excel을 열 때 Excel에서 드라이브 크기 열을 숫자로 형식화해야합니다.

킥킥 웃음을 위해 Active Directory의 모든 서버에서 작업을 수행하는이 PowerShell 스크립트를 작성했습니다.

$ErrorActionPreference= 'silentlycontinue'

Get-ADComputer -Filter 'OperatingSystem -like "*Server*"' -Properties * | Select-Object Name |

ForEach-Object {
    If (Test-Connection $_.Name -Count 1){
        Get-WmiObject -Class win32_logicalDisk -ComputerName $_.Name | 
        Select-Object pscomputername, deviceid, freespace, size
    }
    else {
        Write-host $_.Name " Connection Error"
    }

}

9

다음 명령을 사용하십시오 fsutil.

fsutil volume diskfree C:
fsutil volume diskfree \\server\share

출력은 다음과 같습니다

Total # of free bytes        : 851127304192
Total # of bytes             : 2147480485888
Total # of avail free bytes  : 851127304192

사용 가능한 바이트가있는 줄만 얻으려면 다음을 사용할 수 있습니다.

fsutil volume diskfree C: | find /i "avail free"

참고로, 관리 자격 증명이 필요합니다.
Bink

3

도메인에 있다면 WMI ( WMI example )로 무언가를 할 수있을 것입니다 . 도메인에 있지 않은 경우 두 가지 방법으로 원격 모니터링을 수행 할 수 있습니다.

  • SNMP를 설정하고 ( 안내서가있는 우수한 문서 ) SNMP 데몬을 폴링하는 스크립트를 작성하십시오.
  • 모니터링 제품을 사용하십시오. 나는 과거에 OpsviewNinja 를 사용했습니다. Microsoft SCOM도 좋은 대안입니다 (라이센스 비용을 감당할 수있는 경우).

1

네트워크 공유에 액세스 할 수 있고 Cygwin을 설치 한 경우 다음 명령을 수행 할 수 있습니다.

# df -h //myserver/shareddrive Filesystem Size Used Avail Use% Mounted on - 25G 13G 12G 52% //myserver/shareddrive


0

나는 또한 fsutil과 telnet의 아이디어를 사용하여 해결책을 찾았습니다.

<package>

  <job id="vbs">

  <script language="VBScript">

     set WshShell = WScript.CreateObject("WScript.Shell")
     WshShell.Run "telnet 182.56.32.23 -l work"
     WScript.Sleep 500
     WshShell.AppActivate "Telnet"
     WScript.Sleep 500
     WshShell.SendKeys "y"
     WshShell.SendKeys "~"      
     WScript.Sleep 500
     WshShell.SendKeys "helloworld"
     WScript.Sleep 500
     WshShell.SendKeys "~"  
     WScript.Sleep 500
     WshShell.SendKeys "C:\Users\work2\Desktop\diskcheck.bat"   
     WScript.Sleep 200
     WshShell.SendKeys "~"

  </script>

 </job>

</package>

diskcheck.bat :

fsutil 볼륨 디스크없는 C :
산출:
총 여유 바이트 수 : 17084395520
총 바이트 수 : 249145847808
사용 가능한 총 바이트 수 : 17084395520

어떤 개선?
rocko

나는 아무도 Windows에 텔넷 서버를 설치하는 것을 보지 못했습니다 . 특히 텔넷은 오랫동안 안전하지 않은 것으로 간주되어 왔습니다.
켈 타리

0
Function GetRemoteDiskSpace (
[String]$TargetComputer,
[String]$Drive
)
{
$Drive = New-PSDrive -Name K -PSProvider FileSystem -Root "\\$TargetComputer\$Drive$" -Persist
$Info = Get-PSDrive $Drive 
$Free = $Info.Free /1GB
Remove-PSDrive -Name $drive -PSProvider FileSystem

return $Free
}

1
슈퍼 유저에 오신 것을 환영합니다! 귀하의 기여는 환영하지만 위의 기능에 대한 설명을 제공 할 수 있습니까? :)
bertieb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.