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が立ててね!!
409デフォルトの名無しさん
垢版 |
2025/02/18(火) 19:01:09.96ID:cVYWxauq
>>406
はい、そうです。

>>407
多分$filePathが揮発しているのだと思うのですが、何故そうなるのかが正直分かっておりません。

>>408
$global:filePath = $null
$script:filePath = $null
に書き換えても結果は同じでした。orz
2025/02/18(火) 21:38:36.15ID:Zhun0sKt
>>409
408の内容理解してないだろ
2025/02/18(火) 21:45:12.87ID:X9R6h3Dz
$button_Select.Add_Clickの中の $filePath = $dialog_fileSelection.FileName を $script:filePath に変える

そもそもイベントハンドラの書き方おかしくない?
Add_Click{} じゃなくて Add_Click({}) でしょ
2025/02/18(火) 21:45:47.23ID:pnZByoKT
>>409
惜しいw

スコープ指定が必要なのは関数内の代入文側であって、外にある変数定義側ではないよ
413デフォルトの名無しさん
垢版 |
2025/02/19(水) 05:46:44.36ID:95a5Qlah
>>411
ありがとうございます!
$filePathにファイルパスが代入されるようになりました。

>>412
ありがとうございます。
そうだったんですね。勉強になりました。
414デフォルトの名無しさん
垢版 |
2025/03/01(土) 22:23:09.05ID:yrcKQQ99
ttps://pastebin.com/THGpvEsL

ファイルを何も選択していない状態でOKボタンを押下すると、メッセージダイアログボックス「"Please select a file."」が表示され、そのダイアログボックスのOKボタンを押下すると、処理?が終了してしまいます。
OKボタンを押下した際に、そのメッセージダイアログボックス「"Please select a file."」だけ消すにはどうしたらいいでしょうか?
2025/03/02(日) 03:09:52.22ID:9brWkkbH
>>414
当たり前だけど、下記を削除するしかない

$button_OK.DialogResult = "OK"
416デフォルトの名無しさん
垢版 |
2025/03/02(日) 07:10:25.55ID:yaeCdLgC
>>415
ありがとうございます!
2025/03/04(火) 14:43:31.10ID:p/g0UiTR
Microsoft Update changes for PowerShell 7
https://devblogs.microsoft.com/powershell/microsoft-update-changes-for-powershell-7/
「Microsoft Update」を用いた「PowerShell 7」のアップデート計画が変更
まだ「PowerShell 7.2」を利用している場合、米国時間3月14日より7.4へ更新開始
https://forest.watch.impress.co.jp/docs/news/1667304.html
418デフォルトの名無しさん
垢版 |
2025/03/07(金) 19:36:07.86ID:zJfq1/au
Input Folder用のボタンを押下して対象のフォルダを選択した後、OKボタンを押下すると選択した対象のInputフォルダのパスが取得されていません。
変数スコープまたは"function setSelectButton"におけるswitchが機能していないのおもうのですが、何が原因でしょうか?
Copilotに聞いてもダメでした。ボタンなどの部品は関数化しないほうがいいのでしょうか?

ttps://pastebin.com/ULTy9dM8
2025/03/07(金) 23:19:13.53ID:6K+ignj1
Add_Clickに渡したスクリプトブロックが実行されるのはボタンクリック時。
その時にはもうsetSelectButtonを抜けてるから、setSelectButton実行時に渡した$folderTypeはもう見えない。

最後の手段的なglobalスコープの使用を避けて手っ取り早く解決するなら、
{〜〜〜}.GetNewClosure()でsetSelectButton実行中の変数スコープを記憶(?)したうえで
自前のクラスとかハッシュテーブル等で入出力しちゃう。とか。適当実装だとこんな。

function setSelectButton($def){
$conf = New-Object System.Windows.Forms.Button
$conf.Location = New-Object System.Drawing.Point($def.xAxis,$def.yAxis)
$conf.Size = New-Object System.Drawing.Size($def.xSize, $def.ySize)
$conf.Text = "Select"
$conf.Add_Click({
  $dialog_FolderSelection = New-Object Windows.Forms.FolderBrowserDialog
  if($dialog_FolderSelection.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK){
    $def.textBox.Text = $dialog_FolderSelection.SelectedPath
  }
}.GetNewClosure())
return $conf
}
(略)
$inputDef = [Ordered] @{xAxis = 370; yAxis = 50; xSize = 70; ySize = 20; textBox = $textBox_inputFolder;}
$outputDef = [Ordered] @{xAxis = 370; yAxis = 70; xSize = 70; ySize = 20; textBox = $textBox_outputFolder;}
# create Select button
$button_Select_inputFolder = setSelectButton $inputDef
$button_Select_outputFolder = setSelectButton $outputDef
(略)
if([String]::IsNullOrEmpty($inputDef.textBox.Text)){ # show a message dialog if no file is selected

※これで入力欄にフォルダパスをコピペする人(=私)も安心
420デフォルトの名無しさん
垢版 |
2025/03/08(土) 23:41:12.69ID:zOJ1gnEL
画面用のコードがひどすぎるのがPowerShell
421デフォルトの名無しさん
垢版 |
2025/03/09(日) 07:42:20.13ID:RXTu5Tqn
>>419
ありがとうございます!
setSelectButton実行時に渡した$folderTypeはもう見えないんですね。
2025/03/11(火) 21:13:50.84ID:LUWD7xFy
Windows 11 バージョン 24H2 で netsh.exe の出力を PowerShell の変数に代入すると、非 ASCII 文字が文字化けする事象について
https://jpwinsup.github.io/blog/2025/03/11/Networking/TCPIP/NetshEncodingChange24h2/
423デフォルトの名無しさん
垢版 |
2025/04/26(土) 01:37:45.27ID:1l1C1hqe
ttps://pastebin.com/0HrXEMvc
のHTMLソースから特定のDIVクラス「KW」とそのクラスないを削除する方法はありましでしょうか?
以下ではきえませんでした
# HTML読み込み
$targetDir = "D:\Download\test\sample.html"
$html = Get-Content "D:\Download\test\sample.html" -Raw

# KWクラスdivを正規表現で削除
$pattern = '<div\s+class="KW">[\s\S]*?<\/div>'
$modifiedContent = $htmlContent -replace $pattern, ''

# 結果出力
$processedHtml | Out-File "D:\Download\test\pit.html" -Encoding UTF8
2025/04/26(土) 21:00:04.39ID:arwW7ZGW
>>423
なんで変数の対応がめちゃくちゃなの?
正規表現で力技でやるとこんなところだが
xmlとして読み込めばnode削除でいけそうな気がする
Add-Type -AssemblyName Microsoft.VisualBasic
$html = Get-Content "D:\Download\test\sample.html" -Raw

# KWクラスdivを正規表現で削除
$pattern = [regex]"^((?:(?'open'<div[^>]*?>[\r\n]*))|(?'close-open'</div>)|(?:(?!</?div[^>]*>)[\s\S])+?)*(?(open)(?!))"
$processedHtml=$pattern.replace($html,{
$r=$args.value
$e=0
$args.groups['3'].captures|
sort index|
?{$_.index+$_.length -gt $e -and $_.value -cmatch '<div.*class="KW"'}|
%{$e=$_.index+$_.length; $r=[Microsoft.VisualBasic.Strings]::replace($r,$_.value,"",1,1)}
$r
})
$processedHtml | Out-File "D:\Download\test\pit.html" -Encoding UTF8
425デフォルトの名無しさん
垢版 |
2025/04/26(土) 23:51:52.55ID:p1PcxSuO
ttps://pastebin.com/0M9pbEJt
みたいなHTMLから特定のDIVクラス(kw)で定義されている要素を全部削除したいのですが、何かいい方法ありますでしょうか?
426デフォルトの名無しさん
垢版 |
2025/04/27(日) 15:25:40.97ID:/1DxBHsK
>>425 (>>423と同一人物だよね)
>>424に礼を言ったうえで、どの点が自身の質問意図に合ってなかったか説明して、
それからもっと具体的に追加質問した方がいいと思うよ。
ところで「xmlとして読み込めばnode削除でいけそう」は試してから言ってるの?何が合わなかったの?
2025/04/27(日) 16:50:54.99ID:ce45ltSU
滝川クリトリスです
2025/04/27(日) 20:14:14.77ID:/O0GUF2P
楽しようとして初回マッチ部分のみのreplace使ったけど
やっぱり別のが消えちゃうという一抹の不安があるのでreplaceを使うのはやめた
最終行に改行がないままにしたいのかな?
$html = Get-Content "D:\Download\test\sample.html" -Encoding UTF8 -Raw

# KWクラスdivを正規表現で削除
$pattern = [regex]"^((?:(?'open'<div[^>]*?>[\r\n]*))|(?'close-open'</div>)|(?:(?!</?div[^>]*>)[\s\S])+?)*(?(open)(?!))"
$processedHtml=$pattern.replace($html,{
$r=$args.value
$text=''
$e=0
$args.groups['3'].captures|
sort index|
?{$_.index+$_.length -gt $e -and $_.value -cmatch '<div[^>]*?class="KW"'}|
%{
$text = $text + $html.substring($e, $_.index-$e-1);
$e = $_.index + $_.length - 1
}
if($r.length -gt $e) {$text = $text + $r.substring($e, $r.length-$e)}
$text
})

[Text.Encoding]::GetEncoding("UTF-8").GetBytes($processedHtml) | Set-Content -Path "D:\Download\test\pit.html" -Encoding Byte
2025/04/27(日) 20:24:25.83ID:/O0GUF2P
>>426
試してませんでした
HTMLやxmlを扱うことはほぼ無いのであんまり知識が無い
で、>>423の場合では[xml]で読み込めてnode削除でうまくいくんだが
入れ子になってる場合
<div class="KW">
<span>
<div class="KW">
</div>
</span>
</div>
とかにはどうやったら簡単に対応できるのかと思ってるところ
430デフォルトの名無しさん
垢版 |
2025/04/27(日) 22:05:35.62ID:aGrpQ/Rq
中身全部消すのであれば内側のKWは無視していいのでは
2025/04/27(日) 22:11:37.95ID:/1DxBHsK
簡単には
$text = DOCTYPE宣言を除いた<html>〜</html>とかXMLとして読み込めるテキストデータ
$xml = [xml] $text
while($node=$xml.SelectSingleNode("//div[@class='KW']")){
  $null = $node.ParentNode.RemoveChild($node)
}
$xml.OuterXml | Out-File 〜〜〜
## class="aaa KW bbb"の存在とか、インデント等を完璧に維持したい、とかは考慮外。
2025/04/27(日) 22:22:47.91ID:/O0GUF2P
>>431
なるほど
こんな感じにしてたんだよ
$list=@()
$doc.GetElementsByTagName('div')|?{$_.class -eq "KW"}|%{$list+=$_}
$list|%{[void]$_.ParentNode.RemoveChild($_)}
2025/04/27(日) 22:48:33.11ID:/O0GUF2P
悩んでたのは
既に削除しちゃてて存在しない場合にエラー無視はやりたくないなあってところ
2025/05/02(金) 21:45:21.05ID:TuuGRLh6
powershellって日本語に厳しい?
日本語名のフォルダに入れた時だけエラー吐く
英語名フォルダは動く
UTF-8BOMで保存してるのに文字化けエラーが治らない
435デフォルトの名無しさん
垢版 |
2025/05/02(金) 22:24:03.09ID:OrgxTXnx
いわゆる「マルチバイト文字」のことを「日本語」と呼ぶのはジジイ
436デフォルトの名無しさん
垢版 |
2025/05/03(土) 07:39:35.24ID:ERFTsxnY
UTF-8にBOMは不要
437デフォルトの名無しさん
垢版 |
2025/05/03(土) 17:59:32.71ID:0tHkB26n
文字コードが混在するシステムではBOMがあると便利です
2025/05/03(土) 18:08:41.88ID:qBega2UP
それが更に文字コードのバリエーションを増やし失敗を生むのだから本末転倒です
439デフォルトの名無しさん
垢版 |
2025/05/03(土) 18:08:56.03ID:PV3Uf1QS
PowerShellスクリプトは「UTF-8 with BOM」が前提

>>434
実行時(コンソール)のコードページを確認してみては?
2025/05/04(日) 07:07:42.38ID:kiovYued
shift-jisにすればいいんじゃないの?
2025/05/04(日) 08:23:30.18ID:GZLENS5k
適切なエンコードの選択
https://learn.microsoft.com/ja-jp/powershell/scripting/dev-cross-plat/vscode/understanding-file-encoding#choosing-the-right-encoding
2025/05/04(日) 11:02:36.68ID:Bff2jlZm
文字化け対策は
 [Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
こういうのをpowershellのプロファイルに書き込んで
powershell起動時に文字エンコードが適切な値になるようにしておく
そしてコンソールのタイトルバーを右クリして設定で適切なフォントが使用されてるか確認
2025/05/09(金) 16:18:47.82ID:LImQScat
>>434 とは別人だが、レジストリ弄ったら文字化けしなくなったわ
初心者泣かせのクソ仕様だな
2025/05/10(土) 10:47:55.61ID:ARU6YZDD
>>443
powershellをアップデートしたらリセットされそうな予感
2025/05/10(土) 15:03:05.65ID:L74jL6NI
>>444
文字化けするようになったのはプロパティでコンソール画面の調整を行ってから
デフォルトの状態では文字化けしていなかったのでたぶん大丈夫…と思う
2025/05/18(日) 16:44:31.56ID:w/29XAyn
$a = powercfg.exe -lastwake
$aは文字列かと思ったら文字列の配列だった…

コマンドの出力に改行が無ければ文字列、含む場合は配列とかいうヘンテコ仕様は何なんだ
2025/05/18(日) 19:51:20.44ID:xRSUEbTb
この振る舞いを知らないと、$a.Lengthが時により文字列長だったり配列長だったりして、例外やバグになる。
さらには標準出力が何もないと文字列型である空文字ではなくNULL(AutomationNull)になるし。
外部プログラムの標準出力を受け手が改行ごとに分割して解釈するのはgrep等でよくあるからヘンテコ仕様とは思わないけど、
沢山あるpowershellの落とし穴の1つだと思ってる。
2025/05/19(月) 10:22:41.03ID:Z1VKFLAg
$a = @(powercfg.exe -lastwake)
こんなふうにして必ず配列で返るようにするといいです
2025/05/19(月) 21:43:03.14ID:qL6NUCv5
キモい記法だな
2025/05/19(月) 23:54:30.60ID:2rbfAZ+2
このキモい記法ってコレクション返す関数書くと使わざるを得ないんだよな…
関数とかスクリプト最後のreturnにコレクションを渡すと勝手にバラす謎仕様

最初知らなくてDataTableのつもりがDataRowの配列で返ってきたときはびっくりした
2025/05/20(火) 01:53:43.90ID:yO05o0Kw
[string[]]$aで受け取る
2025/05/20(火) 12:57:58.71ID:NKLxZTlt
時刻データ(ISO 8601)が入った JSON を invoke-RestMethod で受け取る
あるいは ConvertFrom-JSON すると時刻が powershell 形式になる
データの内容を見て勝手に変換してるんか…
2025/05/20(火) 14:18:35.07ID:Xl2+DDPz
>>452
勝手にDateTime型でだしてくるってこと?
2025/05/20(火) 15:30:07.39ID:NKLxZTlt
>>453
こうなる

(ConvertFrom-Json('{"data":"2025-05-19T16:35:42.000Z"}')).data

2025年5月19日 16:35:42
2025/05/20(火) 15:52:27.90ID:NKLxZTlt
括弧いらなかった(どうでもいい)
(ConvertFrom-Json '{"data":"2025-05-19T16:35:42.000Z"}').data
2025/05/21(水) 09:54:31.02ID:rXr/G70T
ならんが(Win10, Win11, PSv5.1 -nop)

PS C:\Users\User5> (ConvertFrom-Json '{"data":"2025-05-19T16:35:42.000Z"}').data
2025-05-19T16:35:42.000Z
PS C:\Users\User5> (ConvertFrom-Json '{"data":"2025-05-19T16:35:42.000Z"}').data.GetType().FullName
System.String
2025/05/21(水) 09:59:36.90ID:2NJ41Wyd
powershell5とpowershell7で動作が違うね
powershell7だと変換される
2025/05/21(水) 17:10:41.92ID:NEzFfeHM
大半が5.1しか使わないから7の方が合わせろよって事
459デフォルトの名無しさん
垢版 |
2025/05/21(水) 18:50:19.37ID:UAEUk5lE
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/convertfrom-json?view=powershell-7.5#notes

PowerShell 6 以降、 ConvertTo-Json はタイムスタンプとして書式設定された文字列を DateTime 値に変換しようとします。

PowerShell 7.5 では、DateKind パラメーターが追加されました。これにより、タイムスタンプ文字列の変換方法を制御できます。 このパラメーターは、次の値を受け入れます。
2025/06/24(火) 00:10:17.72ID:9HpiqCeZ
powershell7っていつになったらOS標準搭載されるんだろう
スクリプト配れないから困るんだよね
2025/06/24(火) 11:26:30.59ID:F3nFA9Ml
配ればいいじゃん
7で動作確認してますって書いとけばいいだけ
2025/06/24(火) 11:45:12.25ID:jKpO0eO6
その小学生低学年みたいな書き込み必要か?
2025/06/24(火) 12:05:00.87ID:KEAdRoBs
いつになってもされないよ
Windowsのサポート期間と合わないから、標準で入れたところで結局塩漬けされて第二のPowerShell5になるだけ
そして最新のバージョンのPowerShellは今以上に誰も使わなくなる
.NET4.8のサポートが終了する頃にはとっくにPowerShellは開発終了してるだろうし、無理に移行させる理由がないんだよ
2025/06/24(火) 12:24:16.18ID:uXNyGdUq
OS標準搭載とか安定が必要なのはv5を使え、v7は破壊的変更を加えながら育ててくって棲み分けになってるから標準搭載はナイだろうなあ
2025/06/24(火) 18:03:39.76ID:sjc0o4g2
6以降はWindowsファーストでUNIXでも動くシェルとしてわりとユニークな立ち位置なのでそれなりに存在価値はあり、
MSスタックどっぷりな人間がAzureをはじめとしてクラウドでLinuxに触れざるを得ないときのハードルを下げるのに役立っている
Winのオンプレ鯖やPCのシェルとしては5までで終わり
2025/06/24(火) 19:36:57.27ID:ZrkIV361
.NET Framework 4系(4.8.x)がWindowsに同梱され続ける限り、PowerShell 7.xが標準になることはなさそう
Unicodeの年次アプデがもう何年も反映されてなかったり、色々とキツいけど仕方ない
2025/06/25(水) 00:38:29.01ID:6PeRjodX
powershellで攻めた使い方するくらいならpythonで書くよなぁ
インストール不要で動くという最大のメリットがない7系はpowershell好きにしか響かないと思う
2025/06/25(水) 13:28:46.57ID:zWuAHPd0
>>467
逆にpowershell7をインストールしないメリットて何だ
2025/06/25(水) 15:20:42.55ID:TZWJXUbx
Pythonをインストールしないメリットと似たようなもん
2025/06/26(木) 17:27:15.49ID:lOjfAOzg
powershell 7 が読めない速さで(読めないのでキャプチャした)
”Creating implict remoting module ... [Getting command information from remote session ... 74 commands received 0s]”
とか黄色文字で一瞬表示するの止められないんだろうか
チラチラして鬱陶しい

implict remotingて何だと調べると互換性の無いモジュールを裏でpowershell 5 を起動して処理してるんだとか
Set-Location 程度でも発動する
2025/06/28(土) 01:00:11.07ID:UBYVDQZY
昔数百万行の各個別コマンドをpowershellでスレッドプール実装して並列処理で捌いたことあったけどvscodeの拡張機能でのデバッグが無かったら諦めてたと思う
拡張機能のおかげで大分開発しやすくなった
472デフォルトの名無しさん
垢版 |
2025/06/28(土) 16:43:22.73ID:uH6ba5rf
>>471
なぜマルチスレッドの実装にこだわってマルチプロセスにしなかったのか?

スレッドのコントロールは面倒くさい。
互いのスレッドが干渉し合わないなら、別のプロセスとして実装すべき。
2025/06/30(月) 14:31:10.94ID:+52Dh5n7
「Windows PowerShell 2.0」は非推奨、将来的に削除 〜Microsoftが改めて注意喚起
「Windows PowerShell 5.x」や「PowerShell 7.5」への移行を
https://forest.watch.impress.co.jp/docs/news/2026721.html
474デフォルトの名無しさん
垢版 |
2025/07/08(火) 11:07:44.40ID:ub1Gvu25
>>397
batの方が重大なミスしそうなんですがそれは
475デフォルトの名無しさん
垢版 |
2025/07/08(火) 11:08:23.57ID:ub1Gvu25
>>398
っぱpwsh on linuxよ
2025/07/08(火) 11:16:15.29ID:jxaCuQsN
>>474
よく読め
477デフォルトの名無しさん
垢版 |
2025/07/08(火) 11:16:26.31ID:ub1Gvu25
>>466
何時までも4,5系に留まるってことは無いと思うけどね
実際2からアップグレードされてきた訳だし
.NET Frameworkとの差異は比較的大きいにせよ
>>473の件もあるしそのうちプリインされるだろCore版が
なお6か7かはたまたまだ見ぬ8かは知らんけど
478デフォルトの名無しさん
垢版 |
2025/07/09(水) 05:32:28.94ID:aeqwBJS6
powershellの日本語ドキュメント、chatGPTに翻訳させたらもっとマトモにならんかなあ…
479デフォルトの名無しさん
垢版 |
2025/07/09(水) 05:34:55.69ID:aeqwBJS6
6もしぱらくバグまみれだったし7もバグどんどん見つかっていったし、最新がプリイン入る事は無いと思うな
多分最新の1つ前の最終マイナーバージョン、すなわちもし今なら6の最終バージョンじゃね
2025/07/09(水) 06:17:43.31ID:b3V2Axv4
.NET Frameworkと違って.NET5以降がOSに同梱はないでしょ
MS的に推奨かは知らんが関連するライブラリを標準モジュール含めて全部同梱配布が.NET系アプリのスタンダードになってるし今は

だったらロードさせることのないdllをOS標準で入れる意味も無いし未来永劫Powershell6以降は来ないって半分諦めてるけどね
2025/07/09(水) 17:36:33.28ID:ohpjpVt+
本日はご多忙の中、協力関係者様にお集まりいただきありがとうございます。
powershellは無事5.1で完結いたしました。
powershell第一部・完
6以降はまた別のお話とさせていただきます。
こんな感じ
2025/07/10(木) 00:21:06.24ID:z96em9yx
ps1の1は当時はバージョン名の想定じゃなかったっけ
2025/07/10(木) 07:27:18.57ID:qajreXxd
>>482
バージョンを表しているのは間違いない
ただ言語のメジャーバージョンとファイルフォーマットの互換性を表すバージョンは必ずしも一致しないって扱いなので、もし次に拡張子が変わるときが来るなら.ps2になる
https://devblogs.microsoft.com/powershell/ctp-versioning/
Excelを例に取ると97、2007でそれぞれ内部形式が変わっていて、2007では拡張子も変わっているので、いうなれば.xlsxは.xl3に相当するイメージ(5.0以前は無視した場合)
.ps1は最初はバージョンごとに毎回数字を変えるつもりだったけどやめたって説が巷で主流だけど、コレは公式のソースが見つからなかった
2025/07/10(木) 11:15:28.70ID:DIIl0KYX
microsoftは妙に互換性にこだわるから
拡張子.ps1はpowershellがどんなバージョンになっても変わらないよ
今は拡張子に「バージョンの番号が含まれてます」っていう意味すら意味をなくしていて
ただ単に「.ps1はpowershellスクリプトの拡張子です」ってだけの意味でしかないから
今さら拡張子を新しくするメリットが無い
2025/07/10(木) 11:20:06.12ID:DIIl0KYX
>>484
と思ったけどバージョン5とそれ以降では互換性に問題のある事が多かったなw
そういう誤実行を防止する目的で拡張子を変えるメリットあるかなぁ
2025/07/10(木) 11:55:28.72ID:nn3AKhN3
もうexeにすればいいんじゃねえかな
powershellで作ったかどうかすら判らんし
2025/07/11(金) 21:41:14.58ID:UFItDSPS
https://devblogs.microsoft.com/powershell/ctp-versioning/

PowerShell Scripts continue to use “.PS1”.

We will continue to pursue this approach until there is a major change in the CLR or .NET frameworks which force us to go side-by-side. It is at that point that we’ll go from .PS1 to .PS2 . Until then we will stay with .PS1 and everything that runs today will continue to run in new releases.
2025/07/12(土) 15:57:57.17ID:KKY9VgUr
記事の日付は2007年やぞ
2025/07/14(月) 21:23:18.49ID:54I3beLE
PowerShell6で拡張子を変えなかった時点で
この先も.ps1のままなのはほぼ確定だよね
2025/07/15(火) 01:51:30.33ID:kwekYfOc
俺たちのJeffrey Snoverはもういない、いないんだ…
2025/07/15(火) 14:43:34.46ID:iicdRBcv
コマンドプロンプト使ってる人はたくさんいるけど
powershell使ってる人ここ10年で一度も見たこと無い
492デフォルトの名無しさん
垢版 |
2025/07/15(火) 17:26:35.63ID:J6nh+lbb
>>491
コンソール(の外観)のハナシ?
2025/07/15(火) 17:58:06.00ID:eVgbUR/v
俺も、以下の1行をバッチファイル内に記述して実行する程度の事しかやってないな。

powershell.exe -command ("Write-EventLog -LogName Application -EntryType Information -Source 'WSH' -EventID 0 -Message '(%~f0)_Windows Updateの画面を起動します。'") && start "" ms-settings:windowsupdate

※注1:
Windows7以降で標準搭載されているPowerShell(バージョン2.0以降)で使用可能な「Write-EventLog」コマンドレットは、バージョン6.0以降には搭載されてない。
だがバージョン2.0~5.1いずれかとの互換性が保持されている環境(「$PSVersionTable」変数内の「PSCompatibleVersions」プロパティを参照すれば確認可能)では問題ない。

※注2:
「ms-settings:windowsupdate」コマンドはWindows10~11のみで使用可。
494デフォルトの名無しさん
垢版 |
2025/07/15(火) 17:58:26.26ID:onP4ElKb
Terminalに移行したら分からなくなっちゃったか
2025/07/15(火) 18:07:10.16ID:yseOir/R
気軽にスクリプト実行できないから使い道がない
2025/07/15(火) 20:54:02.36ID:1cN94XmW
本気で言ってるのか
2025/07/15(火) 21:58:24.95ID:ZcYliqlC
弊社はIT企業じゃないし、勝手にPythonを入れたりするとたぶん怒られるので
Windowsに最初から入ってるPowerShellを便利に使ってました
たまに、起動用のbatファイルとPowerShellスクリプトをセットにして同僚に渡すこともありました
2025/07/16(水) 08:58:08.06ID:83bEnGjZ
いい加減ペイント3DみたいにPowerShellのアプローチは失敗でしたと認めちゃばいいのに(´・ω・`)
2025/07/16(水) 12:43:16.16ID:09DhhKQk
もうログインスクリプトにも使われてるから
Windowsの終焉まで逃げ出せないよ
2025/07/16(水) 22:06:02.34ID:5d/ixC+9
PowerShellのどのアプローチが失敗なのか具体的に
2025/07/16(水) 23:17:35.03ID:7/+dohrQ
起動用のbatが必要になっちゃうってのがな
PowerShell単独では使いにくい
2025/07/16(水) 23:57:41.77ID:YcDGevHy
ん?どういうこと?
2025/07/17(木) 00:10:22.13ID:sGHKyXGW
ダブルクリック実行できるようにするために手間がかかる
2025/07/17(木) 00:22:02.88ID:Nf2HlQRn
正直言ってexecutionpolicyの初期値は大失敗だろうなぁ
結局.batか.cmd経由でダブルクリック起動できるんだからマジで無意味
ネットから落としたファイルはzoneidがあるから設定に関係なく警告でるんだし

あとcmdもPowershellもWindowsのオマケであることに価値があるのにPowershell5.1までしか同梱されてないし
505デフォルトの名無しさん
垢版 |
2025/07/17(木) 07:33:01.42ID:1VTmgFuN
もう直接powershell.exeに関連付けしてる
506デフォルトの名無しさん
垢版 |
2025/07/17(木) 08:05:58.12ID:9jYPg0KZ
>>482
それはバージョン1として普及させただけ。

いまとなってはバージョンを表してはいない。
507デフォルトの名無しさん
垢版 |
2025/07/17(木) 08:06:51.20ID:9jYPg0KZ
>>486
それはWindowsしか知らない人間の発想
508デフォルトの名無しさん
垢版 |
2025/07/17(木) 08:08:24.36ID:9jYPg0KZ
>>491
Windowsはターミナルというアプリで統合された。

PowerShellはコマンドプロンプトも含めているので、あなたが気づいていないだけ。
レスを投稿する

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

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