• Как передать значение переменной за пределы bash скрипта?

    @MaxKozlov Куратор тега PowerShell
    Анастасия, Скорее всего это в сбитой юникодной кодировке "рекламный" текст мс типа
    Теперь wsl есть ещё и в msstore ....

    выводится, судя по всему, то ли раз в день, то ли при первом запуске wsl
    Можно отфильтровать через
    Select-String -Notmatch 'M i c r o s o f t   S t o r e'

    только текст надо или чётко скопипастить или попробовать тупо "M.i.c.r.o.s.o.f.t. .S.t.o.r.e" - регексом "точка" лишние символы отловить, select-string регекс понимает

    А если ответ вам помог, не забывайте отмечать решением :)
  • Как передать значение переменной за пределы bash скрипта?

    @MaxKozlov Куратор тега PowerShell
    сергей кузьмин, смешкой кадавр получится, powershell+bash+cmd.
    Осталось понять, зачем
  • Как передать значение переменной за пределы bash скрипта?

    @MaxKozlov Куратор тега PowerShell
    Кстати, судя по тому скрипту, который вы выкладывали в предыдущем вопросе, вам вообще не нужен wsl, вполне можно обойтись bash for windows, утилиты find и sed также можно найти под винду. А то и не мучаться и переписать скрипт целиком на powershell, в нём нет ничего<, чего powershell не умеет
  • Почему html документ загружается два раза?

    @MaxKozlov
    wisgest, Честно скажу, не обратил внимание на то что запрос локальный, каюсь

    Однако, не знаю, может с HEAD я хватил лишку, но вот вам GET
    spoiler

    6442cea7c0042855190616.png
    и POST тоже можно увидеть
    И да, я знаю, что это не настоящий HTTP :)
  • Почему html документ загружается два раза?

    @MaxKozlov
    Метод запроса какой ? первый, скорее всего, head
  • Как запустить bash скрипт из PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Анастасия, Ну и ? вроде всё замечательно должно работать, нет ?

    Главное, чтобы для wsl у вас не было попытки запустить несколько команд за раз (через ";")
    Параметры им передавать вполне возможно. или таки запускать через cmd, что не совсем powershell way
  • Как сделать общий доступ к папке через PowerShell?

    @MaxKozlov Куратор тега PowerShell
    А что именно не работает, кто должен написать ?
  • Как запустить bash скрипт из PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Решил глянуть что там с wsl.

    Через cmd/far всё работает. кавычки вокруг вообще не нужны.
    Через powershell как таковой напрямую запустить wsl с несколькими командами подряд если не невозможно, то очень сложно.
    Происходит это потому что ";" используется как разделитель команд как в bash, так и в powershell и при отсутствии кавычек вторая команда воспринимается как команда для powershell, а при их наличии, в bash передаётся команда целиком и он её интерпретирует не как последовательность двух команд, а как одну.

    Единственный найденный вариант просто запуска- запустить cmd /c и передать ему в качестве параметра остальные команды.
    Разумный вариант - создать скрипт типа run.sh с необходимым содержимым и запускать именно его
    то есть
    cmd /c  'source /mnt/c/Users/MissAnastasiia/Script/Media.sh; prepare "$Downloads"'

    или
    # Причём эту команду можно запустить только один раз, создав нужный скрипт
     'source /mnt/c/Users/MissAnastasiia/Script/Media.sh; prepare "$Downloads"' | Set-Content d:\run.sh
    # А это уже запускать по необходимости
    wsl /mnt/d/run.sh"$Downloads"'
  • Как запустить bash скрипт из PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Анастасия, Я не знаю что такое prepare, видимо это функция bash вашего скрипта Media.sh
    и, возможно, wsl две подряд команды не умеет правильно запускать.

    я бы это переписал в один скрипт и именно его запускал, а не занимался алхимией
    для начала можно просто скопировать Media.sh в Media1.sh
    и в конце его добавить prepare "$Downloads"
    его и запускать безо всякого source
  • Как запустить bash скрипт из PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Шам, она и есть в двойных, это ж bash переменная, а не powershell
  • Есть ли возможность восстановить архивы из базы Exchange не имея актуальной AD?

    @MaxKozlov
    А в базах-то эти ящики как видны ? как disconnected/disabled/removed ?
    подключить их через Connect-Mailbox пробовали ?
  • Как получить состояние CRON WSL через PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Roman Bolshukhin, Действительно, ерунда :)
    блок кода с -replace вы "подвесили в воздухе". он у вас никак не связан с предыдущим кодом
    он должен быть или привязан к предыдущему пайплайну или работать с переменной и не быть блоком :) потому что -replace работает со строкой.
    Три варианта на выбор эквивалентные по результату. Для понимания первый хуже всего, последний лучше.
    wsl service cron status | Select-String Active | foreach-object { $_ -replace '.*since (.*)', 'running since $1'}
    
    (wsl service cron status | Select-String Active) -replace '.*since (.*)', 'running since $1'
    
    $status = wsl service cron status | Select-String Active
    $status -replace '.*since (.*)', 'running since $1'
  • Как получить состояние CRON WSL через PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Roman Bolshukhin, ну если вам надо только since, в случае active можно просто
    -replace '.*since (.*)', 'running since $1'
  • Как получить состояние CRON WSL через PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Roman Bolshukhin, так-то можно хоть через -replace, хоть через substring,
    Но если оно будет не active, тогда что ??
  • Где ошибка в цикле PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Анастасия, Ну вы хотя бы базовый синтаксис изучите.
    блок кода ограничивается парными скобками {}
    Если вам надо чтобы "что-то" было внутри функции
    function InstallNASDrive { net use N: $NASDrive /persistent:Yes }

    то это "что-то" должно быть внутри скобок, ограничивающих функцию
    function InstallNASDrive {
       net use N: $NASDrive /persistent:Yes 
      # что-то
    }
  • Где ошибка в цикле PowerShell?

    @MaxKozlov Куратор тега PowerShell
    Анастасия, Видимо else должно быть после if, а не после until ?

    а если это else от верхнего if, то
    Write-Host "NETTOP-SQUARE"
    }
    фигурная скобка здесь лишняя и должна быть таки после until
  • Почему Windows расходует так мало оперативной памяти?

    @MaxKozlov
    Для корректного ответа на этот вопрос надо не гуишные картинки сравнивать, а список процессов с параметрами памяти хотя бы от Process Explorer

    Ну или уж взять ту же виртуалку, расширить её до 4 вместо 2 и сравнить чё как, может винда на большем количестве памяти и развернётся - места-то побогаче будет :)
  • Существует ли ограничение на параметр -SearchBase команды Get-ADUser?

    @MaxKozlov Куратор тега PowerShell
    Ограничений по длине нет, по крайней мере не в вашем случае

    Get-ADUser 'CN=Иванова Татьяна,OU=Отдел кадров,OU=Пользователи,OU=Центр,OU=Отделение Водоканала по Рязанскому краю,DC=666,DC=88,DC=RU' вам выдаёт юзера ?

    Проверьте что выдаёт Get-ADObject по тому же пути (OU=Центр...), попробуйте все три варианта параметра [-SearchScope {Base | OneLevel | Subtree}]
    Проверьте права - под каким пользователем вызываете ? он админ домена ? если нет - возможно ему выданы права только куда-то глубже
  • Как в bat файле для powershell ввести пароль?

    @MaxKozlov Куратор тега PowerShell
    winser, Ключ-то да, но если вы его отдаёте, уже неважно где пароль хранится.

    Зато со стороны сервера можно возможности конкретного ключа ограничить

    google "ssh authrized_keys only for port forwarding"

    подсказывает, что можно сделать - restricting SSH features

    Options for restricting SSH features
    Files and their options that alter behavior are:

    ~/.ssh/authorized_keys - contains keys which are allowed to connect which can be given options:
    command="command" - The command supplied by the user (if any) is ignored. Note that the client may specify TCP and/or X11 forwarding unless they are explicitly prohibited. Note that this option applies to shell, command or subsystem execution.
    no-agent-forwarding - Forbids authentication agent forwarding when this key is used for authentication.
    no-port-forwarding - Forbids TCP forwarding when this key is used for authentication
    no-X11-forwarding - "Forbids X11 forwarding when this key is used for authentication."
    permitopen="host:port" - Limit local 'ssh -L' port forwarding such that it may only connect to the specified host and port.

    Ваша опция - последняя. и, конечно, никакого шелла у этого юзера
  • Как в bat файле для powershell ввести пароль?

    @MaxKozlov Куратор тега PowerShell
    winser, Не могу сказать, что "нет". наверное можно и под виндой сделать свой вариант expect. и может быть он даже кем-то написан.
    Но вот не вижу никакой принципиальной разницы в том, чтобы не иметь вообще пассфразы на ключе и иметь её в открытом виде в батнике.
    Если вам этот комплект раздавать, то может проще тогда иметь ключ без пароля и ограничить возможность сделать что-нибудь с этим ключом на сервере кроме поднятия туннеля ?