PowerShell -Part 7

1デフォルトの名無しさん
垢版 |
2023/11/29(水) 16:07:49.46ID:0g8RZ7sB
前スレ
PowerShell -Part 6
https://mevius.5ch.net/test/read.cgi/tech/1644744972/

次スレは>>980が立ててね!!
2023/11/29(水) 20:26:02.61ID:aabs5txO
ドライバのinfファイルに署名がない古いハードを使うために
オレオレ証明書を作って勝手に署名する方法があるが
ググって出る手順のままではダメでいまはWindows Design KitとWindows SDKが必要で
SDKにあるmakecertコマンドはマイクロソフト公式に推奨されないとも…
PowerShellでできるからということらしいがどう使ったら同じ結果になるかはわからなかった
makecertのような非推奨コマンドと1対1のPowerShellでの使用例ってどこかにないだろうか
今後同じような事態に陥った時のため備えておきたい
マイクロソフトのサイトにはオプションの説明はあるけど
makecertとの対比表とかはない
2023/11/30(木) 19:34:57.73ID:4nwqW1NG
powershell関係あるのかしら
古い環境そのものやP2V化して動作確認取れる環境を保存していくのが簡単だよ
ドライバへの署名はあくまで1企業の都合という事をお忘れなく
4デフォルトの名無しさん
垢版 |
2023/12/01(金) 21:00:19.47ID:0gNLMIqi
直下にあるファイルをgciの-Includeでフィルタリングしつつ取得する際に
Get-ChildItem -Include *hoge*.txt
はだめで
Get-ChildItem -Recurse -Include *hoge*.txt
-Recurseを入れると動くのはなぜですか?
サブディレクトリを含まない直下のみのファイル検索なら-Recurseなしでもいける認識なんですが間違ってますか
2023/12/01(金) 21:20:55.43ID:Jz3SJDE5
>>4
gciで-Includeを使う場合gciに与えるデフォルト引数としてアスタリスク「*」を含んだパス名が必要なんだよ特に書いてないけど
つまり「Get-ChildItem -Include *hoge*.txt *」で意図通りになるはず
というかね、-Includeなんか忘れていい。フィルタならwhere-objectでやった方が判りやすい
gci | where Name -like "*hoge*.txt"
コマンドレットは変な仕様が多いから妙だな…と思ったらそれ以上深入りする必要はない
2023/12/01(金) 22:24:22.03ID:nrjrox6C
そもそもワイルドカードの単純なフィルタならデフォルトの-pathでできるから-includeとか基本使わないな

learn見たら「-includeは-pathの末尾が*じゃないと動かない(-recurseなら省略可)」ってはっきり書いてたわ
2023/12/01(金) 22:30:34.62ID:S2lEQVa3
ファイルシステム側に検索オプションを指定するのが-Filterで
PowerShell自信でフィルタリングするのが-Includeだっけ、懐かしい話だ
2023/12/02(土) 08:48:18.48ID:Fkw0aBk3
gciの表示が間延びしてるのを詰めたい
ModeとLastWriteTimeにあんなに幅いらんやろ
9デフォルトの名無しさん
垢版 |
2023/12/02(土) 20:49:53.53ID:CMdctbaC
4ですみなさんありがとうございます
当然質問する前にLearnで確認していたのですが、てっきりワイルドカードも使えるよ!ぐらいのニュアンスだと思っていました
大人しくwhere-object使います。すっきりしましたm(_ _)m
2023/12/02(土) 21:42:01.24ID:B4ObjCpy
>>8
Format-Table -AutoSize
2023/12/03(日) 07:28:03.75ID:tKLbRUl7
すまんコマンド追加で整形したいんじゃない
デフォルトの形式をいじりたい
2023/12/03(日) 09:12:08.68ID:GWzH2m5A
about_Format.ps1xml
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_format.ps1xml
2023/12/03(日) 09:40:08.91ID:tKLbRUl7
Get-FormatData -TypeName 'System.IO.*' -PowerShellVersion $PSVersionTable.PSVersion | Export-FormatData -Path fd.ps1xml
gc .\fd.ps1xml | % { $_ -replace '7', '5' } | % { $_ -replace '26', '20' } | % { $_ -replace '14', '12' } > fd-mod.ps1xml
Update-FormatData -PrependPath .\fd-mod.ps1xml

としてみたら全然違う結果になってしまった
出てきたものの数字を変えるだけじゃだめなのかな
2023/12/03(日) 13:55:42.15ID:tKLbRUl7
なぜTable形式でなくList形式になるのでしょうか
2023/12/03(日) 17:41:11.89ID:tKLbRUl7
ファイルとディレクトリが混ざってるからだった
あとは日付と時刻を詰めたい
16デフォルトの名無しさん
垢版 |
2023/12/05(火) 09:46:48.52ID:RGe8cD49
引数付きエイリアスの作り方を教えてください

'ABC' > file
tar -c -f - file | tar -x -O -f - file

の 「tar -x -O -f」 をエイリアス tarout にして

tar -c -f - file | tarout - file

として使うにはどうするのでしょうか
2023/12/05(火) 14:36:11.77ID:lXd0pnoy
できない
そういうのはfunctionとかfilter作ってやる
2023/12/05(火) 14:53:09.61ID:7QjuGoaz
パラメーターを持つコマンドの代替名
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_aliases#alternate-names-for-commands-with-parameters
19デフォルトの名無しさん
垢版 |
2023/12/05(火) 15:54:15.98ID:RGe8cD49
そこまではたどり着いたのですが苦戦しています
正直言って手も足も出ません
どうすればよいのでしょうか
2023/12/05(火) 21:04:00.28ID:rxI6O073
何がしたいのか知らんけどpowershellのパイプはオブジェクトに変換しないとだからtarが期待する入出力にはならんだろうな
ほれ
function tarout {
tar -x -O -f $args
}
tarout - file
2023/12/05(火) 21:27:27.93ID:7QjuGoaz
>powershellのパイプはオブジェクトに変換しないとだからtarが期待する入出力にはならんだろうな

PSNativeCommandPreserveBytePipe
https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況