Можно ли получить LastBootUpTime удаленной машины (под управлением Windows), если вам не был предоставлен доступ к этому серверу; хотя сервер находится в той же сети и в том же домене, что и клиент?
Можно получить список разрешений для ящика, даже если вам не был предоставлен доступ к машине (пример PowerShell ниже), поэтому я надеюсь на это » Не совсем глупо подозревать, что может быть какой-то способ получить аналогичные данные по времени работы ... особенно если после загрузки компьютер обновляет какой-то атрибут AD, например LastLogonTimestamp или аналогичный?
([adsi]'WinNT://myServerName/Administrators, group').psbase.Invoke("members") `
| %{$_.GetType.Invoke().InvokeMember("Name",'GetProperty', $null, $_, $null)}
Я также написал код (PowerShell и C #), чтобы получить время последней загрузки сервера, когда текущий пользователь имеет разрешения на удаленном компьютере.
$arrayOfServers | Get-CimInstance Win32_OperatingSystem | select csname, lastbootuptime
Дополнительные примеры см. В моем решении соответствующего вопроса по SO: https://stackoverflow.com/questions/22965686/how-to-get-last-boot-time-of-a-remote-system- in-c-sharp-or-vb-with-a-non-admin-u / 52478378 # 52478378
Нет, но вы можете включить WMI для пользователя, не являющегося администратором, чтобы ограничить объем предоставленных разрешений, но это означает, что администратор должен будет включить пользователя.
Разрешение доступа пользователей в определенное пространство имен WMI
Вы можете разрешить или запретить пользователям доступ к определенному пространству имен WMI, установив Разрешение «Удаленное включение» в элементе управления WMI для пространства имен. Если пользователь пытается подключиться к пространству имен, к которому ему не разрешен доступ, они получат ошибку 0x80041003. По умолчанию это разрешение включен только для администраторов. Администратор может включить удаленное доступ к определенным пространствам имен WMI для пользователя, не являющегося администратором.
Следующая процедура устанавливает разрешения удаленного включения для пользователь без прав администратора.
Для установки разрешений удаленного включения
Подключитесь к удаленному компьютеру с помощью элемента управления WMI.
Дополнительные сведения о элементе управления WMI см. в разделе «Пространство имен настроек» Безопасность с помощью элемента управления WMI.
На вкладке «Безопасность» выберите пространство имен и нажмите «Безопасность».
Найдите соответствующую учетную запись и установите флажок «Удаленное включение» в Список разрешений.
Подробнее об этой теме здесь
После настроек вы могли запускать WMI-запрос как таковой;
В командной строке;
wmic /node:"<computer>" OS get LastBootUpTime
В PowerShell;
Get-WmiObject Win32_OperatingSystem -ComputerName <computer> | fl LastBootUpTime