Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225

Открыть новую тему     Написать ответ в эту тему

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Старые и смежные темы: по CMD и в Программах | по PowerShell | В помощь системному администратору | Прикладное программирование

PowerShell
Версии | Ассоциация и подпись сценариев
Сценарий для ассоциации файлов PowerShell и запуска неподписанных скриптов.
 
Прочее
Расширение возможностей
Функции
Write-Color
Output-DebugString
Провайдеры
Готовые скрипты
Полезные ссылки | Будет ли репозиторий PowerShell на ru-board?
Книги в PDF
Cheat Sheets
 

Cmd
Для перекодирования кириллицы 866<—>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы
 
Готовые решения и частые вопросы
 
Описания работы команд и символов участниками темы:
setlocal enabledelayedexpansion и переменные окружения
символы & и && в командной строке
Переменная %0
 
Полезные ссылки и утилиты

WSH (VBScript, JScript)
Программирование "удобняшек" на VBScript

Примечания:
• Большие куски кода заключайте в тэг [ more ]
• Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте код без пробелов иначе сценарий может работать неправильно. Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
• Сторонние консольные утилиты можно использовать только в виде готового решения и только в рамках сценариев. Никаких обсуждений и обучений работе с утилитами не предусмотрено и прямо запрещено правилами топика.
Шапка и около-темные вопросы |

Всего записей: 11113 | Зарегистр. 12-10-2001 | Отправлено: 13:40 17-02-2018 | Исправлено: YuS 2, 08:24 19-06-2021
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Правильно ли я вычленяю нужный адаптер (реальный), чтобы забацать ему DoH?
 

Код:
 
# https://techcommunity.microsoft.com/t5/networking-blog/windows-insiders-can-now-test-dns-over-https/ba-p/1381282
# https://winitpro.ru/index.php/2020/07/10/nastroyka-dns-over-https-doh-v-windows/
if ((Get-CimInstance -ClassName CIM_ComputerSystem).PartOfDomain -eq $false)
{
    $MacAddress = (Get-NetAdapter -Physical).MacAddress
    $InterfaceIndex = (Get-NetIPConfiguration | Where-Object -FilterScript {$_.NetAdapter.LinkLayerAddress -eq $MacAddress}).InterfaceIndex
    $Parameters = @{
        InterfaceIndex = $InterfaceIndex
        ServerAddresses = '1.1.1.1'
    }
    Set-DnsClientServerAddress @Parameters
 
    Clear-DnsClientCache
    Register-DnsClient
}
 

Всего записей: 2477 | Зарегистр. 27-07-2009 | Отправлено: 12:47 07-08-2020
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag

Цитата:
Правильно ли я вычленяю нужный адаптер (реальный), чтобы забацать ему DoH?

 
Если не один адаптер, первая строка вернёт массив,  $InterfaceIndex будет пуст.
Отбор, еще, как то, надо делать.
 
все индексы физических адапетров:

Код:
(Get-NetAdapter -Physical).ifIndex

 
 

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 20:24 07-08-2020 | Исправлено: iNNOKENTIY21, 20:25 07-08-2020
westlife



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag

Цитата:
Правильно ли я вычленяю нужный адаптер (реальный)

Физических адаптеров может быть больше 1, и с -eq $MacAddress будет проблема
надо делать foreach
Вот: https://i.imgur.com/jHqQLfK.png
А насчет именно Doh не в курсе, зачем это включать, не вникал в это.

Всего записей: 1390 | Зарегистр. 12-12-2006 | Отправлено: 20:31 07-08-2020
fakel33



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я определил сетевой адаптер через  

Код:
get-netadapter -physical
Name                      InterfaceDescription                    ifIndex Status
----                      --------------------                    ------- ------
Ethernet                  Realtek PCIe GbE Family Controller           11 Up  
 

Как можно с поиощью PS или cmd отключить и включить этот адаптер?

Всего записей: 1186 | Зарегистр. 22-08-2003 | Отправлено: 11:57 08-08-2020
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fakel33

Цитата:
Я определил сетевой адаптер через

 
от админа:
для выключить: get-netadapter -physical | Disable-NetAdapter
или, если без вопросов: get-netadapter -physical | Disable-NetAdapter -Confirm:$false
для включить: get-netadapter -physical | Enable-NetAdapter
 
узнать, к какому модулю принадлежит команда (поле Source):
gcm get-netadapter
узнать, какие ещё есть командлеты в данном модуле:
gcm -Module NetAdapter

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 13:37 08-08-2020 | Исправлено: iNNOKENTIY21, 13:38 08-08-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Иногда в интернет глядит именно виртуальный адаптер, и это нормально.
 
При подключённом интернете тот самый адаптер можно всегда получить благодаря автонастройке дефолтного маршрута в винде:
 

Код:
 
Get-NetRoute | Where DestinationPrefix -eq '0.0.0.0/0' | Get-NetAdapter  
 

 

Всего записей: 17166 | Зарегистр. 14-10-2001 | Отправлено: 15:15 08-08-2020 | Исправлено: LevT, 17:37 08-08-2020
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вырисовывается, что то, типа:
если один адапетр => настраиваем его
если несколько адаптеров и есть интернет => определяем по DestinationPrefix и настраиваем его
иначе спросить узера, через какой он будет летать в инетах и настраиваем его..
   а еще вариант забить и сразу просить указать адаптер

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 20:16 08-08-2020
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
westlife
Я как всегда не подумал, что есть еще ноутбуки с eherthet-разъемами: у меня-то лишь Wi-Fi-карточка. Блин, надо тестировать на чем-нибудь...

Всего записей: 2477 | Зарегистр. 27-07-2009 | Отправлено: 09:02 10-08-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag
 
А ещё есть гипервизоры, которые могут на дороге в интернет вклинить виртуальный адаптер
   - если интернет нужен и хосту и гостям, а это как правило так.
 
И VPN-подключения тоже так делают
 - а потом с ними возникает тема split tunneling  
  (для корпоративных подключений считается угрозой безопасности и типа пускай админ включит голову, если всё-таки это надо)

Всего записей: 17166 | Зарегистр. 14-10-2001 | Отправлено: 11:23 10-08-2020 | Исправлено: LevT, 11:28 10-08-2020
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
Поэтому проверяю, в домене ли ПК. )

Всего записей: 2477 | Зарегистр. 27-07-2009 | Отправлено: 12:10 10-08-2020
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
westlife

Код:
 
foreach ($MacAddress in (Get-NetAdapter -Physical).MacAddress)
{
    $InterfaceIndexes = (Get-NetIPConfiguration | Where-Object -FilterScript {$_.NetAdapter.MacAddress -eq $MacAddress}).InterfaceIndex
    foreach ($InterfaceIndex in $InterfaceIndexes)
    {
        $Parameters = @{
            InterfaceIndex = $InterfaceIndex
            ServerAddresses = '1.1.1.1'
        }
        Set-DnsClientServerAddress @Parameters
        Get-DnsClientServerAddress -Family IPv4 -InterfaceIndex $InterfaceIndex
    }
}
 
Clear-DnsClientCache
Register-DnsClient
 

 
Вроде, так. Но вот не понял, почему на 1909 работает

Код:
 
Get-NetAdapter -Physical | Get-DnsClientServerAddress -Family IPv4
 

 
А на 2004 пишет

Код:
 
Get-DnsClientServerAddress : Запрос CIM экземпляров класса ROOT/StandardCimv2/MSFT_DNSClientServerAddress на CIM-сервере : SELECT * FROM MSFT_
DNSClientServerAddress  WHERE ((InterfaceIndex = 9)) AND ((AddressFamily = 2)) не удалось обнаружить соответствующие объекты (MSFT_DNSClientSe
rverAddress). Проверьте параметры запроса и попробуйте еще раз.
строка:2 знак:28
+ Get-NetAdapter -Physical | Get-DnsClientServerAddress -Family IPv4
+                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (MSFT_DNSClientServerAddress:String) [Get-DnsClientServerAddress], CimJobException
    + FullyQualifiedErrorId : CmdletizationQuery_NotFound,Get-DnsClientServerAddress
 

Всего записей: 2477 | Зарегистр. 27-07-2009 | Отправлено: 13:31 11-08-2020 | Исправлено: farag, 13:32 11-08-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag
 
У меня на 2004 вот такой зоопарк
 

Код:
 
PS C:\Windows\System32> Get-DnsClientServerAddress -Family IPv4 | ft -AutoSize
 
InterfaceAlias                InterfaceIndex AddressFamily ServerAddresses
--------------                -------------- ------------- ---------------
Local Area Connection                     28 IPv4          {}
VirtualBox Host-Only Network              31 IPv4          {}
vEthernet (packer-hyperv-iso)             33 IPv4          {192.168.188.1, 217.70.16.30, 217.70.31.145}
vEthernet (packer-hyperv...2               6 IPv4          {192.168.188.1, 217.70.16.30, 217.70.31.145}
VMware Network Adapter V...1               8 IPv4          {}
VMware Network Adapter V...8              15 IPv4          {}
Loopback Pseudo-Interface 1                1 IPv4          {}
vEthernet (VirtualBox Host)               13 IPv4          {}
vEthernet (Default Switch)                29 IPv4          {}
vEthernet (vEthernet (pack)               49 IPv4          {}
vEthernet (vEthernet (pa...2              61 IPv4          {}
vEthernet (VMware Network )               66 IPv4          {}
vEthernet (VMware Networ...2              71 IPv4          {}
vEthernet (WSL)                           78 IPv4          {}
 

 
и сразу видно что айпишника на физическом интерфейсе нет, со всеми вытекающими
 
 
Добавлено:
 
Достаточно включить WSL2, и уже в интернет будет глядеть vEthernet (WSL)  

Всего записей: 17166 | Зарегистр. 14-10-2001 | Отправлено: 15:52 11-08-2020
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT

Код:
 
Get-NetAdapter -Physical | Get-DnsClientServerAddress -Family IPv4  
 

ошибки нет?

Всего записей: 2477 | Зарегистр. 27-07-2009 | Отправлено: 10:50 12-08-2020
westlife



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag

Цитата:
ошибки нет?

У меня на 2004 .329  и обновлённой нету такой ошибки, я даже ни как не смог ее повторить.
Но 2004 сырая еще, лучше обновить. То, что у меня выявились проблемы при тестах на .329 - ушли после обновления до .388, сейчас уже .450  
Чтобы 2 раза не запускать командлеты можно так сделать:

Код:
$MacAddress = (Get-NetAdapter -Physical).MacAddress
Get-NetIPConfiguration | Where-Object { $MacAddress -like $_.NetAdapter.MacAddress } | ForEach-Object {
         
    #" InterfaceIndex: $($_.InterfaceIndex)"
 
    $Parameters = @{
        InterfaceIndex = $_.InterfaceIndex
        ServerAddresses = '1.1.1.1'
    }
    Set-DnsClientServerAddress @Parameters
    Get-DnsClientServerAddress -Family IPv4 -InterfaceIndex $_.InterfaceIndex
}
 

Всего записей: 1390 | Зарегистр. 12-12-2006 | Отправлено: 13:01 12-08-2020
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
westlife
Обновлюсь и проверю. В "Быстрой настройки" ответил тебе насчет того бага с PS4 у чувака.

Всего записей: 2477 | Зарегистр. 27-07-2009 | Отправлено: 13:05 12-08-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ошибки нет?

 
Есть ошибка.
Потому что не только адреса нету, нету IP стека на физическом адаптере
 
Как с любой виртуализацией - если заглянуть в окошко настройки, там галка снята.
 
 

Цитата:
Но 2004 сырая еще,

 
Если включена хотя бы WSL2 которая по факту в виртуалке - не дождётесь вы IP на физике..

Всего записей: 17166 | Зарегистр. 14-10-2001 | Отправлено: 17:50 12-08-2020 | Исправлено: LevT, 00:09 13-08-2020
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
Но ведь указывается физический адаптер, так почему нет IP-стека? -Physical

Всего записей: 2477 | Зарегистр. 27-07-2009 | Отправлено: 08:29 13-08-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag
 
А почему ты решил, что -Physical должно означать его наличие?
 
 
Добавлено:
 
Если щас к Hyper-V добавят бридж как в других гипервизорах испокон века сделано - то будет там стек как вариант, WSL2 будет наравне с хостом хватать dhcp адрес с домашнего маршрутизатора, и можно будет именно на нём пробросить в неё порты (dst-nat).
 
Но отсутствие стека на физике - норма с самой первой версии вмваре воркстанции
И с VPN тоже
Вместо TCP/IP стека к физическому интерфейсу привязываются протоколы сетевой виртуализации,
     вот как у меня их зоопарк см. выше, от каждого гипервизора свой

Всего записей: 17166 | Зарегистр. 14-10-2001 | Отправлено: 09:46 13-08-2020 | Исправлено: LevT, 09:58 13-08-2020
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT

 

Код:
 
$URLs = @(
    "https://github.com/coelckers/gzdoom/releases/",
    "https://www.moddb.com/downloads/start/95667",
    "http://iddqd.ru/levels?find=Doom%202:%20Hell%20on%20Earth"
)
foreach($url in $urls)
{
    Start-Process -FilePath "$env:ProgramFiles\Mozilla Firefox\firefox.exe" -ArgumentList $URL
}
 

 
Какая-то глупая задача стоит: открыть в текущем открытом окне вкладки. Открывается все, но с какой-то задержкой по одному. Это баг или фича?
Если делать так

Код:
 
Start-Process -FilePath "$env:ProgramFiles\Mozilla Firefox\firefox.exe" -ArgumentList $URLs
 

то открывается сразу все вкладки, но в новом окне.

Всего записей: 2477 | Зарегистр. 27-07-2009 | Отправлено: 10:09 13-08-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Открывается все, но с какой-то задержкой по одному. Это баг или фича?

 
Думаю фича.
В первом случае ты запускаешь вручную по фаерфоксу, во втором скармливаешь три урла одному и тому же процессу.
 
Что и как открывать, решает твой фаерфокс.
 
 
Добавлено:
 
Как автоматизировать конкретный браузер, надо изучать в его конкретных доках, притом конкретной версии.
Винда не может это проконтролировать
 
 
 
Добавлено:
iNNOKENTIY21

Цитата:
Вырисовывается, что то, типа:
если один адапетр => настраиваем его
если несколько адаптеров и есть интернет => определяем по DestinationPrefix и настраиваем его
иначе спросить узера, через какой он будет летать в инетах и настраиваем его..
   а еще вариант забить и сразу просить указать адаптер  

 
 
Чёта какта сложно, зачем?
 
Если есть (любой!) интернет, обязательно есть и дефолтный маршрут в нули.
 
Если есть только локалка, есть маршрут типа '192.168.1.0/24'
Если есть корпоративный VPN, то есть маршрут в ту сетку, типа '172.24.0.0/16'
 
Для меня внезапно удивительно, что можно до седых мудей об этом так и не узнать, оставаясь "админом локалхоста"
Обучение азам CCNA точно здесь офтопик.

Всего записей: 17166 | Зарегистр. 14-10-2001 | Отправлено: 10:36 13-08-2020 | Исправлено: LevT, 11:13 13-08-2020
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru