実現したいこと
ExcelのVLOOKUPのように、①のCSVファイルにおいてグループ名が出力されたデータ内の項目に一致しない場合、「一致しないと」表示したい
①該当項目 B列のグループ名
$file = Import-Csv"C:\Work\Test_Modified_FSSPO_Get_SPOSiteGroup_GMember.csv"
A列:対象サイトのURL
B列:確認したいグループ名が記載されたデータ
②検索対象データ
Microsoft SharepointSiteのグループ一括出力
$title = Get-PnPSiteGroup | Select-Object Title
Get-PnPSiteGroup・・・対象のサイトに内のグループ名を出力するコマンドレット
多数あるSharepointSiteのグループ名とファイル内にあるグループ名が異なった場合、一致しない対象のグループ名を確認したい。現時点では、対象のグループ名は一致していないのはなので、$fileの1行目だけなので1行目だけに「グループ名が一致しません」と表示されると想定しているが考えている通りに表示されません。
発生している問題・エラーメッセージ
現状では、全ての項目が一致しないと表示される。
PS C:\Work\sharepoint\FSSPO> ./title_check.ps1
グループ名が一致しません
グループ名が一致しません
グループ名が一致しません
グループ名が一致しません
グループ名が一致しません
### 該当のソースコード PS C:\Work\sharepoint\FSSPO> $title = Get-PnPSiteGroup | Select-Object Title PS C:\Work\sharepoint\FSSPO> $title Title ----- 0324Test_Project FsSPOeuser externalTest Members externalTest Owners externalTest Visitors PS C:\Work\sharepoint\FSSPO> $file = Import-Csv "C:\Work\sharepoint\FSSPO\Test_Modified_FSSPO_Get_SPOSiteGroup_GMember.csv" PS C:\Work\sharepoint\FSSPO> $file url Groups --- ------ https://externaltest0320.sharepoint.com/sites/externalTest 0324Test_Project FsSPOeuser externalTest Members ... https://externaltest0320.sharepoint.com/sites/externalTest externalTest Members https://externaltest0320.sharepoint.com/sites/externalTest externalTest Owners https://externaltest0320.sharepoint.com/sites/externalTest externalTest Visitors https://externaltest0320.sharepoint.com/sites/Add-SPO Add-SPO_member0404 $file |foreach{ for($i = 0; $i -lt $title.Length; $i++){ if($_.Groups -ne $title.title){ Write-Host "グループ名が一致しません" return } } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/04/11 05:33 編集
2023/04/11 05:35 編集
2023/04/11 05:38
2023/04/11 06:08