Solved

Disk Quota With ASP

Posted on 2004-09-13
18
468 Views
Last Modified: 2008-01-09
Hi,

To cut a long story short, I need an ASP page to give me the space/quota for a mapped network drive. So far I have this (i'm no expert):

<%

Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
Set hdrv = fsoObject.GetDrive (fsoObject.GetDriveName("H:\"))
TotalQuata = FormatNumber(hdrv.TotalSize / 1024000,0)
FreeQuota = FormatNumber(hdrv.Freespace / 1024000,0)
Response.Write(TotalQuota)
Response.Write(FreeQuota)

%>

This works fine for a local drive (i.e. C) but when I try to change it to H (our mapped home drive letter), it gives this error:

Microsoft VBScript runtime error '800a0044'

Device unavailable

Is there something really easy i'm missing, or is it not possible to do this with an ASP page???

Thanks! ;-)
0
Comment
Question by:w00tastic
  • 6
  • 5
  • 3
  • +3
18 Comments
 
LVL 13

Expert Comment

by:davidlars99
ID: 12050059
"H:" is a network drive right...? then you need to do this

Set WshNetwork = server.CreateObject("WScript.Network")
set NetDrive=WshNetwork.MapNetworkDrive("H:\", "\\Server\Share" )   'second parameter is optional

but I don't think you can get size of the network drive.




0
 
LVL 13

Expert Comment

by:davidlars99
ID: 12050072
try this too...

dim fs,d,s
set fs=Server.CreateObject("Scripting.FileSystemObject")
set d=fs.GetDrive("H:")
s=d.totalsize
0
 

Author Comment

by:w00tastic
ID: 12050151
davidlars99,

Point 1: Wouldn't that be to map a network drive?, if so, the drive is already mapped at log on to \\studentserver\studentname$
Point 2: Same error as I was getting before.

Thanks anyway!
0
How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

 
LVL 3

Expert Comment

by:travisjhall
ID: 12050423
You don't have the drive already mapped on the server, where the ASP is running. You only have it mapped on the client. Remember, ASP stands for Active SERVER Pages. Nothing on the client computer matters when running ASP code.
0
 

Author Comment

by:w00tastic
ID: 12050520
You're right, I guess my head isn't screwed on straight today.
I thought it was working, but the C drive on the server just happens to be around the same size as on my machine here, and that's the size I was getting.

Okay, now what?

Is there some other way of doing this or not?

I want to put a number of things into a web page on the desktop that is mandatory on  all student profiles here, including how much space they have left in their H drive.

Thanks!
0
 
LVL 13

Expert Comment

by:davidlars99
ID: 12050877
did you try this?

dim fs,d,s
set fs=Server.CreateObject("Scripting.FileSystemObject")
set d=fs.GetDrive("H:")
s=d.totalsize
0
 

Author Comment

by:w00tastic
ID: 12051463
Yeah, I did.
It works much the same as mine, gets the drive values from the server that the page is run from, rather than the client machine.

Any other ideas would be appreciated guys.

Thanks!
0
 
LVL 2

Expert Comment

by:benbalbo
ID: 12053761
How about running IIS on studentserver with a page that returns the quota info (which it can read) in XML, or other format, to the ASP page on your main web server.

Maybe a bit overkill though :-)
0
 
LVL 15

Expert Comment

by:joeposter649
ID: 12058271
0
 
LVL 13

Expert Comment

by:davidlars99
ID: 12059044
wow..! isn't that cool or what. I tryied WMI on XP and sadly it did not work
0
 
LVL 13

Expert Comment

by:davidlars99
ID: 12059089
it's only supperted on NT platform
0
 
LVL 2

Expert Comment

by:kmalhotra
ID: 12059669
I do not know how familiar you are with ActiveX. That would be perfect for this job. Ofcourse then it will work only with IE. You need to check something on the client's machine. ASP can not allow you to do that. Need something on the client's machine. Then you can have your ASP page interactign with the Activex page.

LEt me know if you need help with this.

Thanks
0
 
LVL 15

Expert Comment

by:joeposter649
ID: 12060517
0
 

Author Comment

by:w00tastic
ID: 12070522
Thanks for all the suggestions guys, i'll look into them.
Now i'm thinking a bit clearer, i've decided my way of tackling this problem wasn't quite right.
What I need to do is extract data directly from the quota entries on the student server, which just happens to be running IIS.

Any idea's on this one?

I've seen a few bits of code about, and even some stuff on Experts Exchange..... but nothing that really suits what I want.
0
 

Author Comment

by:w00tastic
ID: 12070553
By the way, it's Server 2003 running IIS 6.0 and we only use Internet Explorer here.
0
 
LVL 2

Expert Comment

by:kmalhotra
ID: 12074961
You can have a webservice running on the student server such that when you pass it a student id, it will return the size of the student's directory on the server. You will need to create a server objects to read files/folder and get their size.

Thanks
KM
0
 
LVL 15

Accepted Solution

by:
joeposter649 earned 250 total points
ID: 12075680
Not quite sure what you're looking for.  Maybe this...

Set colDiskQuotas = CreateObject("Microsoft.DiskQuota.1")
colDiskQuotas.UsernameResolution = 1
colDiskQuotas.Initialize "C:\", True

For Each objUser in colDiskQuotas
    response.Write objUser.LogonName & "<br>"
    response.Write objUser.QuotaLimit & "<br>"
    response.Write objUser.QuotaThreshold & "<br>"
    response.Write objUser.QuotaUsed & "<br>"
Next

Or this...

      Set oUser = GetObject("WinNT://yourdomain/username")
      Response.Write oUser.MaxStorage & "<br>"
0
 

Author Comment

by:w00tastic
ID: 12090724
Yep, that's it!!!
Well done, you have saved me.
Points well earned ;-)
0

Featured Post

The New “Normal” in Modern Enterprise Operations

DevOps for the modern enterprise offers many benefits — increased agility, productivity, and more, but digital transformation isn’t easy, especially if you’re not addressing the right issues. Register for the webinar to dive into the “new normal” for enterprise modern ops.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
ebay seller html tags 2 33
specific questions about shipping a coat 4 56
CSS: Making responsive table look nicer 7 31
WordPress 8 25
"In order to have an organized way for empathy mapping, we rely on a psychological model and trying to model it in a simple way, so we will split the board to three section for each persona and a scenario and try to see what those personas would Do,…
Because your company can’t afford for you to make SEO mistakes, you’ll want to ensure you’re taking the right steps each and every time you post a new piece of content. This list of optimization do’s and don’ts can help you become an SEO wizard.
This video teaches users how to migrate an existing Wordpress website to a new domain.
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question