カテゴリー: 技術系

  • Windows11でExcelにログインするとTPMエラーがでる問題の対処

    古いADに参加したWindows11で、Microsoft365のWordやExcel、PowerPointにログインすると、TPMのエラーが発生して正常にログインできない。

    Windows10でも同じ問題は起きていたが、こちらはWindowsのセキュリティアップデートを手動アンインストールすることで、ログインできるようになる。Windows11でも同じことを試したが、TPMエラーは解消せず。

    いろいろと調べて、試していたところ、レジストリ値の変更で対処できることが分かった。

    1.Windowsキーを押して、「regedit」と入力して、レジストリエディターを開く

    2.下記の値を探して開く(選択する)

    コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Protect\Providers\df9d8cd0-1501-11d1-8c7a-00c04fc297eb

    3.右クリックし、「新規」で「DWORD(32ビット)値」を選択する

    4.名前を「ProtectionPolicy」に変える

    5.「ProtectionPolicy」をダブルクリックして開き、「値のデータ」を「1」に変えて、OKをクリックする

    6.OSを再起動してから、M365のログインを試す。

    同じ方法で、Windows10のTPMエラーも解消することがわかっている。Providersの下の値は、環境によって変わる可能性はあり。その時は探して値追加を試す。

    参考)

    https://www.kusanagi.com/wp/outlook/outlook-2019%E3%81%A7pop%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84/

    https://itguys.al/office-365-account-setup-tpm-error-80090034-fixed

  • Powershellでless +Fっぽいことをやる

    Windowsで、テキスト形式のログをリアルタイムで確認したくて、”less +F” や “tail -f” のようなものがないかと調べていたら、Powershellでできるとのこと。

    Get-Content -Path ログファイル -wait -tail 0

    止めるときは、「Ctrl + C」で止める。

    もし、文字化けが発生する場合には、「-encoding utf8」(utf8の部分は適切な文字コードに変える)を付けて実行する。

    使ってみたが、便利。問題はコマンドを忘れそうなこと。

    参考: https://saoline.co/wordpress/?p=1182

  • MySQLでSelectした結果をCSVでファイル出力する

    MySQLでSelect文の結果をファイルに書き出すのは簡単だった。Select文の最後に「INTO OUTFILE」でファイルの出力パスとファイル名を指定するだけだった。

    SELECT * FROM テーブル名 INTO OUTFILE '出力ファイルパス';

    それから、書き込み先の権限がないと、エラーで失敗する。その場合は、書き込みするディレクトリのパーミッションを確認する。下記は、失敗したところ。

    root@localhost [zen]> select * from item into outfile '/usr/home/zen/item.csv';
    ERROR 1 (HY000): Can't create/write to file '/usr/home/zen/item.csv' (Errcode: 13 "Permission denied")
    root@localhost [zen]>
  • Google ChatでSpaces を削除できるようになった

    やっとGoogle Chatで作成したSpaces(チャットルーム)を削除できるようになった。今までは、チャットルームを抜けることはできても、消すことはできなかった。地味なアップデートだけど、うれしいアップデート。これでゴミを消せる。

    https://workspaceupdates.googleblog.com/2022/07/delete-chat-spaces-and-their-content.html

    削除には、Spacesのスペース名のところをクリックして、プルダウンで表示されたメニューから「削除」を選ぶ。

    Spacesを削除すると、チャットの内容とファイルが消えるので、注意は必要。

  • FreeBSD 12.2 から 13.1 へメジャーバージョンアップ

    FreeBSDを、12.2 から 13.1 にメジャーバージョンアップをしたので、そのメモ。

    アップデートのコマンドと流れは下記。

    freebsd-update fetch
    freebsd-update install
    freebsd-update upgrade -r 13.1-RELEASE
    freebsd-update install
    shutdown -r now
    上がってこない。30分くらい。sshdは起動していたが、反応なし。ここからコンソールで作業した
    freebsd-update install
    (再度の実行を求められたのでもう一回)
    freebsd-update install
    shutdown -r now
    pkg-static upgrade -f

    FreeBSD 13.1の最初の “freebsd-update install” のあとに再起動したときに、OSは起動している状態になっていても、SSHで接続できない状態になった。確認してみると、sshdは起動していた。でも接続はできなかった。

    途中からコンソール接続して、アップデートを続けたので、リモートで作業する場合には要注意。PINGは飛んでいたので、OSは上がっているようにみえるのだけど、状態の確認ができなかった。

    参考

    https://www.freebsd.org/releases/13.1R/installation/#upgrade-binary

  • WordPressのプラグイン更新中に誤ってページ移動してしまい、ずっとメンテナンスモードになったときの対処

    WordPressでプラグインの更新中に、うっかりページ移動をしてしまった。そうしたら、メンテナンスモードのままになり、下記のメッセージが表示されるだけになった。

    現在メンテナンス中のため、しばらくの間ご利用いただけません。

    これの対処は、Wordpressがインストールされている(配置されている)ディレクトリにある「.maintenance」のファイルを消す。

    これがあるとメンテナンスモードとして認識されてしまうので、消す必要あり。

    rm .maintenance

    消した後は、Wordpressにアクセスして、メンテナンスモードが解除されたことを確認する。そして管理画面にアクセスして、残っているアップデートを実施する。

    例)

    zen@xxxxxx:/var/www/html/blog$ ls -a
    .             readme.html           wp-content         wp-settings.php
    ..            wp-activate.php       wp-cron.php        wp-signup.php
    .maintenance  wp-admin              wp-includes        wp-trackback.php
    0.txt         wp-blog-header.php    wp-links-opml.php  xmlrpc.php
    index.php     wp-comments-post.php  wp-load.php
    inf2.php      wp-config-sample.php  wp-login.php
    license.txt   wp-config.php         wp-mail.php
    zen@xxxxxx:/var/www/html/blog$
    zen@xxxxxx:/var/www/html/blog$
    zen@xxxxxx:/var/www/html/blog$ rm .maintenance
  • SQL Serverで分散トランザクションのエラーが出たときの対処

    Windows Server 2022とSQL Server 2019組み合わせで、リンクサーバの設定をして、リンクサーバのテーブルにアクセスしたところ、下記のメッセージが表示された。

    分散トランザクションを開始できなかったので、この操作を実行できませんでした。

    これの対処して、下記の手順で設定変更を行う。

    1.Windowsキーを押して、「コンポーネント サービス」(途中に半角スペースあり)と入力して、コンポーネント サービスを起動する

    2.「コンソール ルート」→「コンポーネント サービス」→「コンピューター」→「マイ コンピューター」→「Distributed Transaction Coordinator」→「ローカル DTC」の順に選択する

    3.「ローカル DTC」を右クリックし、プロパティを開く

    4.プロパティの「セキュリティ」タブを選択する

    5.下記の5つにチェックを入れて、適用をクリックする。

        * ネットワーク DTC アクセス
        * リモートクライアントを許可する
        * リモート管理を許可する
        * 受信を許可する
        * 送信を許可する

    6.MSDTCサービスの停止と再開の警告がでるので、「はい」をクリックする。成功すると、MSDTCサービスを再開した旨のポップアップがでる。

    7.SQL Serverのサービスを再起動する(もしくはOSを再起動する)

    これを、リンクサーバで設定する相互のサーバで行う。

    参考)

  • .NET6のランタイムがインストールされているか調べる方法

    .NET6 のアプリケーションを動作させるために、Windowsに「.NET6のランタイム」がインストールされているかを調べた。同じ方法で、「.NET core」のランタイムがインストールされているかも調べることができる。(.NET6 は、Core系の系譜なので)

    ランタイムがインストールされているかどうかは、Powershellを開いて、下記のコマンドを実行する。

     dotnet --list-runtimes

    .NETのランタイムがインストールされていないときは、dotnetコマンドがエラーになる。dotnetコマンドが正常に実行されれば、ランタイムのリストが表示される。

    .NET6などのランタイムがインストールされているときの例)

    PS C:\>  dotnet --list-runtimes 
    Microsoft.AspNetCore.App 3.1.23 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] 
    Microsoft.AspNetCore.App 3.1.25 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] 
    Microsoft.AspNetCore.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] 
    Microsoft.AspNetCore.App 5.0.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] 
    Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] 
    Microsoft.AspNetCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] 
    Microsoft.AspNetCore.App 6.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] 
    Microsoft.AspNetCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] 
    Microsoft.NETCore.App 3.1.23 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 
    Microsoft.NETCore.App 3.1.25 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 
    Microsoft.NETCore.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 
    Microsoft.NETCore.App 5.0.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 
    Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 
    Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 
    Microsoft.NETCore.App 6.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 
    Microsoft.NETCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 
    Microsoft.WindowsDesktop.App 3.1.23 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] 
    Microsoft.WindowsDesktop.App 3.1.25 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] 
    Microsoft.WindowsDesktop.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] 
    Microsoft.WindowsDesktop.App 5.0.15 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] 
    Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] 
    Microsoft.WindowsDesktop.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] 
    Microsoft.WindowsDesktop.App 6.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] 
    Microsoft.WindowsDesktop.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] 
    PS C:\>

    .NET6などのランタイムがないときの例)

    PS C:\>  dotnet --list-runtimes 
    dotnet : 用語 'dotnet' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されま 
    せん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してく 
    ださい。 
    発生場所 行:1 文字:2 
    +  dotnet --list-runtimes 
    +  ~~~~~~ 
        + CategoryInfo          : ObjectNotFound: (dotnet:String) [], CommandNotFoundException 
        + FullyQualifiedErrorId : CommandNotFoundException 
    PS C:\>

  • SQL Server 2019でsaでログインできない

    SQL Server 2019で、インストール後に、saでログインしようとしたらエラーでログインできず。サーバー認証は「SQL Server 認証モードと Windows 認証モード」にしてある。パスワードはインストール時に設定したものと同じはず。

    念のため、saのパスワードを再設定したところ、無事にログインできた。

  • SQL Serverのプロシージャー作成でANSI_NULLSオプションのエラーが発生

    古いSQL Server 2005 からバージョンの新しいSQL Server 2019に、プロシージャーを移行しようとしたところ、下記のエラーが表示され、プロシージャーが作成できなかった。

    異種クエリでは接続時に ANSI_NULLS オプションと ANSI_WARNINGS オプションが設定されている必要があります。これは一貫したクエリ セマンティクスを保証します。これらのオプションを有効にし、クエリを再実行してください。

    これの対応として、プロシージャーの最初に、「SET ANSI_NULLS ON」と「SET ANSI_WARNINGS ON」の設定を追加した。これを追加した後に、実行すると、正常にプロシージャーの作成ができた。

    参考)

    SET ANSI_NULLS ON 
    GO 
    SET QUOTED_IDENTIFIER ON 
    GO 
    SET ANSI_NULLS ON 
    GO 
    SET ANSI_WARNINGS ON 
    GO