前スレ
PowerShell -Part 3
https://mevius.5ch.net/test/read.cgi/tech/1539074808/
次スレは>>980が立ててね!!
探検
PowerShell -Part 4
■ このスレッドは過去ログ倉庫に格納されています
2020/01/01(水) 16:08:31.66ID:4oQ1Kxot
100デフォルトの名無しさん
2020/02/07(金) 17:42:43.13ID:eL08TT0Y >>99
できましたサンクス!
できましたサンクス!
101デフォルトの名無しさん
2020/02/09(日) 17:36:01.93ID:7dfvQcUC 同スクリプト重複実行抑止する場合
皆さんどうしてますか?
pid書き出し?Mutex?
皆さんどうしてますか?
pid書き出し?Mutex?
102デフォルトの名無しさん
2020/02/09(日) 19:33:00.88ID:9UBXd1bi mutex
103デフォルトの名無しさん
2020/02/10(月) 12:17:46.17ID:f4vRyC3Z コールバック関数ってpowershellで可能ですか?
104デフォルトの名無しさん
2020/02/10(月) 12:24:25.91ID:8uBZGbTk 可能ですよ
105デフォルトの名無しさん
2020/02/10(月) 14:42:20.49ID:OVbm/XKG どうやるのですか?
106デフォルトの名無しさん
2020/02/10(月) 15:13:30.85ID:8uBZGbTk スクリプトブロックを渡すか、関数なら
$function:関数名
で渡す
実行は & でやるのが基本で他にもいろいろ方法がある
$function:関数名
で渡す
実行は & でやるのが基本で他にもいろいろ方法がある
107デフォルトの名無しさん
2020/02/10(月) 18:46:32.72ID:D64OFTKi スクリプトからフォームをshowメソッドで表示すると固まってしまい、
showDialogメソッドで表示すると操作できるようになります。
例えばモーダルフォームを表示した親フォームが固まるのは分かるのですが、
呼び出したモードレスフォームが固まってしまうのは何故なのでしょうか。
showDialogメソッドで表示すると操作できるようになります。
例えばモーダルフォームを表示した親フォームが固まるのは分かるのですが、
呼び出したモードレスフォームが固まってしまうのは何故なのでしょうか。
108デフォルトの名無しさん
2020/02/10(月) 21:56:58.62ID:RZngPC6l 103です。
実はコールバック関数が何かもよく理解してませんが、
以下URL先の
$sslStream = New-Object System.Net.Security.SslStream($stream,$false,({$True} -as [Net.Security.RemoteCertificateValidationCallback]))
の第三引数がコールバック関数でしょうか?
このやり方を理解したくて。
https://stackoverflow.com/questions/19252963/powershell-ssl-socket-client
実はコールバック関数が何かもよく理解してませんが、
以下URL先の
$sslStream = New-Object System.Net.Security.SslStream($stream,$false,({$True} -as [Net.Security.RemoteCertificateValidationCallback]))
の第三引数がコールバック関数でしょうか?
このやり方を理解したくて。
https://stackoverflow.com/questions/19252963/powershell-ssl-socket-client
109デフォルトの名無しさん
2020/02/11(火) 13:53:02.82ID:iYccZVyV コールバックはこの説明が分かりやすい
https://wa3.i-3-i.info/word12295.html
Powershellだと「スクリプトブロック」というコードを { } で括った物がコールバック関数として使える
引数として直接書いてもいいし、一度変数に代入して変数を引数に渡してもいい
{$True} という部分がそれ
でも今回は「スクリプトブロック」じゃなくて「RemoteCertificateValidationCallback」でと指定されている
三つ目のコンストラクタの引数の型に注目
https://docs.microsoft.com/ja-jp/dotnet/api/system.net.security.sslstream?view=netframework-4.8#constructors
なので -as 演算子で型変換をしてる
https://wa3.i-3-i.info/word12295.html
Powershellだと「スクリプトブロック」というコードを { } で括った物がコールバック関数として使える
引数として直接書いてもいいし、一度変数に代入して変数を引数に渡してもいい
{$True} という部分がそれ
でも今回は「スクリプトブロック」じゃなくて「RemoteCertificateValidationCallback」でと指定されている
三つ目のコンストラクタの引数の型に注目
https://docs.microsoft.com/ja-jp/dotnet/api/system.net.security.sslstream?view=netframework-4.8#constructors
なので -as 演算子で型変換をしてる
110デフォルトの名無しさん
2020/02/11(火) 14:24:03.53ID:AAFADizG とりあえず、引数がご飯で戻り値がウンコと言う事だけはわかった。
111デフォルトの名無しさん
2020/02/11(火) 15:25:48.37ID:LmagV5MS >>107
win32APIでウィンドウ作ったりしたことなかったら分からないかもしれないけどざっくり言うと
ウィンドウがOSからのメッセージ(マウスがクリックされたとか、ボタンが押されたとか)
を処理するにはOSからのメッセージをウィンドウに知らせてやる必要がある(メッセージループ)
ShowDialogはその辺をよしなにやってくれる
win32APIでウィンドウ作ったりしたことなかったら分からないかもしれないけどざっくり言うと
ウィンドウがOSからのメッセージ(マウスがクリックされたとか、ボタンが押されたとか)
を処理するにはOSからのメッセージをウィンドウに知らせてやる必要がある(メッセージループ)
ShowDialogはその辺をよしなにやってくれる
112デフォルトの名無しさん
2020/02/15(土) 04:04:02.58ID:Nij30Obe113デフォルトの名無しさん
2020/02/15(土) 08:45:46.45ID:Ba23wrvp >>109
103です。ありがとうございます。なんとなくわかったような気がしますが、自分には.netクラスライブラリのリファレンスマニュアル読めるほどのオブジェクト指向プログラムの知識が足りてないようです。
powershellでちょっと小難しい事しようと思うといつもこの壁にぶち当たります。
103です。ありがとうございます。なんとなくわかったような気がしますが、自分には.netクラスライブラリのリファレンスマニュアル読めるほどのオブジェクト指向プログラムの知識が足りてないようです。
powershellでちょっと小難しい事しようと思うといつもこの壁にぶち当たります。
114デフォルトの名無しさん
2020/02/15(土) 09:54:27.30ID:/QpUFa9s >>112
デバッガで実行ステップを追う感覚で捉えると分かりやすいよ
Powershellのようなコンソールアプリって基本シングルスレッドで、上から下に処理が流れて最後まで行ったら終わりでしょ
Showメソッドは表示するだけ
ShowDialogと違って閉じるのを待たずに呼び出し元に処理を戻すから、メインスレッドはすぐに続きのスクリプト処理を再開してしまう
ウィンドウっていつでもユーザーのマウス操作に反応できて、閉じられるまでは処理が終わらないよね
それは無限ループを回し続けて、マウス操作のような指令が来るまでキューを調べて待つ体制に入ってるから
その仕事を直接的にも間接的にもやってないならウインドウはだんまりになって当然
結論、コンソールアプリから最初に呼び出すウィンドウはモーダル表示にすべし
デバッガで実行ステップを追う感覚で捉えると分かりやすいよ
Powershellのようなコンソールアプリって基本シングルスレッドで、上から下に処理が流れて最後まで行ったら終わりでしょ
Showメソッドは表示するだけ
ShowDialogと違って閉じるのを待たずに呼び出し元に処理を戻すから、メインスレッドはすぐに続きのスクリプト処理を再開してしまう
ウィンドウっていつでもユーザーのマウス操作に反応できて、閉じられるまでは処理が終わらないよね
それは無限ループを回し続けて、マウス操作のような指令が来るまでキューを調べて待つ体制に入ってるから
その仕事を直接的にも間接的にもやってないならウインドウはだんまりになって当然
結論、コンソールアプリから最初に呼び出すウィンドウはモーダル表示にすべし
115デフォルトの名無しさん
2020/02/16(日) 00:31:35.72ID:EHy9IoT2 >>114
ありがとうございます
スッキリしました
よくC#でShowDialogで表示した時はDisposeを呼ばないとダメと言いますが、
これもイベントループを作るのか作らないかの差なのでしょうか
また、PowerShellでもDisposeした方がいいのでしょうか
ありがとうございます
スッキリしました
よくC#でShowDialogで表示した時はDisposeを呼ばないとダメと言いますが、
これもイベントループを作るのか作らないかの差なのでしょうか
また、PowerShellでもDisposeした方がいいのでしょうか
116デフォルトの名無しさん
2020/03/05(木) 08:17:58.34ID:Lxf+ynQs Announcing PowerShell 7.0
https://devblogs.microsoft.com/powershell/announcing-powershell-7-0/
Today, we’re happy to announce the Generally Available (GA) release of PowerShell 7.0!
https://devblogs.microsoft.com/powershell/announcing-powershell-7-0/
Today, we’re happy to announce the Generally Available (GA) release of PowerShell 7.0!
117デフォルトの名無しさん
2020/03/06(金) 04:35:17.20ID:fNVi1eTS インストーラで出てくるスパイダーマンのパチモンみたいなの何なの
118デフォルトの名無しさん
2020/03/06(金) 05:16:26.33ID:hxBXwa2S Overwatchのソンブラにそっくりだけどパクったのか?
119デフォルトの名無しさん
2020/03/06(金) 09:18:25.45ID:jyEHwxlL https://blog.shibata.tech/entry/2017/10/14/153510
このキャラクターはあまり認知度は高くないと思いますがPowerShell公式のキャラクターです。
名前はそのまま PowerShell の様です。(よくある言語の擬人化なのでしょう)
中の人からはPowerShell HeroやPosh-Chan*2と呼ばれている様です。
いまではPowerShell TeamのTwitterアイコンにも採用されています。
このキャラクターはあまり認知度は高くないと思いますがPowerShell公式のキャラクターです。
名前はそのまま PowerShell の様です。(よくある言語の擬人化なのでしょう)
中の人からはPowerShell HeroやPosh-Chan*2と呼ばれている様です。
いまではPowerShell TeamのTwitterアイコンにも採用されています。
120デフォルトの名無しさん
2020/03/06(金) 11:37:23.38ID:B7JE7mx4 >>116
キタ━━━━(゚∀゚)━━━━!!
キタ━━━━(゚∀゚)━━━━!!
121デフォルトの名無しさん
2020/03/06(金) 16:45:05.11ID:EUcOgnT/ PowerShellの本増えないかなー
日本でももう少し流行ってほしい
日本でももう少し流行ってほしい
122デフォルトの名無しさん
2020/03/06(金) 17:17:48.60ID:mKExt1TS >>121
Windows が関係するインフラ系の管理ではデファクトだと思ってたけど違うんかい?
自分はインフラ系の仕事が多いんだけど、MS 製品は言うに及ばず、
VMware、AWS、HPE の設定とか構築で使うためのモジュールが用意されてるんで、
そっち系の人は全員使ってるのかと思ってた。
今関わってる案件だと客先で用意された作業用 PC でも PowerCLI は
入れさせてもらえるんで、VMware の構築&設定が超絶はかどってすごく助かってる。
Windows が関係するインフラ系の管理ではデファクトだと思ってたけど違うんかい?
自分はインフラ系の仕事が多いんだけど、MS 製品は言うに及ばず、
VMware、AWS、HPE の設定とか構築で使うためのモジュールが用意されてるんで、
そっち系の人は全員使ってるのかと思ってた。
今関わってる案件だと客先で用意された作業用 PC でも PowerCLI は
入れさせてもらえるんで、VMware の構築&設定が超絶はかどってすごく助かってる。
123デフォルトの名無しさん
2020/03/06(金) 19:23:36.96ID:EUcOgnT/ >>122
IT系ですらない製造業の人間なので、インフラとかよく知らんです
CSVファイルとか扱う定型業務でVBAの代わりに流行らないかなーと思ってる
会社PCに標準で入ってるのが何よりありがたい
たまたまC#の経験あるからPowerShellが使いやすく感じるだけなのかもしれんけど
VBAは古すぎるし、文化が違いすぎて好きになれない…
IT系ですらない製造業の人間なので、インフラとかよく知らんです
CSVファイルとか扱う定型業務でVBAの代わりに流行らないかなーと思ってる
会社PCに標準で入ってるのが何よりありがたい
たまたまC#の経験あるからPowerShellが使いやすく感じるだけなのかもしれんけど
VBAは古すぎるし、文化が違いすぎて好きになれない…
124デフォルトの名無しさん
2020/03/06(金) 22:15:50.08ID:mKExt1TS >>123
確かに、RPA 的な用途にも使えるわね。
そう言われてみれば、IT プロ向けの PowerShell の資料は山ほどあるけど、
エンドユーザの業務効率化に的を絞った資料ってあまり聞かないね。
エンドユーザが手作業でやってる定型業務を PowerShell +αで
自動化/半自動化する事例を紹介する資料を作れば需要ありそう。
確かに、RPA 的な用途にも使えるわね。
そう言われてみれば、IT プロ向けの PowerShell の資料は山ほどあるけど、
エンドユーザの業務効率化に的を絞った資料ってあまり聞かないね。
エンドユーザが手作業でやってる定型業務を PowerShell +αで
自動化/半自動化する事例を紹介する資料を作れば需要ありそう。
125デフォルトの名無しさん
2020/03/07(土) 20:55:12.96ID:yZMlhieX Windows以外でもGridViewが使える
A new kind of GridView right in your console: Introducing the early preview of ConsoleGuiTools
https://devblogs.microsoft.com/powershell/introducing-consoleguitools-preview/
A new kind of GridView right in your console: Introducing the early preview of ConsoleGuiTools
https://devblogs.microsoft.com/powershell/introducing-consoleguitools-preview/
126デフォルトの名無しさん
2020/03/09(月) 17:26:48.99ID:BZZ4ItAR パワーシェルでテキストファイルを一行ずつ読み取って環境変数化するのはどうやるんでしょうか?
バッチファイルだと簡単にできるのにパワーシェルだと難しい
イメージ的にはこんなことをパワーシェルでやりたいです
for /f %%a “usebackq” in (./testfile.txt) do (
set testenv=%%a
echo !testenv!
)
バッチファイルだと簡単にできるのにパワーシェルだと難しい
イメージ的にはこんなことをパワーシェルでやりたいです
for /f %%a “usebackq” in (./testfile.txt) do (
set testenv=%%a
echo !testenv!
)
127デフォルトの名無しさん
2020/03/10(火) 14:15:31.74ID:qUF7p1Fi こーゆー感じのことやりたいのか?
cat .\testfile.txt | %{ $env:testenv = $_; $env:testenv }
cat .\testfile.txt | %{ $env:testenv = $_; $env:testenv }
128デフォルトの名無しさん
2020/03/10(火) 14:32:38.22ID:j2kTK4tI >>126
Get-Content -Path .\TextFile.txt | ForEach-Object -Process { $env:TestVar = $_ }
もしくは
$ContentData = Get-Content -Path .\TextFile.txt
foreach ($LineData in $ContentData) {
$env:TestVar = $LineData
}
こんな感じじゃないかな
知らんけど
グローバルな環境変数への代入はどうするのかな?
Get-Content -Path .\TextFile.txt | ForEach-Object -Process { $env:TestVar = $_ }
もしくは
$ContentData = Get-Content -Path .\TextFile.txt
foreach ($LineData in $ContentData) {
$env:TestVar = $LineData
}
こんな感じじゃないかな
知らんけど
グローバルな環境変数への代入はどうするのかな?
129デフォルトの名無しさん
2020/03/11(水) 20:45:46.50ID:lIDu6EwW130デフォルトの名無しさん
2020/03/11(水) 20:47:48.33ID:lIDu6EwW あ、システム環境変数のことですか
シェルスクリプト内の一時環境変数?で良いのです
シェルスクリプト内の一時環境変数?で良いのです
131デフォルトの名無しさん
2020/03/13(金) 14:02:44.23ID:MwEg+WGB javawみたいな感じで、スクリプト実行時にコマンドプロンプトを出さない方法はありませんか?1ファイルで。
ショートカットやvbs等の2ファイル使う方法なら解ってます。
ショートカットやvbs等の2ファイル使う方法なら解ってます。
132デフォルトの名無しさん
2020/03/13(金) 15:02:17.45ID:VpgJT114 まだ開発中
WIP: Add pwshw for console-less PowerShell on Windows
https://github.com/PowerShell/PowerShell/pull/10962
WIP: Add pwshw for console-less PowerShell on Windows
https://github.com/PowerShell/PowerShell/pull/10962
133デフォルトの名無しさん
2020/03/13(金) 15:27:21.47ID:e1b5/B0w ↑そのpwshwが取り込まれるまでは、↓を自前でビルドして自作pwshwなり、powershellwなりを作ることもできるよ
https://github.com/SeidChr/RunHiddenConsole
ビルドしてできたhiddenw.exeをリネームして使うだけ
https://github.com/SeidChr/RunHiddenConsole
ビルドしてできたhiddenw.exeをリネームして使うだけ
134デフォルトの名無しさん
2020/03/13(金) 19:15:38.63ID:cafRoH7X >>131
1,まず、.ps1 で動作するスクリプトを作る
2,1を BASE64 でエンコード
3,powershell.exe にオプション -EncodedCommand と 2をつないで実行
4,3を .cmd (.bat) に書く
詳細は「powershell EncodedCommand」みたいな感じでググればいいでしょう。
1,まず、.ps1 で動作するスクリプトを作る
2,1を BASE64 でエンコード
3,powershell.exe にオプション -EncodedCommand と 2をつないで実行
4,3を .cmd (.bat) に書く
詳細は「powershell EncodedCommand」みたいな感じでググればいいでしょう。
136デフォルトの名無しさん
2020/03/14(土) 10:34:16.74ID:3Jd+nG/t exe化するやつにそんなオプションがあったと思う
137デフォルトの名無しさん
2020/03/15(日) 16:23:53.40ID:ake3THHi Windows PowerShell in Action、900ページあるけど面白かった
次はPowerShell fo Sysadmins読もうかな
次はPowerShell fo Sysadmins読もうかな
138デフォルトの名無しさん
2020/03/15(日) 23:09:18.13ID:b9Qsc7j/ python.exe / pythonw.exe や ruby.exe / rubyw.exe の違いでよく悩むのでまとめておく
https://blog.shibayan.jp/entry/20141221/1419171414
https://blog.shibayan.jp/entry/20141221/1419171414
139デフォルトの名無しさん
2020/03/16(月) 21:24:16.40ID:vD0R4SAm >>133
さいこー。ありがとう
さいこー。ありがとう
140デフォルトの名無しさん
2020/03/20(金) 21:08:31.06ID:hI9v4wSz win10 バージョン5.1
Invoke-RestMethodの"-body"にjsonを入れる方法を教えてほしい
google photos apiで日付を指定して一覧を取得したい
ubuntu + curlで
curl -s -X POST -H "Authorization: Bearer " -H "Content-type: application/json"
-d '{"filters":{"dateFilter": {"dates":[{"year":2019,"month":11,"day":15}]}}}'
https://photoslibrary.googleapis.com/v1/mediaItems:search
これだと取得出来るんだけど
powershellで
$header = @{"Authorization" = "Bearer "};
$body = '{"filters":{"dateFilter": {"dates":[{"year":2019,"month":11,"day":15}]}}}';
Invoke-RestMethod -Uri https://photoslibrary.googleapis.com/v1/mediaItems:search
-Method Post -Headers $header -Body $body ;
(400) 要求が不適切ですでエラーになる
たぶんbodyの入れ方が悪いだと思うんだけど
アルバムIDの絞り込みだったら
$body=@{
"albumId"="id"
}
で取得出来た
Invoke-RestMethodの"-body"にjsonを入れる方法を教えてほしい
google photos apiで日付を指定して一覧を取得したい
ubuntu + curlで
curl -s -X POST -H "Authorization: Bearer " -H "Content-type: application/json"
-d '{"filters":{"dateFilter": {"dates":[{"year":2019,"month":11,"day":15}]}}}'
https://photoslibrary.googleapis.com/v1/mediaItems:search
これだと取得出来るんだけど
powershellで
$header = @{"Authorization" = "Bearer "};
$body = '{"filters":{"dateFilter": {"dates":[{"year":2019,"month":11,"day":15}]}}}';
Invoke-RestMethod -Uri https://photoslibrary.googleapis.com/v1/mediaItems:search
-Method Post -Headers $header -Body $body ;
(400) 要求が不適切ですでエラーになる
たぶんbodyの入れ方が悪いだと思うんだけど
アルバムIDの絞り込みだったら
$body=@{
"albumId"="id"
}
で取得出来た
141デフォルトの名無しさん
2020/03/20(金) 23:34:49.75ID:fNo2jQuJ -ContentType "application/json" を付けるか
もしくは全部ヘッダに入れる
$accessToken = "your access token"
$uri = "https://photoslibrary.googleapis.com/v1/mediaItems:search"
$response = Invoke-RestMethod $uri -Method Post -Headers @{
Authorization = "Bearer $accessToken"
Filters = @{
DateFilter = @{
Dates = @{ Year = 2016; Month = 3; Day = 1 }
}
}
}
もしくは全部ヘッダに入れる
$accessToken = "your access token"
$uri = "https://photoslibrary.googleapis.com/v1/mediaItems:search"
$response = Invoke-RestMethod $uri -Method Post -Headers @{
Authorization = "Bearer $accessToken"
Filters = @{
DateFilter = @{
Dates = @{ Year = 2016; Month = 3; Day = 1 }
}
}
}
142デフォルトの名無しさん
2020/03/21(土) 00:10:00.03ID:AKmTgF3+ ごめんやっぱBodyに入れないといけない
$body = @{
filters = @{
dateFilter = @{
dates = @(@{ year = 2019; month = 11; day = 15 })
}
}
} | ConvertTo-Json -Depth 100
$param = @{
Uri = $uri
Method = "Post"
Headers = @{ Authorization = "Bearer $accessToken" }
Body = $body
ContentType = "application/json"
}
$response = Invoke-RestMethod @param
$body = @{
filters = @{
dateFilter = @{
dates = @(@{ year = 2019; month = 11; day = 15 })
}
}
} | ConvertTo-Json -Depth 100
$param = @{
Uri = $uri
Method = "Post"
Headers = @{ Authorization = "Bearer $accessToken" }
Body = $body
ContentType = "application/json"
}
$response = Invoke-RestMethod @param
143デフォルトの名無しさん
2020/03/21(土) 00:24:48.78ID:WepcD5N+144デフォルトの名無しさん
2020/03/21(土) 09:18:44.54ID:AEZYARkU145デフォルトの名無しさん
2020/03/21(土) 09:34:19.00ID:Nklv0DXu VSCode の拡張機能、REST Client が簡単!
POST http://localhost:8888/abc HTTP/1.1
content-type: application/json
{
"name": "abc",
"time": "時刻"
}
POST http://localhost:8888/abc HTTP/1.1
content-type: application/json
{
"name": "abc",
"time": "時刻"
}
146デフォルトの名無しさん
2020/03/21(土) 10:02:37.23ID:+Hs4SQrc147デフォルトの名無しさん
2020/03/21(土) 17:39:49.06ID:vJ0Lurek Windows PowerShell in Actionの改3版、日本語訳してくれないかなぁ…
148デフォルトの名無しさん
2020/03/23(月) 10:55:55.25ID:wpOCnP6k パイプラインを繋げる先を条件で分岐って可能ですか?
イメージとしては
Get-Nantoka |
Switch ($_.Name)
Case ('A') | Get-NantokaA
Case ('B') | Get-NantokaB
Case ('C') | Get-NantokaC
な感じです
イメージとしては
Get-Nantoka |
Switch ($_.Name)
Case ('A') | Get-NantokaA
Case ('B') | Get-NantokaB
Case ('C') | Get-NantokaC
な感じです
149デフォルトの名無しさん
2020/03/23(月) 22:15:40.05ID:nB8lN/u6 さすがにそんなシンタックスはないが同じような動作はできる
$continuation = @{
A = { select Name,Age | Write-Host -f Cyan }.GetSteppablePipeline()
B = { select Name,Gender | Write-Host -f Magenta }.GetSteppablePipeline()
C = { select Name | Write-Host -f Yellow }.GetSteppablePipeline()
}
$continuation.Values.ForEach("Begin", $true)
@"
Name,Age,Gender
A,12,Male
C,93,Female
B,32,Male
A,52,Female
C,73,Female
"@ | ConvertFrom-Csv | foreach { $continuation[$_.Name].Process($_) }
$continuation.Values.ForEach("End")
$continuation = @{
A = { select Name,Age | Write-Host -f Cyan }.GetSteppablePipeline()
B = { select Name,Gender | Write-Host -f Magenta }.GetSteppablePipeline()
C = { select Name | Write-Host -f Yellow }.GetSteppablePipeline()
}
$continuation.Values.ForEach("Begin", $true)
@"
Name,Age,Gender
A,12,Male
C,93,Female
B,32,Male
A,52,Female
C,73,Female
"@ | ConvertFrom-Csv | foreach { $continuation[$_.Name].Process($_) }
$continuation.Values.ForEach("End")
150デフォルトの名無しさん
2020/03/24(火) 02:11:10.59ID:1omVAMXs 結局処理を別々に書かなきゃいけないなら書いてる通りswitch文でいいんじゃねって気はする
151デフォルトの名無しさん
2020/03/24(火) 12:26:04.21ID:/23EZweg switch文だと毎回新規にGetNantokaAとかが呼ばれてしまうため例えばGetNantokaAがMeasure-Objectだと意味がなくなる
152デフォルトの名無しさん
2020/03/24(火) 13:30:06.69ID:n2AHJDo3153デフォルトの名無しさん
2020/03/24(火) 16:14:53.92ID:/23EZweg >>152
> いま、もしかして上にある「パイプラインの並列化」って分岐の事じゃね?と思ったのだが違うのかな
同じルーチンが複数同時に走るってことだとと思う
排他制御とか順序の保証とかがどうなってるのかが気になる
> いま、もしかして上にある「パイプラインの並列化」って分岐の事じゃね?と思ったのだが違うのかな
同じルーチンが複数同時に走るってことだとと思う
排他制御とか順序の保証とかがどうなってるのかが気になる
154デフォルトの名無しさん
2020/03/24(火) 19:15:33.49ID:n2AHJDo3155デフォルトの名無しさん
2020/03/24(火) 19:46:16.61ID:1omVAMXs >>151
あーそれでわざわざGetSteppablePipeline使ってるのね
あーそれでわざわざGetSteppablePipeline使ってるのね
156デフォルトの名無しさん
2020/03/24(火) 21:24:12.31ID:LC2xv/4E >>149が何やってるのかサッパリ
GetSteppablePipelineでぐぐっても日本人はほとんど存在士らないのかなって具合
GetSteppablePipelineでぐぐっても日本人はほとんど存在士らないのかなって具合
157デフォルトの名無しさん
2020/03/24(火) 22:44:37.71ID:VBWCR/ci ScriptBlock.GetSteppablePipeline Method
https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.scriptblock.getsteppablepipeline
https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.scriptblock.getsteppablepipeline
158デフォルトの名無しさん
2020/03/24(火) 23:52:12.51ID:LC2xv/4E >>149の最初の連想配列作ってるとこは判る
問題は次
>$continuation.Values.ForEach("Begin", $true)
これ何してるの?
Values.ForEachて。
こんな書き方でSteppablePipelineのBeginメソッドが呼べるの?
C言語の配列で"A"[0]みたいなトリッキーさを連想させるのだが
問題は次
>$continuation.Values.ForEach("Begin", $true)
これ何してるの?
Values.ForEachて。
こんな書き方でSteppablePipelineのBeginメソッドが呼べるの?
C言語の配列で"A"[0]みたいなトリッキーさを連想させるのだが
159デフォルトの名無しさん
2020/03/25(水) 03:41:09.46ID:IDfpoHeN .ForEachはメソッド形式のForeach-Objectで、要するにC#のLINQをPowerShell風にアレンジした何か
どっちかというと.ForEach({ ..... }) みたいにスクリプトブロックを渡す使い方が主流だと思うけど、メソッド名を文字列で渡してオブジェクトのメソッドを呼び出すこともできる
ステッパブルパイプラインは任意のパイプライン(文)をメソッド形式で呼び出せるようにするための何か
渡された引数を先頭のコマンドにパイプして実行させることができる
どっちかというと.ForEach({ ..... }) みたいにスクリプトブロックを渡す使い方が主流だと思うけど、メソッド名を文字列で渡してオブジェクトのメソッドを呼び出すこともできる
ステッパブルパイプラインは任意のパイプライン(文)をメソッド形式で呼び出せるようにするための何か
渡された引数を先頭のコマンドにパイプして実行させることができる
160デフォルトの名無しさん
2020/03/25(水) 18:56:02.32ID:8IWtSBvh powershellで2つのファイルの差分のみを抜き出して追加や削除されたものは別ファイルに出力したいです
例えば
fileA.txt
aaa
uuu
iii
fileB.txt
iii
uuu
eee
とあった場合にfileBをマスタとしてaaaの文字列をdelete.txtにeeeの文字列をadd.txt出力したいです。
やり方教えてください!
例えば
fileA.txt
aaa
uuu
iii
fileB.txt
iii
uuu
eee
とあった場合にfileBをマスタとしてaaaの文字列をdelete.txtにeeeの文字列をadd.txt出力したいです。
やり方教えてください!
161デフォルトの名無しさん
2020/03/25(水) 19:05:36.15ID:D/1vKEW+ 素人ですまんけど、
$test0 = "a", "b", "c"
$test1 = $test0[1]
こういった時に、$test0のbを同時に削除する書き方はありますか?別途処理を書く必要あり?
$test0 = "a", "b", "c"
$test1 = $test0[1]
こういった時に、$test0のbを同時に削除する書き方はありますか?別途処理を書く必要あり?
162デフォルトの名無しさん
2020/03/26(木) 00:05:42.98ID:fIJkkKI3 >>160
function Marge([object[]]$Adds,[object[]]$Deletes){
$Adds|Where-Object{$_ -notin $Deletes}
}
Marge $(Get-Content fileB.txt) $(Get-Content fileA.txt) > add.txt
Marge $(Get-Content fileA.txt) $(Get-Content fileB.txt) > delete.txt
function Marge([object[]]$Adds,[object[]]$Deletes){
$Adds|Where-Object{$_ -notin $Deletes}
}
Marge $(Get-Content fileB.txt) $(Get-Content fileA.txt) > add.txt
Marge $(Get-Content fileA.txt) $(Get-Content fileB.txt) > delete.txt
163デフォルトの名無しさん
2020/03/26(木) 00:09:27.46ID:fIJkkKI3164デフォルトの名無しさん
2020/03/26(木) 00:14:14.98ID:fIJkkKI3 -ne演算子の場合は大小比較をしないので注意
もし比較する場合は>>162のように-notin演算子とWhere関数でフィルタする
もし比較する場合は>>162のように-notin演算子とWhere関数でフィルタする
165デフォルトの名無しさん
2020/03/26(木) 08:51:19.38ID:BddTdfqa166デフォルトの名無しさん
2020/03/28(土) 02:03:33.90 scoop の魅力
167デフォルトの名無しさん
2020/03/30(月) 02:08:56.05ID:VM+VSYRD > $a = try{get-content data.txt}catch{@()}
> $a = if(3 -ne 4){11}else{22}
ダメ元で試してみたらこんな書き方出来たのかよ
> $a = if(3 -ne 4){11}else{22}
ダメ元で試してみたらこんな書き方出来たのかよ
168デフォルトの名無しさん
2020/03/30(月) 07:08:11.36ID:PN3/f/57 うん、だから三項演算子入れないでほしかった
なんでわざわざ評判微妙な記法を取り入れたんだろ
なんでわざわざ評判微妙な記法を取り入れたんだろ
169デフォルトの名無しさん
2020/03/30(月) 18:31:48.20ID:2xrywwd7 三項演算子は俺の大好物
170デフォルトの名無しさん
2020/03/30(月) 18:44:14.41ID:kxtxXuN0 C#8.0のswitch式見ててあれってなったけど、そういえば右辺に文を持ってこれるのってPowerShellくらいなんだっけ
171デフォルトの名無しさん
2020/03/30(月) 22:05:50.57ID:bK3E1kug goto を禁止して
今度は if then else を禁止しようってか?
今度は if then else を禁止しようってか?
172デフォルトの名無しさん
2020/03/31(火) 09:18:05.97ID:hmCJ2D6X # RSSの内容を取得
$url="https://rss.itmedia.co.jp/rss/2.0/ait.xml"
$webclient = new-object System.Net.WebClient
$webclient.Encoding = [System.Text.Encoding]::UTF8
$rss = [xml]$webclient.downloadstring($url)
とやった場合に$rssの内容を手早く調べるにはどうやればいいですか?
$rss | ConvertTo-Json -Depth 100
$rss | Out-GridView
なんかは表示が貧弱すぎてわかりません
多少長くてもいいので正確に(できればJSONで)階層化する方法が知りたいです
$rssはあくまで一例で類似の複雑なオブジェクト全般について知りたいです
$url="https://rss.itmedia.co.jp/rss/2.0/ait.xml"
$webclient = new-object System.Net.WebClient
$webclient.Encoding = [System.Text.Encoding]::UTF8
$rss = [xml]$webclient.downloadstring($url)
とやった場合に$rssの内容を手早く調べるにはどうやればいいですか?
$rss | ConvertTo-Json -Depth 100
$rss | Out-GridView
なんかは表示が貧弱すぎてわかりません
多少長くてもいいので正確に(できればJSONで)階層化する方法が知りたいです
$rssはあくまで一例で類似の複雑なオブジェクト全般について知りたいです
173デフォルトの名無しさん
2020/03/31(火) 12:14:42.73ID:b44czDa9 >>172
$rss.rss.channel.item で一覧表示される(もちろんGridViewで見てもよい)けど、そういうことではなくて?
$rss.rss.channel.item で一覧表示される(もちろんGridViewで見てもよい)けど、そういうことではなくて?
174デフォルトの名無しさん
2020/03/31(火) 13:02:27.84ID:UGGIMXD4 >>172
JSONとXMLじゃ表現できる範囲が違うから「正確に」と言うなら$rss.OuterXmlとかで見るしかないと思うよ
インデントとか付けて見易くしたいならXmlWriter使って整形すればいい
https://imihito.hatenablog.jp/entry/2018/01/20/225513
JSONとXMLじゃ表現できる範囲が違うから「正確に」と言うなら$rss.OuterXmlとかで見るしかないと思うよ
インデントとか付けて見易くしたいならXmlWriter使って整形すればいい
https://imihito.hatenablog.jp/entry/2018/01/20/225513
175172
2020/03/31(火) 15:56:05.63ID:hmCJ2D6X ISEからVSCodeに変えてデバッグ&インスペクトしたら大体望み通りの表示が得られました
https://i.imgur.com/HRVgQP3.png
[xml]な$rssも細部まで階層表示が出来ました
余計なプロパティがあまりにもごちゃごちゃしていて目視で$rssの把握は無理気味でしたが…
ありがとうございました
https://i.imgur.com/HRVgQP3.png
[xml]な$rssも細部まで階層表示が出来ました
余計なプロパティがあまりにもごちゃごちゃしていて目視で$rssの把握は無理気味でしたが…
ありがとうございました
176デフォルトの名無しさん
2020/04/01(水) 05:14:26.18ID:T/a2Vy7O VSCode に、XML のお勧め拡張機能はないの?
177デフォルトの名無しさん
2020/04/01(水) 08:11:20.55ID:VNCwfYlv >>176
スレタイ1024回読み直せ
スレタイ1024回読み直せ
178デフォルトの名無しさん
2020/04/01(水) 20:40:01.19ID:wuY/0uuQ classとclassを使うスクリプトの場所を分けたい場合
例えば
c:\workフォルダに
main.ps1
c:\work\class フォルダに
class1.ps1
class2.ps1
class2.ps1はclass1.ps1を読込ので先頭に
cd $PSScriptRoot
. ".\class1.ps1"
main.ps1はclass2.ps1を読込ので先頭に
cd $PSScriptRoot
. ".\class\class2.ps1"
これでmain.ps1動かすとディレクトリがc:\work\classに変わっちゃうから
class2.ps1を読み込んだ後にもう一度cd $PSScriptRootでディレクトリを移動し直すのが
なんか気持ち悪いんですが、絶対パスでやる以外に方法はあるんでしょうか
例えば
c:\workフォルダに
main.ps1
c:\work\class フォルダに
class1.ps1
class2.ps1
class2.ps1はclass1.ps1を読込ので先頭に
cd $PSScriptRoot
. ".\class1.ps1"
main.ps1はclass2.ps1を読込ので先頭に
cd $PSScriptRoot
. ".\class\class2.ps1"
これでmain.ps1動かすとディレクトリがc:\work\classに変わっちゃうから
class2.ps1を読み込んだ後にもう一度cd $PSScriptRootでディレクトリを移動し直すのが
なんか気持ち悪いんですが、絶対パスでやる以外に方法はあるんでしょうか
179デフォルトの名無しさん
2020/04/02(木) 02:02:55.73ID:sgXKVFsI pushd popd
180デフォルトの名無しさん
2020/04/02(木) 23:47:54.92ID:W0wv5F0P . "$PSScriptRoot\class1.ps1"
と絶対パスでやるのが一般的
カレントディレクトリの移動はやらんほうがいい
と絶対パスでやるのが一般的
カレントディレクトリの移動はやらんほうがいい
181デフォルトの名無しさん
2020/04/03(金) 01:06:03.07ID:BrOkETDP なる程その手があったか
どうもありがとう
どうもありがとう
182デフォルトの名無しさん
2020/04/08(水) 19:04:23.59ID:bFKpwotA 連想配列をカンマ区切りに置換してファイル出力する方法教えてください
配列の場合はわかるんですが連想配列の場合がわかりません
@{id=001;name=hoge}
みたいなやつを↓
001,hoge
みたいな感じにしたいんです
配列の場合はわかるんですが連想配列の場合がわかりません
@{id=001;name=hoge}
みたいなやつを↓
001,hoge
みたいな感じにしたいんです
183デフォルトの名無しさん
2020/04/08(水) 19:27:34.84ID:VOICq9dy @{id="001";name="hoge"}.Values -join ","
184デフォルトの名無しさん
2020/04/08(水) 20:46:56.85ID:u/iW9oDx >>183
なるほど!!
なるほど!!
185デフォルトの名無しさん
2020/04/09(木) 10:17:18.42ID:qPytwYgo powershellのエラー発生時のログ出力って皆さんどうやってますか?
単純にpowershellの画面上に出力されてるエラーをログに吐き出したいだけなのですがイマイチやり方が分かりません!
単純にpowershellの画面上に出力されてるエラーをログに吐き出したいだけなのですがイマイチやり方が分かりません!
186デフォルトの名無しさん
2020/04/09(木) 11:37:10.62ID:ZcR3gUW3 $error
187デフォルトの名無しさん
2020/04/19(日) 17:57:40.84ID:LL/F5W9x シフト右クリックからpowershellウインドウをここで開くでウインドウ立ち上げた時にアクティブな状態で立ち上がらないから一回クリックしたりして選択し直さないかんのが地味にストレス
188デフォルトの名無しさん
2020/04/19(日) 18:12:07.47ID:wL4NwIK0 >>187
おま環
おま環
189デフォルトの名無しさん
2020/04/19(日) 18:14:16.64ID:vjiWfekt シフト右クリックするとメニューが出る
このとき先にシフトを離してから開く操作をするといい
シフトを押した状態でアプリを起動すると非アクティブで開くのはWindowsの昔からの機能
このとき先にシフトを離してから開く操作をするといい
シフトを押した状態でアプリを起動すると非アクティブで開くのはWindowsの昔からの機能
190デフォルトの名無しさん
2020/04/19(日) 18:18:01.41ID:vjiWfekt Windows95の頃からこの機能は変わっていないと思う
191デフォルトの名無しさん
2020/04/19(日) 19:11:09.49ID:jwLUU+vG192デフォルトの名無しさん
2020/04/19(日) 19:35:33.27ID:/0QkS1hn なるほど、勉強になった
ありがとう
ありがとう
193デフォルトの名無しさん
2020/04/21(火) 22:23:31.60ID:8Kh2/Vc8 >>137
結構古い本だけど今でも読み応えある感じですか?
結構古い本だけど今でも読み応えある感じですか?
194デフォルトの名無しさん
2020/04/23(木) 21:26:18.73ID:xCk1mGre 日本語に翻訳された初版じゃなくて第3版でしょ
Windows PowerShell in Action, Third Edition
https://www.manning.com/books/windows-powershell-in-action-third-edition
Windows PowerShell in Action, Third Edition
https://www.manning.com/books/windows-powershell-in-action-third-edition
195デフォルトの名無しさん
2020/04/28(火) 10:53:40.07ID:+ujIhWuh メンバを呼ぶ.(ドット)の演算子を逆参照演算子と呼ぶらしいんだけど、どこら辺が逆なんだろう
196デフォルトの名無しさん
2020/04/28(火) 15:39:52.27ID:nkgQazrR Cとかでは * で値を得ることをdereferenceということがあるよ。
197デフォルトの名無しさん
2020/04/28(火) 19:06:19.94ID:+ujIhWuh 逆参照演算子もdereferenceの直訳っぽいね
参照の反対の行動という意味で逆なのかな
参照の反対の行動という意味で逆なのかな
198デフォルトの名無しさん
2020/04/29(水) 08:59:09.87ID:pj1FfIiR 参照先のオブジェクト実体を見る、参照じゃなくなるからdereference(逆参照)
199デフォルトの名無しさん
2020/04/29(水) 10:32:55.55ID:JJa9UlV/ 普通、参照外しって訳すけどな。「逆」じゃ意味が通じない。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- ラーメン屋「日高屋が安いせいで客が来ない!日高屋はもっと値上げしろ!」 [449534113]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 本日開催の人口戦略本部に安倍晋三が出席😲 生きとったんかワレ [884040186]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
