Simples SITE WHO .vbs

zaP

bekommt Übersicht
Ich habe auf der Basis der SiteCommands.vbs von Gene6 mal hier ein SiteWho.vbs extra gemacht, vielleicht kanns ja jemand gebrauchen. Bin kein VBS Profi, aber ich denke es funktioniert ;)

Code:
'-----------------------------------------------------------------------
' SITE WHO
' no parameters
sub OnSitewho(params)
	Dim Manager
	Set Manager = CreateObject("G6FTPServer.Manager")

	Dim clients
	Set clients = Manager.Domains.Item(Domain.Name).ClientList

	answer = ""

	Dim LClient

	For Index = 0 To clients.Count-1
		Set LClient = clients.Item(Index)
		answer = answer & "   " & LClient.ID & "   " & LClient.Username & "    " & FormatSize(LClient.Speed) & Chr(10)
	Next

	client.Send 220, " ID | Account | Speed" & chr(10) & answer
end Sub

Function FormatSize(Size)
	If Not IsNumeric(Size) Then
		FormatSize = Size
		Exit Function
	Else
		Size = cDbl(Size)
	End If

    Dim TBytes, GBytes, MBytes, KBytes
    TBytes = 1024*1024*1024*1024
    GBytes = 1024*1024*1024
    MBytes = 1024*1024
    KBytes = 1024

    If Size > TBytes Then
        Size = FormatNumber((Size / TBytes),1)
        Size = cStr(Size) & " TByte/s"
    Elseif Size > GBytes Then
        Size = FormatNumber((Size / GBytes),1)
        Size = cStr(Size) & " GByte/s"
    Elseif Size > MBytes Then
        Size = FormatNumber((Size / MBytes),1)
        Size = cStr(Size) & " MByte/s"
    Elseif Size > KBytes Then
        Size = FormatNumber((Size / KBytes),1)
        Size = cStr(Size) & " KBytes/s"
    Else
        Size = FormatNumber((Size),1)
        Size = cStr(Size) & " Bytes/s"
    End If

    FormatSize = Size
End Function

Die Ausgabe sieht dann so aus:
Code:
[R] SITE WHO
[R] 220- ID | Account | Speed
[R]     157   username1    0,0 Bytes/s
[R]     158   user2    781,0 Bytes/s

Bin mir da noch nicht so sicher ob die Umrechnung von bytes zu kbytes 100% stimmt.
Wäre cool wenn es noch jemand erweitern könnte damit die Zeilen alle schön gleich lang sind.

Beispiel:
Code:
[R] SITE WHO
[R] 220-
[R]  ID  Account    Speed
[R] 157  username1  0,0 Bytes/s
[R] 158  user2      781,0 Bytes/s
 
Zuletzt bearbeitet:
Oben