You are here:
ActiveXperts.com > ActiveXperts Network Monitor > WindowsManagement > Scripts > Storage > Disk Quotas
Quicklinks
You can use any of the VBScript programs below in ActiveXperts Network Monitor. Click here for an explanation about how to include scripts in ActiveXperts Network Monitor.
Set colDiskQuotas = CreateObject("Microsoft.DiskQuota.1")
colDiskQuotas.Initialize "C:\", True
Set objUser = colDiskQuotas.AddUser("kenmyer")
Set objUser = colDiskQuotas.FindUser("kenmyer")
objUser.QuotaLimit = 50000000
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2"
Set objAccount = objWMIService.Get _
("Win32_Account.Domain='fabrikam',Name='bob'")
Set objDisk = objWMIService.Get _
("Win32_LogicalDisk.DeviceID='C:'")
Set objQuota = objWMIService.Get _
("Win32_DiskQuota").SpawnInstance_
objQuota.QuotaVolume = objDisk.Path_.RelPath
objQuota.User = objAccount.Path_.RelPath
objQuota.Limit = 10485760
objQuota.WarningLimit = 8388608
objQuota.Put_
Set colDiskQuotas = CreateObject("Microsoft.DiskQuota.1")
colDiskQuotas.Initialize "C:\", True
set objUser = colDiskQuotas.FindUser("kenmyer")
colDiskQuotas.DeleteUser(objUser)
strDrive = "C:"
strDomain = "fabrikam"
strUser = "bob"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objQuota = objWMIService.Get _
("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.DeviceID=""" " & _
" & strDrive & """',User='Win32_Account.Domain=""" " & _
" & strDomain & """,Name=""" & strUser & """'")
objQuota.Delete_
Const ENFORCE_QUOTAS = 1
StrComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_QuotaSetting Where VolumePath = 'C:\\'")
For Each objDisk in colDisks
objDisk.State = ENFORCE_QUOTAS
objDisk.Put_
Next
Const ENABLE_QUOTAS = 2
Set colDiskQuotas = CreateObject("Microsoft.DiskQuota.1")
colDiskQuotas.Initialize "C:\", True
colDiskQuotas.QuotaState = ENABLE_QUOTAS
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objQuota = objWMIService.Get _
("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.DeviceID=""C:""'," & _
"User='Win32_Account.Domain=""fabrikam"",Name=""bob""'")
Wscript.Echo objQuota.Limit
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDiskQuotas = objWMIService.ExecQuery("Select * from Win32_DiskQuota")
For each objQuota in colDiskQuotas
Wscript.Echo "Disk Space Used: " & vbTab & objQuota.DiskSpaceUsed
Wscript.Echo "Limit: " & vbTab & objQuota.Limit
Wscript.Echo "Quota Volume: " & vbTab & objQuota.QuotaVolume
Wscript.Echo "Status: " & vbTab & objQuota.Status
Wscript.Echo "User: " & vbTab & objQuota.User
Wscript.Echo "Warning Limit: " & vbTab & objQuota.WarningLimit
Next
Set colDiskQuotas = CreateObject("Microsoft.DiskQuota.1")
colDiskQuotas.Initialize "C:\", True
For Each objUser in colDiskQuotas
Wscript.Echo "Logon name: " & objUser.LogonName
Wscript.Echo "Quota limit: " & objUser.QuotaLimit
Wscript.Echo "Quota threshold: " & objUser.QuotaThreshold
Wscript.Echo "Quota used: " & objUser.QuotaUsed
Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colQuotaSettings = objWMIService.ExecQuery _
("Select * from Win32_QuotaSetting")
For Each objQuotaSetting in colQuotaSettings
Wscript.Echo "Default Limit: " & objQuotaSetting.DefaultLimit
Wscript.Echo "Default Warning Limit: " & _
objQuotaSetting.DefaultWarningLimit
Wscript.Echo "Exceeded Notification: " & _
objQuotaSetting.ExceededNotification
Wscript.Echo "State: " & objQuotaSetting.State
Wscript.Echo "Volume Path: " & objQuotaSetting.VolumePath
Wscript.Echo "Warning Exceeded Notification: " & _
objQuotaSetting.WarningExceededNotification
Next
Set colDiskQuotas = CreateObject("Microsoft.DiskQuota.1")
colDiskQuotas.Initialize "C:\", True
If colDiskQuotas.QuotaState = 2 Then
Wscript.Echo "Quota state: Enabled and enforced"
ElseIf colDiskQuotas.QuotaState = 1 Then
Wscript.Echo "Quota state: Enabled but not enforced"
Else
Wscript.Echo "Quota state: Disabled"
End If
Wscript.Echo "Default quota limit: " & colDiskQuotas.DefaultQuotaLimit
Wscript.Echo "Default warning limit: " & _
colDiskQuotas.DefaultQuotaThreshold
Wscript.Echo "Record quota violations in event log: " & _
colDiskQuotas.LogQuotaLimit
Wscript.Echo "Record warnings in event log: " & _
colDiskQuotas.LogQuotaThreshold
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colQuotas = objWMIService.ExecQuery("Select * from Win32_DiskQuota")
For Each objQuota in colQuotas
Wscript.Echo "Volume: "& objQuota.QuotaVolume
Wscript.Echo "User: "& objQuota.User
Wscript.Echo "Disk Space Used: "& objQuota.DiskSpaceUsed
Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objQuota = objWMIService.Get _
("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.DeviceID=""C:""'," & _
"User='Win32_Account.Domain=""fabrikam"",Name=""bob""'")
Wscript.Echo objQuota.Limit
Set colDiskQuotas = CreateObject("Microsoft.DiskQuota.1")
colDiskQuotas.Initialize "C:\", True
set objUser = colDiskQuotas.FindUser("kenmyer")
objUser.QuotaThreshold = 90000000
objUser.QuotaLimit = 100000000
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colQuotaSettings = objWMIService.ExecQuery _
("Select * from Win32_QuotaSetting")
For Each objQuotaSetting in colQuotaSettings
objQuotaSetting.DefaultLimit = 10000000
objQuotaSetting.DefaultWarningLimit = 9000000
objQuotaSetting.Put_
Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objAccount = objWMIService.Get _
("Win32_Account.Domain='fabrikam',Name='bob'")
Set objDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='C:'")
Set objQuota = objWMIService.Get _
("Win32_DiskQuota.QuotaVolume= " & _
"'Win32_LogicalDisk.DeviceID=""C:""'," & _
"User='Win32_Account.Domain=""fabrikam"",Name=""bob""'")
objQuota.Limit = 11111111
objQuota.Put_