|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Инкремент |
|
PowerShell - [решено] Инкремент
|
Пользователь Сообщения: 69 |
Добрый день, всем
Вот есть скрипт мне нужно чтобы он вывод написал в текстовый файл, при каждом запуске вместо инкремента вставлял значение до 12. Если достигнет результата сбрасывать счетчик. Это для создания скрипта для ежемесячной смены паролей! Будут вопросы пишите! Кто чем поможет, благодарен! |
|
Отправлено: 12:18, 16-10-2015 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Foreigner, Iska,
Спасибо огромное ![]() ![]() ![]() Благодарю вас! |
Отправлено: 05:38, 19-10-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Foreigner, Iska,
А есть ли возможность вызывать это в одном текстовом файле 2- и более раз? Пример: USER1/pass012 USER2/pass012 USERn/pass012 И если хочу добавить простой текст перед паролем выдает ошибку Cannot convert value "простой текст" to type "System.Int32". Error: "Input string was not in a corre ct format." At line:2 char:27 + ... t-path test.txt) { $a = [int][string](get-content test.txt)[-2..-1] } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : InvalidCastFromStringToInteger ![]() ![]() |
Отправлено: 07:45, 19-10-2015 | #12 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Foreigner, Iska,
Всем привет, выходит вот такая ошибка если файл существует в директорий. А если удалить, то запускается без проблем! в чем причина не подскажете светлые умы? ![]() Cannot convert value "text;exit" to type "System.Int32". Error: "Input string was not in a correct format." At D:\test_bat\pp.ps1:2 char:29 + ... \mco.bat) { $a = [int][string](get-content D:\mco.bat)[-2..-1]} {$b = ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : InvalidCastFromStringToInteger |
Отправлено: 13:51, 06-11-2015 | #13 |
Ветеран Сообщения: 1758
|
AZABAZA, Откуда взялся 'text;exit' ? В текстовом файле должна быть единственная строка вида "pass001".."pass012"
Понятно что эту строку нельзя привести к типу integer (точнеe последние два символа 'it'). Скрипт берет все содержимое файла, если в файле несколько строк, то надо уточнить какую брать по порядку или какую по содержимому. |
Последний раз редактировалось Foreigner, 06-11-2015 в 14:56. Отправлено: 14:47, 06-11-2015 | #14 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Foreigner,
текст взялся из скрипта. ниже скрипт $ofs = '' if (test-path D:\mco.bat) { $a = [int][string](get-content D:\mco.bat)[-2..-1]} {$b = [int][string](get-content D:\mco.bat)[-2..-1] } $a = $a % 12 + 1 $b = $b % 12 + 1 set-Content D:\mco.bat "chcp 1251 set ORACLE_SID=DB" [System.IO.File]::AppendAllText("D:\mco.bat", $('sqlplus"user/pass0{0:d2}' -f $b), [System.Text.Encoding]::ASCII) [System.IO.File]::AppendAllText("D:\mco.bat", '@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=DATABASE)(Port=1521))(CONNECT_DATA=(SID=DB)))"', [System.Text.Encoding]::ASCII) Add-Content D:\mco.bat $('') [System.IO.File]::AppendAllText("D:\mco.bat", $('ALTER USER user IDENTIFIED BY pass0{0:d2};' -f $a), [System.Text.Encoding]::ASCII) Add-Content D:\mco.bat $('') [System.IO.File]::AppendAllText("D:\mco.bat", $('ALTER USER user IDENTIFIED BY pass0{0:d2};' -f $a), [System.Text.Encoding]::ASCII) Add-Content D:\mco.bat $('') [System.IO.File]::AppendAllText("D:\mco.bat", $('ALTER USER user IDENTIFIED BY pass0{0:d2};' -f $a), [System.Text.Encoding]::ASCII) Add-Content D:\mco.bat $('') [System.IO.File]::AppendAllText("D:\mco.bat", 'SELECT NAME FROM V$DATABASE;', [System.Text.Encoding]::ASCII) Add-Content D:\mco.bat $('') [System.IO.File]::AppendAllText("D:\mco.bat", 'exit', [System.Text.Encoding]::ASCII) Add-Content D:\mco.bat $('') Add-Content D:\mco.bat $('') И этот скрипт выводит следующую ошибку: Cannot convert value "exit" to type "System.Int32". Error: "Input string was no t in a correct format." At D:\Untitled5.ps1:2 char:29 + ... \mco.bat) { $a = [int][string](get-content D:\mco.bat)[-2..-1]} {$b = ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [], RuntimeException + FullyQualifiedErrorId : InvalidCastFromStringToInteger |
Отправлено: 05:41, 09-11-2015 | #15 |
Ветеран Сообщения: 1758
|
|
Отправлено: 08:29, 09-11-2015 | #16 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось AZABAZA, 10-11-2015 в 06:17. Причина: correct Отправлено: 08:42, 09-11-2015 | #17 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Foreigner,
Разобрался, не [0], а 4, 2 поставил номер поля ![]() Но вот тут другая проблема вылезла. Если пишешь для двух переменных то он генерирует для первого переменного ($a), а если впереди прописать переменную ($b) тогда он генерирует для ($b) ![]() $ofs = '' 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]} $a = $a % 12 + 1 $b = $b % 12 + 1.... С помощью IF/THEN/ELSE/ELSEIF можно решить проблему? |
Отправлено: 13:52, 10-11-2015 | #18 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Спасибо 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] } Все решился ![]() |
Отправлено: 12:21, 18-11-2015 | #19 |
Пользователь Сообщения: 69
|
Профиль | Отправить PM | Цитировать Добрый день, Iska, Foreigner, Kazun,
Нужен совет. как скрыть тот пароль что в маске указано? чтобы пароль не был в открытом виде. создать базу, заливать/выгружать пароль в виде хэш код с солью, что можете предложить? Спасибо за любые советы. |
Отправлено: 12:27, 03-05-2016 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
префиксный инкремент С | mrcnn | Программирование и базы данных | 12 | 11-01-2005 11:07 |
|