AFAIK, Windows запоминает сетевые местоположения, к которым вы подключены (и помечены как Гость, Работа или Дом). Он идентифицирует их на основе (возможно, среди прочего) имени домена, возвращаемого сервером DHCP, и MAC-адреса шлюза по умолчанию.
По крайней мере, в Windows 7 home с графическим интерфейсом regedit
и от имени администратора я могу получить эту информацию из HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList
.
Тем не менее, при использовании reg query
или regedit /e
чтобы получить эту информацию из командной строки, например:
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList" /s
Мне отказано в доступе к NetworkList
и любому из его подразделов.
Это работает с повышенным cmd.exe
.
Если я попытаюсь выполнить эту команду через Cygwin sshd
(используя reg
или /proc/registry
) или через утилиту удаленной диагностики kaspersky security center (которая позволяет запускать команды на удаленных машинах) или с помощью SysInteral psexec
, то я получу доступ к NetworkList
но ни один из его подключи (выход не возвращен). Эту часть я также могу воспроизвести на Win7 Enterprise, Windows 10 и Windows 8.1.
Так как же получить доступ к этому ограниченному разделу реестра от Cygwin sshd
.
Кроме того, есть ли другой способ доступа к списку сетевых профилей (информация, которая меня больше всего интересует, - это DateCreated, DateLastConnected, Category (public, private), ProfileName (или любое указание того, каким SSID мог быть для сетей Wi-Fi). ), DnsSuffix и DefaultGatewayMac ), которые не имеют таких ограничений (из sshd
).
Или, в качестве альтернативы, как получить доступ к файлам реестра или любым другим способом, которым я могу получить эту информацию из sshd
в Windows 7 home, 8.1 или 10?
Если бы кто-нибудь мог объяснить механизм, с помощью которого они, кажется, скрыты от меня (AFAICT, ACL для NetworkList такой же, как для его родителя или его подразделов), это было бы здорово.