Size: a a a

PowerShellRus - о Powershell (и не только) на русском

2020 April 08

CN

Constantin Nikitin in PowerShellRus - о Powershell (и не только) на русском
Дмитрий Стародубцев
Не было такого что через wmi выполнение идёт ооочень долго?
Нет, по моим наблюдениям wmi работает намного быстрее комманделтов, особенно бесит get-services с пингом больше 3ms
источник

SM

Stirf Mane in PowerShellRus - о Powershell (и не только) на русском
Дмитрий Стародубцев
Столкнулся сразу с несколькими проблемами с этой командой:
1) У неё надо отсекать лишнее. Частично помогает "| select -skip 4", но остается немного лишнего.
2) Через PS не получается сделать нормальный вывод кириллических символов
1) net localgroup administrators| select  -SkipLast 2|select -skip 6
по второй тоже не извращался
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Stirf Mane
1) net localgroup administrators| select  -SkipLast 2|select -skip 6
по второй тоже не извращался
О, а вот это огонь.
источник

J

Jan Baton Makaron in PowerShellRus - о Powershell (и не только) на русском
Дмитрий Стародубцев
Коллеги, добрый день.

Подскажите, действительно на версиях windows <10 нет простого способа получить список локальных админов? В 10 это возможно с командой "Get-LocalGroupMember Администраторы"
а если так?
Get-WmiObject win32_groupuser |Where-Object { $_.GroupComponent -match 'администраторы' } | ForEach-Object {[wmi]$_.PartComponent }
источник

CN

Constantin Nikitin in PowerShellRus - о Powershell (и не только) на русском
Jan Baton Makaron
а если так?
Get-WmiObject win32_groupuser |Where-Object { $_.GroupComponent -match 'администраторы' } | ForEach-Object {[wmi]$_.PartComponent }
К сожалению только на русской винде будет работать, поэтому я в своем скрипте запрашиваю имя группы администраторов по сиду.
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Jan Baton Makaron
а если так?
Get-WmiObject win32_groupuser |Where-Object { $_.GroupComponent -match 'администраторы' } | ForEach-Object {[wmi]$_.PartComponent }
Get-WmiObject -ComputerName dpc-ts-admin -Class Win32_UserAccount -Filter "LocalAccount='True'" |Select PSComputername, Name, Disabled - вот так норм
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Constantin Nikitin
К сожалению только на русской винде будет работать, поэтому я в своем скрипте запрашиваю имя группы администраторов по сиду.
+1. Вариант с конкретным именем подходит только если точно известен язык на всех машинах
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
$admins    = Get-WmiObject -ComputerName $env:COMPUTERNAME -Class Win32_UserAccount -Filter "LocalAccount='True'" |Select  Name
$exportcsv =       foreach ($admin in $admins){
                   New-Object -TypeName PSObject -Property @{
                   ComputerName = $env:COMPUTERNAME
                   LocalAdmins = $admin.Name
                }
           }
$exportcsv | Export-Csv "\\Share\$env:COMPUTERNAME.csv" -NoTypeInformation -Encoding UTF8
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Вроде получилось
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Осталось прогнать по всем компам домена
источник

CN

Constantin Nikitin in PowerShellRus - о Powershell (и не только) на русском
Дмитрий Стародубцев
$admins    = Get-WmiObject -ComputerName $env:COMPUTERNAME -Class Win32_UserAccount -Filter "LocalAccount='True'" |Select  Name
$exportcsv =       foreach ($admin in $admins){
                   New-Object -TypeName PSObject -Property @{
                   ComputerName = $env:COMPUTERNAME
                   LocalAdmins = $admin.Name
                }
           }
$exportcsv | Export-Csv "\\Share\$env:COMPUTERNAME.csv" -NoTypeInformation -Encoding UTF8
Но он покажет всех локальных пользователей, не только админов.
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Чёрт, это не тот WMI
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
источник

IN

Ivan Navi in PowerShellRus - о Powershell (и не только) на русском
get-aduser -filter {canonicalName -like "contoso*"}
чё не так то?
источник

AS

Andrey Shishkin in PowerShellRus - о Powershell (и не только) на русском
Nursultan
хер знает правильно или нет, но решил так
$File = $pwd.Path + "\doc\samplereport.docx"
Попробуйте join-path, там уже разные граничные случаи обработали за вас
источник

AS

Andrey Shishkin in PowerShellRus - о Powershell (и не только) на русском
Дмитрий Стародубцев
Если работает как надо, значит правильно.
Это верно, Дмитрий! Чем больше людей с таким подходом, тем больше у меня подработок.
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Ivan Navi
get-aduser -filter {canonicalName -like "contoso*"}
чё не так то?
where {$_.CanonicalName ........ ?
источник

IN

Ivan Navi in PowerShellRus - о Powershell (и не только) на русском
Дмитрий Стародубцев
where {$_.CanonicalName ........ ?
why?
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Ivan Navi
why?
А что там не так то? Ошибка?
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Алексей Подчуфаров
но выдачу смотреть или с  866 или в 1251
[Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("cp866") - так норм
источник