リモートサーバーのウィンドウのディスク容量を確認する


18

私は窓で働いています、そして、私はコマンドラインを通してリモート窓サーバーの容量を調べたいです。

例:私は@localhostであり、サーバー172.68.68.68のD:ドライブが10 GBより大きいかどうかを知りたいです。どうすれば確認できますか?

すべてのサーバーがWindows OSを実行しています

回答:


18

Powershellを使用すると、次のコマンドを使用できます。

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

server1、server2などをリモートサーバー名または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"

参考までに、これには管理者資格情報が必要です。
ビンク

3

ドメインにいる場合は、おそらくWMIで何かを行うことができます(WMIの例)。ドメインに属していない場合、リモート監視には2つの方法があります。

  • 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ボリュームdiskfree C:
出力:
空きバイトの合計数:17084395520
合計バイト数:249145847808
空きバイトの合計数:17084395520

改善点はありますか?
ロッコ14年

Windowsにtelnetサーバーをインストールするのを見たことがありません。組み込みのサーバーであってもです。特に、telnetはずっと前から安全ではないと考えられてきました。
ケルタリ

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
スーパーユーザーへようこそ!あなたの貢献は大歓迎ですが、上記の機能の説明を提供できますか?:)
ベルティエブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.