
★★★ 緊急告知 ★★★ Visual Studio Code,Docker,WSLを使ってWindows開発環境を改善するためのオンラインセミナーやります!Web+DB Press vol.117に寄稿した内容がベースで,イマドキのナウい開発環境を体感出来ます。 【2021/1/29(金) 19:00〜】WSL2、Visual Studio Code、DockerでグッとよくなるWindows開発環境 |
こんにちは、サイオステクノロジー技術部 武井です。私は、マイクロソフトが実施しているテクニカルカンファレンス「Ignite」に参加するためにフロリダのオーランドということろに来ております。Igniteが実施している期間中に、「ほぼ」リアルタイムレポートをお届けしたいと思います。今回は「PowerShell 7」について記載します。
PowerShell 7はPowerShellの新しいバージョンです。いくつか新しい発表がありましたが、その中から2つ気になったものをピックアップいたします。
1つ目はSecrets Managementです。
この機能を使うと、Office365に接続するのに毎回以下のようにめんどくさいことしたのが、
1 2 3 |
$secure = ConvertTo-SecureString "password" -AsPlainText -Force $LiveCred = New-Object System.Management.Automation.PSCredential "admin@example.onmicrosoft.com",$password Connect-MsolService -Credential $LiveCred |
Get-SecretとするだけでOKのようです。具体的に細かい手法については述べられていなかったのですが、PowerShellによるパスワード管理が簡単になることが間違いないようです。
2つ目は、Foreach-Objectの並列処理です。
これはForeach-Objectでループで処理をするときに、そのループを並列で実行するというものです。実際のコードは以下のとおりです(ちょっと見にくいのですが、、、)。
上記のコードを詳細に解説したいと思います。
1 |
Measure-Command {1..10 | Foreach-Object {Start-Sleep2} -Throttlelimit 10} |
これは、2秒待機する(Start-Sleetp 2)の処理を同時並列実行数最大10で実施したものの処理時間を測る(Measure-Command)というものです。実行時間はデモでは約2秒程度でした。結果から並列実行出来ていることは明らかです。
これ、すごい役に立つと思います。例えばOffice365のユーザーをCSVで大量に追加するというPowerShellの場合、今まではForeachでシリアルに実施するのが一般的でしたが、この新機能を使えば並列実行できるので、Office365への大量ユーザー追加がすぐ終わりそうです。
ただ、Office365やExchangeもそうですが、同時に実行できるPowerShellには上限があります。その上限を超えないようにThrottlelimitを適切に調整することが大事です。
現場からは以上でした。
ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!

>> 雑誌等の執筆依頼を受付しております。
ご希望の方はお気軽にお問い合わせください!
コメント投稿