Ответы пользователя по тегу PowerShell
  • Как найти строки в логах с помощью powershell?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    $x=gc *.html
    for ($i=0; $i -le $x.Length; $i++) {
        if ((ConvertFrom-Csv -Delimiter "," -Header "a","b","c","d","e","f" -inputobject $x[$i]).b -eq "38" -and (ConvertFrom-Csv -Delimiter "," -Header "a","b","c","d","e","f" -inputobject $x[$i+1]).b -eq "156" ) {
            echo $x[$i] $x[$i+1]
        }
    }

    самое тупое что в голову пришло. оно будет тормозить ибо создаст объект со ВСЕМИ строками из всех файлов и пройдется по ним последовательно
    а да, возможно надо будет делать парсинг html вытаскивая оттуда только текстовый контент
    Ответ написан
    4 комментария
  • Как открыть "чистую" консоль powershell?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    не совсем "remove" но позволяет так же добиться чистого экрана при старте posh
    1.
    запускаем powershell и смотрим значение переменной $PROFILE - выдаст где хранится автозагружаемый профиль Posh для вашего пользователя
    2.
    • если файл есть - дописываем туда последней строкой Clear-Host
    • если его нет - создаем его по нужному пути и пишем туда то же самое

    Сохраняем
    3. теперь при запуске powershell под вашей учетной записью будет всегда сначала выполняться этот набор команд.
    Кстати туда можно записать много полезных алиасов, прописывать нужные пути (которые требуются только в среде powershell) - не переопределяя их на уровне системы, разные перемененные окружения и тд и тп, благо это обычный powershell скрипт.
    В общем аналог bashrc
    Ответ написан
  • Как осуществить поиск и копирование блока строк по ключевому слову в *.txt?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Powershell сейчас не под рукой но выглядеть скрипт должен как то так:
    $file = 'ваш файл'
    $newfile = 'другой файл'
    $keyword = 'parametr'
    (get-content $file -raw) -split "\n\n" | foreach {
        $firststring = $_ -split '\n' | select -first 1
        if $firststring -like $keyword { add-content $newfile $_}
    }

    здесь точно напутано с экранированием спец. символов, а так же не сделаны некоторые обработки для отсутствующих файлов и много чего еще. Дорабатывайте на здровье :D
    Ответ написан
    1 комментарий
  • С чем связана ошибка?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    C:\Users\AppData\Roaming\npm\gulp.ps1
    Вы выполняете не скрипт cmd а скрипт powershell.
    гуглите powershell execution policy в сочетание с вашей ошибкой, чтобы решить проблему.
    Ответ написан
    1 комментарий
  • Как вызвать jscript из POWERSHELL?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    start-process "cscript.exe" -argumentlist "script.js" ?
    Ответ написан
  • Как заставить выводить результат powershell linux?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    для справки :
    >Get-Alias echo
    Alias           echo -> Write-Output

    Так что, думаю, вашу проблему решит что-то вроде
    echo (Get-VMHost).name
    Ответ написан
    5 комментариев
  • Как копировать файлы по маске со всей файловой структурой?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    foreach {$file = $_; $destination = (join-path $BackupFolder $(Split-Path $file.Directory -NoQualifier)); if (!(test-path $destination)) {New-Item -itemtype Directory -Path $destination}; Copy-Item $file.fullname -Destination $destination -Container}
    Ответ написан
    Комментировать
  • Как из одного массива получить два значения в разные переменные через PowerShell?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    $a = $transformConfig.source

    $a = $transformConfig | select source

    и вообще если у вас один цикл то зачем плодить переменную $transformconfig(s) ?

    $componentSelect.transform_config| foreach {$a = $_.source; $b=$_.target}
    Ответ написан
    1 комментарий
  • Как подставить значения из JSON-файла в PowerShell?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Подозреваю что дело в двух вещах:
    1. использование переменной окружения %inetpub_path% в скрипте powershell. Никогда не задумывался будет ли это работать, но в Posh переменные окружения используются так: $ENV:HOMEPATH вместо %HOMEPATH%
    В скриптах cmd, напоминаю, так же необходимо удвоение знаков %
    2. использование переменных в запуске консольной программы напрямую
    Здесь попробуйте использовать start-process "xcopy.exe" -argumentlist "все необходимые вам аргументы с переменными"
    Или же Invoke-Expression -command "xcopy.exe все необходимые вам аргументы с переменными"
    Ответ написан
    1 комментарий
  • Скрипт мониторинга связи с сетью?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Предупреждаю, следующи скрипт написан ради шутки, но делает то чего вы хотите :D
    Открываете powershell и запускаете:
    for ($true) {sleep 20; if (!(Test-Connection 'comp1' -Quiet -Count 1) -and !(Test-Connection 'comp2' -Quiet -Count 1)) {sc ($env:TEMP+'\warning.txt') -Value 'Wake up, Neo. You obosralsya';start 'notepad' -argumentlist ($env:
    TEMP+'\warning.txt')}}
    Ответ написан
    Комментировать
  • DHCP+Powershell. Какие права дать пользователю для получения информации о DHCP через Powershell?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Возможно, путь в статье поможет и вам.
    https://secureidentity.se/delegate-dhcp-admins-in-...
    Только читайте внимательнее: автор решает другую задачу: как дать административный доступ к DHCP пользователю без админских прав. Про доступ на чтение - у него в конце одна строка "сделайте по аналогии" :D
    Заодно там есть кратенько почему эти две дефолтные группы "не работают"

    P.S. По хорошему, вам бы не заморачиваться всем этим, а просто раз в минут 5 выгружать необходимую статистику в файл, а пользователю работать с файлом, без непосредственной работы со службами. Но все зависит от того какую задачу вы на самом деле решаете. В вопросе у вас сформулирована проблема с уже выбранным решением, с которой поможет разобраться приведенная статья, но, возможно, не стоит настолько усложнять схему и выдавать права там где они реально не нужны
    Ответ написан
    Комментировать
  • Почему не пускает?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Первопричина на нормально работающем компе без уже внесенных кривыми руками настроек - файрвол, как уже подсказал azarij
    Не помогло - идем дальше:
    1. не разрешается имя компьютера - пробуем ввести в формате IP адреса или полного доменного имени типа computername.domain.name вместо computername
    2. Не подходит имя пользователя - пробуем ввести в формате remotecomputername\username
    3. Отключены службы удаленного доступа к RPC - решаем эту проблему. (вот тут статейка, какие сервисы проверять https://social.technet.microsoft.com/Forums/window...
    Ответ написан
    Комментировать
  • Как произвести массовую смену паролей 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
    Ответ написан
    Комментировать
  • Скрипт powershell работает или завис?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    в сторону дебаггинга и, для этого, разделения кода на шаги.
    Отдебажите - можно будет в однострочник склеивать.
    Например, можно вынести в отдельные шаги get-mailbox с ключом -verbose
    можно добавить проверку get-mailboxfolderpermission
    Ну и добавить опять же verbose к add-mailboxfolderpermission
    Ну и можно для дебага писать какую конкретно идентити сейчас будем менять, Write-Host $Mailbox.Name
    Ответ написан
    1 комментарий
  • Powershell работа с Переменными?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    if (!(Test-NetConnection сервер -Port порт -InformationLevel Quiet).TcpTestSucceeded) 
    {
    ваш код
    
    
    }
    Ответ написан
    3 комментария
  • Как возобновить выполнение скрипта PowerShell после перезагрузки компьютера?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    как альтернативный вариант - изучить powershell desired state configuration и, конфигурить машину www.powershellgallery.com/packages/xHyper-V/3.5.0.0 (есть и другие модули, надо раскапывать)
    Однако обратите внимание на ответ Ethril - возможно оно пойдёт легче
    Ответ написан
    Комментировать
  • Powershell, стоит ли изучать на старте?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    не путайте мягкое с тёплым.
    PoSH - инструмент для решения задач в помощь системному администратору.
    Один из.

    Где-то будет эффективнее решить задачу "мышкой"
    В каких-то случаях проще использовать специально разработанные программные продукты для решения задачи.

    а PoSh - это как некая альтернатива. Можно на него посматривать и проверять
    "а можно ли быстрее и эффективнее решить эту задачу скриптом на PowerShell ?" или
    "А как вот эта задача, которую я накликал мышкой в интерфейсе сервера решилась бы с помощью скриптов(не обязательно PoSh)?"
    А дальше пойдет по накатанной : типовые задачи по автоматизации будут легче решаться(скриптами, если пару раз сделали), нетиповые задачи (при накоплении опыта) будет интереснее делать скриптами и тд и тп.
    B не надо относиться к Powershell как к "о, щас я его изучу и буду всё уметь" - не изучите всё :D
    Ответ написан
    1 комментарий
  • Мониторинг каталога и удаление файлов с уведомлением по почте, как реализовать?

    @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 содержатся непосредственно в самом powershell
    пишете get-help команда и читаете. пишете get-help команда -examples и смотрите примеры применений.
    Для начала предлагаю вам изучить хелп по следующим темам :
    pipelines - общие сведения и как применять
    foreach - общие сведения и как применять
    а так же по командам :
    get-content - получение списка серверов из текстового файла
    Out-File - вывод результатов тестирования доступности в файл
    test-netconnection - непосредственно тестирование доступности.

    Скрипт, соответственно, можно запихнуть в планировщик задач и с нужным интервалом запускать автоматически.
    Ответ написан
    Комментировать
  • Возможно ли управлять PowerShell при помощи web-оболочки?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Комментировать