![]() |
Инкремент
Добрый день, всем
Вот есть скрипт Код:
do {Write-Host password0$i; $i++} мне нужно чтобы он вывод написал в текстовый файл, при каждом запуске вместо инкремента вставлял значение до 12. Если достигнет результата сбрасывать счетчик. Это для создания скрипта для ежемесячной смены паролей! Будут вопросы пишите! Кто чем поможет, благодарен! |
AZABAZA,
Код:
& { for ($i = 1; $i -le 12; $i++ ) { "pass0$i" }} | sc test.txt |
Foreigner, Спасибо за помощь и отзыв.
но этот скрипт выполняет за один раз все пароли! Нужно при запуске выполнять скрипт и что бы он записывал один пароль текстовый файл. Foreigner, когда доходит до 12 что бы он сбросил и заново начал от 1 |
AZABAZA, Что-то как-то мутно..
|
Foreigner,
Ваш скрипт генерирует за один раз все 12 вариантов. А нужно запустил один раз он в текстовый файл записал "pass001" При следующем запуске в текстовый файл записал "pass002" А когда будет "pass012" чтобы не писал следующий раз "pass013" он сбрасывает счетчик и снова становится "pass001" |
AZABAZA,
Код:
$ofs = '' |
Цитата:
Код:
$a %= 12 |
Iska, Тогда будет попадать '0' и не будет 12, т.е pass000...pass011, а надо pass001...pass012
Тут можно убрать первый else. Он явно лишний |
Ах ты ж… И на старуху бывает проруха :(.
Да, красоты не получится. Придётся так: Код:
$a = $a % 12 + 1 |
Другое дело:
Код:
$ofs = '' |
Foreigner, Iska,
Спасибо огромное :clapping: :clapping: :clapping: , выручили! Благодарю вас! |
Foreigner, Iska,
А есть ли возможность вызывать это в одном текстовом файле 2- и более раз? Пример: USER1/pass012 USER2/pass012 USERn/pass012 И если хочу добавить простой текст перед паролем выдает ошибку Код:
Cannot convert value "простой текст" to type "System.Int32". Error: "Input string was not in a corre |
Foreigner, Iska,
Всем привет, выходит вот такая ошибка если файл существует в директорий. А если удалить, то запускается без проблем! в чем причина не подскажете светлые умы? :) Код:
Cannot convert value "text;exit" to type "System.Int32". |
AZABAZA, Откуда взялся 'text;exit' ? В текстовом файле должна быть единственная строка вида "pass001".."pass012"
Понятно что эту строку нельзя привести к типу integer (точнеe последние два символа 'it'). Скрипт берет все содержимое файла, если в файле несколько строк, то надо уточнить какую брать по порядку или какую по содержимому. |
Foreigner,
текст взялся из скрипта. ниже скрипт Код:
$ofs = '' И этот скрипт выводит следующую ошибку: Код:
Cannot convert value "exit" to type "System.Int32". Error: "Input string was no |
Добавьте перед [-2..-1] еще [0]:
Код:
...(get-content D:\mco.bat)[0][-2..-1]... |
Foreigner,
ошибка перестала выводится, но пароль не генерируется. Код:
...(get-content D:\tuo.log)[0][-2..-1]}... |
Foreigner,
Разобрался, не [0], а 4, 2 поставил номер поля :drug: Код:
(get-content D:\tuo.log)[4][-3..-2]} { $b =[int][string](get-content D:\tuo.log)[2][-91..-90]} Если пишешь для двух переменных то он генерирует для первого переменного ($a), а если впереди прописать переменную ($b) тогда он генерирует для ($b) :help: Код:
$ofs = '' С помощью IF/THEN/ELSE/ELSEIF можно решить проблему? |
Спасибо Iska, Foreigner, Kazun
if (test-path D:\tuo.log) { $a = [int][string](get-content D:\tuo.log)[4][-3..-2]} { $b = [int][string](get-content D:\tuo.log)[2][-91..-90]} заменить на : if (test-path D:\tuo.log) { $a = [int][string](get-content D:\tuo.log)[4][-3..-2] $b = [int][string](get-content D:\tuo.log)[2][-91..-90] } Все решился =) |
Добрый день, Iska, Foreigner, Kazun,
Нужен совет. как скрыть тот пароль что в маске указано? чтобы пароль не был в открытом виде. создать базу, заливать/выгружать пароль в виде хэш код с солью, что можете предложить? Спасибо за любые советы. |
Самое простое использовать ConvertTo-SecureString/ConvertFrom-SecureString с параметром Key:
Код:
#Генерируем ключ Код:
#Шифруем пароль Код:
#Credentials Код:
$Cred.UserName - Имя пользователя PowerShell Encryption Examples Share encrypted data between users and computers with PowerShell - Использование сертификатов |
Время: 05:17. |
Время: 05:17.
© OSzone.net 2001-