月曜日のたわわ その1
アニメ『月曜日のたわわ』
ずっと前に、どうしようもなく仕事で残業をしていた時、 おそらくねぎらいの言葉で、仕事好きだねえ、と言われたことがあります。
軽い気持ちで言ってたと思うのですが、そんな風に言われて最悪な気持ちになることが多かったです。 気持ちが伝わらない声かけよりも、たとえ戦力にならなくても無言で仕事を手伝ってくれる方が何倍も癒されます。
前回、こんな処理を作って再帰的にレジストリキーを取得しようとしましたが、
function get_regkey($arg){ function proc($key){ if($all[$key] > 0){ echo "MATCH" return 0 } $all[$key] = 1 reg query $key | % { if($_ -match "HKEY"){ proc $_ echo $_ } } } $all = @{} proc $arg }
そもそも/sオプションで全取得すれば簡単ですよね。
PS C:\Users\takk> reg query "HKEY_LOCAL_MACHINE\software\microsoft\powershell\1" /s HKEY_LOCAL_MACHINE\software\microsoft\powershell\1 Install REG_DWORD 0x1 PID REG_SZ 89383-100-0001260-04309 HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\0409 Install REG_DWORD 0x1 HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\PowerShellEngine ApplicationBase REG_SZ C:\Windows\System32\WindowsPowerShell\v1.0 ConsoleHostAssemblyName REG_SZ Microsoft.PowerShell.ConsoleHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=msil ConsoleHostModuleName REG_SZ C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell.ConsoleHost.dll PowerShellVersion REG_SZ 2.0 PSCompatibleVersion REG_SZ 1.0, 2.0 RuntimeVersion REG_SZ v2.0.50727 HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds\Microsoft.PowerShell Path REG_SZ C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds\Microsoft.SqlServer.Management.PowerShell.sqlps140 Path REG_SZ C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\SQLPS.exe ExecutionPolicy REG_SZ RemoteSigned HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds\ScriptedDiagnostics ExecutionPolicy REG_SZ Unrestricted PS C:\Users\takk>
これをHKEYでフィルタリングして、
PS C:\Users\takk> reg query "HKEY_LOCAL_MACHINE\software\microsoft\powershell\1" /s | findstr HKEY HKEY_LOCAL_MACHINE\software\microsoft\powershell\1 HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\0409 HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\PowerShellEngine HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds\Microsoft.PowerShell HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds\Microsoft.SqlServer.Management.PowerShell.sqlps140 HKEY_LOCAL_MACHINE\software\microsoft\powershell\1\ShellIds\ScriptedDiagnostics PS C:\Users\takk>
うわあ、めっちゃ簡単。最初からこうやっておけばよかったです。
コメント