PowerShell -Part 4

■ このスレッドは過去ログ倉庫に格納されています
2020/01/01(水) 16:08:31.66ID:4oQ1Kxot
前スレ
PowerShell -Part 3
https://mevius.5ch.net/test/read.cgi/tech/1539074808/

次スレは>>980が立ててね!!
2020/02/07(金) 06:17:27.09ID:Ec63bSXx
[DateTimePicker]@{ Value = [datetime]::Now.AddDays(1) }
2020/02/07(金) 17:42:43.13ID:eL08TT0Y
>>99
できましたサンクス!
2020/02/09(日) 17:36:01.93ID:7dfvQcUC
同スクリプト重複実行抑止する場合
皆さんどうしてますか?
pid書き出し?Mutex?
2020/02/09(日) 19:33:00.88ID:9UBXd1bi
mutex
2020/02/10(月) 12:17:46.17ID:f4vRyC3Z
コールバック関数ってpowershellで可能ですか?
2020/02/10(月) 12:24:25.91ID:8uBZGbTk
可能ですよ
2020/02/10(月) 14:42:20.49ID:OVbm/XKG
どうやるのですか?
2020/02/10(月) 15:13:30.85ID:8uBZGbTk
スクリプトブロックを渡すか、関数なら
$function:関数名
で渡す
実行は & でやるのが基本で他にもいろいろ方法がある
2020/02/10(月) 18:46:32.72ID:D64OFTKi
スクリプトからフォームをshowメソッドで表示すると固まってしまい、
showDialogメソッドで表示すると操作できるようになります。
例えばモーダルフォームを表示した親フォームが固まるのは分かるのですが、
呼び出したモードレスフォームが固まってしまうのは何故なのでしょうか。
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
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 演算子で型変換をしてる
2020/02/11(火) 14:24:03.53ID:AAFADizG
とりあえず、引数がご飯で戻り値がウンコと言う事だけはわかった。
2020/02/11(火) 15:25:48.37ID:LmagV5MS
>>107
win32APIでウィンドウ作ったりしたことなかったら分からないかもしれないけどざっくり言うと
ウィンドウがOSからのメッセージ(マウスがクリックされたとか、ボタンが押されたとか)
を処理するにはOSからのメッセージをウィンドウに知らせてやる必要がある(メッセージループ)
ShowDialogはその辺をよしなにやってくれる
112デフォルトの名無しさん
垢版 |
2020/02/15(土) 04:04:02.58ID:Nij30Obe
>>111
ありがとうございます。

モーダルがどうのこうのというよりも、
Showコマンドだとクリックなどの命令を受け付けないという感じでしょうか
2020/02/15(土) 08:45:46.45ID:Ba23wrvp
>>109
103です。ありがとうございます。なんとなくわかったような気がしますが、自分には.netクラスライブラリのリファレンスマニュアル読めるほどのオブジェクト指向プログラムの知識が足りてないようです。

powershellでちょっと小難しい事しようと思うといつもこの壁にぶち当たります。
2020/02/15(土) 09:54:27.30ID:/QpUFa9s
>>112
デバッガで実行ステップを追う感覚で捉えると分かりやすいよ
Powershellのようなコンソールアプリって基本シングルスレッドで、上から下に処理が流れて最後まで行ったら終わりでしょ
Showメソッドは表示するだけ
ShowDialogと違って閉じるのを待たずに呼び出し元に処理を戻すから、メインスレッドはすぐに続きのスクリプト処理を再開してしまう
ウィンドウっていつでもユーザーのマウス操作に反応できて、閉じられるまでは処理が終わらないよね
それは無限ループを回し続けて、マウス操作のような指令が来るまでキューを調べて待つ体制に入ってるから
その仕事を直接的にも間接的にもやってないならウインドウはだんまりになって当然
結論、コンソールアプリから最初に呼び出すウィンドウはモーダル表示にすべし
2020/02/16(日) 00:31:35.72ID:EHy9IoT2
>>114
ありがとうございます
スッキリしました

よくC#でShowDialogで表示した時はDisposeを呼ばないとダメと言いますが、
これもイベントループを作るのか作らないかの差なのでしょうか
また、PowerShellでもDisposeした方がいいのでしょうか
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!
2020/03/06(金) 04:35:17.20ID:fNVi1eTS
インストーラで出てくるスパイダーマンのパチモンみたいなの何なの
2020/03/06(金) 05:16:26.33ID:hxBXwa2S
Overwatchのソンブラにそっくりだけどパクったのか?
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アイコンにも採用されています。
2020/03/06(金) 11:37:23.38ID:B7JE7mx4
>>116
キタ━━━━(゚∀゚)━━━━!!
2020/03/06(金) 16:45:05.11ID:EUcOgnT/
PowerShellの本増えないかなー
日本でももう少し流行ってほしい
2020/03/06(金) 17:17:48.60ID:mKExt1TS
>>121
Windows が関係するインフラ系の管理ではデファクトだと思ってたけど違うんかい?

自分はインフラ系の仕事が多いんだけど、MS 製品は言うに及ばず、
VMware、AWS、HPE の設定とか構築で使うためのモジュールが用意されてるんで、
そっち系の人は全員使ってるのかと思ってた。

今関わってる案件だと客先で用意された作業用 PC でも PowerCLI は
入れさせてもらえるんで、VMware の構築&設定が超絶はかどってすごく助かってる。
2020/03/06(金) 19:23:36.96ID:EUcOgnT/
>>122
IT系ですらない製造業の人間なので、インフラとかよく知らんです
CSVファイルとか扱う定型業務でVBAの代わりに流行らないかなーと思ってる
会社PCに標準で入ってるのが何よりありがたい
たまたまC#の経験あるからPowerShellが使いやすく感じるだけなのかもしれんけど
VBAは古すぎるし、文化が違いすぎて好きになれない…
2020/03/06(金) 22:15:50.08ID:mKExt1TS
>>123
確かに、RPA 的な用途にも使えるわね。

そう言われてみれば、IT プロ向けの PowerShell の資料は山ほどあるけど、
エンドユーザの業務効率化に的を絞った資料ってあまり聞かないね。

エンドユーザが手作業でやってる定型業務を PowerShell +αで
自動化/半自動化する事例を紹介する資料を作れば需要ありそう。
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/
2020/03/09(月) 17:26:48.99ID:BZZ4ItAR
パワーシェルでテキストファイルを一行ずつ読み取って環境変数化するのはどうやるんでしょうか?

バッチファイルだと簡単にできるのにパワーシェルだと難しい
イメージ的にはこんなことをパワーシェルでやりたいです
for /f %%a “usebackq” in (./testfile.txt) do (
set testenv=%%a
echo !testenv!
)
2020/03/10(火) 14:15:31.74ID:qUF7p1Fi
こーゆー感じのことやりたいのか?

cat .\testfile.txt | %{ $env:testenv = $_; $env:testenv }
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
}

こんな感じじゃないかな
知らんけど

グローバルな環境変数への代入はどうするのかな?
2020/03/11(水) 20:45:46.50ID:lIDu6EwW
>>128
上の方の感じでできました!ありがとうございます

グローバルな環境変数とはなんですか?
2020/03/11(水) 20:47:48.33ID:lIDu6EwW
あ、システム環境変数のことですか
シェルスクリプト内の一時環境変数?で良いのです
2020/03/13(金) 14:02:44.23ID:MwEg+WGB
javawみたいな感じで、スクリプト実行時にコマンドプロンプトを出さない方法はありませんか?1ファイルで。
ショートカットやvbs等の2ファイル使う方法なら解ってます。
2020/03/13(金) 15:02:17.45ID:VpgJT114
まだ開発中

WIP: Add pwshw for console-less PowerShell on Windows
https://github.com/PowerShell/PowerShell/pull/10962
2020/03/13(金) 15:27:21.47ID:e1b5/B0w
↑そのpwshwが取り込まれるまでは、↓を自前でビルドして自作pwshwなり、powershellwなりを作ることもできるよ
https://github.com/SeidChr/RunHiddenConsole
ビルドしてできたhiddenw.exeをリネームして使うだけ
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」みたいな感じでググればいいでしょう。
1351134
垢版 |
2020/03/13(金) 19:18:46.13ID:cafRoH7X
>>131
すまん、コマンドプロンプトを出さずに、か。勘違いしてました。
>>134 は取り下げます。
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読もうかな
2020/03/15(日) 23:09:18.13ID:b9Qsc7j/
python.exe / pythonw.exe や ruby.exe / rubyw.exe の違いでよく悩むのでまとめておく

https://blog.shibayan.jp/entry/20141221/1419171414
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"
}
で取得出来た
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 }
    }
  }
}
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
143デフォルトの名無しさん
垢版 |
2020/03/21(土) 00:24:48.78ID:WepcD5N+
>>141
>>142
なるほど、curlの"Content-type: application/json"の部分を指定してやらんといかんかったのか。
そしてちょっとあきらめてた連想配列も提示してもらっちゃって
超ありがとうございました。
ばっちり動いたっす
2020/03/21(土) 09:18:44.54ID:AEZYARkU
PowerShell 7.0 の新機能
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-70
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": "時刻"
}
2020/03/21(土) 10:02:37.23ID:+Hs4SQrc
>>144
・パイプラインの並列化 (ForEach-Object -Parallel を使用)
これいいな
147デフォルトの名無しさん
垢版 |
2020/03/21(土) 17:39:49.06ID:vJ0Lurek
Windows PowerShell in Actionの改3版、日本語訳してくれないかなぁ…
2020/03/23(月) 10:55:55.25ID:wpOCnP6k
パイプラインを繋げる先を条件で分岐って可能ですか?
イメージとしては

Get-Nantoka |
Switch ($_.Name)
Case ('A') | Get-NantokaA
Case ('B') | Get-NantokaB
Case ('C') | Get-NantokaC

な感じです
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")
2020/03/24(火) 02:11:10.59ID:1omVAMXs
結局処理を別々に書かなきゃいけないなら書いてる通りswitch文でいいんじゃねって気はする
2020/03/24(火) 12:26:04.21ID:/23EZweg
switch文だと毎回新規にGetNantokaAとかが呼ばれてしまうため例えばGetNantokaAがMeasure-Objectだと意味がなくなる
2020/03/24(火) 13:30:06.69ID:n2AHJDo3
>>149
ありがとうございます
やっぱり分岐先を埋めたオブジェクトや関数を作らなきゃいけない感じですね

いま、もしかして上にある「パイプラインの並列化」って分岐の事じゃね?と思ったのだが違うのかな
2020/03/24(火) 16:14:53.92ID:/23EZweg
>>152
> いま、もしかして上にある「パイプラインの並列化」って分岐の事じゃね?と思ったのだが違うのかな
同じルーチンが複数同時に走るってことだとと思う
排他制御とか順序の保証とかがどうなってるのかが気になる
2020/03/24(火) 19:15:33.49ID:n2AHJDo3
>>153
オブジェクトをパイプライン上に並列で走らせるって事?
非同期通信的な・・・
2020/03/24(火) 19:46:16.61ID:1omVAMXs
>>151
あーそれでわざわざGetSteppablePipeline使ってるのね
2020/03/24(火) 21:24:12.31ID:LC2xv/4E
>>149が何やってるのかサッパリ
GetSteppablePipelineでぐぐっても日本人はほとんど存在士らないのかなって具合
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
2020/03/24(火) 23:52:12.51ID:LC2xv/4E
>>149の最初の連想配列作ってるとこは判る
問題は次
>$continuation.Values.ForEach("Begin", $true)
これ何してるの?
Values.ForEachて。
こんな書き方でSteppablePipelineのBeginメソッドが呼べるの?
C言語の配列で"A"[0]みたいなトリッキーさを連想させるのだが
2020/03/25(水) 03:41:09.46ID:IDfpoHeN
.ForEachはメソッド形式のForeach-Objectで、要するにC#のLINQをPowerShell風にアレンジした何か
どっちかというと.ForEach({ ..... }) みたいにスクリプトブロックを渡す使い方が主流だと思うけど、メソッド名を文字列で渡してオブジェクトのメソッドを呼び出すこともできる

ステッパブルパイプラインは任意のパイプライン(文)をメソッド形式で呼び出せるようにするための何か
渡された引数を先頭のコマンドにパイプして実行させることができる
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出力したいです。
やり方教えてください!
2020/03/25(水) 19:05:36.15ID:D/1vKEW+
素人ですまんけど、
$test0 = "a", "b", "c"
$test1 = $test0[1]
こういった時に、$test0のbを同時に削除する書き方はありますか?別途処理を書く必要あり?
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
2020/03/26(木) 00:09:27.46ID:fIJkkKI3
>>161
bを削除という条件なら

$test0 = "a", "b", "c"
$test1 = ($test0 -ne "b")[1]

-ne演算子は左オペランドがコレクションの場合、差分を返す
2020/03/26(木) 00:14:14.98ID:fIJkkKI3
-ne演算子の場合は大小比較をしないので注意
もし比較する場合は>>162のように-notin演算子とWhere関数でフィルタする
2020/03/26(木) 08:51:19.38ID:BddTdfqa
>>162
ありがとうございます
Mergeって関数の中で処理している感じですね
詳細な処理の内容は理解していないので調べつつやってみます!
2020/03/28(土) 02:03:33.90
scoop の魅力
2020/03/30(月) 02:08:56.05ID:VM+VSYRD
> $a = try{get-content data.txt}catch{@()}
> $a = if(3 -ne 4){11}else{22}
ダメ元で試してみたらこんな書き方出来たのかよ
2020/03/30(月) 07:08:11.36ID:PN3/f/57
うん、だから三項演算子入れないでほしかった
なんでわざわざ評判微妙な記法を取り入れたんだろ
2020/03/30(月) 18:31:48.20ID:2xrywwd7
三項演算子は俺の大好物
2020/03/30(月) 18:44:14.41ID:kxtxXuN0
C#8.0のswitch式見ててあれってなったけど、そういえば右辺に文を持ってこれるのってPowerShellくらいなんだっけ
2020/03/30(月) 22:05:50.57ID:bK3E1kug
goto を禁止して
今度は 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はあくまで一例で類似の複雑なオブジェクト全般について知りたいです
2020/03/31(火) 12:14:42.73ID:b44czDa9
>>172
$rss.rss.channel.item で一覧表示される(もちろんGridViewで見てもよい)けど、そういうことではなくて?
2020/03/31(火) 13:02:27.84ID:UGGIMXD4
>>172
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の把握は無理気味でしたが…

ありがとうございました
2020/04/01(水) 05:14:26.18ID:T/a2Vy7O
VSCode に、XML のお勧め拡張機能はないの?
2020/04/01(水) 08:11:20.55ID:VNCwfYlv
>>176
スレタイ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でディレクトリを移動し直すのが
なんか気持ち悪いんですが、絶対パスでやる以外に方法はあるんでしょうか
2020/04/02(木) 02:02:55.73ID:sgXKVFsI
pushd popd
2020/04/02(木) 23:47:54.92ID:W0wv5F0P
. "$PSScriptRoot\class1.ps1"

と絶対パスでやるのが一般的
カレントディレクトリの移動はやらんほうがいい
2020/04/03(金) 01:06:03.07ID:BrOkETDP
なる程その手があったか
どうもありがとう
2020/04/08(水) 19:04:23.59ID:bFKpwotA
連想配列をカンマ区切りに置換してファイル出力する方法教えてください
配列の場合はわかるんですが連想配列の場合がわかりません

@{id=001;name=hoge}

みたいなやつを↓

001,hoge

みたいな感じにしたいんです
2020/04/08(水) 19:27:34.84ID:VOICq9dy
@{id="001";name="hoge"}.Values -join ","
2020/04/08(水) 20:46:56.85ID:u/iW9oDx
>>183
なるほど!!
2020/04/09(木) 10:17:18.42ID:qPytwYgo
powershellのエラー発生時のログ出力って皆さんどうやってますか?
単純にpowershellの画面上に出力されてるエラーをログに吐き出したいだけなのですがイマイチやり方が分かりません!
2020/04/09(木) 11:37:10.62ID:ZcR3gUW3
$error
2020/04/19(日) 17:57:40.84ID:LL/F5W9x
シフト右クリックからpowershellウインドウをここで開くでウインドウ立ち上げた時にアクティブな状態で立ち上がらないから一回クリックしたりして選択し直さないかんのが地味にストレス
2020/04/19(日) 18:12:07.47ID:wL4NwIK0
>>187
おま環
2020/04/19(日) 18:14:16.64ID:vjiWfekt
シフト右クリックするとメニューが出る
このとき先にシフトを離してから開く操作をするといい
シフトを押した状態でアプリを起動すると非アクティブで開くのはWindowsの昔からの機能
2020/04/19(日) 18:18:01.41ID:vjiWfekt
Windows95の頃からこの機能は変わっていないと思う
2020/04/19(日) 19:11:09.49ID:jwLUU+vG
>>187
シフト押さないで出すようにしたら?
http://suyamasoft.blue.coocan.jp/Windows/Windows10/PowerShell/index.html
2020/04/19(日) 19:35:33.27ID:/0QkS1hn
なるほど、勉強になった
ありがとう
2020/04/21(火) 22:23:31.60ID:8Kh2/Vc8
>>137
結構古い本だけど今でも読み応えある感じですか?
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
2020/04/28(火) 10:53:40.07ID:+ujIhWuh
メンバを呼ぶ.(ドット)の演算子を逆参照演算子と呼ぶらしいんだけど、どこら辺が逆なんだろう
2020/04/28(火) 15:39:52.27ID:nkgQazrR
Cとかでは * で値を得ることをdereferenceということがあるよ。
2020/04/28(火) 19:06:19.94ID:+ujIhWuh
逆参照演算子もdereferenceの直訳っぽいね
参照の反対の行動という意味で逆なのかな
2020/04/29(水) 08:59:09.87ID:pj1FfIiR
参照先のオブジェクト実体を見る、参照じゃなくなるからdereference(逆参照)
2020/04/29(水) 10:32:55.55ID:JJa9UlV/
普通、参照外しって訳すけどな。「逆」じゃ意味が通じない。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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