タグ: WindowsServer2019

  • Windows Server 2019をADにする場合はSMB1.0を有効にしないと古いOSからSysvolにアクセスできない

    Windows Server 2019やWindows Server 2022をActive Directory(AD)にする場合、SMB1.0を有効化する設定を行わないと、Windows Server 2003などの古いOSからSysvolに対してアクセスできない。

    Sysvolにアクセスできない場合、ログオンスクリプトの実行や配布などの不具合が発生する。ただ、SMB1.0のプロトコルには脆弱性もある。セキュリティとのトレードオフが発生するので、注意が必要。

    今更、需要はないだろうけど、メモとして。

  • SQL Serverの名前付きインスタンスはUDP 1434を使用する

    SQL Serverへの接続に使用するポートは、通常、TCPの1433番ポート。デフォルトでインストールしたSQL Server(既定のインスタンス)しかなければ、これで接続できる。名前付きで、SQL Serverをインストールした場合は、SQL Server Browerサービスを使用することにより、1434番ポートで、UDPを使用する。

    SQL Serverでポート番号を調べると、1433と1434が出てくるのだが、これをTCPだけで設定してしまうと、SQL Server Browerサービスを介した名前解決でエラーになる。エラー時には、エラー番号の26なので、SQL Server Browerサービスの起動を確認するのだが、これが起動されている場合には、UDPの1434番ポートが通信可能になっているかを通信経路上(SQL Serverのサーバと、経路のネットワークと、クライアント)で確認する。

    Provider: SQL Network Interface, error: 26

    さらに注意事項として、名前付きインスタンスが動的ポートで構成されるようになっている場合(デフォルトだと動的ポート)、1433番ポートを使用して、SQL Serverが起動していない。名前付きインスタンスの1つしかインストールされていない場合には、起動ポートを1433に固定することで、他のポートは空けなくてもよい。

    参考: https://docs.microsoft.com/ja-jp/troubleshoot/sql/connect/resolving-connectivity-errors

  • IISで .NET5のアプリケーションが動作するように設定する

    Windows Server 2019のIISで .NET5 (ASP.NET core)のアプリケーションが動作するように設定したので、そのメモ。

    設定手順

    1. 下記の .NETのダウンロードページにアクセスする。
    https://dotnet.microsoft.com/download/dotnet

    2. 「.NET 5.0」のリンクをクリックする。

    3. 「ASP.NET Core Runtime 5.0.x」のWindowsの「Hosting Bundle」をクリックする。インストーラーのダウンロードが始まる。「Hosting Bundle」には、IISのサポートが含まれるので、IISで動作させる場合には、これを選択する必要がある。

    4. ダウンロードしたファイル(dotnet-hosting-5.0.9-win.exe)を実行して、インストールする。

    5. IISのサービスを再起動する(Windowsなので、OSごと再起動できるのならば、OS再起動の方が安全)。

    6. IISマネージャーを開く

    7. アプリケーションプールを開いて、「アプリケーションプールの追加」をクリックする。

    8. 「名前」はわかりやすければ、なんでもよい。「.Net CLR バージョン」は「マネージドコードなし」を選択。「マネージド パイプラインモード」は「統合」を選択する。「OK」をクリックして作成する。

    9. ASP.NET coreのアプリを発行し、サーバ上に配置する。

    10. IISマネージャーで、サイトからアプリケーションを追加するWebサイトを選択する。(Webサイトがない場合は追加する)

    11. 右クリックから「アプリケーションの追加」を選択する。

    12. 「エイリアス」を入力し、「物理パス」に発行したアプリケーションのフォルダを選択する。「アプリケーションプール」のところにある「選択」をクリックし、一覧の中から追加したアプリケーションプールの名前を選択する。

    13. 「OK」をクリックして、追加する。

    14. ブラウザでアクセスして、動作を確認する。

    以上で設定は終わり。

  • .NET Framework 4.8のサポート期限(EOSL)

    .NET Framework 4.8のサポート期限は、動作するOSのサポート期限に影響される。

    .NET Framework 4.8が動作するOSで一番サポートが長いのは、Windows Server Standard 2019(の仲間)になる。Windows Server Standard 2019のメインストリームサポート終了が2024/1/9、延長サポートが2029/1/9までなので、.NET Framework 4.8は、2029/1/9までは安心して使用できる(というか延命できる)。

    参考:
    https://docs.microsoft.com/ja-jp/lifecycle/faq/dotnet-framework

    https://support.microsoft.com/ja-jp/lifecycle/search?alpha=Windows%20Server%202019

  • Windows Server 2019のサポート期限

    Windows Server 2019は、長期サービスチャネルのため、サポート期限が半期チャネル(Windows Server Version 1909など)に比べると長い。

    Windows Server 2019のメインストリームサポートは、2020年1月9日まで。延長サポートは、2029年1月9日まで。

    参考。
    https://docs.microsoft.com/ja-jp/windows-server/get-started/windows-server-release-info

  • Veeam BackupがRPCの呼び出しに失敗してエラーになる

    Veeam Backupで仮想マシンのバックアップかつSQL Serverのバックアップを行ったところ、下記のエラーでバックアップの取得が失敗した。

    Processing Server01 Error: Failed to check whether snapshot is in progress (network mode). RPC function call failed. 
    Function name: [IsSnapshotInProgress]. 
    Target machine: [Server01.ad.xenos.jp]. 
    RPC error:RPC サーバーを利用できません。  
    Code: 1722  01:41
    

    原因は、RPC(リモートプロシージャコール)へのアクセスがWindowsのファイアウォールで禁止されていたから。

    対応として、「セキュリティが強化されたWindows Defenderファイアウォール」を開き、「スケジュールされたリモートタスク管理(RPC)」と「スケジュールリモートタスク管理(RPC-ESMAP」の許可ルールを有効にする。

    参考: https://www.veeam.com/kb1174

  • Veeam BackupでCode 53エラーが発生する

    Veeamで仮想マシンのバックアップで、SQL Serverのバックアップの取得設定を行ったところ、Code 53のエラーが発生して、バックアップに失敗する。

    Processing Server01 Error: Failed to connect to guest agent. 
    Errors: 'Cannot connect to the host's administrative share. Host:  [Server01.ad.xenos.jp]. 
    Account: [administrator@ad.xenos.jp]. Win32 error:ネットワーク パスが見つかりません。  Code: 53 Cannot connect to the host's administrative share. Host:  [192.168.0.11]. 
    Account: [administrator@ad.xenos.jp]. Win32 error:ネットワーク パスが見つかりません。  Code: 53 '    01:22
    

    原因は、バックアップ対象のファイアウォールの設定。Veeam Backup は、管理共有を使用して、VM上のSQL Serverのバックアップを取得する。Windows ファイアウォールの設定で、ファイル共有を許可する設定にしていないのが原因。

    対応として、「セキュリティが強化されたWindows Defenderファイアウォール」を開き、「ファイルとプリンターの共有(SMB受信)」の許可のルールを有効にする。

    なお、「ファイルとプリンターの共有(SMB受信)」が許可されていない場合、「RPC」の接続も許可されていないと思われるので、「RPC」も許可しないと別のエラーが発生する。

    参考: https://www.veeam.com/kb1230

  • Windows Server 2019のIISで、HTTP/2の通信をする

    Windows Server 2019のIISで、HTTP/2の通信をする方法について。IISで、SSLの設定をすると、デフォルトの通信がHTTP/2になる。HTTP/2は、SSLでの通信が前提になるので、SSLの設定をしない場合とSSLで通信をしない場合は、HTTP/2で通信は行われない点が注意するポイント。

    そのため、HTTP/2で通信をしたくないときは、IISのマネージャーで「サイト バインドの編集」を開き、「HTTP/2 を無効にする」にチェックを入れる必要がある。

  • Windows10 のPowershellの最大メモリサイズの変更

    Windows 10(およびWindows Server 2012, 2012 R2, 2016, 2019も同じ)でのPowershellの実行時の最大メモリ数の変更手順。Powershellを実行したときに、メモリを使いすぎたので、制限する。

    変更手順

    1. Powershellを管理者モードで起動する
    2. Powershellのバージョン確認する
      $PSversionTable
      ※Powershellが3.0以降の場合は、追加手順あり。
    3. Powershellのメモリ割り当てサイズの確認
      Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB
    4. 設定変更
      Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048
    5. プラグインの確認(Ver3.0以降の場合は実行)
      ls WSMan:localhost\Plugin 
    6. プラグインのPowershellの割り当てサイズの確認(Ver3.0以降の場合は実行)
      Get-Item WSMan:localhost\Plugin\microsoft.powershell\Quotas\MaxConcurrentCommandsPerShell 
    7. プラグインのPowershellの割り当てサイズの変更(Ver3.0以降の場合は実行)
      Set-Item WSMan:localhost\Plugin\microsoft.powershell\Quotas\MaxConcurrentCommandsPerShell 2048
    8. 設定変更後WinRMの再起動
      Restart-Service WinRM
    9. 事後確認
      Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB
    10. 32bitのPowershellを管理者モードで起動する
    11. Powershellのメモリ割り当てサイズの確認
      Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 
      ※もし、32bitのPowershellのメモリが変わっていない場合は、同じように変更する。

    作業ログ。

    PS C:\WINDOWS\system32> Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB
    
    
       WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Shell
    
    Type            Name                           SourceOfValue   Value
    ----            ----                           -------------   -----
    System.String   MaxMemoryPerShellMB                            2048
    
    
    PS C:\WINDOWS\system32> Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048
    警告: 更新された構成は、プラグインあたりのクォータの値が 2048
    を超えるプラグインの操作に影響する可能性があります。登録されているすべてのプラグインの構成を確認し、影響を受けるプラグ
    インのプラグインあたりのクォータの値を変更してください。
    PS C:\WINDOWS\system32>
    PS C:\WINDOWS\system32>
    PS C:\WINDOWS\system32>
    PS C:\WINDOWS\system32>
    PS C:\WINDOWS\system32>
    PS C:\WINDOWS\system32> ls WSMan:localhost\Plugin
    
    
       WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin
    
    Type            Keys                                Name
    ----            ----                                ----
    Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
    Container       {Name=microsoft.powershell}         microsoft.powershell
    Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
    Container       {Name=microsoft.powershell32}       microsoft.powershell32
    Container       {Name=WMI Provider}                 WMI Provider
    
    
    PS C:\WINDOWS\system32> Get-Item WSMan:localhost\Plugin\microsoft.powershell\Quotas\MaxConcurrentCommandsPerShell
    
    
       WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\microsoft.powershell\Quotas
    
    Type            Name                           SourceOfValue   Value
    ----            ----                           -------------   -----
    System.String   MaxConcurrentCommandsPerShell                  2147483647
    
    
    PS C:\WINDOWS\system32> Set-Item WSMan:localhost\Plugin\microsoft.powershell\Quotas\MaxConcurrentCommandsPerShell 2048
    警告: 構成の変更は、WinRM サービスを再起動しないと有効になりません。WinRM
    サービスを再起動するには次のコマンドを実行します: 'Restart-Service winrm'
    PS C:\WINDOWS\system32>
    PS C:\WINDOWS\system32>
    PS C:\WINDOWS\system32> Restart-Service winrm
    PS C:\WINDOWS\system32>
    

    参考
    https://tech.guitarrapc.com/entry/2013/08/02/000842

  • ローカルユーザーとグループをコマンドで開く

    Windows Serverでローカルのユーザを調べたり、グループの確認を行うときに使う「ローカルユーザーとグループ」を探すのがめんどくさいので、コマンドで開く方法。

    「ファイル名を指定して実行」(Windowsキー+R)で、下記を入力する。

    lusrmgr.msc
    

    一発で開くので楽。