Size: a a a

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

2020 March 03

AF

Alexey D. Filimonov 🎠 in PowerShellRus - о Powershell (и не только) на русском
Alexey D. Filimonov 🎠
Ну например на asp.net крутится вебсервис как прокси между кадровой хренью и регистрацией пользователя в ad и lync
Некоторые вещи проще на повершелл нарисовать и перерисовать в случае чего. Ту же регистрацию юзера в ад.
источник

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
Не очень понятно зачем, когда есть pssession
источник
2020 March 04

AS

Andrey Shishkin in PowerShellRus - о Powershell (и не только) на русском
Alexey D. Filimonov 🎠
Ну например на asp.net крутится вебсервис как прокси между кадровой хренью и регистрацией пользователя в ad и lync
Поздравляю, вы написали свой айдентити менеджер
источник

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
Вполне себе public -         public Microsoft.PowerShell.ExecutionPolicy ExecutionPolicy
источник

A

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

AF

Alexey D. Filimonov 🎠 in PowerShellRus - о Powershell (и не только) на русском
Andrey Shishkin
Поздравляю, вы написали свой айдентити менеджер
Увы да, и теперь с ним все интегрируются
источник

AF

Alexey D. Filimonov 🎠 in PowerShellRus - о Powershell (и не только) на русском
Aleksandr
Вполне себе public -         public Microsoft.PowerShell.ExecutionPolicy ExecutionPolicy
Ещё раз. Студия его не видит. Вероятно там устаревший system.management.automation или ещё что то странное
источник

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
PowerShell 2?
источник

R

Raman in PowerShellRus - о Powershell (и не только) на русском
Есть ли naming convention для модулей?
источник

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
Raman
Есть ли naming convention для модулей?
Может, тут что-то есть - https://github.com/PoshCode/PowerShellPracticeAndStyle
источник

\

\w\w in PowerShellRus - о Powershell (и не только) на русском
Есть список из 1000 объетков, Нуна по очереди брать по 100 объектов, есть ли что типа "select -first 100 | select -next 100"?пока видится ток создание двух переменных n1=0,n2=100, а дальше в цикле прост прибавлять по 101 к каждому
$list[$n1..$n2]....
источник

\

\w\w in PowerShellRus - о Powershell (и не только) на русском
Есть какие по пизже варики?
источник

AS

Andrey Shishkin in PowerShellRus - о Powershell (и не только) на русском
Просто for и брать порядковые номера по 100 штук не?
источник

AS

Andrey Shishkin in PowerShellRus - о Powershell (и не только) на русском
А, ну ты дальше это и написал
источник

AS

Andrey Shishkin in PowerShellRus - о Powershell (и не только) на русском
Збс вариант, у меня ещё дед так делал, схема рабочая
источник

\

\w\w in PowerShellRus - о Powershell (и не только) на русском
Andrey Shishkin
Збс вариант, у меня ещё дед так делал, схема рабочая
Да мне кажется есть чот готовое ужо
источник

SK

Sergey Korotkov in PowerShellRus - о Powershell (и не только) на русском
\w\w
Есть список из 1000 объетков, Нуна по очереди брать по 100 объектов, есть ли что типа "select -first 100 | select -next 100"?пока видится ток создание двух переменных n1=0,n2=100, а дальше в цикле прост прибавлять по 101 к каждому
$list[$n1..$n2]....
$BatchBy = 100
$CurrentStep = 0
$Names = "a*"
$CollName = "Test collection"
$AllResourceID = (Get-CMDevice -Name $Names -Fast).ResourceId
while ($CurrentStep -lt $AllResourceID.Count) {
   $Batch = @($AllResourceID | Select-Object -First $BatchBy -Skip $CurrentStep)
   Add-CMDeviceCollectionDirectMembershipRule -CollectionName $CollName -ResourceId $Batch
   $CurrentStep += $BatchBy
}
источник

AF

Alexey D. Filimonov 🎠 in PowerShellRus - о Powershell (и не только) на русском
\w\w
Есть список из 1000 объетков, Нуна по очереди брать по 100 объектов, есть ли что типа "select -first 100 | select -next 100"?пока видится ток создание двух переменных n1=0,n2=100, а дальше в цикле прост прибавлять по 101 к каждому
$list[$n1..$n2]....
источник

SK

Sergey Korotkov in PowerShellRus - о Powershell (и не только) на русском
Sergey Korotkov
$BatchBy = 100
$CurrentStep = 0
$Names = "a*"
$CollName = "Test collection"
$AllResourceID = (Get-CMDevice -Name $Names -Fast).ResourceId
while ($CurrentStep -lt $AllResourceID.Count) {
   $Batch = @($AllResourceID | Select-Object -First $BatchBy -Skip $CurrentStep)
   Add-CMDeviceCollectionDirectMembershipRule -CollectionName $CollName -ResourceId $Batch
   $CurrentStep += $BatchBy
}
Да с for будет лучше :)
$VerbosePreference = 'Continue'
$array = @((1..20) | % { "Item$($_)"})
$BatchBy = 5
for ($i=0; $i -lt $array.count; $i += $BatchBy) {
   Write-Verbose "new batch.."
   $array[$i..($i+$BatchBy-1)]
}
источник

Х

Хоттабыч 🐈 in PowerShellRus - о Powershell (и не только) на русском
Alexey D. Filimonov 🎠
Короче после обрезания что то такое вот осталось https://pastebin.com/GaWyMYeV . Может где ошибся, т.к. чутка перерисовал

Суть - есть 1 модуль с 1 командой, которой передается 2 параметра - обязательный Command (что делаем) и опциональный Data (с чем делаем)
Создаем  сколько-там-нужно инстансов PSInstance с одинаковыми параметрами ( на вход передается папка с файлом-модулем и обьект для синхронизации инстансов )

Для модуля есть некоторая переменная $MCD ( Module Concurrent Dictionary ), которая экспортированна из c# в PowerShell и является общей для обеих сред и общей для всех PSInstance И всех PowerShell-ов в ней
Нужно для синхронизации внутренних данных модуля если он работает в нескольких инстансах.  В PowerShell она Constant AllScope, это значит что ее нельзя удалить ( но добавлять элементы и удалять элементы можно )

Секция // Override ExecutionPolicy работает как то странно, по другому не получилось. Такое чувство, что параметр ExecutionPolicy что-то вроде динамического и стандартно не существует (vscode про него не знает и в Assembly он судя по всему не описан), потому так странно сделано. Вероятно от версии PowerShell наличие зависит\
спасиб
источник