Size: a a a

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

2020 April 08

RV

Roman Volodin in PowerShellRus - о Powershell (и не только) на русском
Ну, либо стоит vsc либо нет. Нахрена при оном что-то ещё запускать
источник

SM

Stirf Mane in PowerShellRus - о Powershell (и не только) на русском
да и вскод тоже нахрен не запускать... стоит и стоит... а писать в блокноти
источник

J

Jan Baton Makaron in PowerShellRus - о Powershell (и не только) на русском
Roman Volodin
Ну, либо стоит vsc либо нет. Нахрена при оном что-то ещё запускать
Да проблема при отсутствии нормальных кейсов переучиться
источник

ДС

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

Подскажите, действительно на версиях windows <10 нет простого способа получить список локальных админов? В 10 это возможно с командой "Get-LocalGroupMember Администраторы"
источник

N

Nursultan in PowerShellRus - о Powershell (и не только) на русском
пытаюсь сделать такую конструкцию $File = $MyInvocation.MyCommand.Path + "doc\SampleReport.docx"
- но как я понял скрипт дописывает полный путь до скрипта вида c:\script\file.ps1\doc\Samplereport.docx - из-за чего оное не работает. как быть?
цель - чтобы скрипт брал текущий путь откуда идёт выполнение + добавлять ему имя файла для обработки
источник

АП

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

Подскажите, действительно на версиях windows <10 нет простого способа получить список локальных админов? В 10 это возможно с командой "Get-LocalGroupMember Администраторы"
net localgroup administrators
источник

АП

Алексей Подчуфаров in PowerShellRus - о Powershell (и не только) на русском
и парсить вывод
источник

АП

Алексей Подчуфаров in PowerShellRus - о Powershell (и не только) на русском
работает начиная с  nt 3.5.  :)
источник

ДС

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

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Вот так оно выглядит, в зависимости от установленной кодировки в PS. Первый вариант если ставить UTF-8
источник

ДС

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

АП

Алексей Подчуфаров in PowerShellRus - о Powershell (и не только) на русском
не подскажу.  у меня сейчас под рукой такого издевательства как русская винда под рукой нет
источник

АП

Алексей Подчуфаров in PowerShellRus - о Powershell (и не только) на русском
но выдачу смотреть или с  866 или в 1251
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Алексей Подчуфаров
но выдачу смотреть или с  866 или в 1251
Спасибо, попробую
источник

CN

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

Подскажите, действительно на версиях windows <10 нет простого способа получить список локальных админов? В 10 это возможно с командой "Get-LocalGroupMember Администраторы"
Я это делал через такую конструкцию:

Write-Host "Users list:" -ForegroundColor Yellow
           $LocalUsers = Get-WmiObject Win32_UserAccount -Computer $ADcomp | Select-Object @{E= { $_.Name }; L='Username' }, Disabled, @{E= { $_.PasswordExpires }; L='PassExpired' } | Format-Table
           Write-Host ($LocalUsers | Out-String).Trim()
           
           # Query for local Admins
           $AdminGroup = (Get-WMIObject -ComputerName $ADComp -Class Win32_Group -Filter "LocalAccount=True and SID='S-1-5-32-544'").Name
           $LocalGroups = Get-WMIObject win32_groupuser –computer $ADComp
           $LocalAdmins = $LocalGroups | Where-Object { $_.groupcomponent –like '*"' + $AdminGroup + '"' } | ForEach-Object {
             $_.partcomponent –match “.+Domain\=(.+)\,Name\=(.+)$” > $nul
             $matches[1].trim('"') + “\” + $matches[2].trim('"')}
           Write-Host
           Write-Host "Local Admins:" -ForegroundColor Yellow
           Write-Host ($LocalAdmins | Out-String).Trim()
           Write-Host
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Вообще изначально задача была собрать списки локальных админов со всех компов, но в удобной таблица вида:
COMP1 - ADM1
COMP1 - ADM2
COMP2 - ADM3

Из готовых скриптов ничего не подошло и я подумал почему бы не написать самому, вроде не должно быть сложно
источник

CN

Constantin Nikitin in PowerShellRus - о Powershell (и не только) на русском
Constantin Nikitin
Я это делал через такую конструкцию:

Write-Host "Users list:" -ForegroundColor Yellow
           $LocalUsers = Get-WmiObject Win32_UserAccount -Computer $ADcomp | Select-Object @{E= { $_.Name }; L='Username' }, Disabled, @{E= { $_.PasswordExpires }; L='PassExpired' } | Format-Table
           Write-Host ($LocalUsers | Out-String).Trim()
           
           # Query for local Admins
           $AdminGroup = (Get-WMIObject -ComputerName $ADComp -Class Win32_Group -Filter "LocalAccount=True and SID='S-1-5-32-544'").Name
           $LocalGroups = Get-WMIObject win32_groupuser –computer $ADComp
           $LocalAdmins = $LocalGroups | Where-Object { $_.groupcomponent –like '*"' + $AdminGroup + '"' } | ForEach-Object {
             $_.partcomponent –match “.+Domain\=(.+)\,Name\=(.+)$” > $nul
             $matches[1].trim('"') + “\” + $matches[2].trim('"')}
           Write-Host
           Write-Host "Local Admins:" -ForegroundColor Yellow
           Write-Host ($LocalAdmins | Out-String).Trim()
           Write-Host
в $adcomp прописать имя компа
источник

N

Nursultan in PowerShellRus - о Powershell (и не только) на русском
Nursultan
пытаюсь сделать такую конструкцию $File = $MyInvocation.MyCommand.Path + "doc\SampleReport.docx"
- но как я понял скрипт дописывает полный путь до скрипта вида c:\script\file.ps1\doc\Samplereport.docx - из-за чего оное не работает. как быть?
цель - чтобы скрипт брал текущий путь откуда идёт выполнение + добавлять ему имя файла для обработки
хер знает правильно или нет, но решил так
$File = $pwd.Path + "\doc\samplereport.docx"
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Constantin Nikitin
Я это делал через такую конструкцию:

Write-Host "Users list:" -ForegroundColor Yellow
           $LocalUsers = Get-WmiObject Win32_UserAccount -Computer $ADcomp | Select-Object @{E= { $_.Name }; L='Username' }, Disabled, @{E= { $_.PasswordExpires }; L='PassExpired' } | Format-Table
           Write-Host ($LocalUsers | Out-String).Trim()
           
           # Query for local Admins
           $AdminGroup = (Get-WMIObject -ComputerName $ADComp -Class Win32_Group -Filter "LocalAccount=True and SID='S-1-5-32-544'").Name
           $LocalGroups = Get-WMIObject win32_groupuser –computer $ADComp
           $LocalAdmins = $LocalGroups | Where-Object { $_.groupcomponent –like '*"' + $AdminGroup + '"' } | ForEach-Object {
             $_.partcomponent –match “.+Domain\=(.+)\,Name\=(.+)$” > $nul
             $matches[1].trim('"') + “\” + $matches[2].trim('"')}
           Write-Host
           Write-Host "Local Admins:" -ForegroundColor Yellow
           Write-Host ($LocalAdmins | Out-String).Trim()
           Write-Host
Не было такого что через wmi выполнение идёт ооочень долго?
источник

ДС

Дмитрий Стародубцев in PowerShellRus - о Powershell (и не только) на русском
Nursultan
хер знает правильно или нет, но решил так
$File = $pwd.Path + "\doc\samplereport.docx"
Если работает как надо, значит правильно.
источник