Windows PowerShell Part5
1 :名無し~3.EXE :2016/09/18(日) 14:06:24.15 ID:aFEI7ykR.net Windows PowerShell http://technet.microsoft.com/ja-JP/scriptcenter/dd742419.aspx オンラインヘルプ https://technet.microsoft.com/ja-jp/library/bb978526.aspx ■パッケージのダウンロード PowerShell 3.0 (Windows 7以降) http://www.microsoft.com/en-us/download/details.aspx?id=34595 PowerShell 2.0 (Vista以前は3.0非対応) http://support.microsoft.com/?kbid=926140 ■参考 http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html http://oka326.blogspot.com/search/label/PowerShell http://d.hatena.ne.jp/newpops/ http://blogs.msdn.com/PowerShell ■過去スレ Windows PowerShell Part4 http://echo.2ch.net/test/read.cgi/win/1359719778/
2 :名無し~3.EXE :2016/09/19(月) 10:58:01.35 ID:9ECaRHvR.net Windows Management Framework 4.0 https://www.microsoft.com/ja-jp/download/details.aspx?id=40855 Windows Management Framework 5.0 https://www.microsoft.com/en-us/download/details.aspx?id=50395 PowerShell スクリプト https://msdn.microsoft.com/ja-jp/powershell/scripting/powershell-scripting Windows PowerShell Desired State Configuration の概要 https://msdn.microsoft.com/ja-jp/powershell/dsc/overview Announcing Windows Management Framework (WMF) 5.1 Preview https://blogs.msdn.microsoft.com/powershell/2016/07/16/announcing-windows-management-framework-wmf-5-1-preview/ PowerShell をオープン ソース化、Linux で利用可能に https://blogs.technet.microsoft.com/mssvrpmj/2016/08/26/powershell-%e3%82%92%e3%82%aa%e3%83%bc%e3%83%97%e3%83%b3-%e3%82%bd%e3%83%bc%e3%82%b9%e5%8c%96%e3%80%81linux-%e3%81%a7%e5%88%a9%e7%94%a8%e5%8f%af%e8%83%bd%e3%81%ab/ フィードバックはUserVoiceへ https://windowsserver.uservoice.com/forums/301869-powershell
3 :名無し~3.EXE :2016/09/19(月) 12:55:15.13 ID:3/9uBySM.net ■関連スレ 【最強CUI】PowerShell -Part 1@プログラム板 http://echo.2ch.net/test/read.cgi/tech/1378978504/ 【オープンソース】 PowerShell on Linux 【PS】@Linux板 http://hayabusa6.2ch.net/test/read.cgi/linux/1471620941/
4 :名無し~3.EXE :2016/09/22(木) 20:54:57.35 ID:gnqB8ScZ.net Mastering Windows PowerShell for Japanese https://channel9.msdn.com/Blogs/Mastering-Windows-PowerShell-for-Japanese Windows PowerShell基本Tips http://www.atmarkit.co.jp/ait/series/3410/ PowerShell リンク集 http://winscript.jp/powershell/links
5 :名無し~3.EXE :2016/09/22(木) 22:12:13.39 ID:Wyk9Ki5l.net ..◇・。..☆*。 ゜゜・*:..。.。★◎@ ○☆。..:*・゜ ゜゜・*:..。.。◇@☆*・゜★。。.:*・☆*・。..:*・゜ 。..:○★◎☆。∂∇。★◎*・゜゜。◎★ ◎☆◇☆。*・.。..☆◎。.:☆◇*.....。 ゜゜・*:..。.*・☆◎。__☆◎*・。..:*・゜ ゜ \ / \ / . ∧_∧\ / (´・ω・) ∞ >>1 乙(´・ω・) ス / つ つ△ 〜( ノ しし'
6 :名無し~3.EXE :2016/09/26(月) 21:20:15.54 ID:z2cID8Qn.net 質問なのですが、以下のように「C:\Hoge\」に複数のテキストファイルがあるとします。(この例では3つ) C:\Hoge\ログ@.txt 1KB C:\Hoge\ログA.txt 5KB C:\Hoge\ログB.txt 3KB これらのテキストファイルの内容を全部つなげて以下のように1つのテキストファイルに出力したいのですが Powershellではどのように記述すればよいのでしょうか? C:\Hoge\ログALL.txt 9KB
7 :名無し~3.EXE :2016/09/26(月) 22:23:36.09 ID:d2BX5Ni7.net Get-Content C:\Hoge\ログ@.txt, C:\Hoge\ログA.txt, C:\Hoge\ログB.txt >> C:\Hoge\ログALL.txt
8 :名無し~3.EXE :2016/09/26(月) 22:53:21.32 ID:z2cID8Qn.net >>7 レスありがとうございます。 ただ>>6 の例では3つですが、3つとは限らないんです。 つまり「C:\Hoge\*.txt」を全部つなげて「C:\Hoge\ログALL.txt」に出力したいんです。
9 :名無し~3.EXE :2016/09/26(月) 22:55:18.04 ID:z2cID8Qn.net >>7 さんのをヒントに考えるとGet-Child-Itemを使えばいいのかな?ちょっと自分でも考えてみます。
10 :9 :2016/09/27(火) 00:37:01.75 ID:p0vYHT62.net >>7 さんのヒントを元に試行錯誤したところ、以下で出来ました。 どうもありがとうございます! Get-Child-Item "C:\Hoge" | Get-Content | %{$_ >> "C:\Hoge\ログALL.txt"}
11 :名無し~3.EXE :2016/09/27(火) 02:00:05.55 ID:DzYH4Kq+.net 本当にできたんかね、Get-Child-Item なんて無いし作れもしないはずだが ついでに上の一行ごとに追加書き込みしててすごく遅そう これでいいんじゃ Get-ChildItem C:\Hoge\*.txt | Get-Content > C:\Hoge\all.txt
12 :名無し~3.EXE :2016/09/27(火) 03:15:15.83 ID:KNIbhKsq.net Get-ChildItem C:\Hoge\*.txt | Get-Content | Add-Content C:\Hoge\ログALL.txt
13 :名無し~3.EXE :2016/09/27(火) 06:34:11.97 ID:MKOsVyI0.net 問題起こして転職する奴が人の作ったスクリプトかっぱらって就活に利用しようとしてるんだけどコード的に防ぐ方法ってあるのかな。
14 :名無し~3.EXE :2016/09/27(火) 07:48:20.64 ID:OTD14aae.net Windows PowerShellからbash
15 :名無し~3.EXE :2016/09/27(火) 11:25:13.45 ID:Yz0XGT+W.net >>13 所詮スクリプト、どんな対策をしたところで除去は容易。 第一、コード持ち出そうとしている奴へ今対策を打ったところで、既にそいつは対策前のコードをコピってるだろうから無意味。 次の会社にそいつがやらかしたことを教えてやる方が早い。
16 :名無し~3.EXE :2016/09/27(火) 21:42:16.55 ID:ewaHwkh/.net >>14 bash(笑) Windowsサービスの実装くらいできるようになってから出直して来い https://msdn.microsoft.com/ja-jp/magazine/mt703436
17 :10 :2016/09/27(火) 22:48:00.21 ID:p0vYHT62.net >>11 確かにこちらの方が高速ですね。どうもありがとうございます。これを使わせていただきます。 ご指摘の件は実際に動かしたコードを2chに書き込む時にエイリアスの「gci」を エイリアスではないコマンドレット名に手で書き直したために起こりましたw >>12 それだとうまくいきませんでした。(同じ結果が2回出力されてしまいます)
18 :17 :2016/09/27(火) 22:58:58.49 ID:p0vYHT62.net >>12 あっ、すみません。勘違いでした。うまくいきました。 ただファイルの文字コードがSJISになってしまいました。 (元々ある「*.txt」のファイルの文字コードは全てUnicode)
19 :名無し~3.EXE :2016/09/27(火) 23:07:08.90 ID:B/K1pOX1.net デフォルトがSJISなのでそうなる 必要なら-Encodingオプションに適切な文字コードを指定すれば良い
20 :名無し~3.EXE :2016/09/29(木) 02:29:27.57 ID:ZA7EtaV5.net >>19 なるほど!確かに文字コード指定してませんでした。 みなさん、質問ばかりでスレ汚しすみませんでした。ROMに戻ります。
21 :名無し~3.EXE :2016/10/29(土) 10:34:36.78 ID:h4aFnudW.net COM経由でexcel操作するの楽しいな officeにコンソールが付いたみたいで新鮮
22 :名無し~3.EXE :2016/10/29(土) 16:20:47.97 ID:7tjCkdfK.net Office365でちょっと使う必要があって触り始めたのですが、 Get-MessageTraceDetail って言うコマンドレットのパラメータに「Event」ってのが あるんですが、このEventに指定できるパラメータを調べることは出来ますか? ヘルプを見ると、「Event パラメーターは、メッセージ イベント別にレポートをフィルター処理します。 以下は一般的なイベントの例です。」とあって、7個くらいパラメータ載っているですが、 そこに載っているパラメータでうまくフィルタが出来なくて困っています。
23 :名無し~3.EXE :2016/11/03(木) 20:45:28.55 ID:eD1fiDL4.net 最近クリックゲームにはまっててパワーシェルでオートクリッカーを作ったわ デフォルトでskeyでオンオフ切り替え 連射の調整はstart-sleepを各自調整してください デスクトップで暴発するとかなりウザイんで移動する時注意 #auto Sheqel cliker beta # Default s key Toggle ON OFF $f = 0 $mode = $false $source = @" using System; using System.Runtime.InteropServices; public static class ascl{ const int MOUSEEVENTF_LEFTDOWN = 0x0002 ; const int MOUSEEVENTF_LEFTUP = 0x0004 ; [System.Runtime.InteropServices.DllImport("user32.dll")] private static extern int GetKeyState(int nVirtKey); [System.Runtime.InteropServices.DllImport("user32.dll")] static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo); public static int keyhook(){ return GetKeyState((int) 0x53); } public static void lc(){ mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); } } "@
24 :名無し~3.EXE :2016/11/03(木) 20:45:54.96 ID:eD1fiDL4.net #残り Add-Type -Language CSharp -TypeDefinition $Source while($true){ $f= [ascl]::keyhook() if($f -eq -127 -or $f -eq 1){ $mode = $true} else{ $mode = $false} if($mode){ [ascl]::lc() } start-sleep -m 3 }
25 :名無し~3.EXE :2016/11/04(金) 02:20:16.95 ID:wZvzbu2z.net コード晒すならpastebinやgistを使えば? あとmouse_eventじゃなくてsendInput使うの推奨じゃなかったっけ?
26 :名無し~3.EXE :2016/11/04(金) 13:02:40.91 ID:le7Ds8dw.net コマンドレット引数の文字列化規則がよくわからん 次の6、7番の改行が気持ち悪いのだが…… 1. echo a('b')c # =>
27 :名無し~3.EXE :2016/11/04(金) 13:08:10.57 ID:le7Ds8dw.net あれ、書き損じてるな 1. echo a('b')c # ⇒"a`nb`nc" 2. echo a('b') # ⇒"a`nb" 3. echo ('b')c # ⇒"b`nc" 4. echo a$('b')c # ⇒"abc" 5. echo a$('b') # ⇒"ab" 6. echo $('b')c # ⇒"b`nc" 7. echo $('b')c$('d') # ⇒"b`ncd" これはこういう解釈になってるわけ? 4. echo a$('b')c # ⇒ "a$('b')c" 5. echo a$('b') # ⇒ "a$('b')" 6. echo $('b')c # ⇒ "$('b')", "c" 7. echo $('b')c$('d') # ⇒ "$('b')", "c$('d')"
28 :27 :2016/11/04(金) 13:16:26.28 ID:le7Ds8dw.net おっと、カンマ(配列)じゃなくて空白でセパレートしてるのか gi $(1),2 ⇒ OK gi $(1)2 ⇒ 引数 '2' を受け入れる位置指定パラメーターが見つかりません
29 :名無し~3.EXE :2016/11/04(金) 18:04:01.72 ID:5cHlI/Na.net uniqueってコマンドの正体なんだかわかりますか? Get-Uniqueと同じように使えるんでこいつのエイリアスかと思ったんだけど Get-AliasとかGet-Commandやっても見つからないんですよね。
30 :名無し~3.EXE :2016/11/04(金) 22:06:51.88 ID:cydVBTO8.net >>29 隠れエイリアス http://mtgpowershell.blogspot.jp/2011/01/get.html さ〜て自動監視システムの制作をがんばるぞい
31 :名無し~3.EXE :2016/11/04(金) 23:56:49.59 ID:5cHlI/Na.net >>30 なるほどGet-の省略なのか。 ありがとう。
32 :名無し~3.EXE :2016/11/07(月) 22:12:49.46 ID:pMnfcULw.net PS C:\Users\bbb\Desktop> $h= @{ >> q="ssssss" >> e="ffffff" >> } >> PS C:\Users\bbb\Desktop> $h.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Hashtable System.Object PS C:\Users\bbb\Desktop> $h["q"] ssssss これセミコロン要らんのな 最近気付いたわ
33 :名無し~3.EXE :2016/11/07(月) 22:15:04.46 ID:pMnfcULw.net まぁ便利と言えば便利だが色々謎仕様が多いわ それより日本語のHELPをさっさと作れよ ゴミ野郎が
34 :名無し~3.EXE :2016/11/07(月) 23:31:52.91 ID:9WKArPQZ.net >>33 それは私が今よりもかなり若い時〜♪
35 :名無し~3.EXE :2016/11/08(火) 23:26:14.11 ID:V64XMSZ7.net v5とか最早ヘルプなんて無いも同然
36 :名無し~3.EXE :2016/11/09(水) 09:26:10.58 ID:tH7lMzYA.net Windows 管理フレームワーク (WMF) 5.0 RTM のリリース ノート概要 https://msdn.microsoft.com/ja-jp/powershell/wmf/5.0/releasenotes
37 :名無し~3.EXE :2016/11/09(水) 21:35:11.96 ID:JSmB72oY.net Get-EventLogで、-After オプションで日付指定すると、コマンドが終了までの レスポンスがとても悪いんだけど、画面に表示されないだけで全部取得してるのかな? Get-EventLog -LogName system -EntryType Error,Warning これは普通に早い Get-EventLog -LogName system -EntryType Error,Warning -After "2016/11/06 00:00:00" 11/06までのログは直ぐ出てくるけど、11/06まで表示すると少しの間止る。 100台程度のサーバのログを取りたいんだけど、日付指定すると遅すぎて どうしようか考え中。 何か解決方法ない?
38 :名無し~3.EXE :2016/11/09(水) 23:07:42.60 ID:I3m+Pe2E.net イベントログ取れるならGet-EventLogじゃなくてもいいってことならGet-WinEvent使うとか Get-WinEvent -FilterHashtable @{LogName='System'; level=2,3; StartTime='2016/11/6 00:00:00'}
39 :名無し~3.EXE :2016/11/10(木) 21:53:33.25 ID:ra4IQPMx.net >>38 Get-WinEventをローカルで試したら早くて必要な情報も取れたからこれは良いと思って リモートのサーバに実行したら、動作が不安定というか。 1回目 RPC関係のエラー 2回目 普通にログを取得 てな感じで、ログが取れたり取れなかったりして、半日位いろいろしてみたけど俺には原因を 掴む事が出来んかった・・・。
40 :名無し~3.EXE :2016/11/12(土) 00:11:34.01 ID:6CFwW7sf.net Get-WmiObject経由で、イベントログ取ったらかなり高速に取れそうだわ。 時間がDMTF形式なのがちょっとめんどいけど。
41 :名無し~3.EXE :2016/11/18(金) 09:15:55.08 ID:Qt7w6PlO.net ついにPowerShellの時代が来たか https://blogs.windows.com/windowsexperience/2016/11/17/announcing-windows-10-insider-preview-build-14971-for-pc/
42 :名無し~3.EXE :2016/11/18(金) 21:07:19.95 ID:UO25HJDX.net > 8,4,3,9,11 -gt 6 8 9 11 > (8,4,3,9,11)[1] -gt 6 False > (8,4,3,9,11 -gt 6).GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Object[] System.Array 何が何でも独自色を出したいのか知らんが使いにくいわ ゴミ見たいな機能を付ける暇が有ったらヘルプファイルの翻訳でもやれよ 間抜け野郎が
43 :名無し~3.EXE :2016/11/19(土) 00:35:16.90 ID:BCWn19Nl.net >>42 参考までに聞きたいんだけどarrayとintに比較演算子を使用した場合 どうなれば満足なの?
44 :名無し~3.EXE :2016/11/19(土) 03:14:05.86 ID:QSSkWNbn.net >>42 何がしたいんだw カンマで配列になるのはかなり初期からの仕様だよ、「ゴミ見たいな機能」を新たに付けてるわけじゃないわな クラス構文とかだったらまだ分かるけど
45 :名無し~3.EXE :2016/11/19(土) 16:18:23.45 ID:Qm+9s3oR.net >>44 あの一々これに時間割いてやる暇は無いから こんなもんは単なる道具で利用価値がなきゃ放り投げるだけだからw これ使う人間がいい人なのを期待してるの?? まぁJ#と同じ惨めな運命を辿りそうだが
46 :名無し~3.EXE :2016/11/19(土) 16:47:35.00 ID:QSSkWNbn.net >>45 で、何がしたかったの?
47 :名無し~3.EXE :2016/11/19(土) 21:20:18.83 ID:ftrzKqNO.net よくわからないがエスパーすると… [n]を書き忘れるバグを作って調査に手こずり、文法エラーだったら即解決できたのにチクショウゴミ言語めと逆恨み、ってとこか? だとすると、間抜け野郎が、という自虐めいた〆が悲哀だな シェルスクリプト言語なら厳格さによるフェイルファストよりもシンタックスの手軽な多機能さを優先するのはおかしなことではないと思うが
48 :名無し~3.EXE :2016/11/21(月) 02:54:20.13 ID:r8xm8H01.net PowerShell ってシェルじゃないよねぇ...
49 :名無し~3.EXE :2016/11/21(月) 08:36:35.07 ID:6lPgz5to.net とりあえず>>48 にとってのシェルの定義を教えろ
50 :名無し~3.EXE :2016/11/21(月) 10:22:50.66 ID:licvoAk1.net パワーシェル(シェルとは言っていない) 貴様がどんなにシェルスクリプトの座を狙おうと、Win+Xで起動するその日まではまだ認めんぞーとかそういう話?
51 :名無し~3.EXE :2016/11/21(月) 10:44:38.54 ID:Z3KlfNsB.net DOSSHELL
52 :名無し~3.EXE :2016/11/21(月) 13:48:42.89 ID:vf3ZOg7H.net まぁ時間を費やしてまで覚える価値は無いわなw
53 :名無し~3.EXE :2016/11/21(月) 14:46:33.99 ID:6vKvisrN.net じゃあ何だったら覚える価値あるの?
54 :名無し~3.EXE :2016/11/21(月) 15:28:09.39 ID:fKSgjv7B.net >>53 否定したいがための投稿だから 付き合う必要なし
55 :名無し~3.EXE :2016/11/21(月) 22:14:19.48 ID:r8xm8H01.net >>53 妻の機嫌の取り方とか
56 :名無し~3.EXE :2016/12/02(金) 14:26:05.15 ID:mm+i3PAs.net PowerShell のスクリプトの出力結果が 80 文字に切り詰められる https://blogs.technet.microsoft.com/jpntsblog/2016/11/30/powershell-scripts-output-grater-than-80/
57 :名無し~3.EXE :2016/12/03(土) 16:01:05.56 ID:KgnhFHMj.net 凄く初歩的な事かもしれないけど、教えて下さい。 下記の用なxmlがあったとして、要素の指定に名前を指定しての アクセスはどうやってするのでしょうか? $xml = [xml](Get-Content c:\aaa.xml) $xml.products.product[0].list[0] <-listのoptionが全部表示される $xml.products.aaaa.1111 <-こんな感じに指定したら何も帰ってこない。 <products> <product name="aaaa"> <list type="1111"> <option>XXXXXXX</option> </list> <list type="2222"> <option>YYYYYYY</option> </list> </product> <product name="bbbb"> <list type="1111"> <option>XXXXXXX</option> </list> <list type="2222"> <option>YYYYYYY</option> </list> </product> </products>
58 :名無し~3.EXE :2016/12/03(土) 16:48:09.04 ID:/bJx0roR.net >>57 $xml.SelectNodes("//product[@name='aaaa']/list[@type='1111']") http://mtgpowershell.blogspot.jp/2010/07/xml.html
59 :名無し~3.EXE :2016/12/04(日) 15:20:44.51 ID:YC648Lik.net >>58 thx うまく表示できました。
60 :名無し~3.EXE :2016/12/07(水) 10:57:59.93 ID:3F4A/TbA.net 来月までお預け WMF 5.1 Releasing January 2017 https://blogs.msdn.microsoft.com/powershell/2016/12/06/wmf-5-1-releasing-january-2017/
61 :名無し~3.EXE :2016/12/19(月) 20:09:46.34 ID:ZYBUmSax.net PHPやRubyの代替として、PowerShell触り始めたが・・・ 代替にはならなそうな気がしてきた。
62 :名無し~3.EXE :2016/12/19(月) 21:33:57.26 ID:iGY/fOor.net もうちょい頑張れ
63 :名無し~3.EXE :2016/12/19(月) 21:38:12.28 ID:lv6Afpse.net >>61 その発想自体がおかしい
64 :名無し~3.EXE :2016/12/19(月) 21:41:24.86 ID:vdgMzxFG.net 標準エラーに文字列を表示する方法ありますか?
65 :名無し~3.EXE :2016/12/19(月) 22:12:43.15 ID:CoxvR/oq.net Write-Error https://technet.microsoft.com/ja-jp/library/dd315265.aspx
66 :名無し~3.EXE :2016/12/19(月) 22:36:04.80 ID:Sl7UCqRw.net >>65 それ余計なものまで表示される。
67 :名無し~3.EXE :2016/12/20(火) 03:24:30.90 ID:QwH1tLYA.net >>64 >>66 $Host.UI.WriteErrorLine('文字列')
68 :名無し~3.EXE :2016/12/20(火) 15:24:25.89 ID:W0urASVR.net >>64 なんかすっきりしない問題がありそう http://stackoverflow.com/questions/4998173/how-do-i-write-to-standard-error-in-powershell
69 :名無し~3.EXE :2016/12/20(火) 21:12:18.11 ID:pfM2YxEq.net Write-Errorって終了しないエラーを投げるcmdletなんだろうね でthrowは終了するエラーを投げる
70 :67 :2016/12/21(水) 12:06:10.38 ID:DtaPfDsO.net >>68 リンク先の人が指摘している問題を確認できました? >>67 を書き込む前に、 $info = New-Object Diagnostics.ProcessStartInfo $info.FileName = 'powershell.exe' $info.Arguments = '-Command "$Host.UI.WriteErrorLine(''文字列'')"' $info.UseShellExecute = $false $info.RedirectStandardError = $true $process = [Diagnostics.Process]::Start($info) $process.StandardError.ReadLine() というコードで、プロセスの標準エラー出力に書き込まれるのを確認していました。 リンク先を読んで、 @echo off powershell.exe -NoProfile -Command "$Host.UI.WriteErrorLine('文字列')" 2> error.txt type error.txt というバッチファイルを実行してみましたけど、問題なく動きます。 リンク先の人は、どういうケースで問題になると指摘しているのでしょう?
71 :67 :2016/12/21(水) 14:04:48.74 ID:DtaPfDsO.net 分かったかも。 powershell.exe "[Console]::Out.WriteLine('文字列')" > out.txt 2> error.txt powershell.exe "[Console]::Error.WriteLine('文字列')" > out.txt 2> error.txt powershell.exe "$Host.UI.WriteErrorLine('文字列')" > out.txt 2> error.txt ここまでは、すべて期待通りに動きます。 powershell.exe "[Console]::Error.WriteLine('文字列')" > out.txt これも期待通りです。 powershell.exe "$Host.UI.WriteErrorLine('文字列')" > out.txt out.txt に「文字列」が書き込まれます。なんでやねん。
72 :名無し~3.EXE :2016/12/21(水) 16:42:16.95 ID:eFs7YsLn.net 1> でリダイレクトしたら問題を回避できそうな気がする
73 :名無し~3.EXE :2016/12/21(水) 18:05:33.25 ID:80IrQ8di.net >>71 いま試したんですが、 "$Host.UI.WriteErrorLine('文字列')" の代わりに "Write-Error '文字列'" で表示させたり "1/0" でエラー出したりしても 同じ結果になりますね。
74 :名無し~3.EXE :2016/12/22(木) 00:13:54.74 ID:LgXh1f2P.net 標準エラーは実体が想定されない出力ストリームなのに、 そこへ文字を赤くして出力してるHost.UI.WriteErrorLineの気持ち悪さ
75 :名無し~3.EXE :2016/12/24(土) 06:18:26.14 ID:qANWVC7A.net テンプレートをカスタムすれば
76 :名無し~3.EXE :2017/01/07(土) 15:27:42.25 ID:x3OHE4kN.net あけおめ! Stop-ProcessでFireFoxをシャットダウンさせてるんだけど 次回起動時に異常終了扱いになってセッションの復元を試みる画面が表示される。 普通にFireFoxのメニューから「終了」を選んだかのようにシャットダウンさせるのってスクリプトじゃ難しいですかね?
77 :名無し~3.EXE :2017/01/08(日) 04:58:06.05 ID:7bDl0FCB.net >>76 どっかにそれやるサンプルスクリプトあったが、思い出せない 外部ツールだけどnircmd使うと楽だよ http://moon.gmobb.jp/renno/cgi/junk.cgi/computer/nir_cmd_command.htm#closeprocess 👀 Rock54: Caution(BBR-MD5:5549de2c873ac2edd146f280a5558991)
78 :名無し~3.EXE :2017/01/08(日) 21:56:46.91 ID:NNyYHXId.net しかしほんとにつかえーねゴミツールだなwww 非同期とか結局C#でやった方が早いし ガラクタの癖にやたら労力だけは要求するし あといつになったら日本語のヘルプを作るんだよ まぁオライリーの奴を向こうでかっぱらったから要らんけどさ
79 :名無し~3.EXE :2017/01/14(土) 23:58:05.78 ID:YMut6ZpN.net 一応シェルらしいから大目に見てあげて(棒
80 :名無し~3.EXE :2017/01/19(木) 04:35:51.75 ID:+ZmvPHpJ.net Windows10でPushbulletを使ってるんですが通知を読み取る方法は無いでしょうか? 特定のメッセージを受け取ったら任意のコマンドを実行といった具合に使いたいのです
81 :名無し~3.EXE :2017/01/20(金) 09:24:05.45 ID:AEXXvuiI.net Windows Management Framework (WMF) 5.1 Released https://blogs.msdn.microsoft.com/powershell/2017/01/19/windows-management-framework-wmf-5-1-released/
82 :名無し~3.EXE :2017/01/20(金) 21:17:24.69 ID:zK8G/Mds.net ちとあぶないスプリクトを組んだんだが OSはWindows7 PowerShellはVer.2です。 http://pastebin.com/57quuSJi 理由はMVNOを変えた時不調で不審なアクティビティが検出され 強制的にPasswordを変更させられたのを元に戻す為。 で一応は動作したのだが不満な点がありまして $dom_userPWD1=$doc.getElementsByTagName("input") | Where-Object{$_.uniqueID -match "ms__id\d*[13579]\b"} inputタグで抽出したのをuniqueIDで識別したのですが処理毎に uniqueIDが変わって使いにくい、奇数と偶数で識別という トリッキーな手段で解決したのですが、 aria-labelの「新しいパスワード」・「新しいパスワード確認」 を使って識別する方法はありますでしょうか。 あと ($doc.getElementsByTagName("div") | Where-Object{$_.className -eq "O Ya rb pa"}).click() divで抽出してclassNameで目的のリンクを一致させてクリックさせているのですが divで抽出しているせいか処理に時間がかかってしまいます。 getElementsByClassNameが使えないかとやってみたが >[mshtml.HTMLDocumentClass] に 'getElementsByClassName' という名前のメソッドが含まれないため、メソッドの呼び出しに失敗しました。 と出てうまくいきません。 クラス名で一発で処理できる方法はありませんでしょうか。
83 :名無し~3.EXE :2017/01/20(金) 23:41:33.44 ID:FV68uxF3.net >>82 「大型犬の死骸を溶かせる薬品有りませんか」って質問と同じ匂いがする
84 :名無し~3.EXE :2017/01/21(土) 00:22:28.80 ID:A+0QI3YR.net querySelectorAllとかどうだろう
85 :82 :2017/01/22(日) 03:10:03.19 ID:PGI3pDpr.net >>84 querySelectorAllやってみたんですけどgetElementsByClassNameと 同じパターンでできず、やり方があるんだろうけどそこがわからず。 getElementsByClassNameももう一回やってみたけれどエラーは中身が 取り出せず断念、この場合PowerShellだけじゃなくてDOMや.NET Framework もからんでくるのでわけわかめ状態となっている。
86 :名無し~3.EXE :2017/01/22(日) 12:23:42.85 ID:VYxVfXkX.net 試してないけどこんな感じになるんじゃないかな $doc.querySelector('div.O.Ya.rb.pa')
87 :82 :2017/01/22(日) 18:28:03.43 ID:PGI3pDpr.net ここの部分を ($doc.getElementsByTagName("div") | Where-Object{$_.className -eq "O Ya rb pa"}).click() >>86 を参考にして ($doc.querySelector('div.O.Ya.rb.pa')).click() 上記のように書き換えて実行してみたけど やはりメゾットがないと出てエラー どのオブジェクトで使えるのかとPowerShellで使えるのかが 問題、javaScriptは結構例があるんだけどね。
88 :名無し~3.EXE :2017/01/22(日) 22:41:39.47 ID:VYxVfXkX.net うーむ、うちのwin10だと動いたんだが こんな感じでわかる所から攻めてみたらどうだろう $doc.getElementById('view_container').firstChild.firstChild.children[2].children[1].firstChild (例によって試してないのであしからず)
89 :名無し~3.EXE :2017/01/23(月) 02:45:53.93 ID:qKR6gxXH.net IE8以降のWin7なのにquerySelectorが使えないということはセキュリティー設定がらみでquirksでパースされてる可能性も しかし確かに怪しい臭いのする質問だな
90 :名無し~3.EXE :2017/01/31(火) 20:49:16.78 ID:5vNDYCvm.net C:\hoge\hogehoge\hage.txt にあるファイルをドライブだけ変えて D:\hoge\hogehoge\hage.txt にコピーしたいのですが簡単な方法はありませんか? フォルダ部分の「D:\hoge\hogehoge\」は最初は存在しません $a = "C:\hoge\hogehoge\hage.txt" $b = "D:\hoge\hogehoge\hage.txt" Copy-Item $a $b とやるとパスの一部が見つかりませんといわれてしまいます 地道にSplit-Path -Parentでファイル名を取り除いた部分を得てからそのフォルダを New-Itemで作って、その後Copy-Itemするしかないんでしょうか?
91 :名無し~3.EXE :2017/01/31(火) 21:25:11.95 ID:kkcYG5+M.net -recurse とか?
92 :名無し~3.EXE :2017/01/31(火) 22:02:36.10 ID:+F+0kaKG.net >>91 わからないのにいちいち口挟まなくていいよ
93 :名無し~3.EXE :2017/01/31(火) 23:12:49.91 ID:aGeM6l5D.net ttps://www.google.co.jp/amp/tech.guitarrapc.com/entry/2014/08/12/081637%3Famp%3D1#amph=1
94 :名無し~3.EXE :2017/01/31(火) 23:38:12.87 ID:aFPbpIBp.net >>90 糞ダサだけどxcopyを使えば期待する動きになる xcopy c:\hoge.txt d:\a\b\c\d\e\f\g\hoge.txt Dドライブに\a\b\c\d\e\f\g\ が無ければ勝手に作ってくれる
95 :名無し~3.EXE :2017/01/31(火) 23:57:55.76 ID:47xgv6Fv.net フォルダ作成するならこんな感じかな dir $b | % { md -Force $_.DirectoryName } xcopyは決してダサくないしむしろ最適解だと思う シンプルに外部コマンドを呼べることがPSの強みでもあるし
96 :名無し~3.EXE :2017/02/01(水) 00:16:49.93 ID:JrEsEwkh.net >>95 細かいことだけど、dir〜のとこは Get-Item -LiteralPath $b が良いかと 入ってるのがもしフォルダ名だったらとか、もし[]が入ってたらとか不安になる
97 :名無し~3.EXE :2017/02/01(水) 12:43:16.10 ID:s0T5hf/E.net 今はxcopyじゃなくてrobocopyでしょ
98 :名無し~3.EXE :2017/02/01(水) 19:27:08.33 ID:OMIQfLqs.net >>97 馬鹿は黙ってろって言われてるのが理解できん?
99 :名無し~3.EXE :2017/02/01(水) 23:12:17.04 ID:1IZK+YV5.net 無理にPowershellでやろうとする方がよっぽどの馬鹿だよ
100 :名無し~3.EXE :2017/02/05(日) 02:05:39.87 ID:yChZqYfj.net PowerShellで外部コマンドを実行する際、最初から優先度を指定して起動させる 方法はありませんか? 起動中のプロセスの優先度を変える方法はググググッていくつか例が見つかったんですが それだと一旦「優先度=通常」で起動して、即座に「優先度=低」に変更する、みたいな 感じになってしまうので最初から優先度低で起動したいです
247 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200
本文 スレッドタイトル 投稿者