Ответы пользователя по тегу PowerShell
  • Как создать командлет в PowerShell?

    @LiS-31
    Командлет это PowerShell файл, с набором функций. Вам необходимо эти конвейеры оформить в качестве PS-функций и сохранить в файл с расширением psm, в одну из папок:
    C:\Users\%UserName%\Documents\WindowsPowerShell\Modules
    C:\Program Files\WindowsPowerShell\Modules
    C:\Windows\System32\WindowsPowerShell\v1.0\Modules
    Ответ написан
    1 комментарий
  • Как изменить вывод ответа команды powershell?

    @LiS-31
    Поиграйте с командой Format-Table или Format-list
    Например:
    Get-WMIObject -Class Win32_ComputerSystem -Computer name |Select-Object Username| FT -HideTableHeaders

    Возможно вам пригодится Format-Wide
    Ответ написан
    Комментировать
  • Не работает скрипт. Где ошибка?

    @LiS-31
    1) Если вы хотите исправить ошибку - покажите ошибку. Не зная что у вас в файлах, какие настройки БД и что именно выдает скрипт в результате исполнения, остается только гадать. А экстрасенсы в отпуске.
    2) У вас не совпадает количество открытых и закрытых кавычек. Вообще всю строку можно закрыть одной парой двойных кавычек "" - операции с переменными в ней отработают, в отличие от одинарных кавычек ''.
    $cmd.CommandText = "LOAD DATA LOCAL INFILE '"$csvfile + $File.Name"' INTO TABLE `test`.`csv` FIELDS ENCLOSED BY '"' TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES;"

    3) Могу предположить, что $cmd.CommandText и $cmd.ExecuteNonQuery() должны быть $conn.ExecuteNonQuery() и $conn.CommandText, иначе после открытия соединения вы к нему не обращаетесь в принципе.
    Ответ написан
    2 комментария
  • PowerShell и горячие клавиши, использование внутри скрипта, как?

    @LiS-31
    Вы не верно понимаете процесс функционирования горячих клавиш.
    Когда вы нажимаете сочетание каких-либо клавиш - формируется событие, на работу с которыми Nikolay Petyukh дал ссылку.
    Данное событие передается активному окну. В случае со скриптом этого окна просто нет.
    Вы можете обрабатывать пользовательский ввод (если запуск происходит интерактивно) или системные события, доступные всем процессам в системе.
    Ответ написан
    Комментировать
  • Как удалить контакты из определенной OU по списку из CSV?

    @LiS-31
    У вас не корректно построен конвейер:
    Import-csv 'c:\tmp\del.csv' -Header 'Alias' | Foreach-Object { Remove-ADObject $_.Alias -WhatIf }

    Если вы прочитаете get-help команды remove-ADObject, то увидите что командлет remove-ADObject по конвейеру получает параметр Identity, причем по-значению (byValue). т.е. перед передачей в foreach-object вам нужно имена пользователей превратить в объекты.
    Должно сработать что-то вроде:
    Import-csv 'c:\tmp\del.csv' | Get-ADObject -Filter { (objectClass -eq "contact") -and (DisplayName -eq "$_.DisplayName")} | Remove-ADObject

    В первой части вы получаете данные из файла, затем получаете объекты AD класса контакт, с указанным параметром, а в конце просто удаляете все полученные объекты.
    Текст набросан примерно, проверить на данный момент возможности нет.
    Ответ написан
  • Как настроить Pull-Server Powershell DSC?

    @LiS-31 Автор вопроса
    По второй части вопроса получилось так:
    Ошибка конфигурации была вызвана предыдущими, не верными конфигурациями (там не указывался слепок сертификата), запуск команды с ключом -force, решило проблему
    Start-DscConfiguration -Path c:\Configs\PullServer -Wait -Verbose -force

    А потом нашел еще статью, с описанием как все сделать руками:
    https://wpconfig.ru/?p=1220
    Ответ написан
    Комментировать