Возможно ли получить 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, установив разрешение «Remote Enable» в элементе управления WMI для пространства имен. Если пользователь попытается подключиться к пространству имен, к которому ему не разрешен доступ, он получит ошибку 0x80041003. По умолчанию это разрешение доступно только администраторам. Администратор может включить удаленный доступ к определенным пространствам имен WMI для пользователя, не являющегося администратором.
Следующая процедура устанавливает разрешения удаленного включения для пользователя без прав администратора.
Чтобы установить разрешения удаленного включения
Подключитесь к удаленному компьютеру с помощью WMI Control.
Дополнительные сведения о элементе управления WMI см. В разделе Настройка безопасности пространства имен с помощью элемента управления WMI.
На вкладке «Безопасность» выберите пространство имен и нажмите «Безопасность».
Найдите соответствующую учетную запись и установите флажок «Включить удаленное управление» в списке разрешений.
Подробнее об этой теме Вот
После настроек можно было запустить WMI-запрос как таковой;
В командной строке;
wmic /node:"<computer>" OS get LastBootUpTime
В PowerShell;
Get-WmiObject Win32_OperatingSystem -ComputerName <computer> | fl LastBootUpTime