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

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

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



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
 
hosts позволит только IP назначить несколько псевдонимов
С тем же успехом ты можешь первым делом попробовать подключиться по циферькам (вот уже и второе подключение...)
 
Если этого недостаточно, покопайся в DnsClient, он должен уметь.
Ну или сторонним софтом который его дурит/подменяет.
 
Или на раутере

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 16:16 07-02-2020 | Исправлено: LevT, 16:18 07-02-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
 
cmdkey
 
и Install-Module CredentialManager
 
http://techgenix.com/managing-cached-credentials/
 
 
 
NEWBIES
 
Учимся работать в консоли
Именно тут алиасы уместны, и знать их полезно
 

Код:

cmdkey /list
 
cmdkey /list | sls 'Target'
 
cmdkey /list | sls 'Target' | % {$_ -replace '^\s*',''}
 
cmdkey /list | sls 'Target' | % {$_ -replace '^\s*Target',''}
 
cmdkey /list | sls 'Target' | % {$_ -replace '^\s*Target:.*:target=',''}
 
$target = cmdkey /list | sls 'Target' | % {$_ -replace '^\s*Target:.*:target=',''}   #пойдёт в скрипт
 
$target
 

 
 
Генерим данные для дальнейшего исследования  
 

Код:

0..($target.Count -1)
 
...
 
0..($target.Count -1) | % {[PsCustomObject]@{Index=$_; Value=$target[$_]}}
 
$Items = 0..($target.Count -1) | % {[PsCustomObject]@{Index=$_; Value=$target[$_]}}  #пойдёт в скрипт
 
$Items
 

 
 
 
Добавлено:
 
Выясняем, что важную часть информации похерили регулярным выражением, возвращаемся

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 13:21 08-02-2020 | Исправлено: LevT, 14:20 08-02-2020
iNNOKENTIY21



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

Утилита хорошо.
 
Модуль, левый, ставить от админа для работы с паролями, мне стрёмно Да он ничего не делает, что не может утилита.
Обёртка над утилитой, мне кажется лишней. В качестве менеджера (много записей и т.д.) всё рано keepass рулит.
А изредка поглядеть, удалить лишнее, утилиты и так хватит.
 
А вот как всё это поможет мне с двумя пользователями на один ресурс?

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 15:19 08-02-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
 
Я тебя ни к чему не уговариваю.
Просто для информации
 
Согласен, что модули карго-культ, если не уметь ими пользоваться.
А на каждый модуль нужно время.
Чтобы с уверенностью утверждать, что он может или не может, хотя бы..
 
 
Добавлено:
 
Предлагаю подумать о том, как избежать повторных затрат времени
То есть, в каком виде делиться накопленным опытом
 
У меня есть кое-какие соображения.





Задрал, птица говорун. Где примеры?

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 15:26 08-02-2020 | Исправлено: KLASS, 15:38 08-02-2020
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
Цитата:
Я тебя ни к чему не уговариваю.
Просто для информации  

Информацию я принял, хорошая утилита.

Цитата:
Согласен, что модули карго-культ, если не уметь ими пользоваться.  

Т.е. это ты меня назвал отсталым аборигеном, который увидел модуль powershell, пытается его повторить, рисуя символы на скале и чета не взлетает… За что?

Цитата:
А на каждый модуль нужно время.
Чтобы с уверенностью утверждать, что он может или не может, хотя бы..  

По твоей же ссылке, на описание модуля, всё очевидно. Мою задачу не решает.
Делает 3 функции, как утилита. Поглядеть, Создать, Удалить. Привязка к target, у target один User.

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 16:05 08-02-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пример добавления ScriptProperty к массиву
 
Может, iNNOKENTIY21 уже и докопался до такого - тогда сорри, но повторить всё равно не лишнее
 
 

Код:

$DscResourcesAvailable = Find-DscResource
 
$MemberParams = @{
  MemberType = 'ScriptProperty'
  Name       = 'PSGetModuleinfoLookup'
 
  Value      = {
    [PSCustomObject]@{
      DscResource  =  $this.Name
      Module        = $this.ModuleName
      ProjectUri    = $this.PSGetModuleInfo.ProjectUri
      PublishedDate = $this.PSGetModuleInfo.PublishedDate
    }
  }
}
 
$DscResourcesAvailable | Add-Member @MemberParams -Force   #-Force в скрипте не нужен: он для отладки, чтобы править @MemberParams  
 
$Lookup = $DscResourcesAvailable.PSGetModuleinfoLookup
 
$Lookup | Out-GridView
 
$Lookup |  
    where DscResource -Like -Value '*optional*' |
        select -ExpandProperty ProjectUri -Unique |  
            foreach {Start-Process $_}                    # открываем исходники в браузере
 

 
Добавлено:
 
Add-Member для дальнейших манипуляций с выдачей, типа как здесь
 
Есть подобная фишка для форматирования: это Update-TypeData

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 13:16 09-02-2020 | Исправлено: LevT, 13:47 09-02-2020
LevT



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

Код:

 
$Packages = @"
LanguageDsc
ComputerManagementDsc
"@
 
$installAbsentModule = {
  begin {
     $Packages = Get-Package
     $Packages | ft -AutoSize     # вот такие вот пакеты подвластны пакетному менеждеру повершел
     $PackageNames = $Packages.Name
  }
  process {
    if ($PackageNames -notcontains $_) {
      Install-Module $_ -Force -Verbose  
    }  
  }
}
 
$Packages | & $installAbsentModule  


Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 15:18 09-02-2020 | Исправлено: LevT, 15:39 09-02-2020
PhoenixUA



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

Цитата:
$installAbsentModule  - замыкание, ибо натурально замыкает переменную $Packages = Get-Package

Замыкания в Powershell создаются с GetNewClosure()

Всего записей: 2184 | Зарегистр. 17-11-2005 | Отправлено: 15:50 09-02-2020
LevT



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

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 16:09 09-02-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
 
Подвернулось вот такое
https://www.ironcastle.net/secrets-management-development-release/
 
Добавлено:
https://www.powershell.co.at/first-look-at-the-secrets-management-module/
 
 
Добавлено:
 
Получаем последние исходники модуля (другого)
 

Код:
 
$module = fimo ComputerManagementDsc
git clone $module.ProjectUri.AbsoluteUri
 

 
 
Добавлено:
 
Исходники SecretsManagement тоже открыты, но майки их отдадут в pwsh не раньше, чем реализуют свои собственные хотелки
неверно понял: они и сейчас под pwsh, просто пулреквесты пока не принимаются
 
https://github.com/PowerShell/Modules/tree/master/Modules

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 18:32 09-02-2020 | Исправлено: LevT, 19:22 09-02-2020
farag



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

Код:
 
do
{
    $OUchoice = Read-Host " "  
    Switch ($OUchoice)
    {
        {
            [string]::IsNullOrEmpty($OUchoice)
        }
        {
            Break
        }
        "l"
        {
            "1"
        }
        "d"
        {
            "2"
        }
        Default
        {
            "3"
        }
    }
}
Until (($OUchoice -eq "L") -or ($OUchoice -eq "D"))
 

Где ошибка, что не выходит из цикла, если попытаться пропустить, нажав на Enter?

Всего записей: 2474 | Зарегистр. 27-07-2009 | Отправлено: 10:57 10-02-2020
westlife



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

Код:
 
do
{
    $OUchoice = Read-Host " "  
    if ( [string]::IsNullOrEmpty($OUchoice) ) { break }
    else
    {
        Switch ($OUchoice)
        {
            "l"
            {
                "1"
            }
         
            "d"
            {
                "2"
            }
         
            Default
            {
                "3"
            }
        }
    }
}
Until (($OUchoice -eq "L") -or ($OUchoice -eq "D"))  
 

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
westlife
Хм, и правда. Спасибо!
 
После 4 дней раскопок получилось вот что. Возможно, кому-то будет полезно покопаться в некрокоде.
Вообще MS в папке хранит README, где

Код:
 
Microsoft Edge settings and storage represent user-selected preferences and information and MUST not be extracted, overwritten or modified except through Microsoft Edge defined APIs.
 

Настройка Edge Chromium
https://pastebin.com/KABm10Hv

Всего записей: 2474 | Зарегистр. 27-07-2009 | Отправлено: 14:29 10-02-2020 | Исправлено: farag, 16:27 10-02-2020
iNNOKENTIY21



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

Цитата:
Подвернулось вот такое
https://www.ironcastle.net/secrets-management-development-release/

Интересно. Избавляемся от своей реализции и хранения файла.
А на 5.1 ставить как?

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 10:51 11-02-2020
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
поковырять исходники, я думаю
 
Это если хочешь своё что-то сгородить побыстрее.
Если хочешь воспользоваться их модулем - ждать, пока они как минимум начнут принимать пулреквесты (то есть определятся с базовой архитектурой).

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 11:35 11-02-2020 | Исправлено: LevT, 11:38 11-02-2020
LevT



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

Великолепная IDE: powershell_ISE с модулем ISESteroids
 
Качество как у JetBrains; аналогично её продуктам работает не с текстом (как VSCode),
 а с синтаксическим деревом построенным из кода.  
Код анализируется и рефакторится на основе этого дерева.
 
https://powershell.one/isesteroids/create-functions/function-from-code
https://powershell.one/isesteroids/create-functions/function-from-syntax
https://powershell.one/isesteroids/create-modules/new-module
 
Модуль ставится из галереи, после первого Start-Steroids получается полнофункциональный триал на 10 различных дней.
Меня это не ограничивает: запускаю в виртуалке с предварительно закинутым туда модулем.
Также можно импортировать модуль с сетевой шары.

Всего записей: 17126 | Зарегистр. 14-10-2001 | Отправлено: 13:38 11-02-2020
PhoenixUA



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

Цитата:
Избавляемся от своей реализции и хранения файла

Насколько я понял, пока поддерживается только CredMan, а значит привязано к юзеру и компу.
Так что если надо универсально, от своей реализации не уйти.

Всего записей: 2184 | Зарегистр. 17-11-2005 | Отправлено: 13:54 11-02-2020
iNNOKENTIY21



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

Цитата:
Насколько я понял, пока поддерживается только CredMan, а значит привязано к юзеру и компу.
Так что если надо универсально, от своей реализации не уйти.

А это, что бы пароль не вводить.
 
Сейчас или сохраняешь кред, но там, на 1 ресурс, 1 узер/пароль. Да не все принимают параметром кред. Городишь свой, шифрофайл и простым текстом в итоге пользуешься. Как тут, примерно.
 
А тут будет из коробки, когда нибудь. Может быть

Всего записей: 3504 | Зарегистр. 16-08-2012 | Отправлено: 18:36 11-02-2020
PhoenixUA



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
iNNOKENTIY21
Так-то да, но есть ещё вариант с использованием параметра Key, если надо запускать под разными юзерами/компами.
https://www.pdq.com/blog/secure-password-with-powershell-encrypting-credentials-part-2/

Всего записей: 2184 | Зарегистр. 17-11-2005 | Отправлено: 22:48 11-02-2020
farag



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
https://www.powershellgallery.com/packages/PSReadLine/2.0.0
2.0.0 is out!

Всего записей: 2474 | Зарегистр. 27-07-2009 | Отправлено: 08:44 12-02-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