Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support
  3. Folder size via agent

Folder size via agent

Scheduled Pinned Locked Moved Support
4 Posts 3 Posters 31.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B
    B
    berlin15
    wrote on last edited by
    #1

    Hi.
    How i can get a folder size on remote host via agent or script?
    Thanks.

    1 Reply Last reply
    0
    • B
      B
      berlin15
      wrote on last edited by
      #2

      Maybe to someone it helps...get folder size in windows with powershell

      1.Edit nxagentd.conf and paste next
      ExternalParameter = FolderSize(*):powershell.exe ( Get-ChildItem $1 -Recurse -Force | Measure-Object -Property Length -Sum ).Sum / 1KB or /1MB if you want Mbytes, /1GB etc....
      2.Restart agent.
      3.Add Parameter to your node.
      Enjoy.  🙂

      1 Reply Last reply
      0
      • A
        A
        Alex Kirhenshtein
        wrote on last edited by
        #3

        Just some notes:

        1. I'd add error handling, like this:
        Try {
        	"{0:F2}" -f ((Get-ChildItem $args[0] -r -ErrorAction stop | Measure-Object -property length -sum).sum / 1KB)
        }
        Catch {
        	Write-Host "0.00"
        }
        
        1. If you plan to scan large directories and it could potentially take long time, it's better to use ExternalParametersProvider with script like this:
        $dirs = @("c:\DosBox", "C:\tmp")
        
        foreach ($dir in $dirs) {
        	$size = "0.00"
        	Try {
        		$size="{0:F2}" -f ((Get-ChildItem $dir -r -ErrorAction stop | Measure-Object -property length -sum).sum / 1KB)
        	}
        	Catch {
        	}
        	Write-Host "DirSize($dir)=$size"
        }
        
        1. If these script saved as a file, PowerShell may require to sign it before running, disable execution policy:
        powershell -ExecutionPolicy ByPass -File ...\script.ps1
        
        1 Reply Last reply
        0
        • V
          V
          Victor Kirhenshtein
          wrote on last edited by
          #4

          Hi!

          You can also use File.Size parameter:

          File.Size(directory,*,1)

          this will get size of all files in given directory and subdirectories. If you want to ignore subdirectories, you can use form

          File.Size(directory,*,0)

          Full description of File.Size and File.Count arguments:

          File.Size and File.Count accepts the following arguments:
              path, pattern, recursive, size, age
          where
              path    : path to directory or file to check
              pattern : pattern for file name matching
              recursive : recursion flag; if set to 1 or true, agent will scan subdirectories
              size      : size filter; if < 0, only files with size less than abs(value) will match;
                          if > 0, only files with size greater than value will match
              age      : age filter; if < 0, only files created after now - abs(value) will match;
                          if > 0, only files created before now - value will match

          All arguments except first can be omitted.

          Best regards,
          Victor

          1 Reply Last reply
          0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          Powered by NodeBB Contributors
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups