投稿者: zen

  • PowerShellでCSVファイルをJSON形式に変換する

    Windowsで、Excelの表をJSONに形式にする必要があったので、ExcelからCSVファイルで保存して、Powershellを使って、CSVファイルをJSON形式のファイルに変換した。

    使ったPowershellのスクリプト(コマンドレット)は下記。

    # CSVファイルのパスを指定
    $csvFilePath = "C:\path\to\your\file.csv"
    
    # JSONファイルのパスを指定
    $jsonFilePath = "C:\path\to\your\file.json"
    
    # CSVファイルをインポート
    $csvData = Import-Csv -Path $csvFilePath
    
    # JSONファイルにエクスポート
    $csvData | ConvertTo-Json | Set-Content -Path $jsonFilePath

    最初の2つは、CSVファイルと出力するJSONファイルの指定なので、直接指定すれば2行でOK。

    1行ずつ、Powershellのプロンプトに入力していけば実行できるので楽。文字コードは全部がUTF8で行う想定だったので指定していないが指定することも可能。

  • Googleから通知がきた。

    OAuthを使わない場合(パスワード認証のみ)のIMAP、POPなどのアクセスは、2025年3月14日からできなくなるとのこと。SMTPは含まれていないので、メール送信でアカウントを使っている場合は大丈夫そうだ。

    2025 年 3 月 14 日より、すべての Google Workspace アカウントで LSA へのアクセスが無効になります。パスワードのみでログインする場合、CalDAV、CardDAV、IMAP、POP は機能しなくなります。OAuth と呼ばれるより安全なアクセス タイプでログインする必要があります。

    ID/Password認証でPOP/IMAPが使えなくなるのは時代だな。そんな時代がくるとは。そもそも、Gmailアプリやブラウザで使うだけならば、POPもIMAPも必要ないけれど。

  • 電気カイロが壊れた

    今冬に買ったモバイルバッテリー兼電気カイロが壊れたようだ。

    一度、充電中に異常発熱した。その後、電源を入れても温かくならない(というか電源ランプもつかない)。モバイルバッテリーとしても使えない。文鎮化してしまったようだ。寒い日が続くので悲しい。

  • ランチ:瑞華楼のタンメン(2025/2/13)

    今日は寒かったので、瑞華楼で野菜たっぷりタンメンを食べてきた。温かくて美味しかった。

  • 羽田空港の夜景

    夜の羽田空港にいってきたので、夜景を撮ってみた。夜の空港はきれい。

  • GASでGoogleWorkspaceのメーリングリストと、メーリングリストのメンバーを取得して一覧にするスクリプト

    Google Workspace上のメーリングリスト一覧を整理するために。GoogleWorkspaceの管理機能だと1つずつダウンロードしていくことになるので、GAS(Google Apps Script)で出力するようにした。ベースになるGASのスクリプトは、Copilotに生成させて、それを少しだけ手直しさせた。GoogleのGeminiだと、ベースも作成できず。

    Google Driveから、新規作成で、その他からApps Scriptを選択して、新しいプロジェクトを作り、コード.gsに下記のコードの部分をコピペ。実行するためにAPIを利用するので、サイドのサービスから「Admin SDK API」を追加する。このスクリプトの実行は、Google Workspaceの管理権限の中のGoogle Groupの管理権限があるユーザでないといけない。フル権限である必要はないけれど。

    以下はコード。

    // GASでGoogleWorkspaceのメーリングリストと、メーリングリストのメンバーを取得して一覧にするスクリプト
    // 出力先は、Google spreadsheet
    function myFunction() {
      listMailingListsAndMembers()
    }
    
    // 単機能なら、直接myFunctionの中にいれてもいい。
    // または、呼び出さずに直接実行してもいい。
    function listMailingListsAndMembers() {
      // Spreadsheetはルートフォルダ=マイドライブの直下に保存される。
      var sheet = SpreadsheetApp.create("Mailing Lists and Members").getActiveSheet();
      sheet.appendRow(["Mailing List", "Member"]);
    
      // AdminDirectory. を実施するためには、サービスから「Admin SDK API」を追加する。
      // 実行時に権限を承認する必要がある。また、実行ユーザがGoogleWorkspaceの該当する機能の権限を持っている
      var groups = AdminDirectory.Groups.list({customer: 'my_customer'}).groups;
      if (groups && groups.length > 0) {
        for (var i = 0; i < groups.length; i++) {
          var group = groups[i];
          var members = AdminDirectory.Members.list(group.email).members;
          var memberEmails = [];
          if (members && members.length > 0) {
            // メーリングリスト内のメンバーの数だけ繰り返し
            for (var j = 0; j < members.length; j++) {
              // メーリングリスト内のメンバーを、memberEmailsの配列に追加
              var member = members[j];
              memberEmails.push(member.email);
            }
          } else {
            memberEmails.push("No members");
          }
          // シートに書き込む
          sheet.appendRow([group.email].concat(memberEmails));
        }
      } else {
        sheet.appendRow(["No mailing lists found", ""]);
      }
    }
  • 読了:8がけ社会 消える労働者 朽ちるインフラ

    耳が痛い話ではあるが、ロストジェネレーション世代としてはどうすることもなぁ。どうしろいうのか。最近は新卒の給与も最初から上がっているが、すでにいる人への恩恵もほぼなく。そんな状態で、止まらぬ少子高齢化、労働力減少と言われてもね。

    個人的には、都市部はコンパクトシティ化、農業・漁業・林業とかは国の買い上げなどの補助、国営化に近いイメージでもいいかも。そんな感じで保護していかないとダメな気がする。やっぱり派遣社員のような制度が結果的によくなかった気がする。手頃な労働力としては、もうやめられない気がするが。

    選挙でも老人票が多いし、元気すぎる老人がいるので、ほんとどうにもならないかも。引退制度でもないと無理では。それに、その世代がいなくなった後を考えると、今度は今の若者あたりの層が勢いづくので、結局、ロストジェネレーション世代は不遇なままで終わりそうな気がする。

    内容は面白かったし、考えさせられた。どうのこうのする気も今のところ起きないが。

    Amazon: https://amzn.to/4aVrAYb


  • GT7ができないので

    今日は、PSNの障害のようで、GT7ができない。ちょうどよくスプラ3のフェスなので、フェスに専念中。そして、負けまくり。ビターだけど、ホワイトとしかマッチングしない。マンタロー強い。

    PSNにログインできないと、ミュージックラリーとかしかできないGT7はもうちょっと手心を・・・。日課で走りたいだけなんだが。まぁ、仕方ないか。

  • 電車運の無い日だった

    今日は、1日、電車運のない日だった。朝は、乗った電車が止まり、いつもの倍の1時間以上も拘束された。帰りは、乗った電車がお客さまトラブルが頻発して、対応でなんども止まる。警察も来たとアナウンスがあったくらいだ。

    行きも帰りも、電車運がなかった。そういう日だったということかな。

  • Veeam Backup & Replication 12.3のインストール要件

    Veeam Backup & Replication 12.3のインストール要件は、以下のページに記載されている。

    https://helpcenter.veeam.com/rn/veeam_backup_12_3_release_notes.html#system-requirements-veeam-backup—replication-server

    抜粋。

    • CPU:x86-64プロセッサ(最小4コアを推奨)。
    • メモリ: 8 GB RAM と 500 MB RAM (同時ジョブごと)。
    • OS: Windows Server 2025
    • 裏で使うDB: PostgreSQL 14.x、15.x(バージョン15.10.1はセットアップに含まれています)
           Microsoft SQL Server 2012 から 2022

    最新のWindows Serverに対応しているのはいいこと。