Open10

WindowsOS

sakusaku

24H2の主なエラー

<解決策:リカバリ>
・Excelが一度開くが、その後開かなくなる
・Teamsが起動しなくなる
・Systemプロセスが異常にCPUを消費し、通常業務がままならない

<解決策:対象アプリアンインストール&再インストール>
・SkyHighでプロキシ経由を外してもグローバルIPが乗っ取られる
・e-Govアプリを起動するとスクリプトエラーが発生

sakusaku

EdgeのHTTPSDefault設定用バッチ

httpが自動的にhttpsにリダイレクトされてしまい、閲覧できないサイトがあった。
セキュリティ的にずっと有効にするのは気になったため、後々自分で戻してもらえるように修正。

@echo off
echo HTTPSDefault無効化
echo 【設定値】HTTPSDefault有効=0x2、HTTPSDefault無効=0x0
echo 現在の設定値↓

# tokenはスペースで区切られたものから、指定した番号の場所の値を持ってくる→%%Aへ代入
# Get_Statusに引っ張った値を代入
# %%アルファベットはfor使う場合の決まり変数

for /f "tokens=3" %%A in ('reg query "HKCU\SOFTWARE\Policies\Microsoft\Edge" -v "AutomaticHttpsDefault"') do set Get_Status=%%A
echo %Get_Status%

echo HTTPSDefault無効化するなら"0"、有効化するなら"2"、変更しない場合は"n"を押してください。
SET ANSWER=
SET /P ANSWER=

# 値で動作変更

if "%ANSWER%" == "0" (
 GOTO :OFF
) else if "%ANSWER%" == "2" (
 GOTO :ON
) else (
 GOTO :CANCEL
)

:OFF
reg add "HKCU\SOFTWARE\Policies\Microsoft\Edge" -v AutomaticHttpsDefault -t REG_DWORD /d 0x00000000
reg query "HKCU\SOFTWARE\Policies\Microsoft\Edge" -v AutomaticHttpsDefault
echo HTTPSDefaultの設定を無効化しました。
pause
exit

:ON
reg add "HKCU\SOFTWARE\Policies\Microsoft\Edge" -v AutomaticHttpsDefault -t REG_DWORD /d 0x00000002
reg query "HKCU\SOFTWARE\Policies\Microsoft\Edge" -v AutomaticHttpsDefault
echo HTTPSDefaultの設定を有効化しました。
pause
exit

:CANCEL
echo 変更せず終了します。
pause
exit
sakusaku

PowerShellを使用した使用容量測定GUIアプリ

PowerShellで動作するGUIを試すために、ユーザーの使用容量を測定するスクリプトを作成した。
(結局動かしてもらうためにバッチ配布しているのは内緒…)

500MB以上のファイルをCSVで確認できるようにしている。

#ReadAssembly
using namespace System.Windows.Forms
Add-Type -Assemblyname System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$ErrorActionPreference = "silentlycontinue"

[Application]::EnableVisualStyles()

#FileSizeLavel
$label = New-Object Label
$label.Text = "ここに値が出ます"
$label.Name = "Top"
$label.Font = New-Object Drawing.Font("Meiryo UI",26)
$label.Location = "50,30"
$label.Autosize = $True

#StartButton
$btn = New-Object Button
$btn.Text = "Start"
$btn.Font = New-Object Drawing.Font("Meiryo UI",20)
$btn.Size = "200,40"
$btn.Location = "50,100"

#ToCsvAccess
$open1 = New-Object Button
$open1.Text = "500MB以上のファイルを確認する"
$open1.Font = New-Object Drawing.Font("Meiryo UI",20)
$open1.Size = "400,40"
$open1.Location = "50,170"

#ForBigFileFinder
$rootpath = $env:USERPROFILE
$outputCsvPath = ".\BigSizeFileFinder_$env:USERNAME.csv"

#Button_behavior
$btnClick = {
  $btn.Text = "Loading..."
  Start-Sleep -Seconds 1
  ($sender, $e) = $this, $_
  $parent = ($sender -as [Button]).Parent -as [Form]
  $label = [Label]$parent.Controls["Top"];
  cd $env:USERPROFILE
  $label.Text = "現在 "+ [Math]::Round((Get-ChildItem -Recurse -Force | Measure-Object -Sum Length).sum /1GB) + " GB使用中です"
  $label.Location = "30, 22"

  #BigSizeFileSearch
  Get-ChildItem -Path $rootpath -File -Force -Recurse -Attributes !Offline | 
  Where-Object {$_.Length -gt 500MB} | 
  Select-Object Length, Name, DirectoryName | 
  Sort-Object -Property Length -Descending | 
  Export-Csv -Path $outputCsvPath -NoTypeInformation -Encoding Default 

  $btn.Text = "Again"
   }
$btn.Add_Click($btnClick)

#ToOpenFile
$open1Click = {
  Start "$Env:USERPROFILE\BigSizeFileFinder_$env:USERNAME.csv"
}
$open1.Add_Click($open1Click)

#FormProperty
$frame = New-Object Form
$frame.Text = "容量確認アプリ"
$frame.Size = "500,400"
$frame.Controls.AddRange(@($label,$btn,$open1))
$frame.ShowDialog()
sakusaku

PowerShell 数字の0パディング

PowerShellで頭に0を複数入れる場合は、「-f(フォーマット演算子)」を使用する。

#整数を代入
$a=1
#頭に0を2つ入れて、3桁にする
$a = "{0:d3}" -f $a
Write-Host $a
001

#D桁数の代わりに、0を桁数入れることも可能
$a = "{0:000}" -f $a
Write-Host $a
001

浮動小数点の場合

浮動小数点の場合は、コロンの右側で小数点以下を何桁にしたいか指定する。

#浮動小数点数を代入
$b = 1.1
#小数点以下3桁
$b = "{0:0.000}" -f $b
Write-Host $b
1.100
sakusaku

PowerShellでVPNのルート設定

現在、指定されたアドレス以外は自回線からそのまま出ていくようにしているが、一部社内に向かわせないといけないアドレスが漏れていて、アクセスできないという話に。
VPNの宛先は以下の内容で追加できる。

#PowerShellで実行
Add-VpnConnectionRoute <VPN名> -DestinationPrefix "<宛先IP>" -PassThru

実施後はVPNを再接続する必要がある。

sakusaku

Outlookで検索すると、差出人が消える&全部未読になる(24H2とOutlook2016の組み合わせ)

24H2とOutlook2016の組み合わせで確認。
試したことは…、

  1. アプリ修復

  2. 以下のコマンドを実施して、レジストリを削除

    reg delete HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Contact /va
    
  3. ダメだったのでこのレジストリを追加

     @echo off
     reg add "HKEY_CURRENT_USER\software\policies\Microsoft\office\16.0\outlook\search" -v DisableServerAssistedSearch /t REG_DWORD /d 1
     pause
    
  4. アプリの再インストール

解決

3.のレジストリ追加で解消。
再起動後も動作は問題なくなっている。

sakusaku

予算の確認でピボットテーブルが超絶便利

費用部分の予算を確認するため、Excelで出力したものをピボットテーブルに乗せてみた。

月別>入力日>支払先>内容 の順でまとめてみたところ、
必要なデータだけを抽出できて、わざわざ一覧から色付けして…みたいなことをしなくて済む。
今まで少し手間かけていたことを後悔。

sakusaku

SKYSEAとCrowdStrikeの両合わせでえげつない速度低下を確認。
SKYSEAのアンロードで2Mbps→200Mbpsまで改善する…。コンフリクトが起きている?それとも単純にSKYSEAが重い?
情報ないかなぁ…

sakusaku

PCに搭載されているメモリのメーカーや容量、クロックスピードを知りたい

Powershellでやってみた。
仕組みとしては、

Get-WmiObject Win32_PhysicalMemory

でスロットに設置されているメモリ情報を詳細にすべて抽出する。
その中で不要な情報もあるため、パイプとselectを使って中身をフィルターする。

Get-WmiObject Win32_PhysicalMemory | select 表示したい項目,表示したい項目

その中で、
・メモリ容量
・メモリクロック
・メーカー
・型番
を抽出したかったので、詳細情報の中から抽出するように以下のコマンドを作成した。
(シリアルは詳細情報になかったので最初からあきらめた)

Get-WmiObject Win32_PhysicalMemory | select Capacity,ConfiguredClockSpeed,Manufacturer,PartNumber

Capacity ConfiguredClockSpeed Manufacturer PartNumber
  -------- -------------------- ------------ ----------
4294967296                 6400 Hynix        H58G56BK7BX068
4294967296                 6400 Hynix        H58G56BK7BX068
4294967296                 6400 Hynix        H58G56BK7BX068
4294967296                 6400 Hynix        H58G56BK7BX068
sakusaku

SKYSEAからアプリアンインストール

Umbrellaをアンインストールしたいと思ってプログラムから実行してみたがうまくいかず。
色々試して、以下のバッチを入れ込んで実施したらいけた。
公式の/qn は正常動作せず、/quiet なら問題なし。

@echo off
msiexec /x <FolderPath>\Setup.msi /quiet

SKYSEAではアンインストールの際にバッチを実行ファイルとして登録し、端末を選択することで対象を絞ることが可能。
(なんかグループで実行してしまいそうで怖かったが、端末を選択→実行すると、選んだものだけに反映された。)