Подсчет места занимаемого профилями пользователей в домене.

Задача: подсчитать место занимаемое данными пользователей в  домене.

Реализация через Autoit.

Что делает скрипт: скрипт компилируется в EXE. После чего файл.exe устанавливается через GPO на запуск при входе пользователя в компьютер. Происходит калькуляция размера папок в которых хранятся перемещаемые профиля (можно переделать на любые папки). Данные записываются в текстовый файл. Для анализа используем простой Excel — импортируем данные из источника (указав этот текстовый файл), после чего ставим фильтры для выбора дат/пользователей.


Исходные данные:
\\fileserver.firma.ru\share$\PF_Size\db_pf_size.txt — файл на сетевой папке с возможностью записи любым пользователем.
\\firma.ru\shares\Home\ — тут домашний диск
\\firma.ru\shares\PF\ — тут профиля

Сам скрипт:

;
;подсчет сетевых или локальных папок
;

#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>

$my_Name = @username
$my_Comp = @ComputerName
$my_Date = @MDAY&"."&@MON&"."&@YEAR
$my_Time = @HOUR&'.'&@MIN&'.'&@SEC
$my_Home = '\\firma.ru\shares\Home\'& $my_Name & '\'
$my_Prof = '\\firma.ru\shares\PF\' & $my_Name & '\'

Local $my_Home_Size = 0
Local $my_Prof_Size = 0

$my_ReportPath = '\\fileserver.firma.ru\share$\PF_Size\db_pf_size.txt'

$my_Home_Size = Round(DirGetSize($my_Home) / 1024 / 1024)
$my_Prof_Size = Round(DirGetSize($my_Prof) / 1024 / 1024)
Local $my_DataString = $my_Name &','& $my_Comp &','& $my_Date &','& $my_Time &','& $my_Home &','& $my_Home_Size &','& $my_Prof &','& $my_Prof_Size

ConsoleWrite('HOME : ' & $my_Home_Size & @CRLF)
ConsoleWrite('PROF : ' & $my_Prof_Size & @CRLF)
ConsoleWrite('DATA : ' & $my_DataString & @CRLF)

$hFile = FileOpen($my_ReportPath, 1)

If $hFile = -1 Then
   ConsoleWrite('Error : ' & 'Невозможно открыть файл.' & @CRLF)
   Exit
EndIf

FileWriteLine($hFile, $my_DataString & @CRLF)
FileClose($hFile)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *