Чи можливо переглянути якусь історію користувачів, які зберегли мережевий аркуш розширення Excel, заснований на сервері?


0

У мене є аркуш розширення Excel, який зберігається на сервері, з точки зору доступу до нього є лише близько 20 людей, які мають дозволи в папці, хто все одно є, щоб переглянути історію модифікацій поза попереднім Модифікатором


Вам потрібно буде розповісти нам набагато більше про ваше налаштування. Який сервер? Як завантажується та завантажується електронна таблиця? Як редактори аутентифікуються на сервері? З усією цією інформацією слід звернутися до Super User , оскільки ваше питання стосується досягнення функціональних вимог, а не мети безпеки.
Жиль

@Gilles тут може бути елемент журналу аудиту, але я погоджуюся, що це частина недоотриманої інформації (і, ймовірно, навіть якщо це саме те, що він шукає, це не гарне рішення - але це все-таки буде онопічним ....)
AviD

Відповіді:


2

Більшість "серверів" дозволяють проводити аудит рівня файлів, однак це специфічно для кожного сервера та специфічно для кожної файлової системи. Ці журнали аудиту можуть містити інформацію, яку ви шукаєте, але якщо ведення журналу не було ввімкнено, ви можете отримати багато ретроспекції.

Причиною я ставлю "сервери" в лапки, тому що для клієнтів NTFS, які підключаються до NAS та проти сервера на базі Windows, існує інша кількість функцій. А саме варіанти на базі Linux можуть містити різну кількість деталізації аудиту, ніж файлові сервери на базі Windows.


0

Ви можете додати у файл трохи VBA і встановити його для запуску на збереження. Про це пише на робочому аркуші під назвою "журнал". Додайте це до ThisWorkbookмодуля. Вам потрібно переконатися, що електронну таблицю збережено у форматі .xlsm та що для користувачів увімкнено макроси.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim CurrentUser As String
Dim CurrentDttm As Date

CurrentUser = Application.UserName
CurrentDttm = Format(Now, "yyyy/mm/dd hh:mm")

LastRowWithData = Sheets("log").Range("A1").End(xlDown).Row

If LastRowWithData > 65000 Then
    LastRowWithData = 1
End If

Sheets("log").Range("A" & LastRowWithData + 1).Value = CurrentDttm
Sheets("log").Range("B" & LastRowWithData + 1).Value = CurrentUser

End Sub
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.