Ответы пользователя по тегу cmd/bat
  • Как произвести массовую смену паролей AD?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    get-help get-content -examples
    $users = get-content file1.txt
    считывает построчно ваш файл в переменную $users
    каждую строку из файла можно адресовать по индексу в цикле for
    get-help about_for -examples
    for ($counter = 0; $counter -le $users.length;$counter +=1;) {write-host $users[$counter] }
    Так как у вас файлы c одинаковым количеством строк то $passwords[$counter] даст соответствующий пароль внутри цикла, если считать файл паролей в переменную $passwords
    Ответ написан
    Комментировать
  • Есть ли разница в командах cmd?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    надеюсь, вот эта ссылка сможет ответить на ваш вопрос (если кратко - то нет, базовый функционал остался точно таким же, а вот утилиты командной строки привязанные к возможностям\ролям\приложениям сервера - могли измениться)
    Ответ написан
    Комментировать
  • Как добавить пользовательскую переменную среды?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    1. попробуйте запустить апплет панели управления, где редактируется переменная path "от имени администратора"
    название исполняемого файла апплета - sysdm.cpl
    Вызвать контекстное меню с "от имени администратора" можно или создав ярлык на рабочем столе с названием апплета или
    (по идее, начиная с 7-ки, но не всегда поиск работает адекватно) найти в поиске в меню пуск и так же - правой кнопкой.
    2. Поиграться с настройкой UAC (конечно же, не в сторону полного отключения, а просто изменения)
    3. попробуйте завершить explorer в диспетчере задач и запустить его с административными привилегиями. Это плохой путь, но он тоже работает.
    4. используйте в скриптах и исполняемых файлах вашу пользовательскую переменную
    %mysql%\mysql.exe

    Я с такой проблемой не сталкивался (поскольку редко вообще редактирую path) но насколько я понимаю, проблема вызвана тем, что некое ПО устанавливает эту переменную через реестр и каким-то образом "исправляет" настройки безопасности доступа к указанному Антон ключу.
    Возможно, сравнение настроек на ноуте и стационарном компьютере помогут вам разобраться (Хоть я и не уверен в том, насколько вы опытны в редактировании реестра. Лучше ничего лишнего там не править)
    Это крайний вариант лезть руками, до этого попробуйте предыдущие советы и обязательно отпишите что вам помогло :D
    Ответ написан
  • Как свернуть .bat файл в трей?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    command.com (cmd.exe) по умолчанию не имеет иконки в трее, сворачивается только на панель задач.
    Можно (а вы это вряд ли умеете в нужном объеме,иначе б вопроса не возникло) напрограммить на powershell с использованием .net классов какую-то реализацию, но, это очень странное решение, тем более что есть (гуглятся) решения, умеющие любую программу сворачивать в трей.
    Ответ написан
    Комментировать
  • Как вычислить корень квадратный?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    powershell
    [math]::sqrt(25)
    если вам жизненно принципиально запустить именно в cmd то
    powershell.exe "[math]::sqrt(25)"

    Все математические методы, доступные в PоSh можно получить так
    [math].GetMethods() | Select -Property Name -Unique
    Ответ написан
    Комментировать
  • Какой командой можно запустить обычное приложение, как службу Windows?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Powershell
    get-help new-service -examples
    CMD
    C:\WINDOWS\system32\sc.exe create /?
    еще
    nssm.cc

    Как поставить в автозагрузку сервис? поставить ему автоматический запуск.
    Какие права будут у сервиса? такие, какие у учетной записи, под которой вы будете его запускать.
    Ответ написан
    Комментировать
  • Как написать скрипт?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    "каталог","каталог2" | foreach {Get-ChildItem "<FullPath2WorkFolder>\$_\имя1" -Recurse | where {$_.creationtime -le (get-date).AddMonth(-1)}} | remove-item

    Внимание!
    Этот однострочник решает задачу только для точно такой же, как в описании автора структуры.
    Используя его без переработки вы рискуете удалить совсем не то что нужно :D
    Ответ написан
    Комментировать
  • [CMD/BAT] Как спарсить содержимое html файла?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Powershell, как обычно
    ((Invoke-webrequest "put here your URL").content -split "`r")[0] | invoke-expression -command $_

    или короче, но тоже powershell
    (wget "URL").content -split "`r")[0] | iex $_
    добавлю "более лучший" вариант
    iex $(((wget "URL").content -split "`r")[0])
    Также стоит обратить внимание что в последних кодблоках wget - это алиас для powershell коммандлета а не оригинальная утилита.
    Ответ написан
    Комментировать
  • Как создать несколько файлов с именами из одно списка и содержанием из другого?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    contents .txt содержит единый текст для всех файлов или там есть какое то соответствие вида \
    "filename1"="текст первого файла"
    "filename2"="текст второго файла"
    ?
    Ответ написан
  • Вывести в в одной кокретной папке имена папок с длиной имени =2?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    ну и по традиции, решение на powershell :D
    $data=@{"data"=""}
    $data.data=(get-childitem c:\test -directory | where {$_.name.Length -eq 2} | Select @{name='{#LOGNAME}';expression={$_.name}}
    $data | convertto-json | out-file c:\test\json.json
    Ответ написан
    Комментировать
  • Мониторинг каталога и удаление файлов с уведомлением по почте, как реализовать?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    если общий ресурс находится на ОС windows server (точно сейчас скажу за 2008 и выше) то воспользуйтесь возможностями управлялки : включите скрининг.
    уведомление, емнип, там тоже настраиваются.

    Если на клиентской ОС - https://gallery.technet.microsoft.com/scriptcenter...
    В блок "created" (и на всякий случай в changed, потому что вариант с созданием .txt файла а потом смены ему разрешения никто не отменял) делаете обработку по типам файлов.
    Ну и отсылку сообщения можно реализовать через send-mailmessage
    Если слабо знакомы с powershell то в командной строке пишете get-help about_switch -examples для действий в зависимости от расширения файла.
    Так же get-help send-mailmessage -examples для настройки отсылки сообщения.
    Ответ написан
    2 комментария
  • Как организовать поиск слов по количеству символов?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    одна строка в powershell. жирным выделены ваши параметры, которые нужно менять под ваши нужды. ниже - оформлено в виде кода и с сокращениями для уменьшения размера строки
    (select-string -Path d:\test\*.txt -Pattern $(Get-Content d:\tags.txt)).line | foreach{if (($_.split('.',2)[0]).length -eq 6) {Out-File d:\result.txt -InputObject $_ -append}}

    (sls -Path d:\test\*.txt -Pattern $(cat d:\tags.txt)).line | % {if (($_.split('.',2)[0]).length -eq 6) {Out-File d:\result.txt -InputObject $_ -append}}
    Ответ написан
  • Как вывести на консоль наименования пулов и приложений?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    это задание? ) вообще, если вы сделаете get-command -module webadministration на сервере в powershell то узнаете много нового.
    Ответ написан
  • Как сбросить статику в динамику через cmd?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Ответ написан
    Комментировать
  • Ккак узнать список уже работающих Perl программ в windows?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    вариантов - миллион.
    самые простые заключаются в использовании функционала планировщика задач, которым вы по расписанию запускаете ваш скрипт.
    В стандартном планировщике windows : в параметрах можно настроить "если задача уже выполняется : не запускать новый экземпляр"

    Так же, поведение при запуске скрипта можно контролировать проверкой на уже запущенный процесс с данной командной строкой

    Или же доработать скрипт, для создания файла блокировки.
    P.S. мой ответ по большей части дублирует ответ пользователя Владимир Мартьянов, поэтому, поставлю я ему лайк :D
    Ответ написан
    Комментировать
  • Есть ли в cmd.exe аналог bash команды mkdir dir_name/{css,js} -p?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    mkdir 123\456 123\321
    Ответ написан
    Комментировать
  • Быстрое копирование через CMD, туда-обратно, возможно ли?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    У вас за одним компьютером работает не один пользователь?

    Зачем вам копировать вообще всё из users если вам нужны только файлы определенного пользователя
    Пользуйтесь в командной строке подстановкой %username% (%%username%% в скриптах) и заливайте\забирайте в backup шару по имени пользователя.

    Как это было сделано (без использования easy transfer или migration wizard) на одном из моих мест :

    на сервере server создан общий ресурс share со следующими правами :
    доступ из сети : everyone - full
    права NTFS : Everyone - создание папок, запись данных только для этой папки.
    права NTFS: Domain Admins - full на папку, подпапки и файлы
    права NTFS: Creator-Owner - full на подпапки и файлы.

    Скрипт запускался из-под пользователя, забирал содержимое папок c:\users\%username% с фильтром "*,doc","*.docx","*.xls","*.xslx" и так далее, как вздумается.
    Создавалась папка \\server\share\%username% - пользователь имеет права на создание папок, благодаря everyone, затем созданная папка благодаря creator-owner доступна только ему и администраторам домена.

    При восстановлении опять же использовался тот же стандартный путь \\server\share\%username% - каждый пользователь мог забрать файлы только из своей папки.
    Соответственно использовался один и тот же скрипт для миграции любого пользователя, без вариантов, лишних файлов и прочей чепухи.
    Ответ написан
    Комментировать
  • Как получить имя каталога?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    вам в помощь
    странный сайт, однако нормально разъясняют как обрабатывать переменные в bat файлах =)
    Ответ написан
    Комментировать
  • Как послать netcat команду на закрытие?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Как эксперимент. Сможет ли этот скрипт на powershell сделать нужное вам без использования netcat?
    текст sendtcpdata.ps1
    $Message = '(function(f){f.player.pause() || f.player.resume() || f.play()})(Mu.pages.player.flow);'
    $socket = new-object System.Net.Sockets.TcpClient("localhost", 32000)
    $data = [System.Text.Encoding]::ASCII.GetBytes($message)
    $stream = $socket.GetStream()
    $stream.Write($data, 0, $data.Length)

    команда для запуска :
    powershell.exe -WindowStyle hidden -File c:\scripts\sendtcpdata.ps1 -ExecutionPolicy unrestricted
    Ответ написан
    1 комментарий