痛いところは煙に巻く

製造業のしがない社内SEが日記代わりにいろいろ書く

Hello,World

Üben Sie es nur recht fleißig, so wird es schon gehen

2021/05/21 Google Chromeがクラッシュする問題

おはこんばんにちは、ビショップです。
久しぶりの更新ですが、トラブル対応レポートです。

本日2021年5月21日午前中11時くらいからですかね、久々にGoogle Chromeのクラッシュについて問い合わせがありました。そんでもって多発。
キャッシュのクリアや再インストールでも改善しませんでしたが、ユーザデータのリセットで直りましたのでまとめます。

対応方法:ユーザデータのリセット

ユーザデータの場所

C:\Users\{ユーザ名}\AppData\Local\Google\Chrome
こちらのフォルダに「User Data」というフォルダがあります。
f:id:bishop03428:20210521144208p:plain

削除かリネームする

「User Data」というフォルダを思い切って削除しちゃいましょう。
心配な人はリネームしてください。「User Data old」とかなんでもいいです。
f:id:bishop03428:20210521144335p:plain

リネームしたらGoogleChromeを再起動

Google Chromeを起動しなおすと完全に初期画面に戻ります。
f:id:bishop03428:20210521144421p:plain

先ほどリネームした「User Data」が自動で新たに作り直されます。
f:id:bishop03428:20210521144453p:plain

これでGoogle Chromeがクラッシュする症状は改善されました。

注意事項

ブックマークや閲覧履歴は全部消えます!

原因

今のところ不明。
何か分かったら追記します。

2021/05/24追記

Googleから解決方法が提供されました
bishop.hatenadiary.com

Get-MsolUserのエラーハンドリング

おはこんばんにちは、ビショップです。

以前からMicrosoft365関連の記事を紹介しています。今回もその関連話題です。Microsoft365のユーザ情報を取得してゴニョゴニョする仕組みを構築する必要があったので、PowerShellのスクリプトを組んでいました。そんな時に、エラーハンドリング部分で壁にブチ当たったので、まとめておきたいと思います。今回は、Get-MsolUserコマンドでまとめますが、他のMicrosoft365関連のコマンドレットでも応用が利くと思います。

下記サイトを参考にさせて頂きました。
All-in-one Get-User cmdlet: Part 2 – Error Handling Get-MsolUser:
All-in-one Get-User cmdlet: Part 2 – Error Handling Get-MsolUser – Milne.IT

今回のサンプルは、Get-MsolUsersコマンドでユーザが存在しなかった場合、存在しなかったユーザをログに書き込んで一覧にするようなプログラムです。それがやりたくて調べました。
このGet-MsolUserコマンドにおけるユーザが存在しなかったときのエラーは、エラーメッセージこそPowerShell上に赤文字で表示されるのですが、処理が中断されないエラーで、PowerShellのtry-catchでは捕らえることができません。なので、コマンド実行時にまずはErrorActionを指定して、エラーが発生した際に処理を中断させる必要があります。

今回、ユーザが存在しなかったことだけ分かればいいので、catchにはUserNotFoundExceptionを指定してエラー処理を絞り込んでいます。ダブルチェックの処理は、通常処理時に後続の処理が正しく実行されるように判定用変数にtrueをしっかり戻す処置です。catch内のthrowですが、For文の中でこのtry-catchを使っていた場合は、continueにしないと動かないかもしれないので、試してみてください。

try {
    # ユーザ情報の取得 -ErrorAction Stop でエラー時は処理を中断させる
    $MsolUser = Get-MsolUser -UserPrincipalName $UserPName -ErrorAction Stop

    # ダブルチェック
    if ($MsolUser) {
        $MsolUserFound = $true
    } else {
        $MsolUserFound = $false
    }

    if ($MsolUserFound) {
        "ユーザがちゃんといたときの処理"
    } else {
        "[Warning]User not found. User=[$UserPName]" >> hoge.txt
    }

} catch [Microsoft.Online.Administration.Automation.UserNotFoundException] {
    # 発生したエラーメッセージの取得
    $MsolUserError = $MsolUser.Exception.Message

    if ($MsolUserError -match "^User Not Found."){
         # User Not Found が含まれていれば
         $MsolUserFound = $false
    } else {
         throw
         # For文内なら continue かも
    }

}

【Microsoft365】Get-MailboxFolderPermissionで予定表の権限情報を取得してCSVに一覧出力する

おはこんばんにちは、ビショップです。

最近Microsoft365をいじらされてます。
PowerShellを使わないと管理できないものもあり、非常に面倒です。

コマンドを作って、適宜実行できるようにps1にして保存しています。
備忘録的にコマンドの一部を記録しようと思います。

前回はGet-DistributionGroupMemberコマンドを使って、グループに所属しているメンバー情報を出力する方法を紹介しました。
今日は、Get-MailboxFolderPermissionコマンドを使って、予定表の権限情報を出力したいと思います。
会議室を設定する場合、中には特定の人した予定表を登録できないとか、制限することがありますよね。その権限設定の状態を確認するにはやっぱり一覧が欲しいときがあります。なかなか使う頻度は低いかもしれないですが、あると便利なコマンドだと思っています。

通常、Get-MailboxFolderPermissionコマンドでは、ユニークなグループのプライマリSMTPアドレスを指定しないといけません。なので、例の如くforeachステートメントを使用して、Get-Mailboxで取得した数だけ検索を実行して、CSVにまとめて出力する方法を取ります。検索するメールボックスは会議室だけにしたいので、ResouceTypeにフィルタをかけておきます。

# 実行ファイルのディレクトリ
$CurrentDir = Split-Path $MyInvocation.MyCommand.path
# 出力先ディレクトリ
$ExpDir = $CurrentDir + "\export_file\"
# 検索対象

# ディレクトリの存在チェック
If (!(Test-Path $ExpDir)) {
	# 存在しない場合、ディレクトリ作成
	New-Item $ExpDir -ItemType Directory
}

# パーミッション一覧
$GetMB = Get-Mailbox -Filter "ResourceType -eq 'Room'" | Select PrimarySmtpAddress
$GetPL = foreach ($i in $GetMB.PrimarySmtpAddress ){ Get-MailboxFolderPermission -Identity $i":\calendar" | Select @{n="SmtpAddress";e={$i}},Identity,FolderName, User, AccessRights }
$GetPL | Export-Csv -Encoding UTF8 -Path $ExpDir"Permission.csv"

今回もSelect句をつけて、必要そうな情報に絞って抽出してCSVに吐き出しています。必要なものを追加したり、不要なものは削除したりしてください。
対象のメールボックスの件数によってかなり時間がかかります。必要に応じてIdentityなどで絞りこんでおきましょう

Get-MailboxFolderPermissionのIdentityパラメータで指定するのは、PrimarySmtpAddress+”:\calendar”とする必要があります。コロンを忘れがちなので注意が必要です。calendar以外でもメールボックスのフォルダを指定することで指定したユーザのメールボックス内の各フォルダ毎にアクセス権をチェックすることができます。

【Microsoft365】Get-DistributionGroupMemberでグループメンバーを取得してCSVに一覧出力する

おはこんばんにちは、ビショップです。

最近Microsoft365をいじらされてます。
PowerShellを使わないと管理できないものもあり、非常に面倒です。

コマンドを作って、適宜実行できるようにps1にして保存しています。
備忘録的にコマンドの一部を記録しようと思います。

前回はGet-DistributionGroupコマンドを使って、グループ情報を出力する方法を紹介しました。
今日は、その発展系、Get-DistributionGroupMemberコマンドを使って、グループに所属しているメンバーの情報を出力したいと思います。
ちゃんと管理しようと思うと、どのグループにどのメンバーがいるのか、一覧がないと管理しきれないことがあるので、私としては結構使う頻度の高いコマンドです。

通常、Get-DistributionGroupMemberコマンドでは、ユニークなグループのプライマリSMTPアドレスを指定しないとメンバー情報を検索することができません。
なので、foreachステートメントを使用して、Get-DistributionGroupで取得したグループの数だけ検索を実行して、CSVにまとめて出力する方法を取ります。

# 実行ファイルのディレクトリ
$CurrentDir = Split-Path $MyInvocation.MyCommand.path
# 出力先ディレクトリ
$ExpDir = $CurrentDir + "\export_file\"
# 検索対象

# ディレクトリの存在チェック
If (!(Test-Path $ExpDir)) {
	# 存在しない場合、ディレクトリ作成
	New-Item $ExpDir -ItemType Directory
}

# グループメンバー一覧
$GroupMember = foreach ($i in Get-DistributionGroup){Get-DistributionGroupMember -Identity $i.PrimarySmtpAddress | select @{n="DistribustionGroupName";e={$i.Name}}, @{n="DistributionGroupMailAddress";e={$i.PrimarySmtpAddress}},	Name,DisplayName,Identity,Alias,PrimarySmtpAddress,City,Notes,Company,CountryOrRegion,PostalCode,CustomAttribute1,CustomAttribute2,CustomAttribute3,Office,ResourceType,Phone,RecipientType,RecipientTypeDetails,Title,WhenMailboxCreated,WhenChanged,WhenCreated,ManagedBy,Id}
$GroupMember | Export-Csv -Encoding UTF8 -Path $ExpDir"DistributionGroupMember.csv"

今回もSelect句をつけて、必要そうな情報に絞って抽出してCSVに吐き出しています。必要なものを追加したり、不要なものは削除したりしてください。
グループがたくさんあるとかなり時間がかかります。必要に応じてIdentityなどでDistributionGroup自体を絞っておいた方が効率的だと思います。

次回は、メールボックスのパーミッション情報をまとめて取得する方法を紹介しようと思います。

【Microsoft365】Get-DistributionGroupでグループ情報を取得してCSVに一覧出力する

おはこんばんにちは、ビショップです。

最近Microsoft365をいじらされてます。
PowerShellを使わないと管理できないものもあり、非常に面倒です。

コマンドを作って、適宜実行できるようにps1にして保存しています。
備忘録的にコマンドの一部を記録しようと思います。

先日はGet-Mailboxコマンドを使って、メールボックスの情報を絞って出力する方法を紹介しました。
今日は、Get-DistributionGroupコマンドを使って、配布グループの情報を出力したいと思います。
特に、配布グループの内、RoomListのオプションをつけて作成した会議室用の配布グループは、Exchangeの管理センターで見れません。(見るところがあれば教えてください。)ですので、CSVに出力したりして、効率的に管理できるようにしましょう。

# 実行ファイルのディレクトリ
$CurrentDir = Split-Path $MyInvocation.MyCommand.path
# 出力先ディレクトリ
$ExpDir = $CurrentDir + "\export_file\"
# 検索対象

# ディレクトリの存在チェック
If (!(Test-Path $ExpDir)) {
	# 存在しない場合、ディレクトリ作成
	New-Item $ExpDir -ItemType Directory
}

# グループ一覧
$DGroup = Get-DistributionGroup | Select Name,DisplayName,PrimarySmtpAddress,Alias,GroupType,RecipientTypeDetails,Description,CustomAttribute1,CustomAttribute2,CustomAttribute3,Identity,WhenChanged,WhenCreated,ManagedBy
$DGgroup | Export-Csv -Encoding UTF8 $ExpDir"DistributitonGroup.csv"

今回もSelect句をつけて、必要そうな情報に絞って抽出してCSVに吐き出しています。
Identityタグなどを使って絞り込んだりしてもいいですね。

前回の記事では、特に言及しませんでしたが、出力するパラメータに日本語が含まれている場合、文字化けしてしまうことがあるので、CSV出力時にはEncodingオプションでUTF8を指定しています。

次回は、グループに追加されているメンバーをCSVに出力する方法を紹介予定です。

【Microsoft365】Get-Mailboxでリソース情報を取得してCSVに一覧出力する

おはこんばんにちは、ビショップです。

最近Microsoft365をいじらされてます。
PowerShellを使わないと管理できないものもあり、非常に面倒です。

コマンドを作って、適宜実行できるようにps1にして保存しています。
備忘録的にコマンドの一部を記録しようと思います。

今日はGet-Mailboxコマンドを使って、メールボックスの情報を絞って出力する方法です。

# 実行ファイルのディレクトリ
$CurrentDir = Split-Path $MyInvocation.MyCommand.path
# 出力先ディレクトリ
$ExpDir = $CurrentDir + "\export_file\"
# 検索対象

# ディレクトリの存在チェック
If (!(Test-Path $ExpDir)) {
	# 存在しない場合、ディレクトリ作成
	New-Item $ExpDir -ItemType Directory
}

# メールボックス一覧
$GetMailBox = Get-Mailbox | Select Name,Alias,PrimarySmtpAddress,ResourceType,Office,AccountDisabled,ResourceCapacity,CustomAttribute1,CustomAttribute2,MailTip,DisplayName,RecipientType,RecipientTypeDetails,Identity,WhenMailboxCreated,WhenChanged,WhenCreated
$GetMailBox | Export-Csv -Encoding UTF8 -Path $ExpDir"Mailbox.csv"

Select句をつけて、必要そうな情報に絞って抽出してCSVに吐き出しています。
ps1ファイルの保存しているディレクトリ内にフォルダを作ってCSVを出力します。
Identityタグなどを使って絞り込んだりしてもいいですね。

会議室メールボックスのみを出力する場合は、Filterオプションをつけて絞り込むことで実現できます。

# メールボックス一覧 (会議室メールボックス)
$GetMailBox = Get-Mailbox -Filter "ResourceType -eq 'Room'" | Select Name,Alias,PrimarySmtpAddress,ResourceType,Office,AccountDisabled,ResourceCapacity,CustomAttribute1,CustomAttribute2,MailTip,DisplayName,RecipientType,RecipientTypeDetails,Identity,WhenMailboxCreated,WhenChanged,WhenCreated
$GetMailBox | Export-Csv -Encoding UTF8 -Path $ExpDir"Mailbox.csv"

他にも作った&作っているので、また紹介したいと思います。

【ストッケ トリップトラップ】レビュー!子供の椅子は安全安心・長く使えるものを!

おはこんばんにちは。ビショップです。

子供も9か月を過ぎ、離乳食も順調に進んでいます。離乳が進むにつれ、妻は授乳の時間や回数が減り始め、少し寂しいようです。とはいえ、まだまだ夜泣きや起き抜けの一杯はお乳が飲みたいようです。

我が家はダイニングテーブルがハイタイプで高さがあるので、離乳食を始めるにあたり、子供用の椅子を購入しました。例によって赤ちゃんが座るものということでいろいろ検討したのですが、結局人気のストッケ トリップトラップに決定!使い始めて3ヶ月くらい経ちましたので、簡単に使用感などレビューしていこうかと思います。

我が家では、フルセットに近いでしょう、下記のような構成で使用しています。

  • ナチュラルカラーのトリップトラップ本体
  • ベビーセット
  • ストッケトレイ
  • ハーネス
  • トリップトラップ クラシッククッション

ストッケのアイテムはどこを見ても定価での販売で、値下げはあんまりしてないんですよね。このセットは総額(税込み)で6万円くらい。散財が捗る…!

f:id:bishop03428:20210121150705j:plain
使用感

メリット、買ってよかった点

安全性

生後6ヶ月の赤ちゃんが座って、暴れたりしても大丈夫なものがいいですね。トリップトラップは店頭で実際に触ってみても非常に丈夫かつ安定感がありました。実際に座らせてみても、とっても安定しています。つかまり立ちするようになってくると足の力が強くなり体を蹴り上げてきますが、それでもそう簡単にぐらつくことなく安定して子供を支えてくれます。ベビーセット、ハーネスをつければ最強です。暴れる子供も決して脱出することができません。出れなくてギャン泣きです。

長く使える

f:id:bishop03428:20210121162530j:plain
引用:ストッケ(https://www.stokke.com

公式が「子供から大人まで」って言ってます。弟や妹が出来たら追加で色違いを買おうと思ってます。赤ちゃん期から長期で使えるものってそんなに無いですよね。なるべく大事に扱って、私専用・僕専用と愛着を持ってくれるといいなぁと思っています。

保証が最大7年と長い

他のベビーチェアではあんまり見られなかったと思いますが、ストッケでは最大7年の長期保証があります。購入後に登録が必要ですが無料です。どこかの電気屋みたいに延長保証に数千円取られたりしません。7年は壊れるはずがない、というメーカー側の自信が見えますね。その辺りも安心ポイントの一つです。

クッションが意外と良い

f:id:bishop03428:20210122095302j:plain
クラシッククッション

クラシッククッションは、最初は無しで座らせていたのですが、木材だけあって堅いし冷たいのが少し気になって。あとウチの子だけかもしれませんが座りながらのけぞるんですよね。ベビーセットの背もたれに頭をぶつけたりするので、クッションあるといいなと思って買ってみました。そこまでふかふかになるわけではないですが、座り心地は良さそうです。表面生地は撥水加工されており、多少水に濡れても大丈夫です。撥水加工されてるので、冷たいのはあんまり変わりませんでしたが多少はマシになった感じです。座面部分はハーネスをつけたままでも、ベビーセットの固定部分を外す必要はありますが、着脱可能です。背もたれ部分を装着したままストッケトレイを装着できます。全部乗せ状態最強です。

デメリット、いまいちだった点

重い

クッソ重い。木だから。丈夫さとトレードオフ。私は気になりませんが、妻は大変かもしれません。旦那が動かしてあげましょう。

値段が高い

他のベビーチェアと比較しても高価な部類ですね。本当にどれだけの期間使用できるかによると思いますが、あんまり早い劣化になってしまうとちょっと勿体ないかもしれませんね。とはいえ、安かろう悪かろう、安物買いの銭失いでは困るので、奮発する価値はあるんじゃないですかね。

高さ調節がしづらい

買ってから気が付きましたが、足の踏み板の高さや出しろの調節が椅子全体のねじを緩めないと調整できません。滅多に調節するものでもないのですが、始めると結構面倒なので、電動ドライバが欲しいですね。

ハーネスが留めづらい

ハーネスの留め具がちょうどベビーセットと子供のお腹の間に来ます。上の写真を見てもらえば分かりますが、留め具はフリー状態だと座面の下にペロンと落ちてしまうので、慣れるまで留めるのがちょっと難しいです。落下防止のためにベビーセットに弁当箱用のバンドとかで挟んでおくといいかもしれませんね。今思いついた。

なるべく良いモノをそろえておきたい

所詮椅子なので、そんなに高価なものを…という意見もあると思いますが、大切な我が子が座るものです。安物で何かがあってからでは遅いので、しっかり検討して購入したいですね。これから離乳食が始まる方や買い替えたい方の参考になればと思います。さぁみんなで子供に重課金しましょう!

STOKKE トレイ ホワイト

STOKKE トレイ ホワイト

  • 発売日: 2015/10/15
  • メディア: Baby Product
ストッケ ハーネス

ストッケ ハーネス

  • メディア: Baby Product

スポンサーリンク