Задать вопрос
drno-reg
@drno-reg
см не кратко

Как снять значения FreeSpace с удаленного сервера Windows?

Здравствуйте.

Недавно начал осваивать perl.
Для снятия данных с локального сервера использую такой код

use warnings FATAL => 'all';
use strict;

#!perl
use Win32::OLE;
my $fs = Win32::OLE->CreateObject('Scripting.FileSystemObject');
my $d = $fs->GetDrive('c:');
print $d->{TotalSize}, " total\n";
print $d->{FreeSpace}, " free\n";
print $d->{AvailableSpace}, " available\n";
print $d->{TotalSize} - $d->{FreeSpace}, " used\n";


также нашел еще такой вариант

#!/usr/local/bin/perl
use Win32::DriveInfo;
use strict;
use warnings;
print "OS Information\n";
my $computer=Win32::NodeName();
print "The computer name is $computer\n";

my %dtypes=(0 => "Undertmined",
    1 => "Does Not Exist",
    2 => "Removable",
    3 => "Hardrive",
    4 => "Network",
    5 => "CDROM",
    6 => "RAM Disk");

print "Drive Information\n";
my @drives = Win32::DriveInfo::DrivesInUse();
foreach my $drive (@drives){
    my $type=Win32::DriveInfo::DriveType($drive);
    print "Drive $drive is a $dtypes{$type}\n";

    if (($drive eq 'C') | ($drive eq 'H'))   {

        my ($sectors, $bytessec, $freeclust, $clustnum, $userfree, $total, $totalfree)=Win32::DriveInfo::DriveSpace($drive);
        #divide bytes to get gigabytes;
        my $gbtotal = sprintf("%.2f", ($total/1073741824));
        my $gbfree = sprintf("%.2f", ($totalfree/1073741824));
        my $gbused =  sprintf("%.1f", ($gbtotal - $gbfree));
        my $free = $gbfree/$gbtotal;
        my  $perfree = sprintf("%.2f", ($free * 100));

        #Print output
        printf "$gbfree GB free from total of $gbtotal GB\n";
        printf "total GB used $gbused\n";
        printf "$perfree%% free  on drive $drive\n";
        printf "\n";

    }
    else {}
}

exit;


Прошу подсказать как их модифицировать, чтобы появилась возможность ввести имя удаленного сервера + его имя и пароль.
  • Вопрос задан
  • 188 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы