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

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

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

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

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



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

Цитата:
Все работает ровно до того, когда имеется ПК с 1 диском, разбитым на 2.

А в каких случаях не работает?  
Кроме того, надо сформулировать конечную идею, причем наиболее полно. Тогда будет легче реализовывать...
Т.е. возможные конфигурации дисков:
1 диск - 1 раздел
2 диска по 1 разделу
2 диска -  1 диск с двумя разделами, где 1 раздел системный, активный, загрузочный и 1 дополнительный
 
и т.д.
проще всего, для проверки сделать так:

Код:
 get-disk|get-partition|ft DiskNumber,PartitionNumber,DriveLetter,IsActive,IsBoot,IsSystem,MbrType -auto  -wrap

получим примерно это:

Цитата:
DiskNumber PartitionNumber DriveLetter IsActive IsBoot IsSystem MbrType
---------- --------------- ----------- -------- ------ -------- -------
         1               1           E     True  False    False      11
         0               1                 True  False     True       7
         0               2           C    False   True    False       7
         0               3           D    False  False    False       7

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 13:00 12-02-2019 | Исправлено: YuS_2, 13:18 12-02-2019
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
Идея в том, что запустив скрипт на новом ПК, не думать, на каком диске создавать папки Загрузки и Документы.

Всего записей: 2522 | Зарегистр. 27-07-2009 | Отправлено: 13:27 12-02-2019
YuS_2



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

Цитата:
Идея в том

Вообще-то, идеей можно назвать "Хочу всё автоматизировать"
Вот, только по такой идее алгоритмы построить оооочень непросто...
 
Для тестов дисков, в таблицу добавлено поле Размер:

Код:
get-disk|get-partition|ft DiskNumber,PartitionNumber,DriveLetter,IsActive,IsBoot,IsSystem,@{Label="Size"; Expression={'{0:n2} {1}' -f $(if($_.Size/1GB -gt 1){$_.Size/1GB;$a='GB'}else{$_.Size/1MB;$a='MB'}),$a}},MbrType -a -w

 
Добавлено:
farag

Цитата:
на новом ПК, не думать, на каком диске создавать папки Загрузки и Документы.

Вот тут надо составлять список вариантов конфигураций, потом уже учитывать как поступит человек при той или иной конфигурации дисков... а потом уже реализовывать алгоритм в код. Наоборот - не выйдет каменный цветок.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 13:37 12-02-2019
LevT



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

Цитата:
Идея в том, что запустив скрипт на новом ПК, не думать, на каком диске создавать папки Загрузки и Документы.

 
Я тут пару раз по полмесяца боролся с последствиями аналогичной автоматизяции в одним модуле с гитхаба.
Разработчик наворотил изощрённую логику для выбора самого быстрого раздела для создания там лабораторных виртуалок из vhdx  (запускает winsat с параметрами и т.п) и очень ею горд. Относительно установленной буквы строятся пути, всё это записывается в конфиг и запускается процесс сборки лабы.  
Дело было задолго до моего появления... с тех пор модуль обновляется раз в пару месяцев, а логика эта кочует из версии в верию.
 
Мне вот она нахрен не нужна, а нужна наоборот определённость.
У меня например бывает UEFI ESP смонтирован буквой - и авторская машинерия норовит выбрать этот FAT32 раздел на SSD неминуемым дальнейшим обломом (но предварительно выжирает кучу моего времени).
 
Впоследствии обнаружился параметр, который позволяет отключить изврат и выбрать том вручную.
Но у автора противоположное мнение, чтО есть изврат - потому достижение автора документировано хорошо, а способ его отключить плохо.

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 14:03 12-02-2019 | Исправлено: LevT, 15:41 12-02-2019
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
Я остановился на всплывающем вопросе, какой диск использовать. А так да, все не автоматизируешь.

Всего записей: 2522 | Зарегистр. 27-07-2009 | Отправлено: 14:15 12-02-2019
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag
Любая автоматизация любой код основывается на некоторых допущениях.
Разумный автор ПРЕЖДЕ чем делиться своим кодом подумает о пользователе, у которого эти допущения не соблюдены.
 
 
Добавлено:
farag

Цитата:
Я остановился на всплывающем вопросе, какой диск использовать. А так да, все не автоматизируешь.

 
Я б попросил назначить определённую метку тома (только в случае если она не назначена раньше).
Зачем отказываться, если возможность их использовать дана даром вместе с ОС, проводником и файловыми менеджерами?
 
 
Добавлено:
И да, я подумал о тех, у кого всё завязано на эти метки, и они имеют свой смысл несовместимый с твоим.
Вот я например такой.
Узок круг их, и страшно далеки они от народа!

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 14:21 12-02-2019 | Исправлено: LevT, 14:44 12-02-2019
2as

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

Цитата:
Идея в том, что запустив скрипт на новом ПК, не думать, на каком диске создавать папки Загрузки и Документы.

а в ручном режиме Вы чем руководствуетесь при выборе диска (логического, на локальном компе? Или может быть диск сетевой/внешнийUSB & etc... )?
1. Для какой ОС (или семейства)?
2. Чем не устраивают стандартные (если речь идет о локальном HDD/SSD)?

Всего записей: 3637 | Зарегистр. 09-09-2003 | Отправлено: 14:49 12-02-2019 | Исправлено: 2as, 14:50 12-02-2019
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2as
Если 1 диск, то скорее всего это SSD мелкий. Тогда в корне C можо папки создать.
Если 2 диска, то скорее всего SSD+HDD, и будем на HDD создавать.
Если 1 диск, разбитый на 2, то скорее всего это HDD, разбитый на 2.

Цитата:
1. Для какой ОС (или семейства)?  

Win 10 (8.1).

Цитата:
Чем не устраивают стандартные (если речь идет о локальном HDD/SSD)?

Не люблю, когда нужная папка (на считая ссылки на нее) находится в заднице: %userprofile%\Downloads, etc.

Всего записей: 2522 | Зарегистр. 27-07-2009 | Отправлено: 14:56 12-02-2019
LevT



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

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 14:58 12-02-2019
YuS_2



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

Цитата:
Если 1 диск, то скорее всего это SSD мелкий. Тогда в корне C можо папки создать.  
Если 2 диска, то скорее всего SSD+HDD, и будем на HDD создавать.  
Если 1 диск, разбитый на 2, то скорее всего это HDD, разбитый на 2.

Вот это вот уже ближе к алгоритму... только надо свести всё в кучу и выстроить в правильном направлении, прежде чем код составлять
 
А так, можно использовать, что-то типа:

Код:
get-disk|?{$_.isboot -eq $true -and $_.numberofpartitions -gt 1}|get-partition

Т.е. загрузочные диски с одним разделом не рассматриваем, а если есть с двумя и более, то уже разбираем разделы и т.д.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 15:10 12-02-2019 | Исправлено: YuS_2, 15:12 12-02-2019
dragovich01

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
farag
слушать готов, конечно
 
LevT
фуфлокод нашел в инете, подкорректировал для себя как сумел)
Вы имеете ввиду что в том виде в котором я выложил код устарел и не надо идти тем путем?
 
 
$Computer = Get-ADComputer -Filter * | Where-Object { $_.enabled -eq $true }  
$Computer.name | Get-CimInstance win32_computersystem -ea SilentlyContinue | Where Username -match User1
 
предложенный вами код вернул такую ошибку:
 
Get-CimInstance : WinRM не удается выполнить операцию Убедитесь, что имя компьютера указано правильно, компьютер доступен по сети, а в брандмауэре
 задано исключение для службы WinRM, которое разрешает доступ к этому компьютеру. По умолчанию исключение брандмауэра для WinRM для общедоступных  
профилей ограничивает доступ к удаленным компьютерам в той же локальной подсети.
строка:1 знак:18
+ $Computer.name | Get-CimInstance win32_computersystem <#-ea SilentlyContinue#> | ...
+                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : Ошибка подключения: (root\cimv2:win32_computersystem:String) [Get-CimInstance], CimException
    + FullyQualifiedErrorId : HRESULT 0x80338126,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
    + PSComputerName        :
 
это из-за того что служба WinRM не запущена? массово запустить пока нет возможности

Всего записей: 104 | Зарегистр. 03-09-2014 | Отправлено: 08:38 13-02-2019 | Исправлено: dragovich01, 10:13 13-02-2019
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
Спасибо за советы, но, наверное, останусь на варианте вбивать просто букву диска: слишком много разных ПК.

Всего записей: 2522 | Зарегистр. 27-07-2009 | Отправлено: 10:28 13-02-2019
YuS_2



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

Цитата:
слишком много разных ПК.

Это да, все варианты предусмотреть сложно... тут, всё же, действительно, практичнее и главное надежнее, будет ручной выбор.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 10:52 13-02-2019
2as

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

Цитата:
Не люблю, когда нужная папка (на считая ссылки на нее) находится в заднице: %userprofile%\Downloads, etc.

так это же можно решить ярлыками на рабочем столе. И реализация сценарием этого радикально проще )))

Всего записей: 3637 | Зарегистр. 09-09-2003 | Отправлено: 12:22 13-02-2019
LevT



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

Цитата:
это из-за того что служба WinRM не запущена?
 
 
ну да  
Без ремотинга повершел калека на костылях.
 
 

Цитата:
массово запустить пока нет возможности

 
https://www.dtonias.com/enable-powershell-remoting-group-policy/
Мешают злые "безопасники" - или сами опасаетесь?  
 
Ну нету причин его не включать, кроме самопризнания админов "мы блондинки".
Это как с безопасностью на основе блокирования ICMP-ответов: для любителей садомазо самое оно
 
 
Добавлено:
dragovich01

Цитата:
Вы имеете ввиду что в том виде в котором я выложил код устарел и не надо идти тем путем?  

 
Ну можно вернуться к использованию WMI - но вообще-то обеспечить работу RPC в среднестатистической корп. сети значительно геморройнее чем работу Wsman
Трудно поверить, что у вас все пингуемые клиенты доступны для WMI вызовов: обычно без специальных усилий с этим лотерея.
Оттого и тормоза возможны.

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 13:46 13-02-2019 | Исправлено: LevT, 15:03 13-02-2019
dragovich01

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

Цитата:
Мешают злые "безопасники" - или сами опасаетесь?

типа того) недавно я в компании, доступа до контроллера AD не имею. надо будет договариваться со старшим админом)
 
и на этом спасибо)

Всего записей: 104 | Зарегистр. 03-09-2014 | Отправлено: 04:59 14-02-2019
Tiikker



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня в системной папке Temp (обе переменные объединены в одну) какая-то софтинка гадит, создаёт уйму подпапок с именами tw-*.* - до полутысячи штук.. ) Надоело мне это, написал простой батник, может, кому и пригодится:
 
@echo off
for /d %%i in (Z:\Temp\tw-*.*) do rd /s /q %%i
 
... батник поставил исполняемым в задачи при загрузке Винды. Теперь Темп у меня чистенький )
 
Z - это у меня отдельный хард под временные файлы. Исправляйте по своим путям.

Всего записей: 956 | Зарегистр. 05-06-2018 | Отправлено: 11:53 14-02-2019
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tiikker
 
PS>  'D:\Temp\tw*' | Remove-Item -Recurse
 
А лучше б посмотрел кто гадит, руссиновичем.

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 12:41 14-02-2019
Death_INN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Get-WinEvent -Path 'C:\Windows\System32\Winevt\Logs\Microsoft-Windows-Diagnostics-Performance%4Operational.evtx' | Where-Object {$_.ID -eq "100"} | Format-List
 
Требуется вывести 20 событий с ID 100 в виде таблицы со столбцами: ID, Date, Time и столбец с длительностью загрузки.

Всего записей: 3548 | Зарегистр. 24-10-2002 | Отправлено: 12:38 15-02-2019 | Исправлено: Death_INN, 12:40 15-02-2019
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Death_INN
 
Format-List выводит только избранные свойства объекта
Можно добавить *, чтобы ознакомиться с полным их списком

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 13:04 15-02-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 226 227 228 229 230

Компьютерный форум 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