Dant
software sex Win powershell Есть виртуалки глубоко в ажурах, доступ только к их консолям через веб. Нужно вытащить оттуда пару Claims-Aware веб-приложений для траблшутинга Kerberos/ADFS.

Казалось-бы — нет, никак. Но попитка не пытка: Powershell + Hypersnap + OCR + WinHex.

Get-Content -Encoding Byte .\claims-web.zip |Format Hex >.\claims-web.zip.txt; Get-Content .\claims-web.zip.txt |Out-Host -Paging
2-х мегабайтный архив превратился в 22-х мегабайтный текстовый дамп и овер чем дохуя скриншотов, в связи с чем
имею спросить вопрос — есть чо, что делает OCR с точностью 146 процентов и более? Файнридеры — таки лагают и ошибаются даже на четких скринах с цифрами и 6-ю буквами (

ЗЫЖ таково секеса у меня еще не было — 3500 раз нажать пробел и хоткей для скриншота )
killy
LOL powershell ... вообще павершелл не считается языком программирования, в отличии от перла
Выпал в осадок. Не буду показывать пальцем, думаю исправится.
Но вот такая каша в головах и создаёт проблему неприятия.

Кстати, имхо, вопрос "чем PowerShell лучше cmd" примерно эквивалентен "чем ipython лучше cmd".
lovesan
powershell Вообще, в PS, вместо ебли с ipconfig надо делать просто Get-NetAdapter

Получаешь список объектов сетевых интерфейсов в нормальном виде, а не просто как текст и говно. И дальше чето делаешь там с ними. Там вся инфа о них.

Но говноеды привыкли есть говно, им подавай ipconfig через cmd.exe
Strephil
Linux powershell systemd А почему говорят об интеграции powershell в Linux? Разве там вообще есть какая-то связь?
Логичнее бы выглядела интеграция powershell'а и systemd.
Надо будет повнимательноее на powershell этот посмотреть.
otakuSiD
dev powershell iis Access asp.net_core to allow asp.net core write logs run the following script:


$logs = "C:\inetpub\wwwroot\logs"
New-Item -type directory -path $logs
$acl = Get-Acl $logs
$AccessRule = New-Object system.security.accesscontrol.filesystemaccessrule("IIS_IUSRS","Write","Allow")
$acl.SetAccessRule($AccessRule)
Set-Acl $logs $acl
k1lg0reTr0ut
Microsoft powershell вобщем, я тут проигрываю по полной.
есть такая пизда, называется реестр. в нем есть ключ с бинарными данными, это где данные 00 01 с4 а0 и т д.
и он сука длинный.
есть у меня блядский образец этого гавна.
смысл в том, чтобы запросить значение ключа и сравнить с бляцким образцом.
но как эту пизду оформить в коде? если хуяришь просто:
$q = 01, 03, c8
эта пизда ругается, что я вдруг тестовые данные заябываю в массив, поэтому его надо в кавычки.
если я эту пизду перевожу в тип byte, то эта пизда хочет, чтобы я вводил в нее циферки такого рода 0x80 0xc5 и т д.
я не хочу так вводить, потому что долго. а когда тестовую переменную создавал, то оно мне выводит конвертированные в десятичную хуйню.
при этом, когда я запрашию этот ебаный ключ в реестре, то в переменной образуется хуйня правильно выглядящая.
вобщем я заебался. пидары пидары ебаные пидары долбитесь в хвост гандонами изобранными измазайтесь гавном твари
k1lg0reTr0ut
Microsoft powershell exchange у меня такое ощущение, будто модуль повершела для эксчейнджа писали ебанутые гандоны.
1. сраный модуль, который через жопу добавляется в ISE
2. ебуче-дремучие командлеты, которые хуй знает с какой ебанутой логикой сделаны.
я все понял.
когда я работал в пошиком, то я начинал с эксчейнджа. тогда я думал что пошик гавно.
щас я много работал не с экчейнджем. и я считаю, что пошик норм.
вывод, эксчейндж гавно.
don-Rumata
? Windows soft OMG powershell Вопрос к виндовозам. А в павершелле есть нормальное автодополнение? Или это убожество чуть прокачанное со времён cmd никак не кастомайзится? Мне хотя бы по даблтабу весь список доступных вариантов.
otakuSiD
AD dev гавно powershell Import-Module ActiveDirectory timing out

social.technet.microsoft.com

Причем тихо валится, без единой ошибки.

И внезапно:

Beginning in Windows PowerShell 3.0, modules are imported automatically when any cmdlet or function in the module is used in a command. This feature works on any module in a directory that this included in the value of the PSModulePath environment variable.
technet.microsoft.com

Так что сбриваем нахрен импорт.
gogaxxx
Windows powershell говно Что виндовс делает с кодировками? Новая серия. Имеется файл list.txt в кодировке ucs-2. У меня также стоит cygwin со всякими утилитами. Запускаю iconv -f ucs-2 -t utf-8 list.txt >list2.txt в PowerShell. Файл не изменился! Запускаю ту же комманду из-под cmd. Файл нормально превратился в utf-8. Что там повершелл мутит? Задолбали эти фокусы.
reflechant
Windows powershell Как удалить ненужные приложения Metro в Windows 8 и 10

1) Открываем PowerShell
2) Набиваем (Get-AppxPackage -User <user>).Name, где <user> — имя вашей учётной записи
3) Выбираем что хотим удалить и делаем, например:
Get-AppxPackage -Name "Microsoft.BingSports" | Remove-AppxPackage
4) PROFIT

Если нужно получить более подробную информацию о приложении, делаем

Вообще PowerShell замечательная штука. Работают основные команды linux и dos. ls, cat, | и даже справка по man
Все команды возвращают объекты .NET, поэтому это больше похоже на интерпретатор Python, чем на bash
k1lg0reTr0ut
Windows powershell вобщем, ситуация такая.
неким образом, я получаю несколько переменных. из различных командлетов, даже из различных модулей, какие-то через обращение к wmi.
и вот теперь, хотя эти переменные занести в файлик в виде:
var1;var2;var3;var4 (типа имя хоста; кол-во виртуалок; кол-во работающих виртуалок;версия и редаксия оси)
ну и таких записей много.
как это сделать?
out-file не хочет работать с этим.
> тоже не работает. даже если в файл заносится — то после каждой переменной — знак переноса строки. жопа жопа жопа
max630
? powershell как квотить файлы в командах. Например, файл с именем "a [B].txt", его имя в переменной, как его передать в команду. Если просто $f писать — ругается "item at ... does not exist"!
den-po
code powershell
проглядел способ нормально переопределять функцию, чтоб новая вызывала старую

$oc = Get-Command 'Write-Host' -Module 'Microsoft.PowerShell.Utility'
& $oc @PSBoundParameters  #либо & $oc @args
k1lg0reTr0ut
powershell exchange это пиздец блять, когда get-mailboxstatistics выдает список свойств ящика, среди которого нет никаких нормальных идентификаторов ящика, типа алиса или имени ящика, а есть только displayname, которое блять всегда на русском и ФИО, и фильтовать которыми блять очень уж не хочется.
ебаные криволапые пидары.
den-po
code powershell
нашёл изумительную фичу powershell 2.0 (эта версия по умолчанию в семёрке): при выводе данных обычным способом (хз, как называется, когда например просто переменную или имя функции укажешь, а оно в консоль пишет) текст форматируется по ширине консоли. Так что вот такая команда:

powershell -c "\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"" > x.txt

сохранит в файл x.txt вот такое:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxx

В связи с этим объединённый bat+powershell скрипт:

@powershell -command "(Get-Content \"%~0\") -replace '@powershell','#' | Write-Host" | powershell -c - & goto :eof
"put your powershell code here"
den-po
code powershell
батник запускает powershell скрипт из себя. простая штука, а доходил я до неё несколько дней.

@powershell -command "(Get-Content \"%0\") -replace \"@powershell\",\"#\"" | powershell -c - & goto :eof
Write-Host "put your powershell code here"
den-po
powershell а вот почему такая фигня может виснуть? это как-то связано с msiexec? как бы починить?

Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -match "blablabla" }
k1lg0reTr0ut
Microsoft powershell Помните писал про сатанизм?
$gpo = Get-GPO -Name testdenied
$adgpo = [ADSI]"LDAP://CN=`{$($gpo.Id.guid)`},CN=Policies,CN=System,DC=Contoso,DC=Com"

$rule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
[System.Security.Principal.NTAccount]"Contoso\Kazun",
"ExtendedRight",
"Deny",
[Guid]"edacfd8f-ffb3-11d1-b41d-00a0c968f939"
)

$acl = $adgpo.ObjectSecurity
$acl.AddAccessRule($rule)
$adgpo.CommitChanges()
-------------------------
вот вопрос в том, что в строке [System.Security.Principal.NTAccount]"Contoso\Kazun" определен класс объекта для пользователей, а какой тип объекта использовать, если я хочу добавить компьютерный аккаунт?????
k1lg0reTr0ut
powershell вобщем, ситуация такая.
хочу взять около 10 мейлбоксов и посмотреть их общий размер.
то есть к переменной прибавлять значение $mailbox.TotalItemSize
вот какой должет быть тип переменной? или есть другие способы получить сумму? типа $allMailbox.sum(TotalItemSize)
k1lg0reTr0ut
powershell не могу сообразить, как проверить существование объекта в переменной?
например $var = get-различныеобъекты -filter (тут какой то фильтр)
вот в эту $var попадают разные объекты, проходящие фильт, например, юзеры без заполненного мыла, компы в каком-то сайте.
вот есть эта $var и есть еще объект, например, $obj.
как проверить, этот $obj находится в $var?
k1lg0reTr0ut
Microsoft powershell psexec SCCM вобщем, есть sccm. проблема, что есть некоторые клиенты, которые не собирают о себе hardware inventory.
помогает переустановка клиента. полная. с удалением CCM ccmcache и ccmsetup.
вобщем, решил замутить скрипт. которые берет коллекцию с неправильными компами, удаляет агента, ставит агента.
но опять же, не проканывает просто командлет переустановки, нужно чистить каталоги.
но,
1. проблема. это то, что на компах не настроен winrm.
2. psexec не всегда хочет выполняться.
вобщем, геморой(
лень его решать
k1lg0reTr0ut
powershell есть такой параметр -ErrorActionPreference который не работает, если указывать ему там стоп, или continue или silentcontinue.
не работает для отдельного командлета, в качестве его параметра.
если установить системный параметр $ErrorActionPreference в нужное значение — то работает. что не так делаю?
k1lg0reTr0ut
powershell забуду, но напишу все равно тут:
если надо в переменную засунуть только значение объекта, то можно сделать так:
$var = get-adcomputer COMPUTER -Property * | select -expand LastLogonData