Mamy klienta, w którym bardzo przydatne byłoby określenie, GDY dysk został zainicjowany lub utworzono partycję NTFS. Czy gdzieś jest wartość znacznika czasu? Byłoby bardzo mile widziane, gdyby ktokolwiek mógł przekazać jakąkolwiek radę.
Pomysł, ale czy możesz odwrócić obliczenia UUID woluminu, aby uzyskać datę / godzinę? (Nie wiem, w jaki sposób generowany jest UUID, więc znalezienie go zajęłoby trochę badań i może nie być w ogóle możliwe).
@ChrisNava: Unikalnym identyfikatorem używanym w NTFS nie jest 128-bitowy UUID, ale losowa liczba 64-bitowa. (Poza tym nowoczesne systemy również nie generują UUID opartych na czasie typu 1; losowe UUID typu 4 są preferowane ze względu na prywatność. Gdyby jednak był to UUID typu 1, wówczas nie byłoby żadnych obliczeń do odwrócenia; znacznik czasu jest przechowywane na widoku.)
Transakcja CIFS jest, TRANS2_QFSINFOa poziom informacji wynosi SMB_QUERY_FS_VOLUME_INFO. Natywny Windows NT funkcja API dla zapytań czas tworzenia woluminu jest ZwQueryVolumeInformationFile(), co daje FILE_FS_VOLUME_INFORMATIONstrukturę danych (niemal identyczny do tego CIFS, uwaga), gdy poprosił o FileFsVolumeInformationklasie informacji. Testowanie działania tego zapytania jest częścią testera IFS, który Microsoft dostarcza programistom sterowników.
Co ciekawe, nikt nie napisał przydatnego narzędzia, które po prostu odpytuje wolumin i drukuje znacznik czasu jego utworzenia w czytelnej dla człowieka formie. 1 Najbliżej, o ile mi wiadomo, jest zwiększenie procmonnarzędzia SysInternals i poszukiwanie zapytań o informacje o wolumenie przesyłane strumieniowo. Być może ktoś, kto to czyta, zostanie zainspirowany do stworzenia ulepszonego volpolecenia.
Tak, znacznik czasu tworzenia woluminu jest poprawnie inicjowany i nie jest ustawiony tylko na zero lub inną stałą. Nie sprawdziłem, ale moje wyuczone przypuszczenie, że miejscem przechowywania tych informacji jest $STANDARD_INFORMATIONatrybut pozycji $VolumeMFT. Mogę wymyślić trzy inne możliwe miejsca, ale to jest najbardziej logiczne.
1grawity „s narzędzie po prostu potrzebuje trochę więcej polskiego, w tym prostych zastosowań FileTimeToSystemTime()i GetTimeFormat(), aby to użyteczny dla użytkowników końcowych, że nie potrafi dekodować Win32 znaczników czasu w głowach. ☺
Wow, daję +1 za tę odpowiedź, ponieważ dokładnie tego szukałem. Niestety nie jestem programistą Win32 API ze znajomością wewnętrznych elementów systemu i szukałem szybkiego rozwiązania. Dobra myśl z zaleceniem. W każdym razie dzięki!!!
Nie ma „daty utworzenia woluminu”, którą znam z wbudowanego w NTFS. Powinieneś być jednak w stanie dość dokładnie przybliżyć datę utworzenia, patrząc na datę utworzenia System Volume Informationkatalogu w katalogu głównym woluminu.
To daje mi bardzo dobre przybliżenie. Dziękuję za szybką odpowiedź! Teraz wiem, kogo winić za to, że dysk nie został uwzględniony w naszych kopiach zapasowych :).
Jest to gdzieś odsłonięte. Jeśli uruchomisz dysk CD z systemem Windows XP i uzyskasz dostęp do konsoli odzyskiwania, wersja programu chkdsk wydrukuje datę utworzenia woluminu po jego zakończeniu.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.