Jump to content

rhmphrey

Members
  • Posts

    3
  • Joined

  • Last visited

Everything posted by rhmphrey

  1. Const MY_DOCUMENTS = &H5& Const ForReading = 1 Const ForWriting = 2 Dim WshNetwork, strUsername, strComputername, Description Dim objFolder, Drv, FilePath, strFile, FolderSize1, FolderSize2 Set WshNetwork = WScript.CreateObject("WScript.Network")  'Output to share (type unc name of the shared folder) FilePath = "C:\Localprf\" strUsername = WshNetwork.UserName strComputername = WshNetwork.ComputerName  Dim objFSO, strMY_DOCUMENTS, objFile ' Global scopes Set objFSO = CreateObject("Scripting.FileSystemObject") With CreateObject("Shell.Application").Namespace(MY_DOCUMENTS)    strMY_DOCUMENTS = .Self.Path    Set objFolder = objFSO.GetFolder(strMY_DOCUMENTS)    drv = objFolder.drive End With ' Determine drivetype of the My Documents Folder Description = strUsername & "'s Documents on " If (DriveIsLocal(drv) = True) Then    Description = Description & strComputername Else    Description = Description & "Fileserver" End If strFile = FilePath & "\" & Description & ".txt" ' convert byte to megabyte (1 megabyte = 1 048 576 byte) FolderSize1 = objFolder.Size ' bytes FolderSize2 = RoundFormatNumber(FolderSize1/1048576, 2) ' megabytes Set objFile = objFSO.OpenTextFile(strFile, ForWriting, True) objFile.write     FolderSize1 & ",""" & Description objFile.writeline """,""[" & FolderSize2 & " MB]""" objFile.close: Set objFile = Nothing ' *** merge info *** call updateTotal  '(for logon scripts this line is rem'd-out) Function RoundFormatNumber(NumberToRound, aDecimalPlaces)    ' The prefixed Round() function performs round to even.    ' While this function performs round to larger.      Dim nFactor      nFactor = 10 ^ aDecimalPlaces      RoundFormatNumber = FormatNumber(Int((NumberToRound * nFactor) _        + 0.5) / nFactor, aDecimalPlaces) End Function Function DriveIsLocal(drive)    DriveIsLocal = TRUE    If Not Left(drive,2) = "\\" Then      With GetObject("WinMgmts:{impersonationLevel=impersonate}" _          & "!root/cimv2:Win32_LogicalDisk='"& drive & "'")        If .DriveType = 4 Then DriveIsLocal = FALSE      End With    Else      DriveIsLocal = FALSE    End If End Function Sub updateTotal    ' merge (this part not used in the logon script!)    Dim csvFile, WSHShell, strCommand    colFiles = FilePath & "\*'s Documents on *.txt"    csvFile = FilePath & "\MY_DOCUMENTS total size.csv"    Set WSHShell = WScript.CreateObject ("WScript.Shell")    strCommand = "cmd /c Copy /b """ & colFiles & """"    strCommand = strCommand & " """ & csvFile & """"    WSHShell.Run strCommand, 0, True    Set objFile = objFSO.OpenTextFile(csvFile, ForReading)    tt1 = 0 : iCnt = 0    Do While objFile.AtEndOfStream <> True      iCnt = iCnt + 1      tt1 = tt1 + split(objFile.Readline, ",")(0)    Loop    tt2 = RoundFormatNumber(tt1/1048576, 2)    WSHShell.Run "cmd /c >>""" & csvFile & """ echo\,,", 0, True    strCommand = "cmd /c >>""" & csvFile & """ echo\" & tt1     strCommand = strCommand & ",""Users = " & iCnt    strCommand = strCommand & """,""[" & tt2 & " MB]"""    WSHShell.Run strCommand, 0, True    Rem WSHShell.Run """" & csvFile & """", 1, True '(requires Excel) End Sub /CODE]
  2. hi guys i have a script that im trying to run, the idea of the script is that when a user run a batch file it calculates the profile size and then write it to a CSV of my choosen location, ive missed off the bottam half of of the script as can fit on here. this works on xp, although not bringing back any file size on win 7 i get following error: permission denied, line 37 char 1 really appreciate your help thanks
  3. hi guys i have a script that im trying to run, it gets all local profile sizes for the person that it rns against, this works on xp current.y, not 7 on win 7 i get following error: ' You must provide the unc path of a shared folder. ' users must have write and modify permisions on that folder. Const MY_DOCUMENTS = &H5& Const ForReading = 1 Const ForWriting = 2 Dim WshNetwork, strUsername, strComputername, Description Dim objFolder, Drv, FilePath, strFile, FolderSize1, FolderSize2 Set WshNetwork = WScript.CreateObject("WScript.Network")  'Output to share (type unc name of the shared folder) FilePath = "\C:\localprf" strUsername = WshNetwork.UserName strComputername = WshNetwork.ComputerName  Dim objFSO, strMY_DOCUMENTS, objFile ' Global scopes Set objFSO = CreateObject("Scripting.FileSystemObject") With CreateObject("Shell.Application").Namespace(MY_DOCUMENTS)    strMY_DOCUMENTS = .Self.Path    Set objFolder = objFSO.GetFolder(strMY_DOCUMENTS)    drv = objFolder.drive End With ' Determine drivetype of the My Documents Folder Description = strUsername & "'s Documents on " If (DriveIsLocal(drv) = True) Then    Description = Description & strComputername Else    Description = Description & "Fileserver" End If strFile = FilePath & "\" & Description & ".txt" ' convert byte to megabyte (1 megabyte = 1 048 576 byte) FolderSize1 = objFolder.Size ' bytes FolderSize2 = RoundFormatNumber(FolderSize1/1048576, 2) ' megabytes really appreciate your help thanks
×
×
  • Create New...