Low Disk Space Script to warn logged in User (not via email)

Hi,

I have an ongoing problem where users are copying 100's of GB of presonal content onto their local PC hard drives, consuming 100% of their disk space and then complaining to IT that their computer runs slow...
Well, D'Oh!

I dont want to continually have to manually warn people about this and for various reasons i dont want to stop them being able to save to their local disk.
Obviously the little Windows message in the taskbar is not enough a warning for the users

We use File Resource Manager so they cant save these files to the Server mapped drives and the servers themselves are monitored so the server hard drives are fine.

This is just for the users local drives, in particular, just their C drive (i dont care if their external hard drive is at 100%).
The users PCs are Windows 7/10 Pro.

Ive been looking around and found many scripts for Low Disk Space Warnings, almost all for Servers (though it would work for users PCs) but all send email alerts. Which i dont want.

Id like a script that i can run as a group policy, or as a scheduled task, that will pop up a configurable message to the end user every 4 hours when the user is logged on with some message like:

"Your C drive is full. Your computer will run poorly until the drive is cleared.
Please DELETE all movies, music and similar non-work related material from this PC immediately.
This message will continue to be seen every 4 hours until you do so.
Contact your friendly IT Helpdesk for more information"


An added bonus would be to then email IT Helpdesk once a week (as i dont want to be bombarded with emails for low disk space)
But this isnt important.


The main thing I would like is a Warning Message to appear on the users screen they they have to acknowledge (by pressing a radio button saying OK, or I Understand or similar) every 4 hours telling them to delete their movies.
LVL 1
HBS-MachAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Senior IT System EngineerIT ProfessionalCommented:
Do you mean usingthe pop up like Net Send ?
0
NVITCommented:
This works.

Save this to WarnLowDisk.vbs file:

' List Available Disk Space

' Use: cscript WarnLowDisk.vbs 1000000000
' Note: Here, I use 1000000000 as the limit. Adjust per your needs.

Const HARD_DISK = 3

If WScript.Arguments.Count = 0 Then
	FreeSpaceAllowed = 1000000000
Else
	FreeSpaceAllowed = WScript.Arguments.Item(0)
End If

sMessage = "Your C drive is full." & vbCrLf & vbCrLf & _
 "Your computer will run poorly until the drive is cleared. Please DELETE all movies, music and similar non-work related material from this PC immediately. " & vbCrLf & _
 "This message will continue to be seen every 4 hours until you do so." & vbCrLf & vbCrLf & _
 "Contact your friendly IT Helpdesk for more information."
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colDisks = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk Where " & "(DeviceID='C:')")

For Each objDisk in colDisks
    If objDisk.FreeSpace + 1.0 <= FreeSpaceAllowed + 1.0 Then
    	MsgBox sMessage
    End If
Next

Open in new window


To run it in a scheduled task...

If you're on a domain, open group policy management. If not, the Task Settings for a standalone station are similar.

Create a gpo and link it.
Edit the gpo.

Navigate down to User, Control panel settings, Scheduled tasks.

Task Settings

General
New scheduled task (vista and later)
Action: Replace
Name: Low disk space warning
Run only when user is logged on.
Run with highest privileges.

Trigger
Add 2 daily triggers. You may need more, depending on the length of the user's workday. Set each to trigger 4 hrs apart.

Action
Program: cscript
Arguments: WarnLowDisk.vbs 1000000000
1

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
HBS-MachAuthor Commented:
NVIT
Looks great!
I will test this out and get back to you.
1
How do you know if your security is working?

Protecting your business doesn’t have to mean sifting through endless alerts and notifications. With WatchGuard Total Security Suite, you can feel confident that your business is secure, meaning you can get back to the things that have been sitting on your to-do list.

Senior IT System EngineerIT ProfessionalCommented:
@NVIT,

Does it works on Windows 10 workstations ?
0
HBS-MachAuthor Commented:
Can confirm that this works well on Windows 7 and 10.

I put it as a scheduled task via GPO, reoccurring once an hour.
That should annoy the users enough that they delete the junk.

Thank you for your assistance NVIT
0
NVITCommented:
I overlooked the Windows 10 need in your question and just tested with Windows 7. Still... It worked. Awesome!

I'm glad to have helped, HBS-Mach. Have a nice day/night...
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VB Script

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.