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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

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.
• Сторонние консольные утилиты можно использовать только в виде готового решения и только в рамках сценариев. Никаких обсуждений и обучений работе с утилитами не предусмотрено и прямо запрещено правилами топика.
Шапка и около-темные вопросы |

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



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

Цитата:
скрипты на PowerShell, которые выкачивают все XPI-файлы данных расширений и тем с вышеуказанных страниц. Ссылки на внешние серверы realityripple.com, github.com и dephormation.org.uk должны игнорироваться.

Как-то так, в окончательном виде:

Код:
function get-xpi {
    param(
        [object[]]$url,
        $name,
        $folder
    )
    $name = $name.trim() -replace '#|/|\\|:|\[|\]','_'
    if (!(test-path ($fold = $folder + $name))){md $fold|out-null}
    $url|%{
        $outname ="$fold\"+$name+'.xpi'
        if (((iwr $_ -method head).headers["content-disposition"]|
        out-string).trim() -match 'filename=\"([^"]+)\"') {
            iwr $_ -out ($fold+'\'+$matches[1])
        } else {iwr $_ -outfile $outname}
    }
}
<#  
массив данных для скачивания, каждый элемент состоит из массива:
0. Ссылка на сайт со списком расширений/тем
1. Фильтр для отбора ссылок из списка (индивидуальный для каждого сайта)
2. Фильтр для выбора ссылки конкретного элемента (индивидуальный)
3. Имя выходного каталога
4. Регулярное выражение для выбора имени подкаталога расширения/темы
#>
$arruri = @(
    @("https://addons.palemoon.org/extensions/?all=1",'category-addon',
    'dllink_green','palemoon_ext','<strong>([^<]+)</strong'),
    @("https://addons.palemoon.org/themes",'category-addon',
    'dllink_green','palemoon_themes','<strong>([^<]+)</strong'),
    @("https://addons.basilisk-browser.org/extensions",'category-addon',
    'button','basilisk_ext','<strong>([^<]+)</strong')
)
 
if($psversiontable.psversion.major -gt 5){$progresspreference = 'SilentlyContinue'}
$arruri|%{
    $urisrc,$filter1,$filter2,$cat,$regflt = $_[0],$_[1],$_[2],$_[3],$_[4]
    $fld = ".\$cat\"
    $uri = [uri]$urisrc
    $uri_new = new-object system.uribuilder -arg $uri.scheme, $uri.host
    $html = iwr $urisrc
    $links = $html.links|?{$_.class -match $filter1 -and $_.href -notmatch 'https?:'}
    ($cat+' ----------- '+$links.count)|out-file log.txt -app -enc utf8
    $links|%{
        $null = ($_.outerhtml -match $regflt)
        $namelink = [net.webutility]::htmldecode($matches[1])
        $namelink|out-file log.txt -app -enc utf8
        $wr = iwr ($uri_new.tostring()+$_.href)
        $wr.links|? class -eq $filter2 -ea 0|%{
            get-xpi ([net.webutility]::htmldecode($uri_new.tostring()+$_.href)) $namelink $fld
        }
    }
}
$progresspreference = 'Continue'
 

Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 18:58 19-06-2021
m00slim25



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Какими способами можно получить список установленных программ ?
Больше интересуют способы без использования PS.

Всего записей: 877 | Зарегистр. 30-05-2006 | Отправлено: 15:50 28-06-2021
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#1  
Просмотреть ветки реестра:
HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
например с помощью reg query | Microsoft Docs

Код:
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /s /v DisplayName

 
Добавлено:
Утилитой wmic
Код:
wmic product get name

 
script.vbs
Код:
strComputer = "."  
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")  
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_Product",,48)  
For Each objItem in colItems  
    Wscript.Echo  objItem.Name
Next
Запускать обязательно  через cscript.exe:
Код:
cscript script.vbs

Всего записей: 3019 | Зарегистр. 16-08-2012 | Отправлено: 20:12 28-06-2021
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m00slim25 гугль не помог что ли ?
https://winitpro.ru/index.php/2016/03/07/kak-vyvesti-spisok-ustanovlennyx-programm-v-windows-10/
 
wmic product get name,version
wmic product get name,version /format:csv > c:\Temp\Programs_%Computername%.csv


----------
В сортире лучше быть юзером, чем админом...

Всего записей: 10739 | Зарегистр. 10-12-2003 | Отправлено: 18:30 29-06-2021
free_user

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Какими способами можно получить список пользователей и к каким группам они принадлежат на локальном компьютере, а в идеале и на удаленном компьютере? Интересуют способы с использованием PS и Batch.

Всего записей: 186 | Зарегистр. 08-10-2003 | Отправлено: 20:24 29-06-2021
iNNOKENTIY21



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

Цитата:
Какими способами можно получить список пользователей и к каким группам они принадлежат на локальном компьютере, а в идеале и на удаленном компьютере? Интересуют способы с использованием PS

1

Код:
function Get-UserGroups {
    param ( [Parameter(Mandatory, ValueFromPipeline)] [string[]] $Name )
 
    process {
        foreach ($n in $Name) {
            [pscustomobject] @{
                User = $n
                Group = Get-LocalGroup | ? { (Get-LocalGroupMember $_ | Where-Object name -like "*\$n").Name }
            }
        }
    }
}
Вызов:
Код:
Get-LocalUser | Get-UserGroups
или
Код:
Get-UserGroups -Name (Get-LocalUser).Name
или
Код:
Get-UserGroups -Name 'Гость'

Всего записей: 3019 | Зарегистр. 16-08-2012 | Отправлено: 21:48 29-06-2021
newhk



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

Код:
 
$status = 'Stopped'
[array]$srv = 'dwmrcs', 'FoxitReaderUpdateService'
 
Stop-Service -Name $srv
 
while ($true){
    if ('Stopped' -eq (Get-Service -Name $srv).Status){
        Write-Host 'Служба остановлена'
        sleep 5
        break
    }
}
 

 
Обе службы остановлены...
 
Тут, наверное, надо понять, почему ('Stopped' -eq (Get-Service -Name $srv).Status) выдает False.
Я не совсем понимаю...

Всего записей: 324 | Зарегистр. 02-02-2009 | Отправлено: 12:01 01-07-2021 | Исправлено: newhk, 12:14 01-07-2021
YuS 2



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

Цитата:
Я не совсем понимаю...

Потому, что оператором -eq, строку нельзя сравнивать с массивом значений, а вот  наоборот - можно.

Код:
(Get-Service -Name $srv).Status  -eq 'Stopped'


Всего записей: 3199 | Зарегистр. 03-02-2009 | Отправлено: 13:34 01-07-2021
newhk



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS 2 Спасибо!

Всего записей: 324 | Зарегистр. 02-02-2009 | Отправлено: 15:37 01-07-2021
Egor2020

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! У меня есть торрент-раздача с книгами на английском языке, которая весит 5,58 ГБ и состоит из 24 ZIP-архивов и 24 TXT-файлов. Ссылку на раздачу не буду оставлять, ибо это варез.
Внутри данной раздачи есть 24 TXT-файла со списками книг, имеющихся в 24 ZIP-архивах. Ссылка на архив с упомянутыми TXT-файлами: https://disk.yandex.ru/d/bh9MuF1AKvBu6w
Мне нужен батник или скрипт на PowerShell, который находит TXT-файлы, содержащие больше всего сочетаний символов .txt, и выводит в консольное окно имена таких TXT-файлов и количества сочетаний символов, найденных в них.
Заранее спасибо.

Всего записей: 855 | Зарегистр. 01-03-2020 | Отправлено: 14:18 07-07-2021
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Egor2020
А смысл?  Метаданные же обрезаны, и половина потеряна
 

The Chronicles of Narnia 3 - The Horse and His Boy
The Chronicles of Narnia 4 - Prince Caspian.txt    
The Chronicles of Narnia 5 - The Voyage of the Daw
The Chronicles of Narnia 6 - The Silver Chair.txt  

 
Если сами данные в файловой системе в целостном состоянии, на битые индексы не стоит полагаться  
 Просто начните сначала.

Всего записей: 14888 | Зарегистр. 14-10-2001 | Отправлено: 14:35 07-07-2021 | Исправлено: LevT, 14:40 07-07-2021
KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
Egor2020
Я извиняюсь. Мне просто интересно, не как модеру, а как обычному участнику.
Вы друг друга понимаете?

Всего записей: 9730 | Зарегистр. 12-10-2001 | Отправлено: 19:31 07-07-2021
kraeved



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Egor2020
powershell -c "sls '\.txt' *.txt | group filename | sort count -des | select count,name"
 
Count Name          
----- ----          
  650 Booklist F.txt
  338 Booklist S.txt
  319 Booklist C.txt
  272 Booklist L.txt
  223 Booklist G.txt
  …

 
У вас кое-где встречается .TXT помимо .txt — команда считает то и другое.
Если нужно считать лишь второе, то добавьте -case после *.txt.
Если интересует топ-5, то добавьте -first 5 после name.

Всего записей: 838 | Зарегистр. 01-03-2003 | Отправлено: 06:12 08-07-2021 | Исправлено: kraeved, 06:54 08-07-2021
Kaber



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ привет всем, настраиваю ассоциацию файлов для новых пользователей скриптами:

Код:
Dism.exe /online /Export-DefaultAppAssociations:C:\DefaultAssoc.xml
 
Dism.exe /Online /Import-DefaultAppAssociations:C:\DefaultAssoc.xml

В итоге у новых пользователей все файлы открываются как нужно, но перестает работать кнопка "Пуск". Никто не сталкивался?

Всего записей: 1302 | Зарегистр. 14-03-2014 | Отправлено: 16:56 20-07-2021
paleomakardi

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

Всего записей: 6 | Зарегистр. 10-08-2021 | Отправлено: 10:07 17-08-2021
Egor2020

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня есть ссылки на последние репозитории Unix-подобной среды Cygwin, совместимые с Windows XP SP3 и Windows Server 2003 SP2 (x86/x64). Вот эти ссылки:
 
32 бита:
http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/setup/snapshots/setup-x86-2.874.exe
http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/2016/08/30/104223
 
64 бита:
http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/setup/snapshots/setup-x86_64-2.874.exe
http://ctm.crouchingtigerhiddenfruitbat.org/pub/cygwin/circa/64bit/2016/08/30/104235
 
У кого-нибудь есть скрипт на Windows PowerShell, который выкачивает полные репозитории Cygwin для Windows XP/2003 по вышеуказанным ссылкам (включая бинарники и исходники)? Официальные установщики Cygwin, к сожалению, очень неудобные, и в них нет кнопки типа "Выбрать все" ("Select All") в списке пакетов для загрузки. Заранее спасибо.

Всего записей: 855 | Зарегистр. 01-03-2020 | Отправлено: 17:58 21-08-2021 | Исправлено: Egor2020, 18:03 21-08-2021
BorlandIMHO

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

Цитата:
Официальные установщики Cygwin, к сожалению, очень неудобные, и в них нет кнопки типа "Выбрать все" ("Select All") в списке пакетов для загрузки.

Ещё как есть

Кликать прям по "Default" в верхней строчке.
 
Клепать скрипт, дублирующий работу штатной утилиты, ИМХО - бессмысленная трата времени.

----------
http://www.imho.ws

Всего записей: 1244 | Зарегистр. 12-10-2006 | Отправлено: 23:39 23-08-2021 | Исправлено: BorlandIMHO, 23:42 23-08-2021
farag



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Автоматизировал выкачивание Office 2019 или 365 с указанием компонентов для установку.
https://github.com/farag2/Office
 
Default.xml помещаем в корень папки рядом с файлов .ps1. Все будет полностью автоматически сделано. В том числе и выкачивание последней версии ODT для развертывания. Установка по окончанию скачивания производится не будет: раскомментируйте последнюю строку вручную.

Всего записей: 1713 | Зарегистр. 27-07-2009 | Отправлено: 14:58 04-09-2021
Baltazar500



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли через wmic получить IP - адрес PPPoE - соединения (WAN Miniport (PPPOE) // RasPppoe) ? Сейчас его выкорвыриваю через разбор выхлопа
Код:
netsh interface ip show config name="xxx"
, но для расширения кругозора интересно узнать, возможно ли это сделать через wmic В выхлопе WMIC NICConfig нужного адреса не было, поэтому составлять выражение wmic было не на чем. Или надо смотреть другой "раздел" настроек через wmic ?

Всего записей: 1737 | Зарегистр. 19-09-2011 | Отправлено: 07:19 15-09-2021
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Baltazar500 Попробуй так
WMIC nicconfig WHERE "IPEnabled = true" GET IPAddress /FORMAT:value
должен показать все  IP-ы
 
Если не покажет, то  смотришь  сначала номер индекса порта  PPPOE интерфейса:
 
wmic nic get index,name,NetConnectionID
 
у меня он 4
 

Код:
 
0      WAN Miniport (SSTP)
1      WAN Miniport (IKEv2)
2      WAN Miniport (L2TP)
3      WAN Miniport (PPTP)
4      WAN Miniport (PPPOE)
5      WAN Miniport (IPv6)
6      WAN Miniport (Network Monitor)
7      Realtek PCIe GBE Family Controller  Подключение по локальной сети
8      WAN Miniport (IP)
9      Адаптер Microsoft ISATAP
10     RAS Async Adapter
11     Адаптер Microsoft ISATAP  

 
затем  
 
wmic nicconfig where index="4" get ipaddress  
 
для примера для эзернета
 
D:\wmic nicconfig where index="7" get ipaddress /value
 
IPAddress={"192.168.1.5"}


----------
В сортире лучше быть юзером, чем админом...

Всего записей: 10739 | Зарегистр. 10-12-2003 | Отправлено: 10:19 17-09-2021 | Исправлено: ipmanyak, 10:40 17-09-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru