Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void SetSystemDate(Domain domain, DateTime dateTime)
- {
- var connectionOptions = new ConnectionOptions();
- connectionOptions.Username = domain.UserName;
- connectionOptions.Password = domain.Password;
- connectionOptions.EnablePrivileges = true;
- connectionOptions.Authentication = AuthenticationLevel.PacketPrivacy;
- connectionOptions.Impersonation = ImpersonationLevel.Impersonate;
- var offset = TimeZoneInfo.Local.GetUtcOffset(dateTime);
- var minuteOffset = $"{Math.Round(offset.TotalMinutes):000}";
- var datetimeString = dateTime.ToString($"yyyyddMMHHmmss.000000" + minuteOffset);
- var scope = new ManagementScope($"\\\\{domain.Controller}\\root\\cimv2", connectionOptions);
- scope.Connect();
- ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
- using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query))
- {
- foreach (ManagementObject mobj in searcher.Get())
- {
- mobj.InvokeMethod("SetDateTime", new[] { datetimeString });
- mobj.Dispose();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement