今回はPowershellからPowerApps・PowerAutomateのコマンドについて調べたのでそのメモとなります
Version | |
OS | Windows 11 Pro |
PowerShell | 7.4.1 |
Microsoft.PowerApps.Administration.PowerShell(モジュール) | 2.0.180 |
Microsoft.PowerApps.PowerShell(モジュール) | 1.0.34 |
Power系コマンドのインストール
以下のコマンドを実行してそれぞれのモジュールをインストールします
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell
アプリの一覧取得
PowerAppsの場合は【Get-AdminPowerApp】、PowerAutomateの場合は【Get-AdminFlow】を実行します。ただ、PowerAutomateの場合は取得した情報に所有者情報は含まれていないようです
Get-AdminPowerApp | ForEach-Object {
$appName = $_.DisplayName
$appId = $_.AppName
$owner = $_.Owner.displayName
$createdTime = ConvertTimeZone($_.CreatedTime)
$appLastModified = ConvertTimeZone($_.LastModifiedTime)
LogWrite "Debug" "AppName: $appName, AppId: $appId, Owner: $owner, CreatedTime: $createdTime, LastModified: $appLastModified"
}
Get-AdminFlow | ForEach-Object {
$flowName = $_.DisplayName
$flowId = $_.FlowName
$createdTime = ConvertTimeZone($_.CreatedTime)
$flowLastModified = ConvertTimeZone($_.LastModifiedTime)
LogWrite "Debug" "FlowName: $flowName, FlowId: $flowId, CreatedTime: $createdTime, LastModified: $flowLastModified"
}
時刻の変換
上記で取得した時間はUTCでの時間となっているのでそれを変換する必要があったため、実行環境のタイムゾーンを取得してそれに合った時間に変換する関数で変換しています
function ConvertTimeZone($dataTime) {
$localTimeZone = (Get-TimeZone).Id
# ConvertTimeBySystemTimeZoneIdの引数は変換対象時間、変換元タイムゾーン、変換先タイムゾーンの順番
return Get-Date([TimeZoneInfo]::ConvertTimeBySystemTimeZoneId($dataTime, "UTC", $localTimeZone)) -Format "yyyy-MM-dd HH:mm:ss"
}
環境の取得
環境一覧の取得コマンドですが、PowerAppsにはあるのですがPowerAutomateにはありませんでした
Get-AdminPowerAppEnvironment | ForEach-Object {
$environmentName = $_.DisplayName
$environmentId = $_.EnvironmentName
$location = $_.Location
if ($_.CreatedTime -ne $null) {
$createdTime = ConvertTimeZone($_.CreatedTime)
}
$createdBy = $_.CreatedBy.email
if ($_.LastModifiedTime -ne $null) {
$lastmodified = ConvertTimeZone($_.LastModifiedTime)
}
$lastmodifiedBy = $_.LastModifiedBy
LogWrite "Debug" "EnvironmentName: $environmentName, EnvironmentId: $environmentId, Location: $location, CreatedTime: $createdTime, CreatedBy: $createdBy, LastModified: $lastmodified, LastModifiedBy: $lastmodifiedBy"
}
最後に
今回調べてみてPowerAutomate系のコマンドは少ない気がしました。紹介したもの以外にも以下のサイトでは様々な例が記載されています。また、Dateverseについてはまた別の方法でのアクセスになるようなのでそちらについても今後調べてみたいと思います
-
Power Apps と Power Automate の PowerShell サポート - Power Platform | Microsoft Learn
PowerShell コマンドレットについて学び、それらをインストールして実行する方法のチュートリアルを取得してください ...
続きを読む
以下のサイトはコマンド一覧のサイトとなります
-
Microsoft.PowerApps.Administration.PowerShell Module | Microsoft Learn
Power Apps Administration PowerShell lets you manage Power A ...
続きを読む
会社紹介
私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています
会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造
この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています
ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します
-
アドバンスド・ソリューション株式会社
アドバンスド・ソリューションは主にMicrosoft製品を使用して、企業の生産性向上に取り組んでいます。要件定義から導入 ...
サイトへ移動
-
お問い合わせ | アドバンスド・ソリューション株式会社
お問い合わせはこちら