前スレ
PowerShell -Part 6
https://mevius.5ch.net/test/read.cgi/tech/1644744972/
次スレは>>980が立ててね!!
探検
PowerShell -Part 7
1デフォルトの名無しさん
2023/11/29(水) 16:07:49.46ID:0g8RZ7sB2023/11/29(水) 20:26:02.61ID:aabs5txO
ドライバのinfファイルに署名がない古いハードを使うために
オレオレ証明書を作って勝手に署名する方法があるが
ググって出る手順のままではダメでいまはWindows Design KitとWindows SDKが必要で
SDKにあるmakecertコマンドはマイクロソフト公式に推奨されないとも…
PowerShellでできるからということらしいがどう使ったら同じ結果になるかはわからなかった
makecertのような非推奨コマンドと1対1のPowerShellでの使用例ってどこかにないだろうか
今後同じような事態に陥った時のため備えておきたい
マイクロソフトのサイトにはオプションの説明はあるけど
makecertとの対比表とかはない
オレオレ証明書を作って勝手に署名する方法があるが
ググって出る手順のままではダメでいまはWindows Design KitとWindows SDKが必要で
SDKにあるmakecertコマンドはマイクロソフト公式に推奨されないとも…
PowerShellでできるからということらしいがどう使ったら同じ結果になるかはわからなかった
makecertのような非推奨コマンドと1対1のPowerShellでの使用例ってどこかにないだろうか
今後同じような事態に陥った時のため備えておきたい
マイクロソフトのサイトにはオプションの説明はあるけど
makecertとの対比表とかはない
2023/11/30(木) 19:34:57.73ID:4nwqW1NG
powershell関係あるのかしら
古い環境そのものやP2V化して動作確認取れる環境を保存していくのが簡単だよ
ドライバへの署名はあくまで1企業の都合という事をお忘れなく
古い環境そのものや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なしでもいける認識なんですが間違ってますか
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"
コマンドレットは変な仕様が多いから妙だな…と思ったらそれ以上深入りする必要はない
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なら省略可)」ってはっきり書いてたわ
learn見たら「-includeは-pathの末尾が*じゃないと動かない(-recurseなら省略可)」ってはっきり書いてたわ
2023/12/01(金) 22:30:34.62ID:S2lEQVa3
ファイルシステム側に検索オプションを指定するのが-Filterで
PowerShell自信でフィルタリングするのが-Includeだっけ、懐かしい話だ
PowerShell自信でフィルタリングするのが-Includeだっけ、懐かしい話だ
2023/12/02(土) 08:48:18.48ID:Fkw0aBk3
gciの表示が間延びしてるのを詰めたい
ModeとLastWriteTimeにあんなに幅いらんやろ
ModeとLastWriteTimeにあんなに幅いらんやろ
9デフォルトの名無しさん
2023/12/02(土) 20:49:53.53ID:CMdctbaC 4ですみなさんありがとうございます
当然質問する前にLearnで確認していたのですが、てっきりワイルドカードも使えるよ!ぐらいのニュアンスだと思っていました
大人しくwhere-object使います。すっきりしましたm(_ _)m
当然質問する前にLearnで確認していたのですが、てっきりワイルドカードも使えるよ!ぐらいのニュアンスだと思っていました
大人しくwhere-object使います。すっきりしましたm(_ _)m
2023/12/02(土) 21:42:01.24ID:B4ObjCpy
>>8
Format-Table -AutoSize
Format-Table -AutoSize
2023/12/03(日) 07:28:03.75ID:tKLbRUl7
すまんコマンド追加で整形したいんじゃない
デフォルトの形式をいじりたい
デフォルトの形式をいじりたい
2023/12/03(日) 09:12:08.68ID:GWzH2m5A
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
としてみたら全然違う結果になってしまった
出てきたものの数字を変えるだけじゃだめなのかな
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
として使うにはどうするのでしょうか
'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作ってやる
そういうのはfunctionとかfilter作ってやる
2023/12/05(火) 14:53:09.61ID:7QjuGoaz
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
ほれ
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
PSNativeCommandPreserveBytePipe
https://learn.microsoft.com/ja-jp/powershell/scripting/learn/experimental-features#psnativecommandpreservebytepipe
22デフォルトの名無しさん
2023/12/05(火) 21:47:53.20ID:RGe8cD49 >>0020
それは最初に自分で試してだめだったやつですな
パイプでなく標準入力を読もうとしてCtrl-Z待ちで止まるやつ
Windows 10 から tar.exe あるんで試してから回答してもらえると嬉しい
>>0021
PowerShellからネイティブは通る
ネイティブからネイティブは通る
ネイティブからPowerShellは通らない
だからPowerShellでtaroutは書けないってこと?
だとしたらPowerShellくそすぎる
それは最初に自分で試してだめだったやつですな
パイプでなく標準入力を読もうとしてCtrl-Z待ちで止まるやつ
Windows 10 から tar.exe あるんで試してから回答してもらえると嬉しい
>>0021
PowerShellからネイティブは通る
ネイティブからネイティブは通る
ネイティブからPowerShellは通らない
だからPowerShellでtaroutは書けないってこと?
だとしたらPowerShellくそすぎる
23デフォルトの名無しさん
2023/12/06(水) 09:58:34.06ID:pwwMUfVm 一応整理
PS 1> 'Success' > testfile
PS 2> tar -c -j -f test.tar.bz2 testfile
PS 3> Get-Content -Path test.tar.bz2 -AsByteStream | tar -x -O -f - testfile
Success
PS 4> tar -c -j -f - testfile | tar -x -O -f - testfile
Success
PS 5> . { tar -c -j -f - testfile } | tar -x -O -f - testfile
tar.exe: Error opening archive: bzip decompression failed
PowerShellからのバイトストリームはネイティブに通る (PS 3>)
ネイティブからネイティブもバイトのまま壊れずに通る (PS 4>)
ネイティブからPowerShell(経由でネイティブ)は通らない (PS 5>)
だからPowerShellでtaroutは書けない
Start-Processで頑張れば書けるのかもしれない、知らんけど
進歩はしたがtarout程度に苦労多すぎなPowerShellはくそ
PS 1> 'Success' > testfile
PS 2> tar -c -j -f test.tar.bz2 testfile
PS 3> Get-Content -Path test.tar.bz2 -AsByteStream | tar -x -O -f - testfile
Success
PS 4> tar -c -j -f - testfile | tar -x -O -f - testfile
Success
PS 5> . { tar -c -j -f - testfile } | tar -x -O -f - testfile
tar.exe: Error opening archive: bzip decompression failed
PowerShellからのバイトストリームはネイティブに通る (PS 3>)
ネイティブからネイティブもバイトのまま壊れずに通る (PS 4>)
ネイティブからPowerShell(経由でネイティブ)は通らない (PS 5>)
だからPowerShellでtaroutは書けない
Start-Processで頑張れば書けるのかもしれない、知らんけど
進歩はしたがtarout程度に苦労多すぎなPowerShellはくそ
2023/12/07(木) 08:28:41.09ID:c+XrIY2G
beginブロックで$inputを使うとバイトストリームが出てくるようになって欲しい
そしたらtaroutもこう書けるようになるのに
function tarout { begin { $input | tar -x -O -f $args }}
でもこれは難しいだろうな
そしたらtaroutもこう書けるようになるのに
function tarout { begin { $input | tar -x -O -f $args }}
でもこれは難しいだろうな
2023/12/07(木) 15:51:22.78ID:X0+oSYJ4
beginじゃない別のキーワード用意するレベルじゃないと難しいだろうなぁ
2023/12/08(金) 08:18:26.16ID:tWmRPca2
いやbeginブロックで十分でしょ
今はbeginブロックの$inputは無意味なんだから有効活用
難しいと思うのは
・beginブロックに$inputがあったら、そのfunction,ScriptBlockにパイプでバイトよこせマークをつける
・バイトよこせマークがあったらパイプラインでネイティブコマンド扱いしてバイトを流す
処理が必要だからで・・・難しく・・・な・・・い、かも
今はbeginブロックの$inputは無意味なんだから有効活用
難しいと思うのは
・beginブロックに$inputがあったら、そのfunction,ScriptBlockにパイプでバイトよこせマークをつける
・バイトよこせマークがあったらパイプラインでネイティブコマンド扱いしてバイトを流す
処理が必要だからで・・・難しく・・・な・・・い、かも
2023/12/08(金) 08:33:10.45ID:xElvY7bj
本気で難しくないと思うならお前が実装してPR送れよ
2023/12/08(金) 20:15:49.14ID:8rS6bPls
公式で7.3にもなって直してないんじゃそんなのを気にしてるのは少数派なんだろ
むしろお前が動くしかなかろうよ
むしろお前が動くしかなかろうよ
2023/12/09(土) 13:31:46.58ID:F2smNVkX
個人的にはpythonのライブラリ群をそのままPSObjectにぶっこ抜きして動かせるようにして欲しい
2023/12/09(土) 15:21:51.18ID:NdJUV/GZ
Python - Support · Issue #19418
https://github.com/PowerShell/PowerShell/issues/19418
https://github.com/PowerShell/PowerShell/issues/19418
2023/12/09(土) 18:40:01.66ID:F2smNVkX
>>30
なんかそのスレッドはpython使いの声がでかいのかpython主導でpython起動すりゃいいだろ的な話がされてて俺の意図とは違うな
俺の考えはそれとは真逆でpythonの便利ライブラリだけpowereshellで拝借してキモいpython処理系自体を入れたくないのよね
俺の言いたいこと判るよね
なんかそのスレッドはpython使いの声がでかいのかpython主導でpython起動すりゃいいだろ的な話がされてて俺の意図とは違うな
俺の考えはそれとは真逆でpythonの便利ライブラリだけpowereshellで拝借してキモいpython処理系自体を入れたくないのよね
俺の言いたいこと判るよね
32デフォルトの名無しさん
2023/12/09(土) 18:46:30.00ID:iYG1bkmj キモいpython処理www
キモいのはpowershellじゃぼけww
キモいのはpowershellじゃぼけww
2023/12/09(土) 19:18:53.30ID:F2smNVkX
34デフォルトの名無しさん
2023/12/09(土) 20:18:03.05ID:P3Dp1Ib1 $null | %{'hoge'+$_}
これでなんでhogeが出力されるんですか?
Nullになるかとおもったんですが
これでなんでhogeが出力されるんですか?
Nullになるかとおもったんですが
2023/12/09(土) 21:01:47.88ID:2orRcob9
型を合わせるために、NULLが空文字に変換されるから。
そこでNULLを期待するのはRDBとかの場合だね。(RDBにもよるけど。)
そこでNULLを期待するのはRDBとかの場合だね。(RDBにもよるけど。)
2023/12/09(土) 21:38:52.15ID:NdJUV/GZ
https://learn.microsoft.com/ja-jp/powershell/scripting/lang-spec/chapter-06?view=powershell-7.3#68-conversion-to-string
string 型に値を変換する規則は次のとおりです。
・null 型の値は、空の文字列に変換されます。
string 型に値を変換する規則は次のとおりです。
・null 型の値は、空の文字列に変換されます。
37デフォルトの名無しさん
2023/12/09(土) 21:38:52.87ID:P3Dp1Ib1 >>35
なるほど
ありがとうございます
ためしに
$null | %{$_+$hoge}
にしたらNullになりました
+演算子の左辺の型に合わせて右が型変換されるんですね
…PowerShellは難しい
なるほど
ありがとうございます
ためしに
$null | %{$_+$hoge}
にしたらNullになりました
+演算子の左辺の型に合わせて右が型変換されるんですね
…PowerShellは難しい
38デフォルトの名無しさん
2023/12/09(土) 21:42:29.77ID:P3Dp1Ib1 >>36
ありがとうございます
ありがとうございます
2023/12/13(水) 09:57:50.32ID:RVDAjcVA
PowerShellでファイルの詳細なプロパティを編集することってできますか?
評価とかタグとか下のurlに載っている300種類ぐらいの拡張プロパティです
Windows プロパティ - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/properties/props
プロパティの取得だけなら
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$Getfolder = $shell.Namespace($folder)
$Getfile = $Getfolder.ParseName($file)
$Getfile.ExtendedProperty("System.SimpleRating")
これでできたんですけど
プロパティの編集方法は色々調べてみたんですがわかりませんでした
評価とかタグとか下のurlに載っている300種類ぐらいの拡張プロパティです
Windows プロパティ - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/properties/props
プロパティの取得だけなら
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$Getfolder = $shell.Namespace($folder)
$Getfile = $Getfolder.ParseName($file)
$Getfile.ExtendedProperty("System.SimpleRating")
これでできたんですけど
プロパティの編集方法は色々調べてみたんですがわかりませんでした
2023/12/13(水) 21:26:19.77ID:SOLvnyCP
2023/12/13(水) 23:49:36.01ID:RVDAjcVA
2023/12/14(木) 03:02:02.55ID:EBZTu/MN
中見たら7時代のWindows-API-Code-Packとやらを拾ってきて使うのか
本来シェル名前空間からやれそうな事なのにWritePropertyへ辿りつくまでかなり遠回りしたな
本来シェル名前空間からやれそうな事なのにWritePropertyへ辿りつくまでかなり遠回りしたな
43あぼーん
NGNGあぼーん
2023/12/16(土) 07:52:34.43ID:fGCT2KhW
ps1ファイルをユーザーに手軽に実行してもらう方法ってないですかね
batだと単にダブルクリックするだけでいいところが、
ps1だとショートカット作って↓↓をくっつけてと、とても運用に耐えられないんですが
「powershell.exe -ExecutionPolicy Unrestricted 」
batだと単にダブルクリックするだけでいいところが、
ps1だとショートカット作って↓↓をくっつけてと、とても運用に耐えられないんですが
「powershell.exe -ExecutionPolicy Unrestricted 」
2023/12/16(土) 08:42:06.64ID:5tZpbEW3
>>43
これならできそう
これならできそう
2023/12/16(土) 09:34:51.52ID:pgUnJUCg
>>44
ググればバッチファイルにPowerShellスクリプトを埋め込む方法が見つかるよ
ググればバッチファイルにPowerShellスクリプトを埋め込む方法が見つかるよ
2023/12/16(土) 10:07:55.43ID:fGCT2KhW
2023/12/16(土) 10:42:25.24ID:nDmmdgrP
ps1はコード署名して、グループポリシーで証明書配付しよう
2023/12/16(土) 12:13:16.06ID:fGCT2KhW
>>48
そこまでするなら、スクリプトよりexe作った方が早・・・
そこまでするなら、スクリプトよりexe作った方が早・・・
2023/12/16(土) 12:35:03.91ID:K5lUjnCI
>>43
やってみない手はない
やってみない手はない
2023/12/16(土) 16:03:42.74ID:XRhqtdk+
埋め込むやつって結局iex経由の特殊環境だから一部の変数とか使えなくて困る
無理に使わなくていいよ
無理に使わなくていいよ
レスを投稿する
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★8 [ぐれ★]
- 【外交】元台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」★2 [1ゲットロボ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【芸能】俳優・野村宏伸 テレビドラマの制作費やギャラの現状訴え 「比べものにならない位、今は低くて…」 [冬月記者★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【日本終了】高市のせいで円、売られまくる【エーン】 [305926466]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- 韓国の観光業界「高市さんありがとう!」韓国が日本に代わり中国人の海外旅行先人気ナンバーワンに [603416639]
- 【ぺこ専🐰】なんG 兎田ぺこら実況スレ🏡【ホロライブ▶】
- 中国発の日本行きチケット、50万枚キャンセルwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww✈ [329329848]
- グラボ製造メーカーが最後通達 「来年以降グラボはとんでもない値上がりをします。手頃な価格で買えるのは今が最後です」 [197015205]
