2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

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で外部コマンドを実行する際、最初から優先度を指定して起動させる
方法はありませんか?

起動中のプロセスの優先度を変える方法はググググッていくつか例が見つかったんですが
それだと一旦「優先度=通常」で起動して、即座に「優先度=低」に変更する、みたいな
感じになってしまうので最初から優先度低で起動したいです

101 :名無し~3.EXE:2017/02/05(日) 22:32:07.68 ID:IblkV01m.net
自身(powershell)の優先度を下げちまえば良いんでね

102 :名無し~3.EXE:2017/02/06(月) 08:50:41.25 ID:RX9TfGXu.net
>>101
100じゃないが、その手があったか

103 :名無し~3.EXE:2017/02/06(月) 20:24:24.83 ID:ld7UKPot.net
ちょっとググったけど CreateProcess( ) を直接呼び出す以外の解決策は見つからなかった

104 :名無し~3.EXE:2017/02/06(月) 21:42:11.52 ID:fPVU2Lh4.net
ちょっと今試せる環境がないけど、Startコマンドを/LOWつけて実行するのは
なんか問題起きるっけ?

105 :名無し~3.EXE:2017/02/10(金) 17:10:57.83 ID:7rsuGpnu.net
二重引用符の中で変数に格納したオブジェクトのプロパティを
展開する方法を誰か教えてくださいませんか

例えば
test.txtがあるディレクトリで下を実行
> $test = Get-ChildItem -Filter "test.txt"

$test.FullNameで絶対パスが見れる状態になると思うんだけど
Write-Hostで文字列の中に、このフルパスを埋め込もうとすると
上手くいきません

Write-Host "xxxx$test.FullNameyyyy"
とやると
xxxx$test.txt.FullNameyyyy
と表示されてしまいます

106 :名無し~3.EXE:2017/02/10(金) 18:46:01.72 ID:EfNOZUfG.net
.txt がいらないよね

107 :名無し~3.EXE:2017/02/10(金) 21:29:09.18 ID:h9PDo8c/.net
"xxxx$($test.FullName)yyyy"

108 :名無し~3.EXE:2017/02/10(金) 22:43:57.14 ID:WTLOMM7d.net
>>105
> Write-Host "xxxx$($test.FullName)yyyy"

$( ) の中には文字列を返す式も書けるから結構便利

109 :名無し~3.EXE:2017/02/11(土) 20:32:06.26 ID:DPGFySO4.net
>>107,108
なるほど!
$()で囲めばいいんですね
ありがとうございました

110 :名無し~3.EXE:2017/02/21(火) 22:54:02.20 ID:F7HMkyeb.net
a.ps1とb.ps1という2つのスクリプトファイルがあって、b.ps1は1.pa1から
ドット演算子で呼び出しています。

----- a.ps1 ------

function main
{
. \b.ps1
}

こんな感じです
でもこれだとa.ps1で(mainで)定義した変数は全部b.ps1からも丸見えというのを
今日勉強しました。b.ps1から見えないようにするには変数をprivateで定義して

[String]$private:foo

こうすればいいというのは分かったんですがすべての変数にいちいちprivateを
つけるのはさすがに面倒というか億劫です

スクリプトファイルの先頭で "option private" みたいな感じで宣言したら
暗黙のデフォルトがlocalじゃなくてprivateになる、みたいな技はありません
でぢょうか?

111 :名無し~3.EXE:2017/02/21(火) 23:23:58.64 ID:gV4WNByK.net
例えば、変数の先頭にv_を付けるルールにしてスクリプトの最後で
Set-Variable v_* -Visibility private
てやるとか

112 :名無し~3.EXE:2017/02/22(水) 23:42:35.27 ID:n8ZG8t0H.net
別のファイルをインクルードするときにドットにした場合とアンドにした場合の
違いが分かりません。ドットにした場合は分かるんですが(単純にその場所に
展開されるだけ、という認識です)アンドにした場合は何が違うんでしょうか

MSDNの説明を見ても「現在のスコープを引き継ぎません」というなんともよく
分からない説明しか見つかりませんでした

113 :名無し~3.EXE:2017/02/23(木) 07:32:02.44 ID:x4/Mux3A.net
いずれもインクルードではなく、別のスクリプトの実行
通常は&も.も要らない
もしパスを変数や文字列に入れた場合、パスが入っているので実行してくれとPowershellに伝えるために書くのが&演算子
&を書かないと文字列が画面出力されるだけで実行してもらえないから書くだけ
ドットソース演算子は、呼び出すスクリプトのスコープを拡大する記法
その意図がないなら使う必要ない
スコープへの具体的な影響は次を読めばわかるはず
https://technet.microsoft.com/ja-jp/scriptcenter/powershell_owner05.aspx
これでわからないならプログラミング一般のスコープについて学ぶべき

ドットソース演算子がインクルードでないことはこの辺読めばわかると思う
http://mtgpowershell.blogspot.jp/2010/11/blog-post_28.html?m=1

114 :名無し~3.EXE:2017/02/23(木) 11:07:27.89 ID:BfJWJa/3.net
>>113
> ドットソース演算子は、呼び出すスクリプトのスコープを拡大する記法
訳のわからん説明するなよ w
ドットソース記法は新しいスコープを作らないだけだぞ

115 :名無し~3.EXE:2017/02/23(木) 13:49:20.44 ID:U9YyrTO+.net
>>113
黙っていた方がマシなレベルの酷い説明だなw

116 :名無し~3.EXE:2017/03/04(土) 12:52:26.51 ID:XhJPawch.net
最近C#を15年ぶりくらいに触りはじめたんだけど、
LINQのメソッド構文ってPowerShellのパイプラインみたいで面白いな。
どっちかが真似たのかな?それともループの直列化が時代の流れだったのか

117 :名無し~3.EXE:2017/03/04(土) 13:13:34.19 ID:Smq8sSgn.net
時代だわね

118 :名無し~3.EXE:2017/03/05(日) 12:33:38.08 ID:rVLkagwG.net
最近になって必要にかられてパワーシェルしてるんですが、C#オブジェクトを
生成してC#と同じように使えるのでいろいろ出来てなかなか楽しいです

ところで漠然と質問で申し訳ないんですが、C#ネーティブで書いたバッチ処理に
比べてパワーシェルで「出来ない事」って何があるんでしょうか
無論どっちも.NETフレームワークは同じバージョンのものを使うという前提です

グラッヒックスやサウンド、ダイレクトXを使うようなアプリではなくいわゆる
業務用のバッチ(ファイルを読み書きしたりDBを読み書きしたり、といった)
ならパワーシェルに出来ない事はないようにも思えるんですが
MFCのメソッド呼ぶのに構造体渡しが必要な場合にパワーシェルだと構造体が
定義出来ないから呼べない位ですか?

119 :名無し~3.EXE:2017/03/05(日) 14:22:48.88 ID:OacyyHV9.net
win32は本来管轄外だしSystem.Net.WebSocketsなんかも厳しいかな

言語仕様上出来ない設計は結構あると思うけど、
add-typeで諸所のコード資産を統合的に活用出来るのがPSの本旨だと思う

120 :名無し~3.EXE:2017/04/11(火) 04:04:29.63 ID:HYkG1Dlo.net
>>116
PowerShellはgst-launch-1.0(GStreamer)がモロそんな感じだったよ
DISM /Online /Get-ProvisionedAppxPackages | select-string Packagename
みたいなのやん

gst-launch-1.0のは
gst-launch-1.0 filesrc location=music.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioresample ! osssink
で、一番似てる気がしたのはコレ

WinAPI呼ぶときの魔法の文言が長すぎて鬱りそう、なんか短いのないのアレ orz

121 :名無し~3.EXE:2017/04/19(水) 02:01:07.19 ID:YJQ97aeg.net
次スレからはソフトウェア板に移動しない?
MacとLinuxに対応したので

122 :名無し~3.EXE:2017/04/19(水) 07:21:29.68 ID:XbPwupdH.net
クリエにアップしたので、スタートボタン右クリックのメニューに入るのが
コマプロからPowerShellに変わったわけだが、エラーで開かないw
クラシック・シェル入れてたせいだろうな

123 :名無し~3.EXE:2017/04/20(木) 22:18:07.02 ID:D7ri9Iiw.net
すみません、どなたか教えてください。

管理者権限でpowershell実行
write-eventlog -logname 'Microsoft-Windows-TaskScheduler/Operational'
(-Source -entrytype -eventID -messageも指定)
でイベントログに出力したいのですが、
ログ名 "Microsoft-Windows-TaskScheduler/Operational" はコンピュータ localhostに存在しません
とエラーが出てしまいます。
Get-WinEvent -logname 'Microsoft-Windows-TaskScheduler/Operational'
ではちゃんと出力するので、ログ名を間違えていることはないと思うのですが・・・
原因を教えてくれませんでしょうか?

124 :名無し~3.EXE:2017/04/22(土) 18:54:20.03 ID:eMmE0Ns/.net
WMIはWindows固有だからなあ
PowerShellの文法的な話なら、プログラミング板が妥当では

125 :名無し~3.EXE:2017/05/06(土) 03:50:31.48 ID:OUvA+b29.net
これからWindowsCUIコマンド関連勉強していきたいんだけど
PowerShellの前にコマンドプロンプトも勉強した方がいい?
それとももう必要ない?

126 :名無し~3.EXE:2017/05/06(土) 05:18:23.97 ID:nYExUkjv.net
というかコマンドプロンプトとかいちいち時間割いて勉強するようなもんじゃない

127 :名無し~3.EXE:2017/05/06(土) 08:53:01.80 ID:0+z+Gap+.net
>>125
> PowerShellの前にコマンドプロンプトも勉強した方がいい?
要らない
単にコマンドを連続して流すだけならずらずら書くだけだし
ちょっと凝ったことしようとしたらバッドノウハウ使いまくりになる
PowerShell も色々癖が強いけど後発だけに思想は遥かにまとも

128 :名無し~3.EXE:2017/05/06(土) 12:24:42.60 ID:7sOAYNki.net
Powershellを使ってWindows7マシンからWindows10マシンを遠隔シャットダウンしようと思っています。

Windows7マシン名: PC1
Windows10マシン名: PC2

どちらのマシンにも同じユーザー名・パスワードの管理者権限のユーザーが作ってあります。

Windows7マシンからPowershellを管理者権限で起動し次のコマンドを打ってみました。

> Stop-Computer -ComputerName PC2 -Credential (ユーザー名)

すると以下の様なエラーが返ってきてシャットダウンできませんでした。

Stop-Computer : アクセスが拒否されました。 (HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))
発生場所 行:1 文字:14
+ Stop-Computer <<<< -ComputerName PC2 -Credential (ユーザー名)
+ CategoryInfo : NotSpecified: (:) [Stop-Computer]、UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.StopComputerCommand

どちらのマシンもUACはデフォの状態から変えていませんし、
セキュリティのことを考えると変えたくもありません。
なにかいい解決方法は無いでしょうか?

129 :名無し~3.EXE:2017/05/06(土) 16:53:08.95 ID:0+z+Gap+.net
>>128
リモートUACを無効にするとか
http://qiita.com/puppymeg/items/5abe048023cf02802769

130 :名無し~3.EXE:2017/05/06(土) 20:49:27.85 ID:2p9xnQ6e.net
>>125
オレも必要無いに一票
2つ勉強したいってならbashに一票
覚えた頃にBoWこなれてきてるかも

131 :名無し~3.EXE:2017/05/07(日) 11:17:32.20 ID:ahbtq0bI.net
>>129
挑戦してみましたがやはりエラーが返ってきました

Stop-Computer : RPC サーバーを利用できません。 (HRESULT からの例外: 0x800706BA)
発生場所 行:1 文字:14
+ Stop-Computer <<<< -ComputerName PC2 -Credential (ユーザー名)
+ CategoryInfo : InvalidOperation: (PC2:String) [Stop-Computer]、COMException
+ FullyQualifiedErrorId : StopComputerException,Microsoft.PowerShell.Commands.StopComputerCommand

ただエラーの内容がちょっと変わった気はします

132 :名無し~3.EXE:2017/05/07(日) 14:16:18.70 ID:Vey7mJwy.net
そのエラーコードならファイアウォール設定でWMI RPCを解放すれば行けそう

133 :名無し~3.EXE:2017/05/07(日) 19:12:52.74 ID:8QqaJEcs.net
>>125
コマンドプロンプトなんか使ってるうちに覚えるもんだろ。
こんなところで聞くようなモノではない。

134 :名無し~3.EXE:2017/05/07(日) 22:54:51.28 ID:ahbtq0bI.net
>>132
PC2のファイアーウォールを無効にしてみましたが結果は同じでした・・・
うーん、難しい・・・

135 :名無し~3.EXE:2017/05/08(月) 19:33:25.10 ID:i5Njb2+p.net
>>128
ユーザー名の前に コンピュータ名\つけてる?
つまり、pc2\ユーザー名

136 :名無し~3.EXE:2017/05/09(火) 10:11:17.07 ID:UEW2JH/V.net
>>135
はい、ユーザー認証のダイアログが表示される方式もチャレンジして
そこでコンピューター名付のユーザ名も試しましたがダメでした・・・

137 :名無し~3.EXE:2017/05/09(火) 11:41:59.83 ID:BFgOlLU8.net
shutdown.exeでは出来てるの?

138 :名無し~3.EXE:2017/05/09(火) 12:56:53.27 ID:UEW2JH/V.net
shutdownコマンドによるリモートシャットダウンはまだ試したことがありませんでした
一度チャレンジしてみようと思います

余談ですがリモートシャットダウンさせるさい、リモートレジストリ制御はオンにする
必要はありますか?Windows10ではデフォルトでオフにされているようですが。

139 :名無し~3.EXE:2017/05/09(火) 13:12:40.95 ID:4ctJrZXO.net
0x800706BAで検索すると割と多くの原因が考えられるみたい
互いのPCで関連サービスが全部起動してるかとか、パッチが当たってるかとか

140 :名無し~3.EXE:2017/05/11(木) 12:53:23.28 ID:PofOtdpB.net
てす
http://o.8ch.net/tu41.png

141 :名無し~3.EXE:2017/05/11(木) 12:54:28.09 ID:PofOtdpB.net
Function set-oepic{
[CmdletBinding()]
param(
[Parameter(Mandatory=$True,
ValueFromPipeline=$True)]
[string]$picpath
)

PROCESS {
$bin = Get-Content $picpath -Encoding Byte
$base64 = [System.Convert]::ToBase64String( $bin )
$pics =@"
var canvas = document.getElementsByClassName( "wPaint-canvas" );
var ctx = canvas[0].getContext("2d");
ctx.fillStyle = "white";
ctx.fillRect(0, 0, 500, 250);
var img = new Image();
img.onload = function() {
ctx.drawImage(img, 0, 0);
}
img.src = "data:image/png;base64,$base64";

"@
Set-Clipboard -Value $pics

}
END {}
}

142 :名無し~3.EXE:2017/05/11(木) 13:01:48.02 ID:PofOtdpB.net
>>141>>140の貼り付けスクリプトねたぶんクロム系で動くはず
説明する必要はないと思うが 引数に500X250の128k以下の画像のファイルのパスを入れて
実行するとクリップボードにソースが貼り付けられるから

今度はスレッドのお絵描きロードを押してフォームを出した後でf12でコンソールをだして張り付けて一回リターンを押せば
フォームに画像が貼り付けられてると思う
個人的にアクセス規制見たいの食らってるのか知らんが 上の5.7kの画像でようやくアップロードできた
興味のある人は100k程度のを張ってみてくれ 3日前ぐらいまでは貼れたんだが

何時も使ってるサイトが使えんのでpsで書いてみた

143 :名無し~3.EXE:2017/05/11(木) 13:04:27.78 ID:PofOtdpB.net
そういやbase64にエンコとかするコマンドレットってあるの?

144 :名無し~3.EXE:2017/05/11(木) 21:54:13.95 ID:jQRvl96K.net
Convert.FromBase64String メソッド
https://msdn.microsoft.com/ja-jp/library/system.convert.frombase64string.aspx
Convert.ToBase64String メソッド
https://msdn.microsoft.com/ja-jp/library/system.convert.tobase64string.aspx

145 :名無し~3.EXE:2017/05/30(火) 10:47:43.35 ID:8tEQwhie.net
会社のwin7ノートでstaticとDHCPをダブルクリックで切り替えたくてバッチファイルを作ったんです
しかし世間はPOWER SHELLに移行すると知り、この際書き直そうと思い早速get-netadapterを叩いてみました
が、出鼻を挫かれました
操作可能なプログラムとして認識されません。が返ってくるだけで受付てくれません
ポリシーでブロックされているんでしょうか

146 :名無し~3.EXE:2017/05/30(火) 11:05:10.51 ID:5SmB/lgX.net
>>145
ちゃんとPowerShellのプロンプト画面で叩いているんですか?
>操作可能なプログラムとして認識されません。
PowerShellのコマンドですから、プログラムを起動しに行くはずはないのですがね

147 :名無し~3.EXE:2017/05/30(火) 11:54:42.11 ID:k92mtCZ7.net
Windows10起動時に出る謎窓?
http://i.imgur.com/7kz60EM.png 

148 :名無し~3.EXE:2017/05/30(火) 12:00:24.81 ID:5SmB/lgX.net
>>147
それ、タスクスケジューラからOffice関連の更新の何かが起動されていそうですよ

149 :名無し~3.EXE:2017/05/30(火) 18:23:52.62 ID:0sFeMYVr.net
>>147

伝聞バカのコピペ攻撃
http://hissi.org/read.php/win/20170530/azkybXRDWjc.html

150 :名無し~3.EXE:2017/05/30(火) 18:43:56.29 ID:9+CwB6Qw.net
>>145
get-netadapter は PowerShell Version 3 以上でないと使えない
Windows 7 の PowerShell は Version 2 なので PowerShell をバージョンアップするなり Windows 10 に行くなりしてくれ
あとエラーメッセージはコピペでいいので正確に書いてくれ

151 :名無し~3.EXE:2017/05/30(火) 22:36:10.11 ID:5SmB/lgX.net
>>145
Win7でやったらこんなん出ました

PS C:\Windows\system32> get-netadapter
get-netadapter : 用語 'get-netadapter' は、コマンドレット、関数、スクリプト フ
ァイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述
されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認して
から、再試行してください。
発生場所 行:1 文字:1
+ get-netadapter
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (get-netadapter:String) [], Comm
andNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

152 :名無し~3.EXE:2017/05/31(水) 04:47:30.15 ID:rqqJ/KOf.net
Windows10 セーフモードでネットワーク有効
正常動作しないWindows10をセーフモードで起動 http://www.ikt-s.com/win10-force-safemode-boot/  
画面が真っ黒で何もできないとか、デスクトップまで立ち上がったが そこから何も操作できないという事が実際に起こっています。
http://i1.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode3.jpg http://i2.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode4.jpg http://i0.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode5.jpg
http://i2.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode6.jpg http://i1.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode7.jpg http://i2.wp.com/www.ikt-s.com/wp-content/uploads/2016/06/win10-safemode9.jpg
正常動作しないWindows10をセーフモードで起動した後に『完全自動で通常起動へ移行する』には?
http://i.imgur.com/hzHr8ax.jpg http://i.imgur.com/hzHr8ax.jpg http://i.imgur.com/hzHr8ax.jpg        

153 :名無し~3.EXE:2017/05/31(水) 05:49:58.18 ID:jXEzIEcm.net
そろそろうぜぇ
セーフモードの入り方の解説なんかググれば出てくるものをそこら中に貼らんで良い

154 :名無し~3.EXE:2017/05/31(水) 18:08:51.92 ID:8EeZlUv/.net
>>152

伝聞バカのコピペ攻撃
http://hissi.org/read.php/win/20170531/cnFxSi9LT2Y.html

155 :名無し~3.EXE:2017/06/02(金) 18:28:53.69 ID:OwNBxqni.net
コマンドプロンプトってWindows7と10で劇的な違いとかってあった?
技術評論社のポケットリファレンスを買おうと思ってるんだけど、7の時に出たのは1000円程で10対応の最新版は3000円超えなんだよね
仕事でゴリゴリ使う訳じゃないから確認用に持っときたい程度

156 :名無し~3.EXE:2017/06/02(金) 20:00:06.28 ID:qg9TuXM1.net
コマンドプロントからできる程度の作業ならもう全部pshell使ってるなあ
つまりもうコマンドを使う機械自体が絶無

157 :名無し~3.EXE:2017/06/02(金) 21:33:06.46 ID:g7HTG7Z2.net
プロはCUI

158 :名無し~3.EXE:2017/06/10(土) 20:45:05.52 ID:QlI4de7L.net
>>156
でも結局パワーシェルなんかだれも使わんでしょ
ぼくら見たいな大して役にも立たないものに労力を費やしてくれるいい人以外はw

unityでlinqを使いましょうとか声を張り上げてたあふぉを思い出したww

159 :名無し~3.EXE:2017/06/10(土) 20:57:50.67 ID:War3fYBc.net
>>158
おまそうwwwwww
とくれさwwwwww

160 :名無し~3.EXE:2017/06/10(土) 22:38:31.64 ID:qp8Fp5m3.net
PowerShell関連の書籍で今現在評判いいのがポケットリファレンスしかない

161 :名無し~3.EXE:2017/06/11(日) 02:30:55.18 ID:XNVOFNSi.net
>>160
To:
junmatsu@microsoft.com
Cc:
satoshif@microsoft.com
松本殿、元上司が「ヒロシを守るため」と激白した映像が公開されていますが、認識はありますか?
「人事に言われた」とも言っていますがこれはウソですか?
ウソなら訴えて訴えて動画を削除させるべきではないのですか?
2017/05/12(金) 21:42
松本淳殿、パワハラやセクハラの被害者に謝罪しましたか?
なぜ謝罪しないのですか?
パワハラセクハラの調査という名目で事実が無いという工作行為に加担するように脅迫したのはなぜですか?
知らなかったと言うように脅迫したのはなぜですか?
ネットに聴取された人が流したと思われる録音が出回っているのはガセとでもいうのですか?
その脅迫して言わせたヤラセを元に、裁判で虚偽の申告をしたというのは本当ですか?
当社を偽証罪の渦に貶めるつもりですか?
幻聴の可能性があると言いたいのですか?
パワハラ加害者にも問題はありますが、貴殿は人事としての監督責任すら持たない、
単なる会社のお客さんとでも言いたいのですか?
マイクロソフトの人事はマネージャーをサポートするのが仕事で不正を守るのが当たり前の文化だ、
告発を認めないとはどういうことですか?当社のマネージメントは不正に対し自制もできない、
世間に顔向けできないばかりか、みっともなく情け無い体面の者の集団とで言いたいのですか?
どこの部署のマネージメントの発言か5W1Hで摘示ください。

162 :名無し~3.EXE:2017/06/11(日) 03:06:28.35 ID:w0GBtplK.net
PowerShellからファイル名を置換するコマンド

Get-ChildItem "フォルダパス" | Rename-Item -NewName { $_.Name -replace ' ','' }

これ面倒なことしなくていいので便利なんだよね

163 :名無し~3.EXE:2017/06/11(日) 03:21:59.17 ID:1NpJMaSU.net
replaceの第二引数にスクリプトブロック渡せればもっといいんだけどな

164 :名無し~3.EXE:2017/06/11(日) 17:48:37.41 ID:Oboqj0IU.net
>>161

コピペキチガイ
http://hissi.org/read.php/win/20170611/WE5WT0ZOU2k.html

165 :名無し~3.EXE:2017/06/13(火) 19:14:20.67 ID:L1x87Djd.net
書籍見てるとパイプを多用するようなんだが
そうせんと文句言われたりするもんか? (宗教争いが面倒、くらいの意味)

166 :名無し~3.EXE:2017/06/13(火) 20:00:35.29 ID:L1x87Djd.net
function print_test($a) {
Write-Host $a
}

print_test "a", "b", "c", "d"

------------------
PS C:\Users\test_user\Desktop>> .\win10_policy.ps1
a b c d

この挙動の謎っぷりマジ謎……

167 :名無し~3.EXE:2017/06/13(火) 20:03:28.95 ID:L1x87Djd.net
ああ、そういや , いらんのか、参ったな

168 :名無し~3.EXE:2017/06/13(火) 20:05:42.16 ID:L1x87Djd.net
functionの引数では , いるけど呼び出し時は , いらんとかよく間違える
その辺なんとかならんかなぁ

169 :名無し~3.EXE:2017/06/13(火) 20:36:58.17 ID:BB/uw9Y2.net
PSのカンマは配列を作るって覚えりゃいい
この二つは同じ

print_test "a", "b", "c", "d"
print_test @("a", "b", "c", "d")

170 :名無し~3.EXE:2017/06/13(火) 20:58:22.61 ID:mpR7yuzE.net
pshell使っててWINDOWSのエラーハンドル?が返って来た場合のエラーコード取得って
どうやってやるのが定番でしょうか?

例えばファイルを書き込もうとしてDISC-FULLのエラーになった場合ってエラーコードとしては
0x80xxxx03みたいなコードが返ってきますけど必要なのは下位1ワードだけなんです

171 :名無し~3.EXE:2017/06/13(火) 21:11:03.84 ID:5bjD86xL.net
ErrorLevel equivalent
ttp://blogs.msdn.microsoft.com/powershell/2006/09/15/errorlevel-equivalent/

172 :名無し~3.EXE:2017/06/13(火) 23:27:40.35 ID:L1x87Djd.net
>>169
たまにしか触らんせいだろうが、細かい部分でどうでもいいエラーが出るので
やっかいだなーという程度

String.equals と -eq で挙動違うのと
foreach-objectでループ二段抜けと
関数呼び出し時の , 有無は俺にはよくある orz

細部の表記に統一性もたしてくれたらPowershellイケてるよね、って言いきれるんだが
なかなか難しいところか

173 :172:2017/06/13(火) 23:31:42.01 ID:L1x87Djd.net
function set_registry_entry($key, $entry, $type, $value) {
set_full_registry_key $key
New-ItemProperty -Path $key -Name $entry -PropertyType $type -Value $value -Force
}

function set_full_registry_key($key) {
if (-Not (test-path $key)) {
$parent = Split-Path $key -Parent
Write-Host $parent

if (-Not (test-path $parent)) {
set_full_registry_key $parent
}

New-Item -Path $key
}
}
set_registry_entry "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" "AUOptions" "DWord" 3
set_registry_entry "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" "NoAutoRebootWithLoggedOnUsers" "DWord" 1

Powershellらしからぬ気もするが、パイプを意図的に使っていかないとPowershellぽくなくてダメなんだろうか?

174 :名無し~3.EXE:2017/06/14(水) 00:50:51.51 ID:uBpyQ5/y.net
>>173
あくまで自分の趣味だけど、パイプ多用で書き直してみた
この方が関数名や変数名考える必要もないし、名前のミスも少なくてよいと思う
でも関数でやるのが体に染みついてるならその方が楽だろうし、好き好きでいいかと

%{
@{
Path = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
Name = "AUOptions"
PropertyType = "DWord"
Value = 3
}
#二つ目は省略
}|%{
$key = $_.Path|Split-Path -Parent
%{
while(-Not (test-path $key)){
$key
$key = $key|Split-Path -Parent
}
}|sort -Descending|%{
Write-Host $_
New-Item -Path $_
}
New-ItemProperty @_ -Force
}

175 :名無し~3.EXE:2017/06/14(水) 01:01:13.93 ID:uBpyQ5/y.net
二カ所間違えてた
やっぱテストしないとダメだな

%{
@{
Path = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
Name = "AUOptions"
PropertyType = "DWord"
value = 3
}
#二つ目は省略
}|%{
$key = $_.Path
%{
while(-Not (test-path $key)){
$key
$key = $key|Split-Path -Parent
}
}|sort|%{
Write-Host $_
New-Item -Path $_
}
New-ItemProperty @_ -Force
}

176 :名無し~3.EXE:2017/06/14(水) 02:10:08.26 ID:EBRIef0K.net
>>174
鬼かwwww

まあ文句言われないようなら関数でもいっか……d

177 :名無し~3.EXE:2017/06/14(水) 02:34:48.82 ID:EBRIef0K.net
https://pastebin.com/naqSXTS1

結局Appx抜きも手続き野郎になってしまった orz まあ動くっちゃ動く気はするのでいいか

178 :名無し~3.EXE:2017/06/14(水) 02:36:31.08 ID:EBRIef0K.net
うげ、また確認用Write-Hostがのこってるとか

うんもういいうや……

179 :名無し~3.EXE:2017/06/22(木) 00:57:04.22 ID:fpkRrMCt.net
Win7デフォルト + PowerShell + UI Automationだとコケる可能性あるな
ボタンだかのメソッドを引っ張ってくる「なんちゃらPattern」が何も返さないっぽい

ぽいってのは全パターン網羅やってない、くらいの意味だが
列挙系のメソッドぶっこんだら空でしたって悲しい話(Write-Hostで戻り値みたら何もでなかった、くらいの意味で

180 :名無し~3.EXE:2017/06/25(日) 13:35:27.43 ID:LNtNrXAc.net
Excel の表をソートする方法はありますか。
範囲A1:K8 の表の、D2 の列を昇順にソートしたいのです。

181 :名無し~3.EXE:2017/06/25(日) 17:28:38.18 ID:EXBkLgIl.net
あるよ

182 :名無し~3.EXE:2017/06/26(月) 09:31:06.94 ID:nnoK/6id.net
(ヾノ・∀・`)ナイナイ

183 :名無し~3.EXE:2017/06/26(月) 14:37:42.13 ID:Kro5iCzN.net
ないあるよ

184 :名無し~3.EXE:2017/06/26(月) 20:47:30.34 ID:auo10urv.net
WMF 5.1 をインストールしたサーバー OSで Enable-PSRemoting が動作しない
https://blogs.technet.microsoft.com/askcorejp/2017/06/26/enablepsremoringwmf5/

185 :名無し~3.EXE:2017/07/02(日) 16:53:53.67 ID:UIKX1dqP.net
poweshellって結構なんでもできそうな感じがするんだけど、もしかしてDirectXのDDSファイルの情報とかも取れたりするのか?

186 :名無し~3.EXE:2017/07/02(日) 21:06:40.70 ID:Ex/F46Ei.net
DDSファイルの情報を取得して返すプログラムを書く

そのプログラムをPowerShellから呼ぶ

で、できるんじゃないの

187 :名無し~3.EXE:2017/07/02(日) 21:56:57.99 ID:T5t1iplf.net
>>186
馬鹿が一々口出してこ無くていいよ
そんなに構って欲しいの?構ってチャン

188 :名無し~3.EXE:2017/07/03(月) 00:59:16.53 ID:41Pamftn.net
>>187
変換おかしいよ

189 :名無し~3.EXE:2017/07/04(火) 06:37:37.78 ID:1z/ArB25.net
>>185
DDSファイルの情報が何者か知らんけどファイル内に情報あるなら取得できるでしょ

190 :名無し~3.EXE:2017/07/13(木) 13:04:49.42 ID:bXEmJwai.net
偉い人アドバイスをお願いします。↓のブログを見つけて携帯にグローバルIPアドレスの変更を通知しようと考えまして、
旧アドレスを記載したテキストを参照するところまでは記述の意味を何とか理解できたのですが、
「レスポンスの読み込み&確認」以降がどうしても良くわかりません。
http://rtaki.blogspot.jp/2010/10/ip.html

サイト(http://www.axisnetworks.biz/tools/gip/)のソースを見てみると、グローバルIPアドレスの直前に「<p class="style4" name="ip">」がありますので、
「$line」が空でなければ、そこにこれが含まれているかチェックして、次に何かとの一致があるかを確認しているようですが、
この「(?<address>[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)」が何を意味しているのか分からないです。

また、「$new address」は「$matches.address」だと定義され、それが変更時には上書き動作に引き継がれているようですが、
その「$new addredd」がどこから来るのかが分かりません。

なお、Write-Outputについては、2つ目の「前回確認済みのグローバルIPアドレス:」までは表示できています。

191 :名無し~3.EXE:2017/07/13(木) 14:19:38.17 ID:sHpRNaRR.net
正規表現でIPアドレスっぽいパターンを持った文字列を検索して、見つかったらその部分にaddressという名前を付けてる
$new addressではなく$new_addressな
どこから来るとかではなく、新しい変数をここで初めて宣言して代入してるだけ
$matchesの方がどこから来たかというと、-match演算子の結果が格納される暗黙変数として決められてる
どっちのifでどう失敗してるかとか、Write-outputをいろんな行に入れて、いろいろな値や式を渡して模索してみるといいと思うよ

192 :名無し~3.EXE:2017/07/13(木) 14:37:43.43 ID:9gYiCLE3.net
>>190
なかなか新鮮な質問だねw
(?<address>[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)
は正規表現で、数字の連続、点、数字の連続、点、数字の連続、点、数字の連続 にマッチする。要するにIPアドレスっぽい部分
?<address>はマッチした文字を入れる変数名の指定。$Matches.addresという書き方で参照できて分かりやすいねという話

$new_address = $matches.address は単純な代入式だw $new_addressという変数に$matches.addressの値を入れてるだけ
昔言語の先生の、「プログラムの=はイコールじゃない。結果的に同じになるけど」ってセリフ思い出したw

193 :名無し~3.EXE:2017/07/13(木) 15:11:58.44 ID:bXEmJwai.net
>>191
ありがとうございます! 教えてもらった「match演算子」というキーワードで検索したら↓のサイトがすぐにヒットして、ようやく意味がつかめそうです!
http://www.pine4.net/Memo/Article/Archives/168

「$matches.address」のドットが「$resp.ContentEncoding」のドットのようにメソッド等の前に付けるものなのかな?と思っていたため、その前の「$mathes」は単なる任意の変数かと思い込んでました^^;
https://technet.microsoft.com/ja-jp/scriptcenter/powershell_owner01.aspx
今まで全くプログラムは経験がなかったので↑とか複数の解説に目を通して基本的なルールを確認していたのですが、ド素人にはかなりハードルが高くて数日悩んでました・・・。

194 :名無し~3.EXE:2017/07/13(木) 15:24:50.03 ID:bXEmJwai.net
>>192
ありがとうございます! [0-9]+については、↓の記載をみてIPアドレスの3ケタだと思っていたのですが、「\.」が不明でした・・・。
http://www.lightship.co.jp/FileVisor6/help/operation/regexp.htm
エスケープが「'」だって解説があったので、もしかしたら\も?とは想像していたのですが、ドットを文字として使いたい場合は\を前に付けるという理解で合っていますか?

195 :名無し~3.EXE:2017/07/14(金) 21:28:50.26 ID:PAwqb5+e.net
about_Regular_Expressions
https://technet.microsoft.com/ja-jp/library/dd315294.aspx

まずはこれを読んで、分からない所があったらまた聞きに来て

196 :名無し~3.EXE:2017/07/14(金) 21:39:20.68 ID:wklSEW3P.net
>>194
` はPowerShellのエスケープ
RegularExpressionはPowerShell専用じゃないので\をエスケープに使ってる
ちょっと戸惑うけどそう言うものだと思うしかない

197 :名無し~3.EXE:2017/07/19(水) 13:55:12.05 ID:51JQ9MgC.net
Microsoft、「PowerShell」のロードマップを公開 〜クロスプラットフォーム版へ一本化
http://forest.watch.impress.co.jp/docs/news/1071229.html

198 :名無し~3.EXE:2017/07/19(水) 15:35:25.83 ID:uhcRfXMU.net
>>197
糞になりそうな予感

199 :名無し~3.EXE:2017/07/20(木) 03:26:11.89 ID:ri2MNCBu.net
かつてWSHが捨てられたように、今度はPSが捨てられる序章ってこと?

200 :名無し~3.EXE:2017/07/20(木) 20:46:38.36.net
200

201 :名無し~3.EXE:2017/07/21(金) 13:57:33.80.net
100枚ほどある連番画像を保存したくプログラミングの知識もない自分が
独学で下記のようなスクリプトを書きました
目的は果たせたのですがこういう風に書いた方がいいとかの意見が頂けると助かります

画像URL
"http://modelblog.org/wp-content/uploads/2017/05/EvaR24_001.jpg"から
"http://modelblog.org/wp-content/uploads/2017/05/EvaR24_100.jpg"まで

スクリプト
$Dir = ".\IMG\EvaR24_"
for ($i=1; $i -le 100; $i++){
$Source = "http://modelblog.org/wp-content/uploads/2017/05/EvaR24_" + $i.ToString("000") + ".jpg"
$Dest = $Dir + $i.ToString("000") + ".jpg"
Invoke-WebRequest -Uri $Source -OutFile $Dest
}
Pause

202 :名無し~3.EXE:2017/07/21(金) 17:52:42.84 ID:n0TmnpH/.net
そのままでもいいと思うけど
PSの推奨する書き方はたぶんこんな感じ

$Dir = ".\IMG\EvaR24_"
foreach($i in 1..100){
$hash = @{
Uri = "http://modelblog.org/wp-content/uploads/2017/05/EvaR24_{0:000}.jpg" -f $i
OutFile = Join-Path $Dir ("{0:000}.jpg" -f $i)
}
Invoke-WebRequest @hash
}
Pause

203 :201:2017/07/21(金) 19:45:56.98 ID:cc7rg772.net
>>202
ありがとうございます。
こんなナイスな書き方あるとは想像も付きませんでした。
どうして@hashが
-OutFile: ファイルパス -Uri: 画像URL
みたいな感じで展開されるのかも未だ理解出来てないのですが
調べながら理解を深めたいと思います

204 :名無し~3.EXE:2017/07/21(金) 20:17:23.56 ID:siJSwshn.net
>>202
スプラッティングなんてあるんだな
初めて知ったわ
https://technet.microsoft.com/ja-jp/library/gg675931.aspx
たくさんあるパラメーターの一部だけを変えながらコマンドを呼び出したい時とかに使うと便利かも

205 :名無し~3.EXE:2017/07/21(金) 20:20:02.77 ID:xbYF40hk.net
日本語で分配演算子って言うらしいけど
あんまり見かけないし詳しくは分からん

http://mtgpowershell.blogspot.jp/2015/04/splatting.html?m=1

206 :名無し~3.EXE:2017/07/21(金) 21:09:01.27 ID:n0TmnpH/.net
>>203
@ で展開されるとか、まあそういうもんだと思うしかないね
利点は別の変数用意する必要ないからミスが減る

207 :名無し~3.EXE:2017/07/21(金) 21:46:44.09 ID:oVoJzTd2.net
>>201
> $Dir = ".\IMG\EvaR24_"
この 'EvaR24_' と
> $Source = "http://modelblog.org/wp-content/uploads/2017/05/EvaR24_"
このURLの最後の 'EvaR24_' が同じ意味なら
$Dir = '.\IMG'
$Prefix = 'EvaR24_'
for($i in 1..100){
 $Name = "$Prefix{0:000}.jpg" -f $i
 $Source = "http://modelblog.org/wp-content/uploads/2017/05/$Name"
 $Dest = Join-Path $Dir $Name
 Invoke-WebRequest -Uri $Source -OutFile $Dest
}
Pause
ってやるかな

208 :名無し~3.EXE:2017/07/21(金) 22:08:28.87 ID:cc7rg772.net
>>204
>>205
スプラッティングと言うんですね リンクありがとうございます
ためになります

>>206
便利な機能だと思うのでそういうもんだと思って受け容れたいと思います

>>207
まさにそういうことでファイル名の一部です
自分でも$Dirなんて名前の変数に含めるのはちょっとおかしいかな?
と思いつつ手抜きしてた部分だったのでお恥ずかしい限りです

みなさんありがとうございます

209 :名無し~3.EXE:2017/07/21(金) 23:33:21.21 ID:n0TmnpH/.net
ついでにパイプ使いまくりで変数ゼロの作ってみた
ここまでやると逆に分かりづらい

1..100|%{"EvaR24_{0:000}.jpg" -f $_}|%{
@{
Uri = "http://modelblog.org/wp-content/uploads/2017/05/$_"
OutFile = Join-Path ".\IMG" $_
}
}|%{Invoke-WebRequest @_}

210 :名無し~3.EXE:2017/07/22(土) 04:57:06.98 ID:creOLbFc.net
PowerShell らしくていい

211 :名無し~3.EXE:2017/07/22(土) 15:38:34.69 ID:ZPn40T7y.net
質問させてください。

@:ADからユーザーIDを基にメールアドレスを引っ張ってくる
A:@の処理を数百単位のユーザー分一気に行い、ファイル(txt、csv等)に出力

↑の2点をやる必要があり方法を調べているとどうも@はpowershellでできそうだ、と
詳細を調べて以下の形でメールアドレスを引っ張り、csvに出力すること自体はできました。

get-aduser -filter {Name -like "ユーザー名"} -Property EmailAddress | Select-Object EmailAddress | Export-csv -path パスとファイル名.csv -NoTypeInformation
ですが、出力された結果は

EmailAddress
xxxxx@xxxxx.co.jp
と2行になっていました。

これを2行目(メールアドレスだけ)出力する方法はないでしょうか。

また、Aについて、あらかじめ用意したユーザーIDが記載されたファイルのインポートややコピペで一気にメールアドレスを
出力する方法はないでしょうか。

よろしくお願いします

212 :名無し~3.EXE:2017/07/23(日) 00:53:06.06 ID:Nd7aVD4N.net
>>211
csvの形式は最初にヘッダ行が必要だから、それが正常な出力だよ
アドレスだけにしたいならこれでいい
get-aduser 略|%{$_.EmailAddress}|out-file パスとファイル名.txt

あとユーザー名のリストでやるならこうかな
Get-Content ユーザーIDが記載されたファイル|%{get-aduser -filter {Name -like $_} -Property EmailAddress }| 略

やっつけで処理遅そうだけど

213 :名無し~3.EXE:2017/07/23(日) 12:53:39.37 ID:UUTJNbvb.net
スクリプトを覚える動機は何時だってエロ画像ダウンローダなんだな。

214 :名無し~3.EXE:2017/07/23(日) 15:37:13.38 ID:6cZzbtBm.net
わざわざVSを立ち上げてプロジェを作るほどじゃないけど、だからと言って
いまさらbatchを使う気にもなれない

と言う理由でpshを使ってる

215 :211:2017/07/23(日) 23:17:29.17 ID:ZUCJRLjI.net
>>212
ありがとうございます。お礼遅くなってすいません。
教えていただいたやり方で一斉にメールアドレスを取得できる事を確認できました。

Powershellなんて使った事もない人間に無茶振りする上司が悪いので、もっさりでも
「こんなもんですよ」で通しますw

216 :名無し~3.EXE:2017/08/23(水) 19:48:20.34 ID:K6FzLXiK.net
$付きの環境変数があるんだけど、変数名の前にenv:付けても取れない。

この場合どうせればよいかのぅ。

217 :名無し~3.EXE:2017/08/23(水) 22:02:15.15 ID:VB5Lke+t.net
引用符をシングルクォートに変える
それでもダメならアクサングラーブでエスケープするとか

218 :名無し~3.EXE:2017/08/23(水) 22:46:53.73 ID:+z4ALWbP.net
>>217
明日やってみます!ありがとう!

結果も報告いたしますね!

219 :名無し~3.EXE:2017/08/23(水) 23:12:11.64 ID:+z4ALWbP.net
>>217
あれ。。こんな感じですか?

環境変数 $aaa

$bbb='$env:aaa'
echo $bbb

変数bbbに、環境変数$aaaが代入される

220 :名無し~3.EXE:2017/08/24(木) 03:02:06.70 ID:rzZwBEXI.net
それだと単にaaaという環境変数を求める書き方になってる
ちょっと試してみた
get-item 'env:$aaa'
get-item env:'$aaa'
get-item env:`$aaa
どれでも値を取り出せる
echo等に直接渡すために上記の先頭に$を付けると{}で囲んでみろよという親切な警告が出るね
{}で囲むならシンプルにecho ${env:$aaa}でOKだったわ

221 :名無し~3.EXE:2017/08/24(木) 09:33:50.87 ID:exQb0Veg.net
>>220
取れました!取れました!取れました!取れました!

ありがとおおおおおおおおおおおおおおおおおおおおおおおおございます!!

222 :222:2017/08/26(土) 21:33:05.73 ID:qJjd1Si9.net
222

223 :名無し~3.EXE:2017/08/27(日) 14:49:12.76 ID:BZUzZkbu.net
先輩方お世話になります

PowerShellではIEやExcelについては、内部情報がわかっているのでセル内の数値を読みだしたり、
IEでWeb上のデータをExcelに読み出したりできますが、
知らないソフトを操作することはできるのでしょうか。
パスワード管理ソフトがそこにあった場合、それを自動で操作できるものでしょうか。

224 :名無し~3.EXE:2017/08/28(月) 22:42:01.77 ID:qICVwGLd.net
>>223
SendKeyを使う
http://mtgpowershell.blogspot.jp/2011/01/sendkey.html

225 :223:2017/08/29(火) 21:14:26.67 ID:7bPgRSF4.net
>>224
それを見て安心しました。
PowerShellを本格的に使います。
ありがとうございました。

226 :名無し~3.EXE:2017/09/10(日) 12:26:26.59 ID:YsDxJ9ZZ.net
引数で渡されたcsvヘッダーなしファイルを、
1レコードづつ分割して、
各レコード中の5番目の項目をファイル名にしたく
色々調べて何となくパワーシェルでできそうかもと感じたのですが、
パワーシェルでは難しいものでしょうか

227 :名無し~3.EXE:2017/09/10(日) 12:53:01.82 ID:0mVKrcBD.net
>>226
コンピューターは使う人の知性を映す鏡

228 :名無し~3.EXE:2017/09/10(日) 13:34:51.33 ID:72pY/uhV.net
簡単だよ
その用途ならAWKも良い

229 :名無し~3.EXE:2017/09/11(月) 12:45:03.65 ID:Gp/rMbPi.net
エラー表示を出したくないのですが、
invoke-restmethod -uri http://127.0.0.1/ -ErrorAction SilentlyContinue
invoke-restmethod -uri http://127.0.0.1/ | out-null
invoke-restmethod -uri http://127.0.0.1/ 2> $null
のいずれもエラーが出てしまいます。何か良い手はないでしょうか。

230 :名無し~3.EXE:2017/09/11(月) 22:46:08.52 ID:pDTfTVG6.net
>>226
PowerShell csv
とかでググることもしない君には無理かも

231 :229:2017/09/12(火) 15:39:58.62 ID:FurOIcDq.net
自己解決。
try {invoke-restmethod -uri http://169.254.169.254/} catch {}

232 :名無し~3.EXE:2017/09/18(月) 18:01:59.09 ID:z0dfOjEc.net
使い始めて半年になるけど、コマンドプロンプトよか遥かにマシだけど、MSのスクリプト言語はやっぱうんこだね

233 :名無し~3.EXE:2017/09/18(月) 19:06:44.92 ID:QH/6RVNP.net
>>232
あなたの考えるうんこでないスクリプト言語は何?

234 :名無し~3.EXE:2017/09/18(月) 19:32:27.48 ID:+WRQpGhp.net
>>232
理由を説明することが出来ず結果だけ述べるやつは頭蓋骨の中にウンコが詰まってるらしいね

235 :名無し~3.EXE:2017/10/25(水) 11:06:28.36 ID:JtsQ00zm.net
負荷テストのために下記コードを書いて見ましたがこれって音は全部鳴ってるのかな?
# 下記サイトより効果音をお借りしました。
# http://maoudamashii.jokersounds.com/archives/se_maoudamashii_explosion06.html
# d:\indexフォルダは好きなように変更してください。
$loopcont = 128
$list = New-Object 'System.Collections.Generic.List[System.Media.SoundPlayer]'
for ($i=0; $i -lt $loopcont; $i++){
$a = New-Object Media.SoundPlayer("d:\Index\se_maoudamashii_explosion06.wav")
$list.Add($a)
#$list[$i] = New-Object Media.SoundPlayer("d:\Index\se_maoudamashii_explosion06.wav")
Write-Output "サウンド $i を追加しました。"
}
for ($i=0; $i -lt $loopcont; $i++){
$list[$i].PlayLooping()
Write-Output "サウンド $i を再生しました。"
Start-Sleep -m 10
}
Start-Sleep -s 15
for ($i=0; $i -lt $loopcont; $i++){
$list[$i].Stop()
Write-Output "サウンド $i を停止しました。"
}
Start-Sleep -s 5

236 :名無し~3.EXE:2017/10/25(水) 11:25:25.12 ID:JtsQ00zm.net
プログラムスレ行きます
>>235は取り下げします

237 :名無し~3.EXE:2017/10/25(水) 20:59:37.67 ID:PDzaCZ5k.net
UI Automation Extensionで#32770のダイアログを取得してくれないのってどう対応すればいいんでしょうか
UIAutomationSpyで見る限り取得先は間違ってないんですが、Sleep入れたりしても改善しません

238 :名無し~3.EXE:2017/11/18(土) 18:06:45.29 ID:UcLIZr65.net
>>226
練習のつもりでそれやってみた。私がやったのはこんな感じ。
もっといい方法あるんでしょうけど。
$lines=get-content c:\Test.csv
$head=($lines[4].Split(",")).ForEach({$_})
$data=($lines|ConvertFrom-Csv -Header $head)[0..3+5..($lines.Length-1)]

239 :名無し~3.EXE:2017/11/18(土) 23:11:51.44 ID:Mf7cpqpp.net
テキスト変換ならawkも楽しい
gawk -F ',' -- '{print>>$5}' %1

240 :226:2017/11/18(土) 23:56:55.00 ID:Ygx0l9RN.net
あ〜〜〜、
私、問題を取り違えてる
5列めをファイル名にすんのね。
5行目をラベルにすると勘違い。
またトライしてみよう。

241 :240:2017/11/18(土) 23:58:36.40 ID:Ygx0l9RN.net
ごめん、いまの226じゃなく238ね、
何度も申し訳ない。

242 :238:2017/11/19(日) 00:10:05.38 ID:nfO6ObjC.net
こんな感じかな。
ファイル名にして、中身を何にするのかわからないんで
単に5列めを取り出しただけだけになるけど

$lines=Get-Content c:\test csv -Encoding Default
$lines|%{$_.Split(",")[5]}

243 :名無し~3.EXE:2017/11/19(日) 00:14:55.58 ID:nfO6ObjC.net
同じことを短く書くとこうかな
(Get-Content C:\Test.csv).Foreach({$_.Split(",")[5]})

244 :名無し~3.EXE:2017/11/19(日) 00:26:02.63 ID:nfO6ObjC.net
さらに短くすると、こんな感じかな
(GC C:\test.csv).foreach({$_.Split(",")[5]})

PowerShellって
他のスクリプトに比べると可読性がいいね

245 :名無し~3.EXE:2017/11/19(日) 02:22:08.54 ID:LCql9sHm.net
>>244
cat C:\test.csv | %{$_.Split(",")[5]}
とか?

Get-Content はcatと書きたい派

246 :名無し~3.EXE:2017/11/19(日) 02:36:06.41 ID:LCql9sHm.net
まあ、ヘッダーがないなら付けた方がいいよね。
単純に「,」で分割しちゃうとエスケープされた,が入っている時に困る

cat C:\test.csv | ConvertFrom-Csv -Header @('a', 'b', 'c', 'd', 'filename') | %{$_.filename}

247 :名無し~3.EXE:2017/11/19(日) 02:37:06.89 ID:nfO6ObjC.net
パイプ経由だったら
cat C:\test.csv|Select ({$_.split(",")[5]})

の方が速いかもしれない

248 :名無し~3.EXE:2017/11/19(日) 09:34:58.92 ID:TgXrsdVc.net
>>239以外は5列目を取り出すというスクリプトにしかなってない
エクササイズにしたってそれでいいの?
質問者の「ファイル名にしたい」というキーワードは、行ごとに個別ファイルに分割出力したいってことと考えるのが自然
いろいろ調べてパワーシェルでできそうかも?パワーシェルでは難しいですか?って疑問ともよりマッチする
質問者の言葉足らずも、プログラマのできる範囲ややってみたいことも「顧客が本当に必要だったもの」っていうブランコの風刺絵を連想させるゾ

249 :名無し~3.EXE:2017/11/19(日) 12:46:31.72 ID:1tHYW+l5.net
ファイル名にしたいっていうのが良く分からんかったからスルーしてたわ。

とりあえず、csvの5列目の値をファイル名にもつ、空ファイルを作るならこんな感じかな?
(動かしてないけど)
cat C:\test.csv | ConvertFrom-Csv -Header @('a', 'b', 'c', 'd', 'filename') | %{eco "" > $_.filename}

250 :名無し~3.EXE:2017/11/19(日) 16:02:25.58 ID:Nsr/SpEW.net
$path = 'C:\test.csv'
gc $path | % {sc (ConvertFrom-Csv $_ -h (1..5)).(5) $_}

別に質問スレじゃないから、古い質問をダシに遊んでたっていいんじゃね?

251 :名無し~3.EXE:2017/11/19(日) 22:35:40.93 ID:sJdRKCTL.net
出力ファイルの内容を何にするのか意味がとれなかったよ。
その行ということなんだな。こんなやり方にしてみた。
GC C:\test.csv|%{out-file -i $_ -fi $($_.Split(",")[0]+".csv")}

252 :251:2017/11/19(日) 22:37:25.19 ID:sJdRKCTL.net
あ、配列のインデックス間違った
0 じゃなく 4 ですね。

253 :名無し~3.EXE:2017/12/11(月) 11:48:54.63 ID:75DGGivq.net
powershellのバグ発見しちゃったんですけど。
chdir "test.txt" 2> clip
ってやってもエラー出力がクリップボードにコピーされません。

254 :名無し~3.EXE:2017/12/11(月) 12:51:32.49 ID:75DGGivq.net
chdir "test.txt" 2>&1 | clip
ってやったらできました。
バグなんて言ってすいませんでした、powershellさん。

255 :名無し~3.EXE:2017/12/13(水) 05:24:58.05 ID:Dgxm2rhe.net
生成されたゴミファイルには気づくだろうか

256 :名無し~3.EXE:2017/12/16(土) 23:54:25.16 ID:dXayVCuU.net
gc aaa.txt

↑のコマンドでaaa.txtの中身を表示できますが、この時に

1行目
2行目
3行目
4行目
5行目

と行順に表示するのではなく

3行目
2行目
5行目
1行目
4行目

のようにランダムに表示することはできるのでしょうか?

257 :名無し~3.EXE:2017/12/17(日) 09:38:12.67 ID:SwwokNJs.net
$txt = gc aaa.txt
random $txt -c $txt.Length

258 :名無し~3.EXE:2017/12/19(火) 12:49:03.00 ID:uzBHC9yI.net
友達がWindowsで稼げている情報など。ニュースというか参考までに。
⇒ http://kuchibeta.sblo.jp/article/181868190.html

興味がある方のために書きました。

OEE18BYXAP

259 :256:2017/12/28(木) 06:25:36.92 ID:PKks4Rou.net
>>257
返信遅れてすみません。
うまく出来ました。ありがとうございます!

randomってかなり初期バージョンのPowerShellですら使えるんですね。存在すら知りませんでした(^_^;)

260 :名無し~3.EXE:2017/12/31(日) 14:07:24.19 ID:uMg2oS0T.net
こんなの作る暇あるならオブジェクトリテラルくれよ

PowerShell should support creating an List similar to how it supports arrays
https://github.com/PowerShell/PowerShell/issues/5643

261 :名無し~3.EXE:2018/01/11(木) 14:51:39.12 ID:DkLZZA6a.net
PowerShell Core 6.0: Generally Available (GA) and Supported!
https://blogs.msdn.microsoft.com/powershell/2018/01/10/powershell-core-6-0-generally-available-ga-and-supported/

262 :名無し~3.EXE:2018/01/26(金) 22:26:10.90 ID:6YGWYbRS.net
PowerShell Core 6.0 の新機能
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-core-60
PowerShell Core のサポート ライフサイクル
https://docs.microsoft.com/ja-jp/powershell/scripting/powershell-core-support

263 :名無し~3.EXE:2018/02/04(日) 08:55:56.61 ID:Gd7BsbuR.net
powershellすごく便利よね。これなんで流行らないの・・・。

264 :名無し~3.EXE:2018/02/04(日) 22:17:28.96 ID:YGlvT8zB.net
>>263
頭の良い人にしか使いこなせない
使いはじめるハードルも高い

265 :名無し~3.EXE:2018/02/04(日) 23:05:10.68 ID:MtFkKGzP.net
>>263
VBA感がものすごいから。

266 :名無し~3.EXE:2018/02/04(日) 23:12:22.58 ID:xSDaepPc.net
>>265
どの部分にVBAを感じたんだ?

267 :名無し~3.EXE:2018/02/05(月) 00:11:48.68 ID:/JfnECNa.net
>>266
ありようがVBAそのものじゃん。

268 :名無し~3.EXE:2018/02/05(月) 00:18:02.36 ID:qNbCl3Zr.net
裏方だけど十分流行ってると思うよ。
MSのサーバー系の管理はほとんどPowerShellに置き換わってるし
Azureの管理もPowerShellが主流。
Win10でもちょっと探ってみれば随所で使われてる。
MS系のシステム管理者はだいたい大なり小なり使ってるんでは。

269 :名無し~3.EXE:2018/02/05(月) 00:30:43.55 ID:IUjinH7k.net
ちょっとしたBootstrapperとかもそうやね

270 :名無し~3.EXE:2018/02/05(月) 05:33:47.60 ID:3n996GsU.net
>>263
とっつきにくいんだよねw
自分も最初はCMDと行ったり来たりしてた。
今は慣れちゃったからCMDと使い分けてるよ。
SQLのハンドブックでSqlServerやOracleの構文が併記されてる書籍があるけど
同じようにCMDとPowershellを併記した書籍なりサイトがあれば初心者も入りやすいかもね。

271 :名無し~3.EXE:2018/02/05(月) 07:40:41.05 ID:WHgcmSCO.net
コマンドレット予測しやすい。

272 :名無し~3.EXE:2018/02/08(木) 11:30:54.85 ID:aYkXkrLi.net
☆ 私たち日本人の、日本国憲法を改正しましょう。現在、
衆議員と参議院の両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
――――

273 :名無し~3.EXE:2018/02/08(木) 20:34:29.10 ID:A6gE9qPG.net
https://blogs.technet.microsoft.com/jpsecurity/2018/02/06/now-you-see-me-exposing-fileless-malware/

PowerShell を無効化すべきですか?

いいえ。PowerShell は強力で安全な管理ツールであり、多くのシステム機能や IT 機能にとって重要なものです。
攻撃者が使用する悪意のある PowerShell スクリプトは、最初の侵害が起こった後にのみ有効な悪用後のテクニックです。
PowerShell の悪用はソフトウェア エクスプロイト、ソーシャル エンジニアリング、または資格情報の盗難など
他の悪意のあるアクションで開始される攻撃の兆候となります。
重要なのは、攻撃者が PowerShell を悪用できるポジションに立つことを防止することです。

274 :名無し~3.EXE:2018/03/10(土) 18:19:25.28 ID:t2Ijm7PH.net
6.0.1入れてみた、起動や動作がかなり早くなってる
標準のエンコードがUTF8になったようで、今までshiftjis扱うには-encode defaultで済んでたのが -encode oemに
あと.ps1ソースがshitjisだと文字化けする

ついでにテスト環境がいまいち、ISEでは使えないし
vscodeも(出来るとは思うけど)設定がよく分からない。F5のデバッグだと自動で5.01が立ち上がる

まあwin7に5.0.1とか入れるくらいなら6.0がいいかもね

275 :名無し~3.EXE:2018/03/11(日) 00:12:06.52 ID:f8Wd+DkQ.net
'a'..'z' が 'a' から 'z' までの文字を返すようになったらしいので
'あ'..'こ' ってやってみたら予想外の結果が返って来たw

276 :名無し~3.EXE:2018/03/11(日) 08:33:26.48 ID:mFQrNdjk.net
ASCIIしか知らないヤンキーが作ってるからな

277 :名無し~3.EXE:2018/03/11(日) 14:00:12.74 ID:k4OkAGvi.net
ホントだ。いろは順で返ってくる…

278 :名無し~3.EXE:2018/03/11(日) 14:10:10.28 ID:AO+oIFSR.net
いろは順って言ったら"い".."と" で「いろはにほへと」でしょw
JISコードの順番だね、"ぁ".."ん"でひらがな全部出てくる

279 :名無し~3.EXE:2018/03/11(日) 15:33:26.15 ID:k4OkAGvi.net
>>278
やだいやらしい

280 :名無し~3.EXE:2018/03/12(月) 05:11:44.02 ID:NmdT+XWO.net
これ考えた人天才だな。1文字も重複せずにストーリーにしちゃうなんて。

「いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせすん」

「色は匂へど 散りぬるを 我が世誰そ 常ならむ 有為の奥山 今日越えて 浅き夢見じ 酔ひもせず」

281 :名無し~3.EXE:2018/03/12(月) 05:13:31.37 ID:NmdT+XWO.net
>>279
確かにw
コーディングでこれ書いてるとこ見られたら勘違いされそうw

282 :名無し~3.EXE:2018/03/12(月) 13:47:47.02 ID:dPjrOUSD.net
>>275
これじゃ使い道ないわな

283 :名無し~3.EXE:2018/03/28(水) 20:47:47.79 ID:BbQ8IsIm.net
とあるフォルダ配下にあるテキストファイルだけ抽出して配列に格納
別のフォルダ配下にあるテキストファイルだけ抽出して配列に格納し配列同士を比較して同じファイルのみを抜き出してCompare-Objectで比較したいんですけどどうやったらできますか?

284 :名無し~3.EXE:2018/03/28(水) 21:07:42.49 ID:BbQ8IsIm.net
すみません↑書き込む場所間違えたのでプログラム板行きます

285 :名無し~3.EXE:2018/04/03(火) 06:43:11.32 ID:10bvSIVM.net
任意のディレクトリ内の全てのファイルに対して、ファイルプロパティに任意の文字列が含まれているファイルのフルパスを取得したいのですが。
賢い方、よかったらコード下さい。
具体的には、ファイルプロパティの詳細、バージョン情報で検索をかけたいです。

286 :名無し~3.EXE:2018/04/03(火) 08:20:52.72 ID:6GCjnr+h.net
>>285
ここにプロパティー取得の方法はある
https://letspowershell.blogspot.jp/2015/11/powershell_18.html
問題は「バージョン情報」がプロパティの何番目かだけど、これは環境によって違うので
自分で調べるしかない
全部取得するとかなり時間がかかる

287 :名無し~3.EXE:2018/04/03(火) 12:41:25.78 ID:HuCjkPdv.net
>>286
レスありがとうございます。
やっぱり時間かかりそうですね。

288 :名無し~3.EXE:2018/04/07(土) 10:44:41.69 ID:9ZFyO4fX.net
これでは駄目なの?

ファイルのバージョン情報を取得する
https://dobon.net/vb/dotnet/file/fileversion.html

289 :名無し~3.EXE:2018/04/07(土) 19:05:03.30 ID:WYQGmlAb.net
昔、powershellでexcelのデータ扱えるかなと思って試して見たが、目で追えるほど処理が遅かった。

excelのVBAの方が余程使える気がするが、powershellでそういった処理してる人って居る?

290 :名無し~3.EXE:2018/04/09(月) 01:06:23.37 ID:TWA5HRSR.net
コードが無いから何とも言えんけど工夫次第かな
それより目で追えるのはScreenUpdating関係では無く?

291 :名無し~3.EXE:2018/04/09(月) 10:05:54.58 ID:knGOUj/Z.net
既存のrtfファイルを「Microsoft Print to PDF」を使ってPDFにしたいと考えています
(Wordから直接PDFとして保存すると何故かrtf中の画像が粗くなり、「Microsoft Print to PDF」で印刷したら問題が回避できたため。マシンにはAdobeはreader以外インストールされておらず)。

Start-Processでやろうとしたものの出力ファイルの指定がわからず、そこで止まっています。
印刷ができればStart-Processに拘らないのですが、ご存知の方がいればご教示いただけないでしょうか。

292 :名無し~3.EXE:2018/04/11(水) 19:51:46.87 ID:25z8Wdmv.net
screenupdatingは関係ないと思う。そう言う次元ですらないから。
1セル1秒みたいに時間がかかる。

293 :名無し~3.EXE:2018/04/28(土) 08:53:53.57 ID:RnaU+s5A.net
Windows10のISEは標準で日本語だけど、
Windows7のアップデートでいれたISE5.1は英語になってる
日本語化できる?

294 :名無し~3.EXE:2018/04/29(日) 07:49:46.70 ID:zY65ZAGb.net
>>289
>昔、powershellでexcelのデータ扱えるかなと思って試して見たが、
>目で追えるほど処理が遅かった。

一つ一つセルごとに出力したら遅いよ。
配列にいれて処理すれば一発。

295 :名無し~3.EXE:2018/04/29(日) 12:24:01.26 ID:zY65ZAGb.net
>>289
別にお勧めしないけど、私は使ってるよ。
遅いのは処理の仕方の問題で、>>294 に書いたような処理をすれば早い。
難しくもない。

単純な表形式なら、プログラムでクリップボード利用すると
一瞬で処理がおわる。

296 :名無し~3.EXE:2018/04/29(日) 12:28:02.51 ID:gv6J1mD9.net
Excelアプリを操作するより、XLSXファイルを操作する方が何かといいね

297 :名無し~3.EXE:2018/05/01(火) 10:34:23.21 ID:COVLPEu4.net
友達から教えてもらった簡単確実稼げる秘密の方法
関心がある人だけ見てください。
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』

YJL2J

298 :名無し~3.EXE:2018/05/01(火) 17:04:38.30 ID:b7DdrULv.net
YJL2J

299 :名無し~3.EXE:2018/05/13(日) 16:42:38.94 ID:y8Urd9pR.net
友達から教えてもらったネットで稼げる情報とか
興味がある人はどうぞ
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

ADP78

300 :名無し~3.EXE:2018/05/18(金) 10:16:49.01 ID:orfyndx4.net
Multiple Choices

301 :名無し~3.EXE:2018/05/19(土) 19:40:28.02 ID:uYV79u3j.net
Invoke-ItemでPDFを開くことはできたのですが開くページの指定はできないですか?
関連付けられてるソフトはSumatraPDFですが,ページ指定して開けるなら他のソフトでもいいです
OSはWin7でPowershellは5.1.14409.1012でした

302 :名無し~3.EXE:2018/05/19(土) 21:32:55.31 ID:IxTXuG63.net
>>301
-page オプションでページ指定できるみたいよ
https://www.sumatrapdfreader.org/docs/Command-line-arguments.html

303 :名無し~3.EXE:2018/05/19(土) 22:29:47.78 ID:wEOE3rIs.net
power shellのいい本ってある?

304 :名無し~3.EXE:2018/05/20(日) 03:23:29.64 ID:OHgiVgCN.net
そんなこと聞いてきてしまうレベルの人にあう本はないだろうね

305 :名無し~3.EXE:2018/05/20(日) 08:52:27.29 ID:TKlHQP+t.net
それは定番が既にあるという意味なのか、ネットのチュートリアルで充分or僕は本嫌いだからお前らも読むなという意味なのか、amazon評価を鵜呑みにせよという意味なのか

306 :名無し~3.EXE:2018/05/20(日) 09:23:56.03 ID:jPrpBZlr.net
どんな本を読んだところで理解できまいという意味だろ
定番を知ってるなら無いという回答と矛盾するし
詳しい人のほとんどは本を買ってないから大型書店かネットで試し読みが早くて確実なんじゃないか

307 :名無し~3.EXE:2018/05/22(火) 19:08:30.40 ID:YkOSriKi.net
実行ファイルの右クリックのプロパティーの「管理者としてこのプログラムを実行する」を
コマンドラインからチェック入れる方法ってあるかな

ソフトのセットアップ時に毎回設定するのがかったるくなった

308 :名無し~3.EXE:2018/05/22(火) 20:14:00.45 ID:qdlKlm+E.net
これかな
https://qiita.com/AinoMegumi/items/fd56711fe1fd2a0e1bbf

309 :名無し~3.EXE:2018/05/22(火) 20:33:32.26 ID:YkOSriKi.net
>>308
コマンドからだけでなく、exeダブルクリックでも.lnkからでも管理者権限にしたい
307の設定がOSのどこかには格納されてるはずなんで、それをコマンドで変更したいんだけど、無理かな
レジストリのどこかかね

310 :名無し~3.EXE:2018/05/22(火) 20:45:04.14 ID:0gqgnt1F.net
使わなそうなexe(既存のをコピーして名前変えても拾ってきてもいい)でチェック入れて
regeditで検索すればすぐ見つかるよ

311 :名無し~3.EXE:2018/05/22(火) 20:49:48.49 ID:YkOSriKi.net
>>310
見つけた!
なるほど、この手があったか、ありがとう

312 :名無し~3.EXE:2018/05/25(金) 15:36:49.09 ID:IKKTH4n+.net
ExcelでA1:A3に
佐藤 なんちゃら
田中 なにがし
高橋 えみった
と書いているとして、
$tanto = 高橋
と部分一致したA3の値をB3に書くにはどうしたらいいですか

313 :名無し~3.EXE:2018/05/25(金) 18:15:39.58 ID:TCslqFZR.net
>>307
俺ならUACを一時的に無効にしちまってからインストール作業をするけど、
管理者権限の許可タブをクリックするだけの作業なんてダルくも何ともないです

314 :名無し~3.EXE:2018/05/25(金) 18:42:28.03 ID:UZq3szMi.net
>>313
複数のアプリでセットアップ対象も複数なら自動化したくもなる

315 :312:2018/05/29(火) 05:56:14.67 ID:nN10UnwP.net
>>312
pwsh内で配列とかで処理するようだけど、現段階で使い方が理解できませんでした

Excelに$tantoを書いて、Excel内でvlookupした結果をまた$tantoに格納してExcelに戻す

というまったくスマートじゃない方法でひとまず解決しました

316 :名無し~3.EXE:2018/05/30(水) 07:00:02.32 ID:ikGg5OeV.net
>>285-286
便乗質問ですけど、任意のディレクトリ内の複数のpdfについて、pdfを開いてから見られるプロパティのフォント(の埋め込み)情報をまとめて取得したいと思ってます。
そのようなコードあったら教えてもらえませんか?

317 :名無し~3.EXE:2018/06/06(水) 19:51:41.56 ID:V2kD667a.net
Rename-Itemで角括弧入りのパスを扱うときは-Literalpathをつけるといいってのは調べるとすぐにわかったんだけど、
角括弧入りの名前を付けたいときはどうすればいいの?

録画ソフトでとった番組ファイルをスクリプトで圧縮するときに、一旦仮の名前にリネームしてから圧縮後のファイルに後で戻したいんだけど
番組名によってはエラーになってしまうんで困った。

318 :名無し~3.EXE:2018/06/07(木) 01:48:41.78 ID:huRT3aDs.net
普通に付けられたけど
Get-Item .\てすと.txt|Rename-Item -NewName [てすと].txt

319 :317:2018/06/07(木) 11:51:15.21 ID:zxI/55w1.net
>318
ごめん、確かにできるね。
"?"のほうがいかんかったみたい。
"?"がまたどうにもならんね。

320 :名無し~3.EXE:2018/06/07(木) 11:57:00.47 ID:huRT3aDs.net
>>319
?は*と同じくファイル名には付けられないよ
dos時代からね

321 :317:2018/06/07(木) 12:52:15.71 ID:zxI/55w1.net
>>320
なるほど!
すっきりしたよ。ありがとう

322 :名無し~3.EXE:2018/06/07(木) 17:22:15.61 ID:H/J7BD2K.net
ファイル名には、\/:*?"<>|は使えんから

323 :名無し~3.EXE:2018/07/06(金) 22:52:21.91 ID:r/Oj5gf4.net
ROBOCOPY /MIRの動作をPowerShellで簡単に実現できますか?
ROBOCOPYコマンドを起動した方が良いですか?

324 :名無し~3.EXE:2018/08/13(月) 00:20:52.66 ID:8r/BQxE/.net
全能かつ最速のコマンドだからな

325 :名無し~3.EXE:2018/09/04(火) 21:30:48.97 ID:k1q5Zsyf.net
過疎ってるなあ(゚Д゚)

もうこのスレ↓に合流でよくね?

【最強CUI】PowerShell -Part 2
https://mevius.5ch.net/test/read.cgi/tech/1480109402/

326 :名無し~3.EXE:2018/09/19(水) 00:40:24.41 ID:D4+9bSu2.net
grepやless、viなんかに相当するコマンドって追加された?

以前触った印象だとpowershell割りと嫌いじゃないんだけど、
CLIで完結できますみたいな方向性じゃないのか今一歩使えない
あくまでインタフェースの提供って位置付けなのかな

327 :名無し~3.EXE:2018/09/19(水) 10:20:27.29 ID:T31r/wsV.net
慣れたものが一番。
それ以上の発展性はないけど、単純に文字列として扱うだけならgrepでいいと思う。
餅は餅屋かな。

328 :名無し~3.EXE:2018/10/26(金) 22:52:31.04 ID:ycf96mFL.net
>>325
この板にあったwshスレの後継だし
全然プログラミングやらない人のためにも必要

329 :名無し~3.EXE:2018/11/01(木) 18:53:29.67 ID:3h1bngrh.net
まあ、神奈川県があれば静岡県もある、でも合併しない。
共産党があれば立憲民主党もある、でも合併しない。
立正佼成会があれば創価学会もある、でも合併しない。
幼稚園があれば保育園もある、たまに合併する。

そんなものと思えば。

330 :名無し~3.EXE:2018/11/05(月) 00:04:59.24 ID:csVuuXHa.net
>>325
そもそも、あちらが過疎ってたせいでこっちに来た私に謝罪を要求します

331 :名無し~3.EXE:2018/11/05(月) 02:56:37.88 ID:IERq+tuG.net
クレクレ君に市民権など無い

332 :名無し~3.EXE:2018/11/10(土) 12:48:20.83 ID:5icWecge.net
Vbsからps1キックは頻繁にやるよね

333 :名無し~3.EXE:2018/11/14(水) 16:33:02.74 ID:+FWMHdao.net
PowerShell で全角文字を入力すると表示がおかしくなる問題について
https://blogs.technet.microsoft.com/askcorejp/2018/11/14/powershell

うんこ

334 :名無し~3.EXE:2018/11/19(月) 13:19:00.20 ID:pvun2YD1.net
./hoge.ps1
powershell -command ./hoge.ps1

上の二種類の起動方法を、hoge.ps1自身の処理において識別することって出来ない?

335 :名無し~3.EXE:2018/11/19(月) 13:25:20.68 ID:UPnMgLGh.net
-ArgumentListつかう

336 :名無し~3.EXE:2018/11/20(火) 10:51:06.70 ID:iiSo2B3C.net
それを使わないのであれば方法はない

337 :名無し~3.EXE:2018/11/21(水) 03:28:15.27 ID:ApFUC+9V.net
>>334
自分のプロセスのコマンドラインを調べるとか。

Get-WmiObject Win32_Process CommandLine -Filter ProcessId=$PID

338 :いらじ:2018/11/21(水) 11:00:37.14 ID:MVXl09AE.net
>>337
解決した!!

339 :名無し~3.EXE:2018/11/23(金) 22:23:40.35 ID:eqxbqaYR.net
powershellからsshできるようになったけど、これって前からだったっけ?
PSVersion 5.1.17763.134

前までできなかった気がしたけど、いつのまにできるようになってたのね

340 :名無し~3.EXE:2018/11/23(金) 22:37:49.55 ID:SiHqoVlE.net
Win10 FCU(1709)からついてる

341 :名無し~3.EXE:2018/11/29(木) 11:05:43.24 ID:t/q4l3wC.net
見てて思ったけど同じps1ファイルを複数実行してるかどうかを把握する方法ってないのかな
コンソール別になるとわかんなくない?

342 :名無し~3.EXE:2018/11/29(木) 11:52:29.70 ID:nIkwABG9.net
二重起動禁止する方法無いか調べて見つけられなくてMutex使った思い出。

343 :名無し~3.EXE:2018/11/29(木) 17:28:10.84 ID:K08+gbG1.net
mutexはリリースを忘れてしまうか、スクリプトがリリース前に中断すると
コンソール閉じない限り状態が保持されてしまわない?

344 :名無し~3.EXE:2018/11/30(金) 06:57:59.40 ID:vzyyPcxV.net
これ使えるんでは?
https://oshiete.goo.ne.jp/qa/8490315.html

345 :名無し~3.EXE:2018/11/30(金) 08:46:09.90 ID:+5lE3DEo.net
泥臭いけど特定パスに排他用のファイルを書き出すという手もある
レジストリでもなんでも排他したい範囲でユニークなリソースを使えば大抵の言語でできる
有効期限等を書き出しておけばロック掛かりっぱなしのトラブルも避けられる

346 :名無し~3.EXE:2018/11/30(金) 18:59:57.55 ID:FZsQ0pAO.net
こんなんでよいのでは

if(Test-Path .\myprocess.pid){
$check_pid = (Get-Content .\myprocess.pid).Trim()
if(Get-Process -Id $check_pid -ErrorAction SilentlyContinue){ exit }
}

Out-File -InputObject $PID -FilePath .\myprocess.pid -Encoding default

Start-Sleep 10

Remove-Item .\myprocess.pid -Force

347 :名無し~3.EXE:2018/12/04(火) 08:31:11.64 ID:VRFgGiux.net
hmm......

348 :名無し~3.EXE:2018/12/05(水) 19:12:22.23 ID:VG4ZlQ88.net
排他ロックファイルは最悪予期しない強制断とかでゴミが残るから
それの対策も必要

349 :名無し~3.EXE:2018/12/09(日) 08:29:49.46 ID:rFuUfK3b.net
powershellで
インターネットのテキストファイルを
ダウンロードしてunix形式からWindows形式で保存したいんですが、bitsadminだとunix形式で保存されて文字列が二重にずれて保存されます。
どうにかならないですか?

350 :名無し~3.EXE:2018/12/09(日) 08:49:02.74 ID:Lq/qEqlG.net
>>349
なんでPowershellを使うか不明だが
落としたテキストをfirefoxで開いてコピペすればいいのでは?

351 :名無し~3.EXE:2018/12/09(日) 08:57:31.20 ID:rFuUfK3b.net
>>350
何個か一気にダウンロードしたいので。
それを4つくらい作って、一つだけunix形式なので
ボタン一発で全部Windows形式にしたいんです。一々サイト開いてコピーより楽なので。
なんでバッチのbitsadminだと無理でしたわ。

352 :名無し~3.EXE:2018/12/09(日) 09:00:38.65 ID:OuEcE1j8.net
コマンドのせいとは思えないんだけれど
手動でダウンロードすると勝手にwindows形式とやらになってるの?

353 :名無し~3.EXE:2018/12/09(日) 09:26:10.82 ID:Kgs4eMQq.net
スクリプトだけでやりたいならダメだけど、nkfとか使って変換しちゃえば。

354 :名無し~3.EXE:2018/12/09(日) 09:32:21.43 ID:Wya97LEU.net
bitsadminはコマンドプロンプト用コマンドで、powershell用ではない。使えなくはないはずだけど。
ダウンロードで文字エンコードの変換というのはできないので、ダウンロードしてから変換すればいいだろう。

355 :名無し~3.EXE:2018/12/09(日) 11:52:20.48 ID:rFuUfK3b.net
ありがとうございます。

356 :名無し~3.EXE:2018/12/15(土) 20:42:52.65 ID:saPBB8dH.net
powershellでダウンロードしたら奇麗にできました。
Unix形式TXTの文字ずれ。

357 :名無し~3.EXE:2018/12/20(木) 22:13:43.08 ID:sKCh2eOD.net
よかったね

358 :名無し~3.EXE:2019/01/18(金) 11:16:53.88 ID:j1eSB9AF.net
powershell でもっと意外なことできないですか?

359 :名無し~3.EXE:2019/01/18(金) 11:28:23.31 ID:bvkgcqeh.net
>>358
Search ・ language:PowerShell language:PowerShell
https://github.com/search?utf8=%E2%9C%93&q=language%3APowerShell+language%3APowerShell&type=Repositories&ref=advsearch&l=PowerShell&l=PowerShell

360 :名無し~3.EXE:2019/01/18(金) 17:24:39.08 ID:j1eSB9AF.net
>>359
ありがとう。

361 :名無し~3.EXE:2019/01/19(土) 15:44:29.96 ID:a4i1OdQO.net
>>358
様々なことができますよ。
私は、データマイニング機能のコマンドレット造ろうと思ってますし
統計のコマンドレット作ったらどれだけ簡単に使えるかと思います。

簡単に言えばパイプでコマンドレットつなげば、統計処理が簡単に行える。
現在はExcelの自動化やってますよ。Access使わないようにしたいので。
さらにインタラクティブにExcel動かせますから(つかえそう)と思って
ます。

362 :名無し~3.EXE:2019/01/19(土) 17:25:52.11 ID:WNouMoAE.net
テトリスの作り方を教えてください。

363 :名無し~3.EXE:2019/01/19(土) 19:13:36.33 ID:FaPJMJmJ.net
>>362
powershell tetris - Google 検索
https://www.google.com/search?q=powershell+tetris

364 :名無し~3.EXE:2019/01/19(土) 20:04:06.43 ID:Ttz01K7b.net
あるんだ

365 :362:2019/01/19(土) 20:24:42.09 ID:9YlTX/mE.net
>>363
冗談で書いたつもりが、あるとは・・・ありがとん。

366 :名無し~3.EXE:2019/01/20(日) 18:06:40.77 ID:cWv/L5uT.net
>>365
だよね

367 :名無し~3.EXE:2019/01/20(日) 20:20:33.05 ID:L6nC9wNj.net
>>361
すごいですよね。時間がモロに短縮できたり。

368 :名無し~3.EXE:2019/01/20(日) 21:16:38.77 ID:WinZ3W5H.net
>>367
そのまま使うのもいいでしょうけど
言語知識あるひとなら、C#でコマンドレット作ると
相当面白いものができると思いますよ。

そのうち、みんなシェアしあうようになるんじゃないかな。
作るのが結構簡単なので。

そうだC#などでなくても、PowerShellでコマンドレット作れたんだった
速度は遅くなるけど。面白いと思う。

369 :名無し~3.EXE:2019/01/21(月) 20:52:18.92 ID:Ma8P/vAK.net
ありがとうございます。

370 :名無し~3.EXE:2019/01/22(火) 11:54:36.71 ID:QBFLvFzq.net
作れない奴に限って面白そうとか言うのは何でだぜ

371 :名無し~3.EXE:2019/01/23(水) 00:06:53.79 ID:Dnxf6H5r.net
批判する人って、ずっと後ろ向きだね

372 :名無し~3.EXE:2019/01/23(水) 00:10:08.83 ID:wyU8kxg4.net
日付が変わるのを待ってたんだろうなーw

373 :誰か助けて下さい:2019/02/12(火) 18:46:50.32 ID:YdRvcbHj.net
PowerShellでデフラグをやるのを作れと言われたのに
ネットで調べても全然分かりません

誰か助けて下さい

374 :名無し~3.EXE:2019/02/12(火) 19:13:30.12 ID:hi8kT0Ei.net
時給三千円で助けてあげます

375 :名無し~3.EXE:2019/02/12(火) 19:26:46.20 ID:bJn13pXb.net
お願いします
後払いでいいですよね
今日中にお願いしますね

376 :名無し~3.EXE:2019/02/12(火) 19:40:32.97 ID:gM6pTQzg.net
>>373
言われたって誰に??

377 :名無し~3.EXE:2019/02/12(火) 20:25:51.39 ID:FsoGCV5h.net
>>373
defrag.exe c:
って書いときゃいいだけ

378 :名無し~3.EXE:2019/02/12(火) 20:41:37.04 ID:vUp/UhSh.net
それだけだと寂しいから
$drive=Read-Host "どのドライブをデフラグしますか?"
defrag.exe $drive+":"

379 :名無し~3.EXE:2019/02/12(火) 20:44:12.31 ID:YdRvcbHj.net
>>376
派遣ITの仕事でパワーシェルでデフラグするのを作る仕事だと言われたのです
言ったのはその派遣会社の先輩です

>>377
一言でいいのでしょうか?
もっと長いものになるのでは?

380 :名無し~3.EXE:2019/02/12(火) 20:46:03.20 ID:YdRvcbHj.net
>>377

PS C:\Users\user> defrag.exe c:
Microsoft ドライブ最適化ツール
Copyright (c) Microsoft Corp.

操作に必要な特権がないため、ストレージ最適化ツールを開始できません。 (0x89000024)

381 :名無し~3.EXE:2019/02/12(火) 20:47:17.42 ID:s9ErKjXr.net
defrag.exe使っていいのかOSのAPI(知らん)使っていいのか.netをこねくり回してどうにかするのか
それくらい確認してから聞け

382 :名無し~3.EXE:2019/02/12(火) 20:47:37.93 ID:YdRvcbHj.net
PS C:\Users\user> $drive=Read-Host "どのドライブをデフラグしますか?"
>> defrag.exe $drive+":"
どのドライブをデフラグしますか?: c
Microsoft ドライブ最適化ツール
Copyright (c) Microsoft Corp.

指定したボリューム パスは無効です。 (0x89000001)

383 :名無し~3.EXE:2019/02/12(火) 20:49:03.31 ID:YdRvcbHj.net
>>381
PowerShellで断片化をどうこうぐらいしか言われていません
というか神ぺらに書いてあっただけで詳細は不明です

まさか、コマンド1つで済む仕事ではないと思います
何しろ数か月かけてやるらしいので、、、

384 :こういうのは違うの?:2019/02/12(火) 20:51:40.69 ID:YdRvcbHj.net
gwmi win32_logicaldisk -Filter DriveType=3 | %{
$drive = $_.DeviceID
$disk = gwmi win32_volume -Filter "DriveLetter='$drive'"
$def = 1 | select Drive,DefragRecommended
$def.Drive = $drive
$def.DefragRecommended = ($disk.DefragAnalysis()).DefragRecommended
$def
} | ft -auto

385 :名無し~3.EXE:2019/02/12(火) 20:51:50.83 ID:s9ErKjXr.net
車輪の再発明とは過酷な

386 :名無し~3.EXE:2019/02/12(火) 20:52:20.56 ID:YdRvcbHj.net
ちなみに私はパワーシェルを勉強し始めてまだ3日です、、、

387 :名無し~3.EXE:2019/02/12(火) 20:54:07.05 ID:YdRvcbHj.net
Drive DefragRecommended
----- -----------------
C: False

これはデフラグいらないってことかな?
本屋でパワーシェルの本を探したけど売っていなくて
結局応用情報用の本を2冊買いました
今回でとって縁を切りたいです

388 :名無し~3.EXE:2019/02/12(火) 20:58:19.65 ID:YdRvcbHj.net
$Servers = "CSEPULTAPU01"

ForEach ($Server in $Servers)
{
$vol = Get-WmiObject -Class Win32_Volume -ComputerName $Server -Filter "DriveLetter = 'c:'"
$res = $vol.Defrag($false)

if ($res.ReturnValue -eq 0)
{
Write-Host "Defrag succeeded."
}
else
{
Write-Host "Defrag failed Result code: " $res.ReturnValue
}
}

389 :名無し~3.EXE:2019/02/12(火) 20:59:48.17 ID:YdRvcbHj.net
というかパソコンではできないけどデフラクコマンド打つわけじゃないような
何とか.ps1ファイルを作って実行するらしいけどよく分からない
まあ給料が出るか分からないけどまあ適当にやるよ

使えないと思われて首になったらなったでいい
どうせ頑張っても前の会社でもひどくいわれるだけだたt

390 :名無し~3.EXE:2019/02/12(火) 21:00:17.76 ID:YdRvcbHj.net
応用情報技術者試験に次で必ず合格します。

391 :名無し~3.EXE:2019/02/12(火) 21:02:32.67 ID:s9ErKjXr.net
そういうとこやぞ

392 :名無し~3.EXE:2019/02/12(火) 21:51:14.18 ID:vUp/UhSh.net
とりあえず、落ち着こうよw
PowerShellだけで、デフラグは出来ないから!
上司はスケジューリング的な事を言ってるんじゃないの?
毎週月曜日にデフラグを実行みたいな・・・・

393 :名無し~3.EXE:2019/02/12(火) 23:25:59.39 ID:2+LsIvwS.net
上司はココを見てるんじゃないの?w

394 :名無し~3.EXE:2019/02/12(火) 23:38:31.61 ID:GJjmS5o6.net
車輪の再発明だとして、ファイルの断片化を見つけたり、それを直したりできるものかね?

395 :名無し~3.EXE:2019/02/13(水) 06:50:35.11 ID:19JCrDsX.net
>>392
多分そうだと思う
デフラグのコマンド打つだけなら、コマンド知ってればすぐ終わるものね
仕様書とナントカとも言っていた

>>393
その可能性はあるけどよく分からないからなあ
今日も出勤したらネットで調べながらいじってはみるけど
その人言葉が足りなくて説明伝わらなかったりするからデフラグだけじゃないでしょう

>>394
デフラグが必要かチェックして
デフラグして
後if文がどうやらと
パワーシェルやったこともないし本屋2件回ったけどそれ関係の本ない
ネットのサイトでちょっとしたコマンドとかは分かったけど
まあいいよ
もしできなくて使えねえって切られてもどうでもいい
何か追い込まれる状況になったら辞めるだけ

396 :名無し~3.EXE:2019/02/13(水) 07:39:55.05 ID:YS3a1QnZ.net
chkdsk c: /fとsfc /scannowもやっとかないと意味ないよって言っとけ

397 :名無し~3.EXE:2019/02/13(水) 14:19:26.84 ID:4N7NRPuB.net
デフラグ必要かどうか以外って何だよ、、、

398 :名無し~3.EXE:2019/02/13(水) 14:31:44.75 ID:4N7NRPuB.net
Win32_Volume Class DefragAnalysis sample using PowerShell

# get volumes on local system
$v = get-wmiobject win32_volume

# Display Number of volumes
"Number of volumes {0}: " -f $v.length

# Now get the C:\ volume
$v1=$v | where {$_.name -eq "C:\"}

# Perform a defrag analysis on the C: drive
"Performing Defrag Analysis"
$dfa = $v1.DefragAnalysis().DefragAnalysis

# Display results
"";"Defrag Results - defrag of C:"
"-----------------------------"

399 :名無し~3.EXE:2019/02/13(水) 14:32:12.16 ID:4N7NRPuB.net
"Average File Size (KB) : {0} KB" -f ($dfa.AverageFileSize/1kb)
"Average Fragments per File : {0} " -f $dfa.averageFragmentsPerfile
"Average Free Space per Extent : {0} " -f $dfa.AverageFreeSpacePerExtent
"Cluster Size (KB) : {0} " -f ($dfa.clustersize/1KB)
"Excess Folder Fragments : {0} " -f $dfa.ExcessFolderFragments
"File Percent Fragementation : {0} " -f $dfa.FilePercentFragementation
"Fragmented folders : {0} " -f $dfa.FragmentedFolders
"Free Space (GB) : {0} GB" -f ($dfa.FreeSpace/1gb)
"Free Space Percent : {0} " -f $dfa.FreeSpacePercent
"Free Space Percent Fragementation : {0} " -f $dfa.FreeSpacePercentFragementaion
"Largest free Space Extent : {0} " -f $dfa.LargestFreeSpaceExtent
"MFT Percent In Use : {0} " -f $dfa.MFTPercentInUse
"MFT Record count : {0} " -f $dfa.MFTRecordCount
"Page File Size : {0} " -f $dfa.PageFileSize
"Total Excess Fragements : {0} " -f $dfa.TotalExcessFragements
"Total Files : {0} " -f $dfa.TotalFiles
"Total Folders : {0} " -f $dfa.TotalFolders
"Total Fragmented Files : {0} " -f $dfa.TotalFragmentedFiles
"Total Free Space Extents : {0} " -f $dfa.TotalFreeSpaceExtents
"Total MFT Fragments : {0} " -f $dfa.TotalMftFragments
"Total MFT Size : {0} " -f $dfa.TotalMftSize
"Total Page File Fragements : {0} " -f $dfa.TotalPageFileFragements
"Total Percent Fragementation : {0} " -f $dfa.TotalPercentFragementation
"Total Unmovable Files : {0} " -f $dfa.TotalUnmovableFiles
"Used Space (GB) : {0} GB" -f ($dfa.UsedSpace/1gb)
"Volume Name : {0} " -f $dfa.VolumeName
"Volume Size (GB) : {0} GB" -f ($dfa.VolumeSize/1gb)

400 :名無し~3.EXE:2019/02/13(水) 14:33:55.10 ID:4N7NRPuB.net
Number of volumes 6:
Performing Defrag Analysis

Defrag Results - defrag of C:
-----------------------------
Average File Size (KB) : 0 KB
Average Fragments per File :
Average Free Space per Extent :
Cluster Size (KB) : 0
Excess Folder Fragments :
File Percent Fragementation :
Fragmented folders :
Free Space (GB) : 0 GB
Free Space Percent :
Free Space Percent Fragementation :
Largest free Space Extent :
MFT Percent In Use :
MFT Record count :
Page File Size :
Total Excess Fragements :
Total Files :
Total Folders :
Total Fragmented Files :
Total Free Space Extents :
Total MFT Fragments :
Total MFT Size :
Total Page File Fragements :
Total Percent Fragementation :
Total Unmovable Files :
Used Space (GB) : 0 GB
Volume Name :
Volume Size (GB) : 0 GB

401 :名無し~3.EXE:2019/02/14(木) 05:07:58.71 ID:pW3gJUcu.net
デフラグのスケジュールとか、対象になるマシン・デバイスを自動的に
洗い出す機能とか、そういうのを期待してるんだろうな。
そんでもって、デフラグ終了情報とかデバイスのエラー情報とかが
一覧で見られる機能。

そんなんかな?

402 :名無し~3.EXE:2019/02/14(木) 12:18:16.27 ID:29pTQgLd.net
要件を口頭で訊きとって紙ペラか課題管理表かRFPを作れ、まずはそれからだ

403 :名無し~3.EXE:2019/02/14(木) 15:58:00.29 ID:IyYS0lNW.net
>>401
そうかもしれない
今はもう応用情報の勉強ばかりです
これが最後のIT資格

404 :名無し~3.EXE:2019/02/14(木) 15:58:28.68 ID:IyYS0lNW.net
>>402
全く不明です

405 :名無し~3.EXE:2019/02/14(木) 18:41:55.75 ID:N4A5e/wB.net
詳細な要件の洗い出しからしないと二度手間三度手間どころではすまんことになりそうな気が
その指示を出した上司に仕様書かかせるなり、自分が仕様書書くために必要な条件聞き出した方がいいと思う
今後のメンテも必要になってくるだろうからドキュメント化しておいた方がいいと思う

406 :名無し~3.EXE:2019/02/14(木) 20:16:57.90 ID:3honVqUa.net
>>405
PowerShellで断片化だとかデフラグだとかアナリシスだとかしか言われていません。

407 :名無し~3.EXE:2019/02/14(木) 20:20:43.25 ID:Dyh5Cvmm.net
そういうとこやぞ

408 :名無し~3.EXE:2019/02/14(木) 22:16:17.50 ID:NX9T4nz0.net
その状況で「やれます」「やりみます」と言ってはいけない。
なんとなく上司も要件をきちんと把握できてないかも臭を感じる。
「要件定義からやりますか?要求や基準はどこに当たればよさそうですか?」からかな…

409 :名無し~3.EXE:2019/02/14(木) 22:16:58.23 ID:NX9T4nz0.net
誤)やりみます
正)やってみます

410 :名無し~3.EXE:2019/02/14(木) 22:29:39.02 ID:Dyh5Cvmm.net
PowerShellよりコミュニケーションを学んだほうがいいやつか。対上司にせよ対スレ民にせよ
上司の話もちゃんと聞いてないようにしか見えん

411 :名無し~3.EXE:2019/02/14(木) 22:42:25.00 ID:6L/lxRf7.net
仕事を進められるか、スケジュールが組めるか、がまず試されてる気がする

412 :名無し~3.EXE:2019/02/14(木) 22:51:21.84 ID:NX9T4nz0.net
なんで急に応用情報の話が出てくるのか、たしかに変

413 :名無し~3.EXE:2019/02/14(木) 22:56:44.95 ID:1nxMakQq.net
言われていませんじゃなくて、おまえが積極的にインタビューするんだよ!!

414 :名無し~3.EXE:2019/02/14(木) 23:55:07.74 ID:N4A5e/wB.net
仕事として言われたなら当然今後の維持・メンテ等も考慮する必要があるはず
ずっと自分が関わっていくなら間に合わせで仕上げてもかまわんかもしれんけどさ

いざ部署異動発令されて急にドタバタしてるところに
移動までに仕様書出してねとか言われるのは嫌だろうし

しかも時間が経ってたりすると自分でも忘れちゃってたりする部分が出てきて
頑張って思い出そうとしたり再度調べたりしなきゃいかんとか嫌すぎる

415 :名無し~3.EXE:2019/02/15(金) 00:00:49.83 ID:2lz5IeDQ.net
つうかなんでスレチのコミュ障の相手をするわけ?
そういうことすると居着くからやめて欲しい

416 :名無し~3.EXE:2019/02/15(金) 00:03:14.60 ID:vhzHWYP6.net
なんか、「ゆとり」を相手してる気分

417 :名無し~3.EXE:2019/02/15(金) 12:05:02.54 ID:2UteMgVo.net
結局自分のことにしか興味なくて相手にどうわかってもらえるかとか考えてないんやろ
そんなん転職してもうまくいかんわ

418 :名無し~3.EXE:2019/02/15(金) 12:36:56.51 ID:aVd4DyH2.net
応用情報ってなにかと思ったら昔の第1種なんだな
俺は第2種をCASLとCOBOLで受験して落ちたぜーw

419 :名無し~3.EXE:2019/02/15(金) 19:03:40.51 ID:NLjT9bRv.net
よくわからないからこういう書き方になっただけ
もう仕事はどうでもいいから応用情報だけ取って引退します

420 :愚者:2019/02/15(金) 20:17:06.90 ID:NLjT9bRv.net
私は能力的にもう無理だ。
頑張っても分からないし、もう衰えているからどうしようもない。
数か月間の小遣い稼ぎだと考えることにする。
4月に受ける応用情報技術者試験で最後にしたい。
パワーシェルはまだまだ全然怪しいが、出勤時は多少は勉強しよう。
自分の給料はいくらになるのだろうか。
最後は裏切ることになるから、それまではおとなしくしておこう。

421 :分かっている情報:2019/02/15(金) 20:28:04.90 ID:NLjT9bRv.net
ディスク断片化監視システムの構築
Windowsサーバのディスク断片化を検知する仕組みの検討、作成、実装
断片化閾値検討、断片化検知PowerShellの作成、テスト
PowerShellを本番機に実装、PowerShell設計
Windowsサーバ構築、JP1/AJS、タスクスケジューラ
サーバ定期点検、リソース状況の分析、障害対応作業、パッチ適用作業
システムの運用保守設計作業、ドキュメント作成
仮想化、VMware、Hyper-V、運用監視ミドルウェア、JP1、
運用設計、アンチウイルス、DeepSecur、バックアップ、ログ
ネットワーク、容量、クラウド上での基盤構築

422 :名無し~3.EXE:2019/02/15(金) 20:30:35.28 ID:NLjT9bRv.net
もう無理、分からない、やめた、あきらめた。

423 :名無し~3.EXE:2019/02/15(金) 20:38:03.75 ID:j8wVMPz+.net
>>418
第1種ってもう20年近く前になくなったぞ

424 :名無し~3.EXE:2019/02/15(金) 21:49:19.69 ID:2UteMgVo.net
やっぱ自分のことしか興味ない無能だったか

425 :名無し~3.EXE:2019/02/16(土) 06:57:43.63 ID:LsbqAd0w.net
>>421
それが上司がくれた「紙ペラ」のメモなら、色々要件が書いてあるじゃないか。
しきい値やログ、チェック頻度をどうするかの発案〜検討〜調整が含まれる、スケジュール化はタスクスケジューラとAJSどちらかを選べる、発報先はJP1なんだろうな

426 :名無し~3.EXE:2019/02/16(土) 12:35:50.08 ID:z1mzoEDi.net
だからなんでキチガイに触るかな
そんなに背景読み取れる俺様凄いをしたいわけ?

427 :名無し~3.EXE:2019/02/16(土) 12:37:25.79 ID:iYAjWdwV.net
おもちゃだし

428 :名無し~3.EXE:2019/02/16(土) 16:19:37.62 ID:LsbqAd0w.net
>>426
おまえの快不快なぞ知ったことか、嫌ならあぼんしとけ

429 :名無し~3.EXE:2019/02/16(土) 19:54:49.59 ID:8q5tbxC2.net
誰もここにパワーシェルのスクリプトを書いてくれない、、、
もう諦めました
どうせ数か月で辞めるからどうなってもいいです

430 :名無し~3.EXE:2019/02/16(土) 19:59:46.09 ID:rpRWgtNA.net
ここは人生相談スレではありませんよー

431 :名無し~3.EXE:2019/02/16(土) 21:12:18.80 ID:v0pP4Pkd.net
PowerShell使ってみようかと思ったんだけどコマンド操作だけじゃ使い難くてしょうがないな
昔のMSDOSみたいにFDとかFILMTNとかDOSShellみたいなユーティリティーは無いのかこれって?

432 :名無し~3.EXE:2019/02/16(土) 21:14:11.60 ID:y0jzp2G1.net
ユーティリティが使いたければ普通にGUIアプリを起動すればいいのでは?

433 :名無し~3.EXE:2019/02/16(土) 21:59:00.27 ID:A3dBKsen.net
>>431
http://egg.5ch.net/test/read.cgi/software/1438212926/

434 :名無し~3.EXE:2019/02/16(土) 22:05:42.06 ID:iYAjWdwV.net
>>431
CUI時代の化石の話はやめるんだ

まあPowerShellでやると冗長な操作もあるしそういうのは従来のコマンド使ってねって感じで割り切って作られてる

435 :名無し~3.EXE:2019/02/16(土) 22:20:23.90 ID:rpRWgtNA.net
俺が初めて触ったOSは・・・MS-DOS3.0なりー

436 :名無し~3.EXE:2019/02/16(土) 22:46:15.87 ID:+6J02nBw.net
>>431
海外にはあるようなので、ネットで探ってみて

437 :名無し~3.EXE:2019/02/17(日) 07:20:36.83 ID:Tn49iS6c.net
Powershellを始めてまだ数日
実際に何日やっているかもよく分からない
最大でも6、7日かな
コマンドもまだ覚えきれていない
シャットダウンとかも見ながらやっていた
ただ、Stop-Computer -Force、とようやく覚えられたぐらい
はっきり言って、現場に入っても使えねえ扱いされる可能性がかなり高い
だけど、それでもいい
今回は数か月間お金を稼げればいい
自分が正社員じゃなかったり、今月の給料が出ない可能性もあるし
何せいくら給料が出るのかも分かっていない
それでもおそらくこれがIT業界で最後の仕事になるでしょう
ここを最後にITとは縁を切ります
さようなら

438 :名無し~3.EXE:2019/02/17(日) 09:26:58.78 ID:VW3RmfVp.net
自分の受けた仕事をここに丸投げしようって腹が気に食わない

439 :名無し~3.EXE:2019/02/17(日) 09:31:58.12 ID:Y3AFxqCj.net
軽自動車ですら運転したことのない奴に大型ダンプを運転させるようなことを、なぜこの業界はやるんだろうな。
そんな馬鹿の面倒を見させられる現場の人が可哀想でならない。

440 :名無し~3.EXE:2019/02/17(日) 10:15:06.09 ID:Z/CbK8Ep.net
とりあえずPowershellのコマンドを全部覚える必要はないw

441 :名無し~3.EXE:2019/02/17(日) 16:35:33.72 ID:RtSYoy8+.net
psのコマンドレットは割と糞だらけだから.NETの呼び方覚えた方が捗る

442 :名無し~3.EXE:2019/02/18(月) 03:04:44.32 ID:itgKw2Ze.net
>>437
二度と戻ってくんな

443 :名無し~3.EXE:2019/02/18(月) 07:20:02.48 ID:kHOXHbqh.net
>>438
何日もネットで色々調べて分からないから追い込まれてここで聞いただけです。
もうどうでもいいです。
どうせ6月で辞めます。
色々お世話になりました。
さようなら。

444 :名無し~3.EXE:2019/02/18(月) 07:40:20.03 ID:MXp34NQB.net
数ヶ月の仕事をここで書いてもらうってさすがに無理だろ
大抵の見積もりでは、一人月1000〜2000ステップはいるぞ

445 :名無し~3.EXE:2019/02/18(月) 19:16:24.18 ID:YGHde/52.net
要件不明瞭で丸投げされてもどんなプロでも正答はできない(の割に色々なアドバイスはきちんとした)。
これでなにも答えてないというなら今すぐ仕事を降りろ。迷惑だ。

446 :名無し~3.EXE:2019/02/18(月) 20:04:35.73 ID:kHOXHbqh.net
もう分からないから諦めました。
コマンド1つでも書き込んでくれた方はありがとうございました。
私はもう辞めることを決意致しました。
やれるだけのことを頑張って、怠けていると暴言を受けるでしょうね。
今までお世話になりました。
さようなら。

447 :名無し~3.EXE:2019/02/18(月) 20:36:37.89 ID:itgKw2Ze.net
さよならは一回にしろ

448 :名無し~3.EXE:2019/02/18(月) 20:51:18.85 ID:YU8smDds.net
さよならは別れの言葉じゃなくて〜 再び会うための遠い約束ぅ〜

449 :名無し~3.EXE:2019/02/18(月) 21:42:29.74 ID:YGHde/52.net
うわごとの様に同じ事を繰り返し書きつつ、その自覚もなさそうだ。
お前さんは健常な判断力を失ってしまった精神が病気の状態
なにはともあれきちんとした精神科でカウンセリングを受けること

450 :名無し~3.EXE:2019/02/18(月) 22:07:32.58 ID:kHOXHbqh.net
そりゃ病むよ
頑張っても分からない
頑張った結果、受けるのは暴言のみ
能力は低いけど調べても何をすればいいのかよく分からない
だけど別に駄目なら辞めればいいだけ
1社面接の予定も入れてみた
同日にもう1社は入れるか考えたけど多分入れない
一応、可能な限りはやってみることにした
ただし、優先するのは応用情報技術者の勉強
これを取って二度とSEはやらない

451 :名無し~3.EXE:2019/02/18(月) 22:39:55.12 ID:MXp34NQB.net
>>450
まず第一にやることは上司と相談すること
自分が何を悩んでいるのか話してみること

452 :名無し~3.EXE:2019/02/18(月) 23:07:45.51 ID:qZVr8HQy.net
相手をする奴がいるから湧いてくるってことに、なんで気づけないのかな。
馬鹿なのかな。

453 :名無し~3.EXE:2019/02/19(火) 08:00:21.83 ID:Bsq0JYb4.net
普通でまともなコミュニケーション出来ないかぎり、できる仕事は限られる。
ライン作業や清掃員とかなら何とかなるかな

454 :名無し~3.EXE:2019/02/19(火) 08:39:05.44 ID:WAPnjgmb.net
刺身の上にタンポポをのせる仕事
コミュ障のキミにマジおすすめ

455 :名無し~3.EXE:2019/02/19(火) 08:43:43.59 ID:orkkiAq8.net
2019年2月に入社しましたが
面接の時に社長に言われた新人でもできる仕事というのが嘘でしたし
給料も入社月には出ないし
PowerShellをネットで検索しても良い情報が少なく
どうすれば良いのか分からないです
おそらく頑張ってもできるようにならないでしょう
だから残り62日間は応用情報技術者試験のことだけを考えます
昨日で今の会社を退職する決意をしました
だから残り数ヶ月で今の人達全員と縁を切るわけですから
どう思われても構いません
どうせどんなに頑張っても無駄で怠けている扱いを受けて
使えないと暴言を受けて追い込まれるだけでしょう
会社の先輩も人間的に嫌いですしもうどうでもいいです
一応多少PowerSherrをやりながら応用情報技術者の勉強の方を重視します

456 :名無し~3.EXE:2019/02/19(火) 08:44:37.03 ID:orkkiAq8.net
これのここの部分が分からないのですがと質問できるレベルならば
単純にそれをグーグルで検索すればいいだけです
どうせ聞いても無駄です

457 :名無し~3.EXE:2019/02/19(火) 09:46:23.82 ID:UJcmYeJD.net
応用情報持っててもあまり意味ないのは内緒だよ・・・

458 :名無し~3.EXE:2019/02/19(火) 09:47:55.77 ID:NM2dSu6J.net
すんません、教えてください。
Edgeを自動操作することはできるのですか?
フォームに名前や数値を記入し、ボタンを押すなどということはできるのですか?

UWSCでIEを操作しているのですが、そのかわりに使えないかと思っているのです。
よろしくお願いします。

459 :名無し~3.EXE:2019/02/19(火) 12:24:58.99 ID:qpDcR3ih.net
>>455
コミュ障は一生苦しめ

460 :名無し~3.EXE:2019/02/19(火) 15:32:20.39 ID:gFEo6pqc.net
>>455

>PowerShellをネットで検索しても良い情報が少なく
>どうすれば良いのか分からないです

先に『何をやるかがあって、そこでPowerShell使う』これが先にないと
良い情報とか有りえないですよね。
何見ていいいかすらわからなくなっちゃう。

461 :名無し~3.EXE:2019/02/19(火) 19:49:25.88 ID:orkkiAq8.net
powershellってできると仕事あるの?

462 :名無し~3.EXE:2019/02/19(火) 19:50:30.47 ID:qpDcR3ih.net
>>461
ここはお前の日記じゃない
Twitterでやっとけ

463 :名無し~3.EXE:2019/02/19(火) 19:53:44.82 ID:orkkiAq8.net
何をやるのかとか分からん

464 :名無し~3.EXE:2019/02/19(火) 20:08:58.54 ID:OcrPyPiO.net
何かを始めるのにはまずはネットとかから2、3サンプルを拾って
自分の環境で実行してフィーリングをつかむ事でしょうね
その後に何かの課題を自分で見つけてググりなからでも実行しながら身に付けていくといいでしょう
検証作業をしなからじゃないと何でも身に付きませんよ
その内に各コマンドのパラメーター内容も理解出来るレベルになるでしょう

465 :名無し~3.EXE:2019/02/19(火) 20:41:23.32 ID:fZL0V8Co.net
まずはdefrag.exeがあるシステムフォルダのパスを取得してみましょう。

466 :名無し~3.EXE:2019/02/20(水) 00:37:44.52 ID:3/eG/oJG.net
>>458
非対応

467 :名無し~3.EXE:2019/02/20(水) 01:25:01.72 ID:fzjEixCY.net
>>461
すくなくとも、今はないですね。
利用価値がないのではなくて、仕事出す方が利用価値をしらないから

将来的には十分あると思う。
でも「PowerShell使えるひといますか〜?」ではなくて
パッケージ的に、特殊なコマンドレットなどをつくって商売にする
という形なのではという気がしている。
あくまで、気がしているだけですけど。

468 :名無し~3.EXE:2019/02/20(水) 04:06:46.36 ID:kL+iscah.net
独学で何を学べば仕事があるんだろう?
PHPかな?

469 :名無し~3.EXE:2019/02/20(水) 05:59:37.60 ID:3/eG/oJG.net
>>468
何を作るかで必要な言語が見えてくる。ー

470 :名無し~3.EXE:2019/02/20(水) 08:02:40.03 ID:8gx6ml8L.net
AzureAD、Office365を使うなら(Office365についてはGraphの使いこなしも必須)。バッチやVBSの代替としても必須。
「Powershellが出来る」だけではなくPowershellも活用し、なんの業務をしてたか?がスキルとなる。
基本的にはインフラ屋のスキル要素

471 :名無し~3.EXE:2019/02/20(水) 12:47:12.63 ID:2+LdtX85.net
powershellはロードが重いからログイン時に何かさせようとするとワンテンポ遅れてしまうね。
C#で組むかな。

472 :名無し~3.EXE:2019/02/20(水) 12:49:44.11 ID:abjwc/Od.net
俺はログインスクリプトは、WSHで間に合うならjscriptを使うな

473 :458:2019/02/20(水) 14:09:45.72 ID:KPvHZt6S.net
>>466
どうもありがとうございました。

474 :名無し~3.EXE:2019/02/20(水) 19:35:13.54 ID:kL+iscah.net
パワーシェルしかやっていないがよくわからない

475 :名無し~3.EXE:2019/02/21(木) 07:52:40.65 ID:jz9jUuUj.net
>>471
必要になったところだけC#と組み合わせができるのが
PowerShellの良いところでもあるんで、いいんでない?

476 :名無し~3.EXE:2019/02/21(木) 08:29:45.92 ID:ZDMXUNKk.net
趣味プログラミングでPowerShell使ってるけど、
ドキュメントとか解説サイトがC#/.NET知ってる前提みたいなのが多くて大変
英語圏のサイトにはお世話になる

477 :名無し~3.EXE:2019/02/21(木) 09:56:36.63 ID:wDhBJKGq.net
PowerShellで内容のあることやろうと思ったら.NETは必須でしょ
言語仕様の知識だけじゃどうにもならん

478 :名無し~3.EXE:2019/02/21(木) 17:41:07.78 ID:VRhCNnd1.net
>>476
あ、一緒です。
英語不得意なのに、向こうのサイトにお世話になってる。

日本は管理用ばかりみたいに使ってるけど
向こうはいろいろあって、アプリ的な利用もされているんで
面白い。

479 :名無し~3.EXE:2019/02/21(木) 19:47:45.31 ID:sE83ZWfR.net
誰か断片化が10%以上ならデフラグを行うスクリプトを書いて下さい

danpenkacheck.ps1とかで

480 :名無し~3.EXE:2019/02/21(木) 22:19:27.26 ID:VRhCNnd1.net
if($断片化率 -ge 0.1){やれ-でふらぐ}

481 :名無し~3.EXE:2019/02/21(木) 22:27:55.19 ID:OTgULFaH.net
defrag.exeを -a -v で起動してその結果をパイプで受け取れば良いんじゃね?

482 :名無し~3.EXE:2019/02/22(金) 01:49:29.53 ID:17OreaUW.net
>>479
format c: /x /p:10

483 :名無し~3.EXE:2019/02/22(金) 06:05:38.96 ID:0Wo4HfV4.net
ありがとうございます。

484 :名無し~3.EXE:2019/02/22(金) 06:07:34.65 ID:0Wo4HfV4.net
if($断片化率 -ge 0.1){やれ-でふらぐ}
defrag.exe -a -v
format c: /x /p:10

485 :名無し~3.EXE:2019/02/22(金) 06:08:56.98 ID:0Wo4HfV4.net
PS C:\Users\user> if($断片化率 -ge 0.1){やれ-でふらぐ}
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

486 :名無し~3.EXE:2019/02/22(金) 06:10:19.72 ID:0Wo4HfV4.net
PS C:\Users\user> defrag.exe -a -v
Microsoft ドライブ最適化ツール
Copyright (c) Microsoft Corp.

操作を実行するボリュームを指定してください。 (0x89000007)

説明:

システムのパフォーマンスを向上させるため、ローカル ボリューム上の
ファイルを最適化します。

構文:

487 :名無し~3.EXE:2019/02/22(金) 06:11:07.24 ID:0Wo4HfV4.net
PS C:\Users\user> format c: /x /p:10
アクセスが拒否されました。十分な特権がないか、ディスクが別の
プロセスによってロックされている可能性があります。
このユーティリティの実行は管理者特権モードで起動する必要があります。
また、ディスクのロックが解除されていることを確認してください。
ダイレクト アクセスのためにボリュームを開けません。

488 :名無し~3.EXE:2019/02/22(金) 06:12:44.38 ID:0Wo4HfV4.net
初期化?

489 :名無し~3.EXE:2019/02/22(金) 06:13:28.36 ID:0Wo4HfV4.net
もう自分のパソコンではやりません

490 :名無し~3.EXE:2019/02/22(金) 06:14:12.99 ID:0Wo4HfV4.net
私は消えます
さようなら

491 :名無し~3.EXE:2019/02/22(金) 06:35:19.70 ID:Zhs2xqDZ.net
ITエンジニアは知らない知識にぶつかった時調べる能力がないとやれない。
今回の例ならエラーメッセージをそのまま""で囲ってググればいくらでも対処例が見つかる
そんなこともできなくなったなら自分が異常だと認めるしかない。
病院へ行け、いますぐ一線を退け。

492 :名無し~3.EXE:2019/02/22(金) 08:11:32.56 ID:/kBDopWG.net
こいつはさすがに愉快犯だろ…
あるいはPoweshellで書かれた高度AIかもしれない
サヨナラ
サヨナラ
サヨナラ

493 :名無し~3.EXE:2019/02/22(金) 11:49:50.02 ID:cSuhhUMp.net
海外のスクリプトを検索してたらヒントありそう。

494 :名無し~3.EXE:2019/02/22(金) 13:29:30.69 ID:t55yZR+R.net
>>490
エンジニアやめろ

495 :名無し~3.EXE:2019/02/22(金) 14:04:37.58 ID:xD80k1B1.net
冗談ならさておき何も考えずにformatコマンド流しちゃうようなのは困るわw

496 :名無し~3.EXE:2019/02/22(金) 14:14:37.22 ID:nVI91hYl.net
>>495
初心者がやったとしてもCドライブである限りロックされていて不可能だから被害はない
やるとしたら回復環境を起動したコマンドプロンプトで実行しない限り無理です

497 :名無し~3.EXE:2019/02/22(金) 14:27:54.37 ID:YA7/0zA/.net
Cドライブフォーマットが駄目でもファイル全消去ならイケるのか

498 :名無し~3.EXE:2019/02/22(金) 15:58:50.56 ID:xD80k1B1.net
>>496
何も考えずに流しちゃうのは困るでしょ
仮にシステムドライブ以外だった場合どうなるのかと
基礎的な知識くらい持った上でやらんとあかんってこと

499 :名無し~3.EXE:2019/02/23(土) 04:27:07.25 ID:gUjvH24Q.net
中傷IT企業に入社してネットで色々調べながらやってもいるけどどうしてもわかりません
というか要件を聞いて何をすればいいのかもわかりません
この分だと使えないときられるでしょう
そう言われても頑張ってもどうしようもないので困っています
ITには向いていないのにITにしか採用されないなんて

500 :案件概要:2019/02/23(土) 04:31:24.56 ID:gUjvH24Q.net
案件 ディスク断片化監視の構築

作業内容
Windowsサーバのディスク断片化を検知する仕組みの検討、作成、実装
・断片化閾値検討
・断片化を検知するPowerShell作成、テスト
・PowerShellを本番機に実装

スキル
・PowerShell設計、作成
・Windowsサーバ構築
・JP1/AJS、タスクスケジューラ

501 :名無し~3.EXE:2019/02/23(土) 05:46:39.44 ID:uCNVwd7x.net
お前は壊れた蓄音機か?飽きたよ

502 :名無し~3.EXE:2019/02/23(土) 06:02:40.60 ID:FeRZp+El.net
>>499
介護職は求人たくさんあるよ

503 :名無し~3.EXE:2019/02/23(土) 06:14:21.96 ID:eKMsl66/.net
日立と関わると碌なことがない。バグ多すぎ

504 :名無し~3.EXE:2019/02/23(土) 07:36:24.53 ID:gUjvH24Q.net
powershellの本自体が複数の本屋を見たけど売ってなかった
アマゾンで評判を見たら結局スマホで調べたとか感想があったりで
本も役に立たなそうなのと結局あまり使われていないスキルってことか
時間がかかり過ぎているとか言われているけどどうすればいいか分からないから
このまま止まっているだけになってしまう
これはやれるわけないってのが正直な感想だな
それでも一応は考えるけど必要な情報もなくてどうしろというんだか
逆に優秀だったら今の中小ITには来なかったのは明白なんだよなあ
育てれば使えるようになるかもしれない人材を会社はどうするんだろうね

505 :名無し~3.EXE:2019/02/23(土) 07:50:02.49 ID:gUjvH24Q.net
for文の意味から分かっていない

for($i=0; $i -le 10; $i++) {
"カウンター : $i"
}


# 実行結果

カウンター : 0
カウンター : 1
カウンター : 2
カウンター : 3
カウンター : 4
カウンター : 5
カウンター : 6
カウンター : 7
カウンター : 8
カウンター : 9
カウンター : 10

506 :名無し~3.EXE:2019/02/23(土) 07:51:11.15 ID:N6yy/uLH.net
もうこない、もう書き込まない、2月で止めるからどうでもいいって何度繰り返してるんだよ
個々はあんたが愚痴を書き込んだりあんたの愚痴を聞いたりするところじゃないの
職歴にしたいのならLinkedInにでもアカ作って書き込んでなさいな

507 :名無し~3.EXE:2019/02/23(土) 07:53:11.51 ID:gUjvH24Q.net
今はこれを1回試しただけ

応用情報の過去問を印刷して
それに答えを書き込んでいます

ITは嫌でやりたくないけど

508 :名無し~3.EXE:2019/02/23(土) 07:59:36.98 ID:gUjvH24Q.net
>>506
2月ではやめないよ
少しは様子を見るし
今は早く帰れるからリハビリ扱いにしている

509 :名無し~3.EXE:2019/02/23(土) 08:00:43.75 ID:gUjvH24Q.net
コボラーになるかな
COBOLが人気ないなら
それを覚えて
運用保守でも監視でも何でもいい

510 :名無し~3.EXE:2019/02/23(土) 08:00:58.01 ID:gUjvH24Q.net
さようなら、消えます。

511 :名無し~3.EXE:2019/02/23(土) 08:09:02.26 ID:uCNVwd7x.net
>>505
勿論わかるが教える気はない。
理由は>>491

512 :名無し~3.EXE:2019/02/23(土) 08:23:57.55 ID:hmhZPG3S.net
そのわかんないというのは、
PowerShellが分からないんじゃなくて、やり事柄の知識
いわば業務知識のひとつだな。
断片化などの意味と、そちらを調べだすユーティリティーなどの知識
そして、それが業務や経営に与えるコストのインパクト。
そういった知識ががないという話ですね。

それがあれば、言語は何使ってもいいし、PowerShell使うときには
PowerShellの何を覚える必要があるかは、自ずとわかってくる。

513 :名無し~3.EXE:2019/02/23(土) 08:33:00.43 ID:N6yy/uLH.net
>>505を見るにPowerShellうんぬん以前の問題だし
これ分からんかったらPowerShellどころかおそらくどの言語でもダメだろうに

514 :名無し~3.EXE:2019/02/23(土) 08:56:41.47 ID:MxlQU8k7.net
育てれば使えるようになるかもしれない人材という自己認識があるのかいな
悪いこと言わないからCOBOLを含めてITは全部もう手を出すな
さっぱり向いてないことに頑張っても現に辛いだけだろ
給料安くても日光のもとで体動かす仕事がメンタルにもいいぞ
資格の勉強より筋トレをしろ

515 :名無し~3.EXE:2019/02/23(土) 09:29:33.39 ID:OD5ltYr+.net
>>510
おまえ現実での人の対応もこの掲示板の連中に対する対応と同じだろ
死んだほうがいいぞ

516 :名無し~3.EXE:2019/02/23(土) 12:26:33.14 ID:8s7uNhcR.net
ネタだろ、いい加減スルーしなよ…

517 :名無し~3.EXE:2019/02/23(土) 12:55:37.04 ID:i2OjNRY0.net
バブルの頃は入社して変数とは?から教えてくれる会社があったけど
今はある程度知識がないと厳しいんじゃね?さすがにfor文ぐらいは理解してないと厳しいよ

518 :名無し~3.EXE:2019/02/24(日) 08:55:28.51 ID:aefqZ4Z/.net
>>500
検索したらヒントはあるけど、スクリプトを書くしかない。
断片化を表示するコマンドはありますねw

519 :名無し~3.EXE:2019/02/24(日) 08:58:28.77 ID:aefqZ4Z/.net
Optimize-Volumeかな。

520 :名無し~3.EXE:2019/02/25(月) 17:19:46.44 ID:1rNinhts.net
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\user> Optimize-Volume

コマンド パイプライン位置 1 のコマンドレット Optimize-Volume
次のパラメーターに値を指定してください:
DriveLetter[0]:

521 :名無し~3.EXE:2019/02/25(月) 17:21:51.03 ID:1rNinhts.net
PS C:\Users\user> Optimize-Volume C
Optimize-Volume : Access denied
Activity ID: {bca1b272-eaf1-4a38-88ce-09620bbb75b7}
発生場所 行:1 文字:1
+ Optimize-Volume C
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Optimize-Volume], CimE
xception
+ FullyQualifiedErrorId : StorageWMI 40001,Optimize-Volume

522 :名無し~3.EXE:2019/02/25(月) 17:24:01.43 ID:1rNinhts.net
Optimizes a volume.
音量を最適化します。

523 :名無し~3.EXE:2019/02/25(月) 17:25:10.74 ID:1rNinhts.net
This example reports only the current optimization state of drive H.
この例では、ドライブHの現在の最適化状態のみを報告します。

524 :名無し~3.EXE:2019/02/25(月) 17:26:11.54 ID:1rNinhts.net
This example defragments drive H.
この例は、ドライブHを最適化します。

525 :名無し~3.EXE:2019/02/25(月) 17:27:51.69 ID:1rNinhts.net
各ドライブにデフラグが必要か調べる

wmi win32_logicaldisk -Filter DriveType=3 | %{
$drive = $_.DeviceID
$disk = gwmi win32_volume -Filter "DriveLetter='$drive'"
$def = 1 | select Drive,DefragRecommended
$def.Drive = $drive
$def.DefragRecommended = ($disk.DefragAnalysis()).DefragRecommended
$def
} | ft -auto

この構文を解釈すると何か変数に色々入れている

526 :名無し~3.EXE:2019/02/25(月) 17:28:59.55 ID:1rNinhts.net
PS C:\Users\user> wmi win32_logicaldisk -Filter DriveType=3 | %{
>> $drive = $_.DeviceID
>> $disk = gwmi win32_volume -Filter "DriveLetter='$drive'"
>> $def = 1 | select Drive,DefragRecommended
>> $def.Drive = $drive
>> $def.DefragRecommended = ($disk.DefragAnalysis()).DefragRecommended
>> $def
>> } | ft -auto
wmi : 用語 'wmi' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください

発生場所 行:1 文字:1
+ wmi win32_logicaldisk -Filter DriveType=3 | %{
+ ~~~
+ CategoryInfo : ObjectNotFound: (wmi:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

527 :名無し~3.EXE:2019/02/25(月) 17:30:56.90 ID:1rNinhts.net
断片化の閾値をいくらにするかとか
断片化が何%か確認するパワーシェルが分からない

528 :名無し~3.EXE:2019/02/25(月) 17:37:52.45 ID:BeZqf10z.net
defrag.exeが断片化率を返してくれるだろー

529 :名無し~3.EXE:2019/02/25(月) 18:25:53.74 ID:mGWul0mf.net
検索したら出てくるよw

530 :名無し~3.EXE:2019/02/25(月) 18:35:11.55 ID:RHzOJyNQ.net
AIぽいなあ、無脳な感じ

531 :名無し~3.EXE:2019/02/25(月) 20:11:40.23 ID:zGI2gYsM.net
自己学習でどうにもならんならどっかの企業教育受講しに行くしかなかろうて
5ちゃんねるは無料サポートの場じゃないんだぞ

532 :名無し~3.EXE:2019/02/25(月) 21:41:58.58 ID:cT2DcQ4V.net
そもそも質問になってない

533 :名無し~3.EXE:2019/02/25(月) 23:12:34.61 ID:7HXzrn7C.net
手取り足取り無料サポートしたとしても伝わる相手だとは思えない
上司を言葉足らずなところがあると評したように、分かるように教えてくれないと恨まれる未来しか想像できない

534 :名無し~3.EXE:2019/02/25(月) 23:41:41.78 ID:JlR53Zhq.net
黙ってNGに入れなよ...
なんで相手するんだよ

535 :名無し~3.EXE:2019/02/26(火) 03:55:06.23 ID:Q5cdFZjA.net
wmiなんていうコマンドレットあったっけ?

536 :名無し~3.EXE:2019/02/26(火) 04:17:07.09 ID:yK4eAVBj.net
>>528
どうもです
断片化率が返っていたのですか

>>535
ボリュームの情報を取得するエアしいです
エイリアスです

537 :名無し~3.EXE:2019/02/26(火) 04:19:33.72 ID:yK4eAVBj.net
>>512
何も分からないですね
スクリプトの構文も読めないですし
こういうのを解釈してくれるサイトでもあれば良いのですが

538 :名無し~3.EXE:2019/02/26(火) 06:41:15.39 ID:YBYo/GxK.net
サヨウナラ モウキマセン

539 :名無し~3.EXE:2019/02/26(火) 07:22:04.70 ID:cK1egCXn.net
自演乙

540 :名無し~3.EXE:2019/02/26(火) 08:16:32.85 ID:yK4eAVBj.net
「誰か断片化を検知するパワージェルを教えてください

541 :名無し~3.EXE:2019/02/26(火) 09:34:55.15 ID:72e00Vrl.net
まじでAIが書き込んでるんだなw

542 :名無し~3.EXE:2019/02/26(火) 10:29:06.79 ID:0eriGBUE.net
>>525はワザとかコピペミスか知らんが先頭の一文字が欠けてるだけ

543 :名無し~3.EXE:2019/02/26(火) 16:41:31.63 ID:tB7ZwevW.net
>>536

エイリアスといったって、
エラーに『そんなのないよ〜』って出てるけど

544 :名無し~3.EXE:2019/02/26(火) 17:47:14.85 ID:Q6hCtS3W.net
>>537
自分であれこれやって分からんのだったら自費なり会社に金出してもらうなりして
企業がやってるPowerShellの教育受講してこいよ
そこで教わって分からんところは徹底的に聞けば良かろう
ここでいつまでもグダグダやられたって迷惑だって言われてるの分からんのか?

545 :名無し~3.EXE:2019/02/26(火) 19:30:20.04 ID:yK4eAVBj.net
PS C:\Users\user> gwmi win32_logicaldisk -Filter DriveType=3 | %{
>> $drive = $_.DeviceID
>> $disk = gwmi win32_volume -Filter "DriveLetter='$drive'"
>> $def = 1 | select Drive,DefragRecommended
>> $def.Drive = $drive
>> $def.DefragRecommended = ($disk.DefragAnalysis()).DefragRecommended
>> $def
>> } | ft -auto

Drive DefragRecommended
----- -----------------
C: False

546 :名無し~3.EXE:2019/02/26(火) 19:30:50.14 ID:yK4eAVBj.net
PS C:\Users\user> gwmi win32_logicaldisk -Filter DriveType=3


DeviceID : C:
DriveType : 3
ProviderName :
FreeSpace : 98662301696
Size : 158981132288
VolumeName : Windows

547 :名無し~3.EXE:2019/02/26(火) 19:32:03.85 ID:yK4eAVBj.net
PS C:\Users\user> gwmi win32_volume -Filter "DriveLetter='C:'"

548 :名無し~3.EXE:2019/02/26(火) 19:35:25.16 ID:yK4eAVBj.net
PS C:\Users\user> 1 | select Drive,DefragRecommended

Drive DefragRecommended
----- -----------------

549 :名無し~3.EXE:2019/02/26(火) 19:42:24.00 ID:iErWChds.net
Yahoo!知恵袋で聞きなさい

550 :名無し~3.EXE:2019/02/26(火) 19:43:23.56 ID:YBYo/GxK.net
謹んでお断りします(カテゴリマスター一同)

551 :名無し~3.EXE:2019/02/26(火) 19:53:07.17 ID:yK4eAVBj.net
駄目だ
全然分からない

552 :名無し~3.EXE:2019/02/26(火) 19:55:15.86 ID:72e00Vrl.net
教えて!gooで聞きなさい

553 :名無し~3.EXE:2019/02/26(火) 20:11:05.02 ID:yK4eAVBj.net
考えても分からないから寝ます

554 :名無し~3.EXE:2019/02/26(火) 20:19:06.98 ID:yK4eAVBj.net
俺は頭が悪い
ITの仕事は向いていない

555 :名無し~3.EXE:2019/02/27(水) 06:50:01.71 ID:s7LjWErQ.net
MSのコミュで聞けよなw

556 :名無し~3.EXE:2019/02/28(木) 13:08:16.64 ID:5QdsQpj0.net
>>545
これでいいやん。デフラグが必要ならtrueで。

557 :名無し~3.EXE:2019/02/28(木) 13:27:13.28 ID:x9vCzteq.net
>>556
たった数行で6月までの仕事なのか
楽でいいな

558 :名無し~3.EXE:2019/02/28(木) 15:31:00.44 ID:LpMa7Djn.net
意地でも他人にやらせたいんだなw
変な努力w

559 :名無し~3.EXE:2019/02/28(木) 15:54:17.50 ID:00M3WBW/.net
俺がやってやるから8月まで待ってくれよん

560 :名無し~3.EXE:2019/02/28(木) 15:59:42.18 ID:6AQTYdf/.net
上司から課せられた真の業務命令はいかに他人に無償でプログラムを書かせるかという課題であった

561 :名無し~3.EXE:2019/02/28(木) 19:26:37.32 ID:4EJElWyL.net
ここでグダグダ質問するよりはMicrosoftコミュニティでやった方が有益だと思うんだがな
モデレーターもいるし
 https://social.technet.microsoft.com/Forums/ja-JP/home?forum=powershellja
それでも仕事の丸投げは給料もらう資格ないだろう

562 :名無し~3.EXE:2019/03/01(金) 00:08:58.72 ID:Re6fU0ke.net
>>554
書いてやるから50万円でどうよ

563 :名無し~3.EXE:2019/03/01(金) 20:19:11.99 ID:Jvd5Kzuo.net
仕様も固めず金額提示w 漢だねぇぇ

564 :名無し~3.EXE:2019/03/01(金) 21:31:35.88 ID:uMQt0tKa.net
ちな6ヶ月の案件やでw

565 :名無し~3.EXE:2019/03/01(金) 21:45:25.36 ID:RgfkeCRi.net
1日作業に決まってるやろ

566 :名無し~3.EXE:2019/03/01(金) 23:08:00.51 ID:OEUE9mXX.net
一人月 40〜100万ぐらいが普通だぜ

567 :名無し~3.EXE:2019/03/01(金) 23:21:15.21 ID:Jvd5Kzuo.net
納期まで言い切った
これ無能君の上司動き始めてるだろw

568 :名無し~3.EXE:2019/03/02(土) 00:15:55.38 ID:nKWtDj33.net
50万で奴隷が買えるチャンスか…

569 :名無し~3.EXE:2019/03/02(土) 13:07:35.87 ID:5nABq//y.net
いまは重さで料金を決めるのが一般的
200グラム1000円とか

570 :名無し~3.EXE:2019/03/02(土) 14:51:36.17 ID:hN3W+im6.net
ドキュメント、粘土板に象形文字で書いてもいいんかね?

571 :名無し~3.EXE:2019/03/03(日) 01:44:39.39 ID:RW/LR3pt.net
ハングルでなければOK

572 :名無し~3.EXE:2019/03/13(水) 11:56:21.03 ID:t5zX8lgW.net
ショートカットキー Alt + F4 で窓が閉じないのです 他に方法ありますか?
Windows10です

573 :名無し~3.EXE:2019/03/13(水) 18:01:22.87 ID:kVeea7g0.net
あります

574 :名無し~3.EXE:2019/03/13(水) 20:29:14.37 ID:cL6PjqAT.net
stap細胞は?

575 :名無し~3.EXE:2019/03/14(木) 08:39:32.64 ID:lIJfLU80.net
あれはあってもなくても良かった
メディアが話を大きくして死人がでたが

576 :名無し~3.EXE:2019/03/14(木) 12:04:41.95 ID:U32uZnnj.net
「あの日」では数千万円の印税でぼろ儲けさせて戴きました

577 :名無し~3.EXE:2019/03/15(金) 06:09:05.69 ID:sc5Cwzyu.net
エクスプローラーやアプリをダークテーマにする操作をpowershellで出来ますか?
ちなみに10の1809です

578 :名無し~3.EXE:2019/03/15(金) 07:59:05.39 ID:PAHvcWEs.net
対応するレジストリがわかれば多分

579 :名無し~3.EXE:2019/03/15(金) 11:42:52.49 ID:Birl3qtp.net
コメントでエラー出ることある?

580 :名無し~3.EXE:2019/03/15(金) 22:37:57.09 ID:tWQpl9to.net
>>578
レジストリスレに行くほうが早い?

581 :名無し~3.EXE:2019/03/15(金) 23:12:21.50 ID:nNg5UOGk.net
How to Enable Dark Theme on Windows 10 - Appuals.com
https://appuals.com/how-to-enable-dark-theme-on-windows-10/

$keys = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize', 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize'
$keys | Where-Object{-not (Test-Path $_)} | Foreach-Object{New-Item $_}
$keys | Foreach-Object{New-ItemProperty $_ 'AppsUseLightTheme' DWORD 0}

かな

582 :名無し~3.EXE:2019/03/15(金) 23:17:26.67 ID:nNg5UOGk.net
位置パラメータじゃなかった

$keys = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize', 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize'
$keys | Where-Object{-not (Test-Path $_)} | Foreach-Object{New-Item $_}
$keys | Foreach-Object{New-ItemProperty $_ 'AppsUseLightTheme' -PropertyType DWORD -Value 0 -Force}

でいけるはず(作成済みの場合は上書き)

583 :名無し~3.EXE:2019/03/16(土) 01:18:00.54 ID:MExpZE4E.net
>>582
ありがとうございます

584 :名無し~3.EXE:2019/03/16(土) 19:05:11.02 ID:9k/WeBm+.net
「PowerShell」がトップ50入り、OSS化で開発者の人気上昇--TIOBE指標
https://headlines.yahoo.co.jp/hl?a=20190316-35134226-zdnet-sci
やったぜ

585 :名無し~3.EXE:2019/03/18(月) 08:59:46.01 ID:pzO9dcYx.net
PowerShellのソースを隠蔽するのにいい方法ってないですか?

PS2EXEでexe化するという方法もあるけど、これだと引数の引き渡しができないですよね。

586 :名無し~3.EXE:2019/03/18(月) 11:26:21.72 ID:BMUPdgvs.net
PowerShellは使い捨てかプロトタイプ作成用じゃないの?
隠したいならC#とか使いなよ

587 :名無し~3.EXE:2019/03/18(月) 19:57:36.84 ID:He0vrYzT.net
>>586
答えられないなら黙ってればいいだけ

588 :名無し~3.EXE:2019/03/18(月) 20:54:53.49 ID:yZK32vBB.net
>>585
「引数の引き渡しができない」って、引数を受け取るようなスクリプトをexe化してもexeが引数を受け取ってくれないってこと?
PS2EXEは試してないけど、PS2EXE-GUIだと引数受け取るサンプルがあって動いたよ。
https://gallery.technet.microsoft.com/scriptcenter/PS2EXE-GUI-Convert-e7cb69d5
PS2EXE-GUIも簡単にデコンパイルできてしまうので厳格な隠蔽にはならないみたいだけど、用途によってはこれで十分だよね。

589 :名無し~3.EXE:2019/03/18(月) 23:32:50.27 ID:pzO9dcYx.net
>>588
そーなんです。
PS2EXEでサンプルプログラム組んだんですが、引数を単なるパラメータとしか認識してくれず・・・

PS2EXE-GUIは開発がストップしているらしくノーチェックでしたが
リンク先の情報いけそうですね!ありがとうございます!

590 :588:2019/03/19(火) 00:49:20.55 ID:h3/sDve2.net
>>589
良かった。
ちなみに、PS2EXEが開発ストップして引き継いだのがPS2EXE-GUIだよ。

591 :名無し~3.EXE:2019/03/20(水) 10:35:46.34 ID:nVwmTyB5.net
RuntimeBroker.exeとSecurityHealthSystray.exeがバックグラウンドで動いているのを止めたいのですがどうしたら良いのでしょうか?

592 :名無し~3.EXE:2019/03/20(水) 13:06:19.95 ID:28yolJpL.net
無条件に止めていいのなら
Start-Process powershell -Verb RunAs -Command "Get-Process RuntimeBroker*,SecurityHealthSystray* | % {`$_.Kill()}"

サービスを止めるのならSysInternalsのprocexpとかでそのプロセスのサービス名を調べて
Start-Process powershell -Verb RunAs -Command "Stop-Service `"RuntimeBrokerのサービス名`";Stop-Service `"SecurityHealthSystrayのサービス名`""

スマホから書いてるので試してない

593 :名無し~3.EXE:2019/03/21(木) 01:04:15.06 ID:Ks+4wCr1.net
>>592
ありがとうございます、レジストリをいじっても止まらなかったので試してみます。
後cortanaやedge等アンインストール不可なものはスタートメニューからもピン止めを外せないのですがどうすればよいでしょうか?
アンインストール不可とはいえタスクを切った上でフォルダ名を変更すれば疑似的にアンインストールは出来るのですが・・・

594 :名無し~3.EXE:2019/03/21(木) 04:25:41.76 ID:SnhsJ3nJ.net
それはPowerShellの話からかけ離れてないか?

595 :名無し~3.EXE:2019/03/21(木) 07:36:41.05 ID:Ks+4wCr1.net
>>594
powershellで出来ませんか?

596 :名無し~3.EXE:2019/03/21(木) 09:30:57.39 ID:SnhsJ3nJ.net
PS全く分からず(こう書いたけどうまくいかない等が何もない)
単にCortanaやEdgeのピン止めを外したいというのであれば
Win10の質問スレが妥当なんじゃないすかね

597 :名無し~3.EXE:2019/03/21(木) 14:21:53.15 ID:Ks+4wCr1.net
>>596
それが通常では外せない為強制的に外すしかないんですよ

598 :名無し~3.EXE:2019/03/21(木) 15:18:25.28 ID:SnhsJ3nJ.net
その強制的な手段も含めてOSなりアプリなりのスレでどうぞ

学習コストも支払わずに(少しも勉強せずに)タダでコード書いてもらうスレじゃない
上のデフラグ君といい最近ちょっと目に余る

599 :名無し~3.EXE:2019/03/21(木) 16:13:02.35 ID:Ixe8/NAf.net
関係無い奴が勝手に何か言ってて草

600 :名無し~3.EXE:2019/03/21(木) 16:33:29.49 ID:tydOMfso.net
匿名掲示版で関係者面とか笑わせてくれる

601 :名無し~3.EXE:2019/03/21(木) 16:56:02.25 ID:ORK33F/j.net
いずれにしろこのスレは○○じゃないとか言ってしまうのは不味いよなあ
別にスレチでは全く無いわけだし

602 :名無し~3.EXE:2019/03/21(木) 17:24:30.77 ID:OGPTPOwC.net
そうだね
>>598みたいに親切に解説する必要もなくスレチは放置すりゃ良い

603 :名無し~3.EXE:2019/03/21(木) 17:30:45.64 ID:WecLf5rD.net
まあPowerShellでやれるなら別にスレチでは無いだろ、ちょっと初心者かも知らんが

604 :名無し~3.EXE:2019/03/21(木) 18:03:59.66 ID:7QXwm+Vg.net
これ以上は止めよう
このスレはパワーシェルスレだからそれに関する話題を仲良くやっていこう
勢い皆無のスレで言い争っても益々過疎るだけで何の益もないよ

605 :名無し~3.EXE:2019/03/22(金) 01:04:15.27 ID:2YGjb3ML.net
ここで書くよりはMicrosoft Communityで書いた方が有意な回答得られそうな気がするんだがなぁ

606 :名無し~3.EXE:2019/03/22(金) 04:10:40.14 ID:xSvzogJ4.net
>>603
それを言い出したら何だってスレチじゃなくなってしまうだろ
少しは頭を使えよ

607 :名無し~3.EXE:2019/03/22(金) 06:12:10.70 ID:29IYF8rV.net
2月にダラダラ居座ったメンヘラ丸投げくんのせいで過敏症気味だね

608 :名無し~3.EXE:2019/03/22(金) 07:20:55.59 ID:gpJUCYef.net
たとえばレジストリエディタで一度設定すれば済むような問題で
設定すべき項目と値を教えてくださいという質問だったら
そりゃどんな書き換えもPowerShellでできるけれどもWindowsの質問だわな

609 :名無し~3.EXE:2019/03/22(金) 07:53:52.17 ID:SMFaHues.net
テンプレでも作って誘導するかね

610 :Powershellの質問をしていた者です:2019/03/23(土) 09:14:01.34 ID:bpyNw8+N.net
使えないと思われたのか切られました
今までありがとうございました
さようなら

611 :名無し~3.EXE:2019/03/23(土) 09:59:21.79 ID:IIyTnO79.net
うちの使えない派遣も切られてくれないかなあ

612 :名無し~3.EXE:2019/03/23(土) 11:41:03.24 ID:J7N3elgb.net
>>610
おめでとう!何度目のさよなら?

613 :名無し~3.EXE:2019/03/23(土) 12:31:29.16 ID:hyZj2nHE.net
構うなよ

614 :名無し~3.EXE:2019/03/23(土) 18:15:42.64 ID:ei+l/us2.net
結局2月3月と一切何の仕事もしないで給料貰ったのか
うまいことやったな

615 :名無し~3.EXE:2019/03/23(土) 20:21:44.11 ID:20G++kNG.net
自己都合の退社じゃないなら、失業保険はすぐに貰えるから職安へGO!

616 :名無し~3.EXE:2019/03/23(土) 23:06:52.03 ID:Lo+PrLiN.net
使用期間3ヶ月以内での解雇としてその企業は逃げているんだろうから
本人の保険給付期間が残っていなければ貰えませんね

617 :名無し~3.EXE:2019/03/23(土) 23:13:16.08 ID:KMaeREG3.net
何マジになってんの?w こんな馬鹿が実在するとでも

618 :名無し~3.EXE:2019/03/23(土) 23:14:25.36 ID:IIyTnO79.net
いや、いるんだよ。だからみんな困ってる。

619 :名無し~3.EXE:2019/03/24(日) 00:16:59.20 ID:RfHxfNLV.net
困ったのはいいとして、自業自得な馬鹿のアフターフォローですか??w

620 :名無し~3.EXE:2019/03/24(日) 01:19:40.24 ID:/H51gzag.net
(アフターフォローの意味が分かってない感じの人だが黙っていよう)

621 :名無し~3.EXE:2019/03/24(日) 02:03:13.01 ID:v59bzpoW.net
業務用のコードの丸投げの問い合わせを受け、皆でうんざりしつつ対応したが
結局クビになって問題も霧消したのに、収入の心配をしてあげてることを指しているのだが?

622 :名無し~3.EXE:2019/03/24(日) 02:05:52.09 ID:yJASgsAt.net
馬鹿と言うかアスペルガーだな
結構居るんだよこういう人

623 :名無し~3.EXE:2019/03/24(日) 09:24:10.49 ID:bp0dkWBi.net
>>621
これは思った
もう構わないでくれよと

624 :名無し~3.EXE:2019/03/24(日) 09:27:53.78 ID:bp0dkWBi.net
あんまり構うと気にかけてくれてると感じて近況報告したり次の人生相談を始めかねない
ここPowershellのスレだし正常化してほしい

625 :名無し~3.EXE:2019/03/24(日) 10:50:35.32 ID:jOwuUBkz.net
だから相手するなよ…

626 :名無し~3.EXE:2019/04/09(火) 14:46:41.89 ID:zfEk4Ael.net
PowerShell Core、次のバージョンから「PowerShell 7」に変更
2019/04/09 08:25:56 後藤大地
https://news.mynavi.jp/article/20190409-804804/

Microsoftは4月5日(米国時間)、「The Next Release of PowerShell - PowerShell 7|
PowerShell」において、先日公開したばかりの「PowerShell Core 6.2」について、次の
バージョンはPowerShell Core 6.3ではなく「PowerShell 7」になると伝えた。

大幅な機能変更があるわけではなく、リリースエンジニアリングの変更やプロダクトの
ポジション変更が名前の変更理由になっている。MicrosoftはついにPowerShell Coreで
Windows PowerShellを置き換えていく方向に舵を切り出したようだ。

Windowsには、もともと存在していたWindows PowerShellと、新たにオープンソース・
ソフトウェアとして公開されたPowerShell Coreという2つのPowerShell系実装が存在して
いる。開発の主体はPowerShell Coreであり、さらにその多くがLinuxからのフィード
バックで開発されている。

今回、MicrosoftはこうしたPowerShell Coreで実現された成果をWindows PowerShellに
導入できないと(Windows PowerShellはすでに開発が終了しており、変更の取り込みは
行われない)説明している。

これに対し、PowerShell Coreでの成果をWindowsユーザーにもたらす方法として、Power
Shell CoreをPowerShell 7と名称変更し、従来のWindows PowerShellから置き換えていくと
説明した。最初のレビュー版は2019年5月ごろに公開されると見られる。(後略)

627 :名無し~3.EXE:2019/04/09(火) 15:29:35.07 ID:zfEk4Ael.net
マイクロソフト、「PowerShell 7」を発表--5月にプレビュー版を公開へ
Liam Tung (Special to ZDNet.com) 翻訳校正: 編集部 2019年04月09日 10時11分
https://japan.zdnet.com/article/35135464/

(前略) PowerShellは人気プログラミング言語の指標「TIOBE Index」で3月に初めてトップ
50入りを果たし、45位につけた。その主な理由として、Linuxユーザーの間での人気の
高まりが挙げられる。

 しかし、Windowsユーザーの間でのPowerShell Coreの人気は横ばいであり、およそ1100
万回におよぶPowerShellコマンドの起動回数(テレメトリが無効化されている場合を除いた
統計値)のうち、Windows環境から起動されたものの割合は20%にも満たない。

 Microsoftは、Windows環境での利用をさらに推し進めるという目標の下、「Windows
PowerShell 5.1を完全に置き換える」ためのリリースを計画している。PowerShell 7により、
Windows PowerShellを使用していたユーザーと、他のプラットフォーム上でPowerShell
Coreを使用していたユーザーは、同一の機能を利用できるようになる。

 さらにPowerShell 7によって、現時点におけるWindows PowerShellのモジュールとの
「極めて高い互換性」がユーザーにもたらされるという。(中略)

さらにPowerShell 7では、.NET Coreのサポートライフサイクルと歩調を合わせ、長期
サポート(LTS)リリースと非LTSリリースの双方が用意されるようになる。

 PowerShell 7のプレビュー版は、5月にユーザーに向けてリリースされる見込みだが、
PowerShellと.NET Core 3.0の統合の進捗具合によって実際の日付は変わってくる。
Microsoftによると、.NET Core 3.0の一般提供を開始した後で、PowerShell 7の一般提供を
開始することになるという。

 PowerShell 7は最終的にWindows PowerShell 5.1とともにWindowsに標準搭載されることに
なるが、「Windows 10」や「Windows Server」のどのバージョンからそれが実現されるのかは
まだ明らかにされていない。

628 :名無し~3.EXE:2019/04/18(木) 12:39:54.39 ID:aio0iTA+.net
cpuを制御するコマンドがあればいいね。
95%でタスクを切られたり
1桁に下がるまで全プログラム強制終了とか

629 :名無し~3.EXE:2019/04/18(木) 15:38:56.45 ID:Cz5MaY4F.net
cpuを制御するわけじゃないけど、パフォーマンスを監視して何かするということなら
Get-Counter
を使えば良いんじゃない?

630 :名無し~3.EXE:2019/04/18(木) 15:45:18.65 ID:aio0iTA+.net
>>629
ありがとうございます。
なるほど。

631 :名無し~3.EXE:2019/04/24(水) 15:43:41.50 ID:h4e8/9bh.net
$hoge = 'fuga'
get-ADGroup -Filter * -SearchBase $hoge

みたいに書いても、 $hoge が展開されず、まんま引数 $hoge って文字として扱われるんだけど、

get-ADGroup -Filter * -SearchBase fuga

って感じに展開させるのどうすればいいんだろ

632 :名無し~3.EXE:2019/04/25(木) 00:25:50.26 ID:6t9bg00A.net
実際は{ $hoge } とか '$hoge' みたいなことしてない?

633 :631:2019/04/25(木) 01:04:34.25 ID:ws+GuZqR.net
返事ありがとう。
当然そんなことはしてないし

$hoge = 'fuga'
$hoge
get-ADGroup -Filter * -SearchBase $hoge

みたいに書いて実行すると

fuga
hoge : 用語 'hoge' は、コマンドレット、関数、スクリプト ファイル、または操作可
なプログラムの名前として認識されません。名前が正しく記述されていることを確認し
、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してくださ
い。
発生場所 ***:** 文字:**
+ get-ADGroup -Filter * -SearchBase $(hoge)
+ ~~~~

って表示されちゃうんだ…

634 :名無し~3.EXE:2019/04/25(木) 01:27:11.57 ID:NGX9SRW2.net
>>633
get-ADGroup -Filter * -SearchBase “$($hoge)“
でどうでしょう

635 :名無し~3.EXE:2019/04/25(木) 01:29:50.04 ID:NGX9SRW2.net
>>633
全角になっちゃったのでやり直し

get-ADGroup -Filter * -SearchBase "$($hoge)"
でどうでしょう

636 :名無し~3.EXE:2019/04/25(木) 02:40:24.19 ID:6t9bg00A.net
>>633
おい
$(hoge)ってやってんじゃん
$( )はカッコの中身を実行してその出力を変数として渡すものだから
hogeをコマンドみたいに実行しようとしてそのエラーが出てる

637 :名無し~3.EXE:2019/04/25(木) 08:55:41.14 ID:KkTzmljk.net
アホやw

638 :631:2019/04/25(木) 12:16:05.09 ID:ws+GuZqR.net
皆コメント本当に助かる

>636

そこが一番気になってるんだ

$hoge

って書いてるのに、エラーでは

$(hoge)

として見られてる。こういう風にデフォルトで解釈されるような原因とかあるのかな…

>635

やってみました

発生場所 ***:** 文字:**
+ get-ADGroup -Filter * -SearchBase "$($hoge)"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ですね。変数がやっぱり変数として解釈されてない気がします…

639 :名無し~3.EXE:2019/04/25(木) 18:07:25.96 ID:+xqiglmx.net
そんなら最初に変数として定義しとけばいいんじゃないの

640 :名無し~3.EXE:2019/04/25(木) 18:12:55.88 ID:+xqiglmx.net
途中で「echo」コマンドによる出力をしてみろよ
その後にpauseで一旦止めてな

641 :名無し~3.EXE:2019/04/25(木) 19:31:10.36 ID:ftWC6uvW.net
>>633
とりあえずお前のコピペは信用できないからハードコピー貼れや

642 :名無し~3.EXE:2019/04/25(木) 19:52:37.18 ID:OPjc/N+F.net
hogeが予約語だから変数名に使えないんだろ?

643 :名無し~3.EXE:2019/04/25(木) 21:01:02.20 ID:jjNrDBsF.net
>>642
だったら
$hoge = 'fuga'
の時点でエラーになるだろ

644 :名無し~3.EXE:2019/04/25(木) 22:03:14.86 ID:j9DXhP7/.net
C:\Users\hoge\Desktop\copy.ps1の内容↓

$watchPath = "C:\Users\hoge\Desktop\watch"
$destPath = "C:\Users\hoge\Desktop\dest"

$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = $watchPath
$watcher.EnableRaisingEvents = $true
$action = {
$path = $Event.SourceEventArgs.FullPath
Copy-Item $path $destPath
}

Register-ObjectEvent $watcher -EventName Created -Action $action

while ($true) { Start-Sleep -s 1 }

このファイルを右クリックから[PowerShellで実行]またはバッチファイルから起動した場合、
watchフォルダにファイルができるとDesktopにコピーされます。
VSCodeやPowerShellISEから実行するとdestフォルダにコピーされます。
$actionスクリプトブロックの変数スコープが問題だと思うんですが、
どうすれば前者でもdestフォルダにコピーされますか?

645 :名無し~3.EXE:2019/04/25(木) 22:34:07.80 ID:+xqiglmx.net
基本構成が間違っているのでコピーされませんw

646 :名無し~3.EXE:2019/04/25(木) 23:26:06.56 ID:j9DXhP7/.net
>>645
すみませんPowerShellに不慣れなものでして
どのような構成にすればよろしいでしょうか

647 :名無し~3.EXE:2019/04/26(金) 00:59:18.92 ID:oLcGaGR9.net
そこは調べてから聞きに来ようよ

648 :名無し~3.EXE:2019/04/27(土) 21:12:43.80 ID:4r6JMLi2.net
PSのスクリプトブロックは設計失敗してるからね

649 :名無し~3.EXE:2019/04/27(土) 21:45:05.59 ID:OQwS7PZW.net
>>648
詳しく

650 :名無し~3.EXE:2019/05/05(日) 13:19:35.42 ID:/FGL7lem.net
PowerShell初級者です
コマンド プロンプトから呼び出しできません
ご教示よろしくお願いいたします

コマンドライン
powershell -ExecutionPolicy RemoteSigned -Command $a=New-Object Media.SoundPlayer(`"%SystemRoot%\Media\Windows Error.wav`");$a.PlaySync()

エラー内容
式に終わりの ')' が存在しません。
発生場所 行:1 文字:70

651 :名無し~3.EXE:2019/05/05(日) 15:06:08.29 ID:V9Mn4ykU.net
>>650
ファイル名を括ってるのバッククォート?
シングルクォートで試してみたら?

652 :名無し~3.EXE:2019/05/05(日) 15:38:09.20 ID:/FGL7lem.net
>>651
ありがとうございました。m(_ _)m

653 :名無し~3.EXE:2019/05/05(日) 16:29:42.43 ID:reRjJtYM.net
>>650
とりあえずエラーの直接原因は
SoundPlayer(`" … `");
だろうね
PowerShellのバージョン書いてないけどWindows10とかなら
New-Object Media.SoundPlayer("`%SystemRoot%\Media\Windows Error.wav`");
じゃなくて
[Media.SoundPlayer]::new('%SystemRoot%\Media\Windows Error.wav');
ってやった方がコンストラクタのパラメータの指定がやり易い

654 :名無し~3.EXE:2019/05/13(月) 11:37:59.36 ID:cSkFKVx8.net
バッククォートは、改行継続記号だからね

655 :名無し~3.EXE:2019/05/13(月) 13:05:18.82 ID:+2RZ6jNu.net
え?

656 :名無し~3.EXE:2019/05/13(月) 14:31:39.15 ID:K2CUOEG7.net
>>655
そういうのウザいだけです。
間違ってると思うなら訂正してください。

657 :名無し~3.EXE:2019/05/13(月) 17:23:33.83 ID:Pp/u/N/Q.net
ふぇ?

658 :名無し~3.EXE:2019/05/13(月) 22:05:15.56 ID:7ipEyFOI.net
「powershell バッククォート」でぐぐればすぐに正解が出てくるのに…

659 :名無し~3.EXE:2019/05/14(火) 07:31:44.64 ID:Fo45OQcm.net
ネタのレベルも低すぎて頭痛

660 :名無し~3.EXE:2019/05/18(土) 01:50:21.64 ID:U8N791NH.net
高度なネタを投下してくれる人がキタ

661 :名無し~3.EXE:2019/06/10(月) 08:23:24.86 ID:JGa9Vo88.net
[Regex]::Replace("hoge123","([^ \d])(\d)","$1 $2")

「hoge 123」ではなく「hog 23」になります
ご教示よろしくお願いいたします
PS2.0

662 :名無し~3.EXE:2019/06/10(月) 10:12:30.62 ID:f9e0rl15.net
"$1 $2" は正規表現以前にPowershellとして文字列への変数$1と$2の挿入になるんじゃないか
単引用符にすればいけそう

663 :名無し~3.EXE:2019/06/10(月) 10:14:55.12 ID:8nc5zKUh.net
パターンが悪い。
あと$はエスケープ文字`が要る
パターン…"([^\d]+)(\d)"
置換指定"`$1 `$2"

664 :名無し~3.EXE:2019/06/10(月) 10:43:32.20 ID:JGa9Vo88.net
>>663,662
「$」のエスケープ「`$」で希望動作になりました
ありがとうございました。m(_ _)m

665 :名無し~3.EXE:2019/06/19(水) 19:12:19.32 ID:xK0fxpAY.net
C:\Users\nanashi\Desktop\aaa\bbb
C:\Users\nanashi\Desktop\aaa\ccc
C:\Users\nanashi\Desktop\aaa\bbb\eee
C:\Users\nanashi\Desktop\aaa\bbb\eee\eee01.txt
C:\Users\nanashi\Desktop\aaa\bbb\eee\eee02.txt
C:\Users\nanashi\Desktop\aaa\ccc\fff
C:\Users\nanashi\Desktop\aaa\ccc\fff\fff01.txt
C:\Users\nanashi\Desktop\aaa\ccc\fff\fff02.txt

 こういう階層構造があって。フォルダを再帰的に aaa 直下に平坦に並べたいとします。


ls C:\Users\nanashi\Desktop\aaa -r | ?{$_.PSisContainer} | %{mi $_.FullName C:\Users\nanashi\Desktop\aaa -Force}

C:\Users\nanashi\Desktop\aaa\bbb
C:\Users\nanashi\Desktop\aaa\ccc
C:\Users\nanashi\Desktop\aaa\eee
C:\Users\nanashi\Desktop\aaa\fff
C:\Users\nanashi\Desktop\aaa\eee\eee01.txt
C:\Users\nanashi\Desktop\aaa\eee\eee02.txt
C:\Users\nanashi\Desktop\aaa\fff\fff01.txt
C:\Users\nanashi\Desktop\aaa\fff\fff02.txt

 できました。あとはいらなくなった空のフォルダを消すだけです。

 ワンライナーでも書けて目的も達成できるんですが。この場合ソースパスとターゲットパスを同じにできませんというエラーがでてしまいます。元々 aaa 直下にフォルダがあり、同じフォルダに動かそうとしたせいですね。

 このようなコードをよく使うんですがいつもエラーを無視しています。エラーを回避するために複雑なコードを書きたくないからです。もしエラーを簡単に消せる方法があったら教えてください。

 コード自体になにか問題があれば合わせて教えてください。

666 :名無し~3.EXE:2019/06/19(水) 19:20:51.85 ID:xK0fxpAY.net
あの。大変申し訳ありません。書き込んですぐなんですけど。2文字追加するだけでいけました・・・。

ls C:\Users\nanashi\Desktop\aaa\* -r | ?{$_.PSisContainer} | %{mi $_.FullName C:\Users\nanashi\Desktop\aaa -Force}

667 :名無し~3.EXE:2019/06/20(木) 21:41:58.44 ID:qpv7b6qS.net
>>666
なんだと…ゴゴゴゴゴ

668 :名無し~3.EXE:2019/06/20(木) 21:59:55.69 ID:0MrGFFI/.net
解決策をちゃんと書き残していくのはよい質問者

669 :名無し~3.EXE:2019/07/01(月) 22:02:39.24 ID:gDEDTrjH.net
あるフォルダに
Movie_00_(<肝心のファイル名>).mp3
Movie_01_(<肝心のファイル名>).mp3
Movie_02_(<肝心のファイル名>).mp3
以下続く...


というファイルがあって
このフォルダで
Get-ChildItem | ForEach-Object {Rename-Item -Path $_ -NewName $_.Name.Remove(0, 1)}
これを実行すると
一回目はファイル名の最初3文字が消えて、ie_00_(<肝心のファイル名>).mp3 に
この状態で再度実行すると今度は一文字だけ消えて、e_00_(<肝心のファイル名>).mp3
この状態で再度実行すると今度は二文字消えて、00_(<肝心のファイル名>).mp3
ってなっちゃうんですがなぜでしょうか。


以前この手のファイル名置換はうまくできてたんですけど。
すごくあほな勘違いかミスだと思うのですが
もうずっと考えてもわからないので助けてください。

670 :名無し~3.EXE:2019/07/01(月) 22:16:02.19 ID:gDEDTrjH.net
>>669 ですが、
Get-ChildItem Movie* としてフィルタをかけた状態でやったらうまくいきました。

どうして?

671 :名無し~3.EXE:2019/07/01(月) 23:28:00.47 ID:uIgvbVot.net
Forループの途中で名前が変わってるのがミソ
ループの列挙子が_A〜Za〜zの順にファイルをピックアップする
Mで始まるファイル名を一通り拾って置換した後
置換後の名前はoで始まるから同じループ内で再度ピックアップされてしまう
M, o, v まで文字コード昇順に並んでるから1回のループで1文字ずつ3回置換されてる
次のiはvよりも若い文字だからもう走査済みなのでそこで止まる

672 :名無し~3.EXE:2019/07/02(火) 12:01:04.72 ID:zGMk2kNX.net
おー、そういうことなのか
ありがとう。

単純にファイルのリストを作って次のループに渡すんじゃないのね、
今後もはまることありそうだわ。

673 :名無し~3.EXE:2019/07/02(火) 14:56:54.49 ID:Kl4l2xkx.net
一つのコマンド処理が終わるのを待ってパイプで受け渡してたら
メモリと時間がうなぎのぼりに増えていく

674 :名無し~3.EXE:2019/07/02(火) 16:41:38.54 ID:zGMk2kNX.net
たしかにそうね

675 :名無し~3.EXE:2019/07/02(火) 18:36:27.14 ID:Uygpu8q0.net
psのパイプ考えた奴が素人なだけ

676 :名無し~3.EXE:2019/07/02(火) 21:12:10.39 ID:euC1izTi.net
オブジェクトを渡せるメリットとのトレードオフなので素人ではないよ

677 :名無し~3.EXE:2019/07/02(火) 23:36:37.88 ID:TyEsGTkR.net
いやむしろそれこそがパイプラインだろと
一体誰が素人って話なんだ

678 :名無し~3.EXE:2019/07/03(水) 07:08:43.16 ID:vqsZM7Td.net
たぶんUNIX村からのご出張でしょうな

679 :名無し~3.EXE:2019/08/10(土) 18:26:21.57 ID:PXmhVK7n.net
PwerShellをbuildしようとしてるんだけど
DotNetEventingStrings
がコンテキストに含まれていないと叱られます
これはどのモジュールに含まれてるんでしょうか?

680 :名無し~3.EXE:2019/08/22(木) 23:59:33.45 ID:K+gTDFqX.net
共有フォルダ(\\192.168.0.1\hoge)上でpower shellを動かしたいんだけど
証明書なしだから実行出来ないというエラーが出てしまう

オレオレ証明書での実行の仕方もいまいちわからんのですが
参考なるところ教えてくれませんか
社内で使うとかで、makecert.exeとかは無い状態です
助けてお願い

681 :名無し~3.EXE:2019/08/23(金) 00:23:20.63 ID:ToU/KkwI.net
実行ポリシーは何にセットされてるの?
変えて良いなら変えるのが手っ取り早いと思うけど

682 :名無し~3.EXE:2019/08/23(金) 04:12:52.07 ID:KfhASCfo.net
リモートホスト上で走らせたいのか、クライアント上で走らせたいのか?リモートなら当然認証や権限の問題を適切に処理せんとどうしようもない

683 :名無し~3.EXE:2019/08/23(金) 04:13:47.72 ID:KfhASCfo.net
この辺りでもまず嫁
https://qiita.com/arachan@github/items/707ba05befb2d5a5a81a

684 :名無し~3.EXE:2019/08/28(水) 15:04:43.01 ID:uM4iyLkg.net
Invoke-WebRequest面白いな

685 :名無し~3.EXE:2019/08/31(土) 13:32:42.74 ID:zuKvVwg6.net
すみません
調べても分からなかったのでご教示ください
標準出力をパイプに渡してエラーのみをファイルにリダイレクトということはできるのでしょうか
2> file 1| command
にすればいいんでしょうか?

686 :名無し~3.EXE:2019/08/31(土) 14:04:02.83 ID:oEyca86t.net
よく意味がわからない
パイプはエラーを通さない。通すのは標準出力のみ
エラーをファイルにリダイレクトするには
command 2>a.txt
のようにする

687 :名無し~3.EXE:2019/10/31(木) 16:36:09.47 ID:1dL9U9Hi.net
powershellでcpu100%になれば下げたり何かのタスク終了したりできますか?

688 :名無し~3.EXE:2019/10/31(木) 20:08:36.34 ID:ZCoMddM0.net
何のタスクを終了するんだい

689 :名無し~3.EXE:2019/11/01(金) 01:04:05.26 ID:bczBnfL9.net
たぶんそのような機能はあるはずだが
Windows でその種の機能って実用的な動きしないこと多いしな

690 :名無し~3.EXE:2019/11/01(金) 03:17:42.41 ID:LlYu3Gs5.net
CPU100%だからpowershell動けないんじゃw

691 :687:2019/11/01(金) 06:54:21.70 ID:JtTVcao3.net
ありがとう。なんかアプリでありそうですね。
電源管理で100%押さえれますわ。
60%とかにしときました。

692 :名無し~3.EXE:2019/11/18(月) 16:37:17.68 ID:+tBwWmNo.net
GPOの設定を自動化したいんですけどGPMCとかいうの入れずにやる方法ありませんか?

693 :名無し~3.EXE:2019/11/18(月) 17:35:05.90 ID:+tBwWmNo.net
因みにローカルポリシーです

694 :名無し~3.EXE:2019/11/20(水) 00:30:59.01 ID:ttKyh2AH.net
ポリシーってのはセキュリティ周りのを除けば基本的にレジストリの設定集と思えばいい
逆説的に言えばポリシーで設定されるレジストリ値を設定してしまえばいいだけ

ドメインポリシーみたいな強制性が欲しいとか
そういう管理面での要件があるなら別だけどパンピーなら
該当するレジストリを設定すりゃ間に合うはず

もちろんすべてがすべてそうという訳じゃないが

695 :名無し~3.EXE:2019/11/20(水) 08:42:48.76 ID:Npahp3Lh.net
powershellじゃないけど、LGPO.zipにLGPO.exeってツールが入ってる
https://www.microsoft.com/en-us/download/details.aspx?id=55319

696 :名無し~3.EXE:2019/11/25(月) 12:22:48.13 ID:X35HBkWO.net
powershell v2でテキストの文字列置換する方法教えて
(gc a.txt).replace("aaa","bbb") |Out-File b.txt
ってやるとv3では通るんだけどv2だとエラーになっちゃいました

697 :名無し~3.EXE:2019/11/25(月) 13:12:59.17 ID:pQn0gnzR.net
>>696
エラー内容が「[System.Object[]] に 'replace' という名前のメソッドが含まれない」なら、これ↓じゃない?
https://stackoverflow.com/questions/35641714/system-object-doesnt-contain-a-methodnamed-replace

[IO.file]::ReadAllText('C:\a.txt').replace("aaa","bbb")|Out-File b.txt

698 :名無し~3.EXE:2019/11/25(月) 13:56:46.28 ID:TMBqTvCs.net
>>697
ありがとうございます。
やってみたのですが[IO:file]という型がありませんとか表示されちゃいました
因みにosはwindows2008r2です

699 :名無し~3.EXE:2019/11/25(月) 14:29:40.85 ID:czQcCtPG.net
すみません頭に[System.IO.file]とやったらいけました

700 :名無し~3.EXE:2019/11/25(月) 19:03:30.59 ID:ZKwCtEQv.net
powershell2.0で教えてください
単純にフォルダをネットワークドライブ配下に移動したいのですがいい方法はありませんでしょうか
何故かファイル単位だとうまくいきます
↓な感じです
Move-Item "元ファイル" -destination \\server\log

3.0だと同じ処理をやってもうまくいくのに何故2.0はこんな簡単なことも出来ないのか半泣き状態です

701 :名無し~3.EXE:2019/11/26(火) 03:16:54.86 ID:wx4Gu8qz.net
>>700
どんなエラーが出るとか、どういう結果になったとか書くとアドバイスもらいやすいよ
2.0でも Move-Item -Path "元フォルダ" -Destination \\server\log でOKなはずだけど

Windows Server 2008でもWindows Management Framework 3.0でpowershell 3.0が使えるようになるけど、サーバだと他の影響が怖くて変更しにくいのかな?

702 :名無し~3.EXE:2019/11/26(火) 04:09:29.13 ID:QNi+IjdU.net
-Forceつけてダメだったら
Move-Itemあきらめて
PS> Copy-Item "元ファイル" -destination \\server\log\ -recurse
PS> Remove-Item "元ファイル" -recurse
かな
原因は突き止めた方がいいと思うけど

PS> gi "元ファイル" | % {$_.MoveTo(“\\server\log\“)}
でもダメなんだろうなあ

703 :名無し~3.EXE:2019/11/26(火) 04:14:36.25 ID:QNi+IjdU.net
>>702
スマホから書いたら全角混じっちゃった
失礼

704 :名無し~3.EXE:2019/11/26(火) 09:49:42.59 ID:4PI9QRif.net
>>701-703
ありがとうございます
エラー内容については仰るとおりです
失礼いたしました

なおエラーは↓が出ていました
Move-Item:ソースとターゲットのパスは同一のルートを持たなければなりません。[移動]操作はボリューム間で行えません。

個人的にはpowershellv3を入れないのですが商用サーバーということもありそうも行かず…

頂いた内容でまず試してみます

705 :名無し~3.EXE:2019/11/26(火) 10:20:33.67 ID:issOaB3b.net
>>702
試してみたところcopy-item、remove-itemでうまくいきました!
何故move-item出来ないのか謎ですが一旦これでいきます
ありがとうございました

706 :名無し~3.EXE:2019/11/28(木) 17:33:35.65 ID:UutRgdFV.net
スクリプトで
VPNセッションを張って、opensshでLinuxサーバーにログインしたいんですが、クレデンシャル情報ってどう引き渡せば良いですかね

707 :名無し~3.EXE:2019/11/28(木) 20:18:20.15 ID:EEqVdbvt.net
https://mevius.5ch.net/test/read.cgi/tech/1539074808/

708 :名無し~3.EXE:2019/12/08(日) 14:44:23 ID:a5cF70ci.net
Announcing Windows 10 Insider Preview Build 19037
https://blogs.windows.com/windowsexperience/2019/12/06/announcing-windows-10-insider-preview-build-19037/

Windows PowerShell ISE is now a Feature on Demand (installed by default), and you will see it in the list in Optional Features Settings.

709 :名無し~3.EXE:2019/12/12(木) 13:30:11.50 ID:aITAYOet.net
コマンドプロンプトでcopy /b file1 + file2 out
でバイナリ結合できるけど
Get-Contentではどう頑張ってもできない?
結局cmd /c copy 〜 でやってる

710 :名無し~3.EXE:2019/12/12(木) 19:38:43.11 ID:sSCzuna3.net
copy xcopyをpowershellで完全に置き換えられるレベルまでMSには頑張って欲しかったなぁ

711 :名無し~3.EXE:2019/12/12(木) 19:40:28.67 ID:sSCzuna3.net
いまはxcopyじゃなくてrobocopyだった

712 :名無し~3.EXE:2019/12/13(金) 00:44:59.55 ID:61/cMtkf.net
xcopyで出来るものならxcopy使うけど
なんたってrobocopyとは速さが桁で違ってて比べ物にならない

713 :名無し~3.EXE:2019/12/13(金) 02:45:11 ID:oX7/kGJr.net
>>709
Set-Contentに渡してやればできるけど、遅いからcopyコマンド使った方が良いよ
https://stackoverflow.com/questions/1783554/fast-and-simple-binary-concatenate-files-in-powershell

714 :名無し~3.EXE:2019/12/15(日) 14:46:33 ID:RziicyMo.net
https://www.powershellgallery.com/packages/PowerShell.PowerLibrary.RoboCopyExtension/
https://www.powershellgallery.com/packages/RobocopyPS/
https://www.powershellgallery.com/packages/xRobocopy/

好きなのを使えや

715 :名無し~3.EXE:2019/12/15(日) 15:40:50.15 ID:6n1qFnV/.net
ファイルコピーに野良ライブラリーは使いたくない

コマンドプロンプトからの移行をMSが本気で考えていたならファイルコピー機能はまず最初に実装すべきなのに

716 :名無し~3.EXE:2019/12/15(日) 16:49:07.04 ID:2dlapD2y.net
robocopyをPowershellから実行できるから別にいいや
リッチなコピーコマンドをまた覚えるのも面倒だし

717 :名無し~3.EXE:2019/12/15(日) 21:01:19.10 ID:993qKj4t.net
>>715
「コマンドプロンプトの外部コマンド」じゃなくて「OSに標準搭載されてるコンソールアプリ」だと考えろ
Get-Command xcopyやGet-Command robocopyを実行するとCommandTypeがApplicationになってるんだし

PowerShellは名前の通りシェルであって
シェルからアプリを起動するのを躊躇する理由は全くない

718 :名無し~3.EXE:2020/01/17(金) 15:12:01 ID:MfephBHb.net
えっ、PowerShell 7ってMicrosoft Storeでリリースされるの

https://github.com/microsoft/terminal/pull/4273/files
Windows Terminalのプルリクエストだがそれらしき記述が

719 :名無し~3.EXE:2020/01/18(土) 23:33:35.90 ID:yMfYhX5B.net
>>712
>なんたってrobocopyとは速さが桁で違ってて比べ物にならない
xcopy遅いですよね

720 :名無し~3.EXE:2020/01/21(火) 20:55:28.99 ID:N+THzhgk.net
>>718
そうしたいみたいやね
https://twitter.com/Steve_MSFT/status/1189289649698693121
(deleted an unsolicited ad)

721 :名無し~3.EXE:2020/01/29(水) 13:43:55 ID:UoiiX31V.net
名前にブラケットとか入ってるディレクトリをカレントディレクトリにして
適当なファイルにGet-Item -LiteralPath hogeとかするとObjectNotFoundになる。
内部で絶対パスを生成するときにカレントディレクトリのパスをエスケープしているようだ。
LiteralPath使ってんだから勝手にエスケープすんなやアホか。

722 :名無し~3.EXE:2020/01/29(水) 18:35:57 ID:gR+X94j5.net
新しいクロスプラットフォームの PowerShell をお試しください

723 :名無し~3.EXE:2020/03/05(木) 06:04:09.20 ID:qA02T8pH.net
出たよ〜
https://devblogs.microsoft.com/powershell/announcing-PowerShell-7-0/

724 :名無し~3.EXE:2020/03/05(木) 13:27:47.75 ID:NKnB4YOj.net
Microsoft、「PowerShell 7.0」を一般公開 〜三項演算子やnull結合演算子をサポート
「.NET Core 3.1」ベースとなり、3年間のLTSサポートが付属
ttp://forest.watch.impress.co.jp/docs/news/1238950.html

725 :名無し~3.EXE:2020/03/05(木) 14:31:58.02 ID:89Y2xol1.net
7.0をインストールすると6.xが削除される
https://github.com/PowerShell/PowerShell/issues/12002

726 :名無し~3.EXE:2020/03/05(木) 15:15:40.94 ID:ptslk0x0.net
.net特化型スクリプト言語、って割りきってるのかなとも思ったけど
どうも開発陣はこの言語構文が優れているという信念を持ってるらしい
Python と似た芳ばしさを感じる
あんまり近寄りたくない

727 :名無し~3.EXE:2020/03/05(木) 16:44:58.96 ID:ZUmYtQCW.net
7って管理者モードで起動しているかいないかがコンソールウィンドウのタイトルで分からなくなってる?

728 :718:2020/03/05(木) 18:29:15.54 ID:W833SNVd.net
7.0.0はMicrosoft Storeでのリリースはなしか
7.0.0-rc.3ではGitHubにあった.msixもない

729 :名無し~3.EXE:2020/03/05(木) 19:17:11.27 ID:ULDTTofW.net
フォルダ内のjpgの画像データを一括でリサイズするとき、拡張子をjpegではなくjpgのままで変換したいのですが可能なのでしょうか

730 :名無し~3.EXE:2020/03/05(木) 21:19:48 ID:4HGBQro5.net
>>726
UNIXシェルの構文はもっと糞だけどな

731 :名無し~3.EXE:2020/03/05(木) 21:29:39 ID:oZCxCgVu.net
>>730
正直、余計なことしてない分シェルとしてはUnix シェルの方が使いやすい
言語として貧弱なのはあくまでもシェルが本文と割りきってるからで
言語機能を強化するためにシェルとして分かりにくくなってるPowerShell よりもツールとしては百億倍合理的

732 :名無し~3.EXE:2020/03/05(木) 22:56:25.16 ID:4HGBQro5.net
echoの仕様すら統一できてないくせに合理的だの使いやすいだの
なんのギャグやら

733 :名無し~3.EXE:2020/03/05(木) 23:03:03.44 ID:oZCxCgVu.net
PowerShell のように奇妙キテレツな挙動じゃないからなそこまで実害がないもの

734 :名無し~3.EXE:2020/03/05(木) 23:08:57.04 ID:oZCxCgVu.net
言語としての機能はPowerShell の方が上だよ
でも単純にShell として考えた場合の実用性はbashどころかcshにも劣る

735 :名無し~3.EXE:2020/03/06(金) 01:26:28.91 ID:jImN287F.net
まあ裏返せばCLIの使い勝手しか改善のしようがなくなっちゃっただけなんだけどね
多分10年20年先も*shの読みづらさは変わらんだろうし

736 :名無し~3.EXE:2020/03/06(金) 01:35:46.30 ID:ixGy8d5B.net
読みづらさなんて最初だけ
Unix の世界は慣れれば同じルールで一貫してやっていけるから楽
PowerShell なんてパイプラインの挙動がオブジェクトや文脈で変わりまくって、かなりの経験者でも動かしてみるまでどうなるか予想できないだろ?
Unix ならしばらく勉強すればログから複雑な条件で問題行を抽出するとかできるようになる
同じ期間PowerShell 学習した奴が同じことしようとしたら、自動書式化回避するために丸一日潰すことになる
Unix でせっかく克服した
Multicsのバッドプラクティスを
ご丁寧に復活させようとしてるのがWindows だろ

737 :名無し~3.EXE:2020/03/06(金) 02:31:14 ID:y5VvdGki.net
ということは、もう一回りすれば、良い物ができるかもしれないのだな
トンプソンみたいな人がいれば...だが

738 :名無し~3.EXE:2020/03/06(金) 09:20:28 ID:zWFpYiuw.net
> PowerShell なんてパイプラインの挙動がオブジェクトや文脈で変わりまくって

意味が分からないんで解説お願い

739 :名無し~3.EXE:2020/03/06(金) 13:23:48 ID:TPaDx+gw.net
習うより慣れろですよー

740 :名無し~3.EXE:2020/03/06(金) 19:40:39 ID:yPOAEe0a.net
>>738
わからないから使えてる(気がしてる)んだろう

>>739
そういうのは挙動に一貫性があって言えること
慣れたところでその慣れが極めて局所的にしか役に立たないんじゃたいして役に立たない
MSの製品はアプリもAPI もみんなそう

741 :名無し~3.EXE:2020/03/06(金) 21:24:38 ID:jImN287F.net
デバッグの第一歩がいきなりログ解析じゃ話にならない・・・原始的すぎる・・・

742 :名無し~3.EXE:2020/03/06(金) 22:32:09.32 ID:C1FYBA5E.net
>>736
バカ自慢乙って言えばいいの?

743 :名無し~3.EXE:2020/03/07(土) 01:06:21.98 ID:SPPCIA0K.net
>>742
結局丸一日考えてその程度のことしか言えないのか

744 :名無し~3.EXE:2020/03/07(土) 08:15:52 ID:owgs+MCe.net
>>736
> PowerShell なんてパイプラインの挙動がオブジェクトや文脈で変わりまくって
具体例よろしく
まあ笑える例しか出てこないと思うけどw

745 :名無し~3.EXE:2020/03/08(日) 08:25:49 ID:11hStfxv.net
>>740
一貫性がないのはUNIXシェルだろ
偉そうなこと言うのはechoの挙動くらい統一してからにしろ
何のためのPOSIXなのやら

746 :名無し~3.EXE:2020/03/09(月) 14:43:50.66 ID:Qkj9PMO1.net
>>744
昔外部コマンドをパイプでつないだらバイナリデータが化けてイーッてなった覚えがあるんだけど
あれからだいぶバージョン上がったが、そろそろ直ってる?

747 :名無し~3.EXE:2020/03/09(月) 20:04:54 ID:dakVweva.net
PowerShellでパイプに流せるのはテキストかオブジェクト
バイナリ流すとテキストだと思ってUnicodeに変換しちゃうらしい

748 :名無し~3.EXE:2020/03/13(金) 23:28:06.62 ID:nIU/F4Vd.net
外部コマンド呼んでstderrになんか出るとエラーになるのマジでうざい
cmdletちゃうんやからLASTEXITCODEだけで判断せえよ

749 :名無し~3.EXE:2020/03/14(土) 08:56:25 ID:NwTTFGvN.net
stderrは乱用されすぎなんだよ
PowerShellのWrite-VerboseやWrite-Debugはもっと評価されるべき

750 :名無し~3.EXE:2020/03/14(土) 16:34:52 ID:WddRdAKw.net
Windows10にPowerShell7入れたんだがGet-Clipboardが
The term 'Get-Clipboard' is not recognized...
ってなるんだけどなんで?
ちなみにSet-Clipboardは使えた

751 :名無し~3.EXE:2020/03/14(土) 18:41:13.14 ID:ejLCo26q.net
なんでだろ
gmo "Microsoft.PowerShell.Management" | % exportedcommands
の出力にGet-Clipboardあるか探してみて

752 :名無し~3.EXE:2020/03/14(土) 21:57:17.97 ID:WddRdAKw.net
なんか知らんが今やったら使えた
>>751 のコマンド入れたから?
できなかった時から起動しっぱなしのシェルだからそれぐらいしか考えられない

753 :名無し~3.EXE:2020/03/16(月) 06:47:11.63 ID:lBH3CA1W.net
ここら辺のドキュメントって日本語で存在してないの?
https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_arrays?view=powershell-7

754 :名無し~3.EXE:2020/03/17(火) 09:22:04 ID:PIsPHcEg.net
バージョン2.0用と5.0用でもいいならある

2.0
https://docs.microsoft.com/ja-jp/previous-versions/dd347616(v=technet.10)
5.0
https://docs.microsoft.com/ja-jp/previous-versions/windows/powershell-scripting/hh847856(v=wps.640)

755 :名無し~3.EXE:2020/03/23(月) 18:07:18 ID:5HZDWhkJ.net
& hogehoge.exe 2> "hoge[1].txt"
なんてことをたいんだけど、これだとブラケットをワイルドカード展開しようとしてエラーになる。
[WildcardPattern]::Escape()使うとエラーにはならないけどファイル名にバッククォートが入る。
どうすればいいですか?
もしくはstdoutは捨ててstderrだけパイプラインに流す方法とかありますか?

756 :名無し~3.EXE:2020/03/23(月) 21:59:40 ID:5HZDWhkJ.net
(& hoge.exe 2>&1|?{$_ -is [System.Management.Automation.ErrorRecord]}).Exception|Out-File -LiteralPath 'a[1].txt'
でできた

757 :名無し~3.EXE:2020/03/25(水) 18:25:08.49 ID:EPj3RLn3.net
>>723
キタ━━━━(゚∀゚)━━━━!

758 :名無し~3.EXE:2020/03/25(水) 21:42:59.85 ID:M9ycgz2S.net
6.0以降はWindows powerShellじゃないんだが、このスレで話してもいいの?

759 :名無し~3.EXE:2020/03/26(木) 21:12:24 ID:wQE3Jo9o.net
小声でな

760 :名無し~3.EXE:2020/04/17(金) 16:11:39 ID:PP+Qj0XC.net
外部コマンドの出力をパイプラインでつないでごにょごにょしようとしたら
外部コマンドが終わらないと次の処理に行かないんだが、どういうこと?
MS-DOSに先祖返りしたんか?

761 :718:2020/05/17(日) 10:38:47 ID:lAFdfHmU.net
7.0.1が出て.appxが復活したもののなぜかPreview扱いになってるな
Windows TerminalでもPreviewとみなされてる(アイコンがPreview版)

762 :名無し~3.EXE:2020/05/21(木) 09:21:04.43 ID:UoKRReBv.net
wingetがまだプレビュー版だからでしょ

763 :名無し~3.EXE:2020/05/21(木) 22:29:37.81 ID:RlvGm1Z3.net
ググると文字列は+で繋げるとありますが、
$word="坂本"
echo $word+"竜馬"
だと坂本+竜馬と表示されるのですが?

$word="坂本"
echo $word"竜馬"
だと坂本龍馬と表示される。

764 :名無し~3.EXE:2020/05/21(木) 22:45:36.83 ID:h4O9LWbJ.net
echo ($word+"竜馬")

765 :名無し~3.EXE:2020/05/21(木) 22:53:17 ID:RlvGm1Z3.net
>>764

ありがとうございます。
分かりました。

766 :名無し~3.EXE:2020/06/08(月) 02:51:30.15 ID:OOuazV2u.net
>>763
PowerShell流にやるならechoはいらないので

$word="坂本"
echo $word+"竜馬"
としないで

$word="坂本"
$word+"竜馬"
とすれば望まれた結果になりますよ

767 :名無し~3.EXE:2020/06/08(月) 03:04:57 ID:El1nGlR9.net
>>766
関数でも最後ならreturn要らないの?

768 :名無し~3.EXE:2020/06/08(月) 09:29:28 ID:w7Ay6/d5.net
>>767
要らない
他の言語のように return $a とか書けるけど
$a
return
と同じ意味

769 :名無し~3.EXE:2020/06/08(月) 09:53:04.36 ID:zBhIw9ZE.net
PSでは代入などの文にせずに式を書くだけでコンソールに出るから基本echoは要らない
echoにはおそらく互換性のために、式モードと引数モードというのがあって、引数モードだと引用符が要らない
最初から
echo 坂本竜馬
と書ける
式モードにするなら
echo ($word+"竜馬")
のようにかっこで囲む

>関数でも最後ならreturn要らないの?

最後だけでなく途中に書いた式による出力も全部戻り値としてパイプに渡される
PSにおいてreturnは戻り値を返すというより関数を抜ける役割で使うもの

770 :名無し~3.EXE:2020/06/08(月) 10:05:45 ID:U7pSgye2.net
横だが分かりやすかった。ありがとう

771 :名無し~3.EXE:2020/06/08(月) 12:05:18 ID:3EJC9Znn.net
>>763
で、簡単じゃんと思ってディレクトリもこれで繋がると思ってみたり
ディレクトリはJoin-Path使う罠

772 :名無し~3.EXE:2020/06/12(金) 18:46:33 ID:KimozeVe.net
7.0.2, 6.2.6が出た
7.0.2の.msixは相変わらずPreview版扱い

773 :名無し~3.EXE:2020/06/12(金) 19:10:28.31 ID:jPH83Z/s.net
Previewになってるのは7.1で修正するらしい

774 :名無し~3.EXE:2020/07/28(火) 02:20:27.27 ID:A/z/TC+R.net
Invoke-CommandでリモートPCのGUIコマンドを実行し、かつGUIの出力先を
そのリモート上の任意のセッション(consoleやrdp-tcp)にすることってできますか?

775 :名無し~3.EXE:2020/07/28(火) 19:41:04.50 ID:kJVAdpIi.net
何で出来ると思えるのか聞きたい

776 :名無し~3.EXE:2020/07/28(火) 20:47:46.47 ID:nm0PODKT.net
そのguiアプリがコマンドラインオプションで出力先を指定できる仕組みを持っていればできるんじゃない?

777 :773:2020/07/29(水) 01:30:46.24 ID:esehAF6j.net
ググりまくってようやく答えを見つけました↓
https://serverfault.com/questions/690852/use-powershell-to-start-a-gui-program-on-a-remote-machine

LinuxみたいにXアプリを他ディスプレイに飛ばす(xhostで許可設定して -display :N オプションをつける)
みたいな真似は、やはり仕様上困難のようです。そりゃそうですね。

というわけで、PSToolsのpsexecを使うとやりたいことができました。

@qwinstaで出力したいセッションのIDを調べる
psexec \\リモートホスト -u ユーザ名 -p パスワード qwinsta

A-iオプションにそのIDを指定
psexec \\リモートホスト -u ユーザ名 -p パスワード -i セッションID notepad

(ちなみにOpenGLみたいにローカルのコンソールセッションでないと起動できないプログラムの場合は
事前にtsconコマンドでコンソールセッションをActiveにしておくのが必要です)

778 :名無し~3.EXE:2020/08/02(日) 06:55:32 ID:+/FPdhow.net
Powershellでディレクトリ内も含めてファイル名だけ取得することってできますか?
Get-ChildItemのオプションで-Recursiveと-Nameだとディレクトリ名もついてくる

779 :名無し~3.EXE:2020/08/02(日) 07:03:09 ID:9GFQj2PC.net
Get-ChildItem -Recursive | %{$_.Name}

780 :名無し~3.EXE:2020/08/02(日) 10:22:56.27 ID:bS2jZFLJ.net
Get-ChildItem -Recurse -Name -File

781 :名無し~3.EXE:2020/08/02(日) 13:03:20.34 ID:GfIAh57T.net
最適解は>>780なんだろうけど
いつも Get-ChildItem -File -Recurse | % Name としてしまう

782 :名無し~3.EXE:2020/08/03(月) 08:24:14 ID:/BHUE2Pj.net
ありがとう。結果は
-Nameだとディレクトリ名も入ってしまう
| %Nameだとエラー
|%{$_.Name}だとファイル名のみ表示できた
でした

783 :名無し~3.EXE:2020/08/03(月) 13:17:05.72 ID:v0TeUFwf.net
なんで書いたとおりに試さないの?
%Name でなく、 % の後に空白の入った % Name
% は ForEach-Object の alias だから ForEach-Object Name ってこと

784 :名無し~3.EXE:2020/08/03(月) 13:20:10.33 ID:v0TeUFwf.net
ついでに言っとくと -File がないとディレクトリ名も表示される

785 :名無し~3.EXE:2020/08/03(月) 21:09:15 ID:YtXtnZSj.net
>>783
エイリアスわかんない相手にエイリアスつかっちゃ駄目な奴では

786 :名無し~3.EXE:2020/08/03(月) 22:30:03.43 ID:EF5S+eIw.net
駄目で奴でやんした恐れいりやす

787 :名無し~3.EXE:2020/08/04(火) 06:43:43.33 ID:MkpNDnoz.net
コマンドラインでは gci -File -Recurse | % Name だな
Get-ChildItem なんて補完するのも面倒過ぎる

788 :名無し~3.EXE:2020/08/04(火) 07:23:33.96 ID:54M4vZR5.net
自分用に書き捨てるならそれでいいけどさ

789 :名無し~3.EXE:2020/08/04(火) 08:32:57.63 ID:iEcRf322.net
dirでもlsでもgciでも手になじんてるのでいいよ

790 :名無し~3.EXE:2020/08/04(火) 19:16:34.55 ID:btL6ZsYE.net
Get-ChildItemdirちょー手になじんてる

791 :名無し~3.EXE:2020/08/05(水) 03:05:58.57 ID:MMmEuowj.net
>なじんてる

日本語は馴染んでないようだね
そういう人にしか使えないから、いまいち普及しないんだろうね

792 :名無し~3.EXE:2020/08/05(水) 08:54:13.42 ID:CydBOHs8.net
(あ、揚げ足取り……クスクス)

793 :名無し~3.EXE:2020/08/05(水) 09:50:52.66 ID:prtHLCOk.net
濁点のミスはスマホ入力でよくあるから気にならない
けどGet-ChildItemdirっていうワードが謎で文意がまったく掴めねぇー

エスパーすると本命は、Get-ChildItemと書きたかったけどdirを消し忘れた
対抗は、Get-ChildItem手になじんでる!と言いつつコマンドレット名間違ってましたテヘペロという高度なボケ

794 :名無し~3.EXE:2020/08/06(木) 21:21:27.68 ID:PsWRMYAT.net
必殺技:パワーシェル
効果:使い手を弱らせる

795 :名無し~3.EXE:2020/08/07(金) 21:07:42.66 ID:q0u5BL83.net
私はたかがPowerShellすら使えない無能ですまで読んだ

796 :名無し~3.EXE:2020/08/07(金) 22:01:56.66 ID:TeVat5Ow.net
>>795
お前はWin7環境を強いられている民を全員敵に回した

797 :名無し~3.EXE:2020/08/07(金) 23:42:20.86 ID:RlXUDOl1.net
https://devblogs.microsoft.com/scripting/using-powershell-aliases-best-practices/
Using PowerShell Aliases: Best Practices

798 :名無し~3.EXE:2020/08/07(金) 23:45:45.24 ID:VEWCcMkX.net
コンソールにかき捨てならエイリアスでいいけど
スクリプトになんでもエイリアス仕込む奴のコードは扱いたくない

コードゴルフじゃないんだし

799 :名無し~3.EXE:2020/08/08(土) 06:37:18.63 ID:CWMKjVnz.net
あっっっっっったりまえのことだな

>>797 にもあるけど
>When working interactively at the Windows PowerShell console, the primary purpose is to accomplish something. I want to get the task completed accurately, and timely. I do not want to expend any extra effort to accomplish the task.

こういう時はaliasを使うし、

>On the other hand, when I write a Windows PowerShell script, the purpose is to have something I can use over and over again.
>The goal here is reusability, not speed of development and execution. Therefore, I do not want to use aliases in my script because it hinders readability and understanding.

こういう時はaliasを使わない

gci | ? LastWriteTime -ge 2020/8 | sort LastWriteTime
( gci | ? lastw[TAB] -ge 2020/8 | sort lastw[TAB] )

とか結構使うけど、スクリプトでは絶対こんな書き方はしない

>>787 だって
>コマンドラインでは gci -File -Recurse | % Name だな

と断りを入れてあるんだからaliasの適切な利用だと思う

800 :名無し~3.EXE:2020/08/08(土) 07:09:36.96 ID:BMLdzU/2.net
CodeGolfして

gci | ? L*r*e -ge 2020/8 | sort L*r*e

でも動く

801 :名無し~3.EXE:2020/08/08(土) 07:32:40.43 ID:mkClI8NB.net
(わ、話題そらし……クスクス)

802 :名無し~3.EXE:2020/08/08(土) 08:21:40.63 ID:zjVm3blX.net
(そ、そぼろ状のパスタ……クスクス)

803 :名無し~3.EXE:2020/08/25(火) 10:39:42.29 ID:9opdw73p.net
7.1.0-preview.6
Microsoft Storeに来たな

804 :名無し~3.EXE:2020/09/30(水) 17:09:15.62 ID:Pp8PyF8G.net
7.1.0-rc.1

805 :名無し~3.EXE:2020/10/24(土) 22:37:57.28 ID:3cOi6IwO.net
get-contentもstream対応したのか

806 :名無し~3.EXE:2020/10/28(水) 18:29:04.69 ID:s2QvF4Go.net
VBAとかC#もこの板にスレ立てた方が盛り上がるんじゃないだろうか

807 :名無し~3.EXE:2020/10/29(木) 17:33:25.43 ID:VJkaoY1S.net
>>805
お前は何年前の話をしてるんだよ

FileSystem の Get-Content
https://docs.microsoft.com/ja-jp/previous-versions/windows/powershell-scripting/hh847788(v=wps.640)
-Stream <文字列>
このパラメーターは、Windows PowerShell 3.0 で導入されました。

808 :名無し~3.EXE:2020/11/01(日) 09:15:35.84 ID:kokzTy3K.net
PowerShell単体でBluetooth LEとか変なことやろうとしてるけど、
最後の最後で機器からのNotifyを受け取るのにWindows Runtimeのイベントを扱う必要が出てきて、PowerShellでは対処できそうにないなあ

Windows.Devices.Bluetooth.GenericAttributeProfile.GattCharacteristicオブジェクトのValueChangedイベントをRegister-ObjectEventしようとすると
Windows PowerShell cannot subscribe to Windows RT events.とか怒られる

809 :名無し~3.EXE:2020/11/02(月) 00:38:36.52 ID:5AW4kev1.net
https://i.imgur.com/RQGXW4L.jpg


810 :名無し~3.EXE:2020/11/11(水) 19:20:34.33 ID:NAGZD9bl.net
.NET 5.0が出たってことはPowerShell 7.1の正式リリースももうすぐか

811 :名無し~3.EXE:2020/11/12(木) 06:25:13.28 ID:VIRe1xNI.net
v7.1.0 Release of PowerShell
https://github.com/PowerShell/PowerShell/releases/tag/v7.1.0

812 :名無し~3.EXE:2020/11/12(木) 23:23:07.07 ID:0y4uR1Xi.net
>>811
Microsoft Storeにも正式版が来たな
Previewと共存も可能

813 :名無し~3.EXE:2020/11/12(木) 23:35:51.03 ID:/s5b2lhC.net
>>807
マジだ…知らんったわ
-asbytestreamとか見てあー最近こんなのあるんだ進歩してるなーとか思ってた

814 :名無し~3.EXE:2020/11/17(火) 14:49:55.66 ID:bh4EVKEm.net
ps1を隠蔽化しようと思ったらどうするのがいいんだ
Ps2exeでは簡単にデコンパイルされちゃうのは分かったんだけど

815 :名無し~3.EXE:2020/11/18(水) 01:07:01.76 ID:4kSYCeXk.net
>>814
難読化なら Invoke-Obfuscation ってのがあるよ

816 :名無し~3.EXE:2020/11/18(水) 01:36:33.90 ID:pTgItdzc.net
Invoke-Fusianasan に空目した

817 :名無し~3.EXE:2020/11/18(水) 10:10:00.11 ID:t2T7RWax.net
>>815
サンクス!
こういうのが欲しかった!
これとExe化とか併用したら結構隠蔽力強いかな

818 :名無し~3.EXE:2020/11/18(水) 13:04:55.21 ID:K8HVniJz.net
>>810
iOSやAndroidにも必要になるぞ

819 :名無し~3.EXE:2020/11/18(水) 13:21:34.45 ID:Hazb8mOl.net
devアイコンかわいくなってる!><;
キャー

820 :名無し~3.EXE:2020/11/18(水) 13:22:18.96 ID:Hazb8mOl.net
誤爆です

821 :名無し~3.EXE:2020/11/18(水) 13:51:54.62 ID:K8HVniJz.net
無駄に最新を求めるなら
自力で拾ってくるのが土挫でしょ
https://github.com/PowerShell/PowerShell/releases/tag/v7.1.0

822 :名無し~3.EXE:2020/11/24(火) 11:51:42.95 ID:D/aXRERm.net
Windowsの設定でアプリをリセットできますが、これを行うコマンドはあるのでしょうか?
インストール/アンインストールはAdd/Remove-AppxPackageでできるので、Appx関係を見てみましたが、分かりませんでした

823 :822:2020/11/24(火) 11:54:15.79 ID:D/aXRERm.net
Remove-AppxPackage -PreserveApplicationData
の逆で、設定をクリアしたいと考えております

824 :名無し~3.EXE:2020/11/24(火) 14:08:25.59 ID:s4Fvnkwj.net
ttps://winaero.com/reset-a-store-app-in-windows-10-using-powershell/

825 :名無し~3.EXE:2020/11/25(水) 09:21:30.54 ID:lVO2rDcF.net
>>824
ありがとうございます。
まだ、1909から上げてないので、Reset-AppxPackageがありませんでした。
アップデートするか、別の方法へのリンクもありましたので、そちらも検討したいと思います。

826 :名無し~3.EXE:2020/12/20(日) 15:56:05.78 ID:OHLDSpPN.net
>>278
ぁ..ん覚えやすいなぁ..ん

827 :名無し~3.EXE:2021/01/13(水) 10:43:55.64 ID:ssWbPrOV.net
「ごみ箱を空にする」の自動化はググればけっこう見つかるけど、実際やってみるとCMD窓が出てきてしまう。
これを出さずにサイレントで実行させるショートカットが作りたいんだけどなあ。

828 :名無し~3.EXE:2021/01/13(水) 14:03:52.82 ID:506G5hQz.net
>>827
「powershell window 非表示」とかで検索するといろいろ見つかるよ
WSH経由で実行したり
https://github.com/SeidChr/RunHiddenConsole とか使っても良い
https://mevius.5ch.net/test/read.cgi/tech/1577862511/131-133

ゴミ箱空にするだけなら、nircmdとか使ってもOK
http://www.nirsoft.net/utils/nircmd.html
nircmd emptybin

829 :名無し~3.EXE:2021/01/13(水) 14:38:28.50 ID:ssWbPrOV.net
>>828
前者はVC++の導入が必要ゆえ、少しハードルが高いな。
後者は使いこなせば強力そうだ。チャレンジのしがいがあるな。後者でいってみよう。

830 :名無し~3.EXE:2021/01/20(水) 20:19:51.88 ID:QnHUFl0J.net
今のwin10はcsc.exeが入ってるのでc#のラッパーでもいいと思う
いまどきnetでもたつかないし

831 :名無し~3.EXE:2021/01/28(木) 17:20:35.42 ID:eYITODPd.net
多分C♯より前からあるcsc.exe(chicken scheme compiler)が潰されて困る

832 :名無し~3.EXE:2021/02/01(月) 00:48:25.09 ID:D2HWsHQI.net
Windows10環境で使用しています。
膨大なログファイルから「error」を含む一文と、
| ではじまる一文を抜粋したいので、Select-String を使えばよいということまでわかりました。
Get-Content *.log | Select-String " Error "
でなんとか「error」を含む一文を拾うところまではできました。
その先の2点で詰まってます。

[質問1]
| ではじまる一文をor検索する為、
sls " Error ","エラー","^| " (dir -recurse *.log)
とすると、意図していない大量の文章が抽出されてしまいます。
おそらく "^| " 部分が正しくないと思われますが、
「〜という文字で始まる」という指示がどうすればよいのでしょうか。

[質問2]
・そのままSelect-String をすると、「ファイル名:行番号:検索結果」という表示になってしまいます。

・Get-Content *.log だと検索結果だけが表示されます。
以下のようなイメージで、ファイル名とその検索結果一覧をまとめて表示させたいのすが、可能でしょうか。
(そもそも Select-String では難しいのでしょうか)

---------------------------
File001.log
2021/02/01 なんとかかんとかErrorなんとかかんとか
| なんとかかんとか
| なんとかかんとか
---------------------------
File002.log
2021/02/01 なんとかかんとかErrorなんとかかんとか
| なんとかかんとか
---------------------------

833 :名無し~3.EXE:2021/02/01(月) 04:18:29.50 ID:T1Zj8w2i.net
正規表現のエスケープは\
正規表現使わないなら -SimpleMatch

834 :名無し~3.EXE:2021/02/01(月) 10:03:40.90 ID:Bwk3CIuA.net
正規表現はこんな感じになるかな
sls "¥berror¥b|エラー|^¥| "
結果の書式についてはファイル名や検索結果を変数に入れてifやforで古典的な処理を書けばどうとでもなる

835 :832:2021/02/03(水) 01:23:36.82 ID:vocjpNT8.net
>833さん、834さん
ご返信いただきありがとうございます。
試行錯誤した結果、以下が希望に近くなりそうです。
sls "error|エラー|^\|" (dir -recurse *.log)

書式については、上記の結果に合致するファイル名を変数に入れて・・・
とfor分をまわす感じで、ちと考えてみます。

836 :名無し~3.EXE:2021/02/03(水) 23:47:23.88 ID:RglLxc48.net
バッチにすりゃ済む事なのに手を抜いて一行で済まそうとするから嵌まるのではないのかよ?

837 :名無し~3.EXE:2021/02/05(金) 10:39:22.05 ID:EMbUKf+Z.net
便乗して Select-String について質問よろしいでしょうか
「特定の文言が記録されているtxtファイル」のフルパス一覧を取得したいンですが

sls "error" (dir -recurse *.log)
とすると「パス、行番号、該当の行」が出力されますよね

ここでパスだけの一覧を出力することは可能でしょうか
もちろんバッチでもOKでございます

838 :名無し~3.EXE:2021/02/05(金) 14:42:37.08 ID:aro1iweJ.net
powershellは、iniファイルの中のデータを変数に入れたりとかはできますか?

839 :名無し~3.EXE:2021/02/05(金) 15:00:23.49 ID:BgVRbDRO.net
それなりのコードを書けばできる

840 :名無し~3.EXE:2021/02/05(金) 21:14:42.72 ID:rGMZcztE.net
>>837
こういうこと?
sls "error" (dir -recurse *.log) | Select Path
https://tech.sanwasystem.com/entry/2016/07/05/185717#%E5%87%BA%E5%8A%9B%E3%81%AE%E6%9B%B8%E5%BC%8F%E3%82%84%E5%87%BA%E5%8A%9B%E5%85%88%E3%82%92%E5%A4%89%E3%81%88%E3%82%8B

841 :名無し~3.EXE:2021/02/05(金) 22:00:36.69 ID:5eM8sp0z.net
>>838
powershell iniファイル読み込み
あたりでググれば色々出てくるよ
ちょっと制限あるけど XML に変換しちゃうとかなかなか面白い
http://nmksb.seesaa.net/article/473354419.html

842 :832:2021/02/06(土) 15:21:31.52 ID:6H9y/njQ.net
>834 さんのアドバイスに従って、自分なりにいろいろ試行錯誤してみました。
おそらくあと一歩で理想形になるのですが、躓いてしまっております。

以下の内容で「PS1」ファイルを作成します。
---------------------------
#検索して"error"に合致するファイル一覧を取得し、合致したファイル名を[$fileList]へ入れる
$fileList = Get-ChildItem -recurse | sls -pattern "error" | group path | select name

#ファイル毎にループ
foreach($fileTmp in $fileList)
{
#ファイル名と"error"を含む検索結果を表示する
write-host $fileTmp.Name,(Get-Content *.* -Encoding UTF8 | sls "Error" $fileTmp)
}
---------------------------

[出力結果]
sls : 入力オブジェクトをコマンドのパラメーターにバインドできません。コマンドがパイプライン入力を受け入れないか、または
入力とそのプロパティが、パイプライン入力を受け入れるいずれのパラメーターにも一致しません。
---------------------------

おそらく
(Get-Content *.* -Encoding UTF8 | sls "Error" $fileTmp)
このあたりの処理に問題があると思われるのですが、どのように記載すればパイプライン入力が受け入れられるのでしょうか。

843 :名無し~3.EXE:2021/02/06(土) 15:28:03.59 ID:+mvHMVx7.net
いちど変数に入れたら

844 :名無し~3.EXE:2021/02/06(土) 16:12:04.13 ID:ilEs85Vn.net
パイプで渡したたものが何かを1個1個確認してご覧

845 :名無し~3.EXE:2021/02/07(日) 17:52:05.43 ID:k7li49Gu.net
何がしたいのかよくわからんけど、-InputObjectと-Pathは同時に指定できんぞ
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-string?view=powershell-7.1

846 :832:2021/02/08(月) 01:53:57.41 ID:sIqUTmwm.net
843さん、844さん、845さんありがとうございました。
パイプで渡すのをやめたら、それなりにいい感じになりました。
ここでアドバイスいただいたことはとてもいい勉強になりました。
精進します。

847 :名無し~3.EXE:2021/03/12(金) 11:25:24.84 ID:MaN3miuC.net
Release v7.1.3 Release of PowerShell
https://github.com/PowerShell/PowerShell/releases/tag/v7.1.3

848 :名無し~3.EXE:2021/03/15(月) 17:22:46.94 ID:zIsFGvDo.net
エスケープシーケンスで困ってます
Select-String hoge.txt -Pattern "$hoge2"
などで$hoge2にエスケープシーケンスがあると当然上手く行きません
毎回、関数を作ってエスケープシーケンスを処理してるのですが
上手くくくるなどもっとスマートな方法は無いでしょうか?

849 :名無し~3.EXE:2021/03/15(月) 17:35:32.30 ID:XnNkk8sd.net
>>848
-SimpleMatchオプション付けて文字列にすれば?

850 :849:2021/03/15(月) 17:40:47.01 ID:XnNkk8sd.net
>>848
ごめん変数なんだね
自分で関数作らなくても
$hoge2 = ([regex]::Escape($hoge2))
で正規表現クラスにエスケープさせちゃえばどうかな?

851 :名無し~3.EXE:2021/03/15(月) 18:56:13.63 ID:zIsFGvDo.net
うわお!
こんなのが欲しかったんです
やっぱりこういうスマートなのありますよね
ありがとうです

852 :名無し~3.EXE:2021/03/16(火) 05:17:54.52 ID:Lxpp0/df.net
行を反転させる方法はないですか?
例えば1行目を最後の行に、最後の行を1列目にしたいです
[最大行数..1]
でも出来るのですがもっと綺麗に書けそうなので
よろしくお願いします

853 :名無し~3.EXE:2021/03/17(水) 14:33:50.33 ID:GmCg2Nqw.net
Powershell ver 5.1で動かすスクリプト内の特定のコマンドレットのみPowershell ver 2.0で動かす事は可能でしょうか?
5.1で動かす部分と2.0で動かす部分で変数の受け渡しも必要です。

854 :名無し~3.EXE:2021/03/17(水) 15:05:11.81 ID:Eqyv4TST.net
新しい側でGet-CommandしてDLL属性見てみれば本体のパスは取れる
互換性あるか不明だけどやってみたら

855 :名無し~3.EXE:2021/04/24(土) 17:42:40.42 ID:0C2a1jGq.net
PowerShellから可能なWindows設定の一覧とかどこかにないですかね?
WIndowsのインストール後に行う各種設定を自動化したいです

856 :名無し~3.EXE:2021/04/24(土) 23:54:20.02 ID:YOsQC2W1.net
windowsの設定を直接powershellでイジることは不可能だけどレジストリとかをイジることは可能
というかwindows10の設定同期はマイクロソフトアカウントが1番楽で安心だと思う

857 :名無し~3.EXE:2021/04/25(日) 00:36:44.08 ID:tvBZ2F+P.net
regファイルバックアップのほうが早いと思う

858 :名無し~3.EXE:2021/04/25(日) 10:33:39.72 ID:VN/qcdFW.net
全部の設定が可能だろ
でないとguiなしのwindowsは設定が出来ない

859 :名無し~3.EXE:2021/04/25(日) 10:40:22.74 ID:0kiuHnce.net
具体的に何の設定を移行したいのか「全部」書いてほしいけど
物によってはpowershellでいちいちオブジェクト考慮してやるよりレジストリいじる方向のほうが楽だったりするだろうし、適材適所で

860 :名無し~3.EXE:2021/04/26(月) 04:54:02.64 ID:lL3KV3iE.net
唐突にchdir HKML:してファイルシステムみたいにレジストリ探索できるの楽しい
regeditはインポートエクスポートでカルマが溜まるし、専用cmdletもドライランしなきゃ怖いし
普通のファイルみたいにダンプや検索もできるから、インタラクティブに探索するのが良いと思うよ

861 :名無し~3.EXE:2021/04/26(月) 04:59:57.46 ID:lL3KV3iE.net
linuxから移行した人としては、winは何でも仮想デバイスなのが進んでるなと思いました
unix系では/devが相当するけど、直下にファイルとしてズラリで階層化されてなくて、仮想ファイルでしかない
階層化しないなら、ファイルである意味ってぶっちゃけ無いよね

862 :名無し~3.EXE:2021/04/26(月) 07:57:39.43 ID:DzsdbCEh.net
カルマが溜まる?

863 :名無し~3.EXE:2021/04/26(月) 10:06:05.94 ID:3uPX3OXy.net
スペルマが溜まるの誤変換だろう。

864 :名無し~3.EXE:2021/04/29(木) 13:06:39.61 ID:uhrzAAec.net
C:\
 20210413
  D.mp3
  E.mp3
  F.mp3
 20210227
  A.mp3
  D.mp3
  E.mp3
 20210118
  A.mp3
  B.mp3
  C.mp3
 20201125
  A.mp3
  B.mp3

↑こんなフォルダ構成があって、↓こんな風に全ファイルをALLフォルダにコピーしたいのですが

C:\
 ALL
  A.mp3
  B.mp3
  C.mp3
  D.mp3
  E.mp3
  F.mp3

どういうコマンドを書けば良いか見当もつきません。アドバイス頂けないでしょうか?

865 :名無し~3.EXE:2021/04/29(木) 13:09:18.42 ID:uhrzAAec.net
↑すみません、最初の1行は「C:\」じゃなくて「C:\音楽\」でした。

866 :名無し~3.EXE:2021/04/29(木) 13:26:36.99 ID:GMLI5zoS.net
* で検索して全部ALLフォルダにコピーすればいいんじゃないの
エクスプローラで

867 :名無し~3.EXE:2021/04/29(木) 14:13:44.19 ID:MiwfyoTx.net
コピーではなくプレイリストの使い方を覚えたほうがいいような気もする

868 :名無し~3.EXE:2021/04/29(木) 21:05:40.06 ID:WIhbux0w.net
重複してるファイル名をどう扱いたいの?

869 :名無し~3.EXE:2021/04/30(金) 05:24:20.85 ID:MlsrToaf.net
Get-ChildItem C:\ -Filter *.mp3 -Recurse | Move-Item -Destination C:\ALL -Confirm

870 :名無し~3.EXE:2021/04/30(金) 11:28:16.70 ID:lb0Mji28.net
Copy-Item じゃなくていいのかな

871 :864:2021/05/03(月) 20:37:23.62 ID:IIPdp6dZ.net
返信遅れてすみません。
>>869さんのコマンドでいけました。(移動でも問題ありません)
みなさんどうもありがとうございました。

872 :名無し~3.EXE:2021/07/04(日) 19:23:09.02 ID:UX05pzk1.net
import-excelでExcelファイルを読み込んで
配列内の文字列を検索して、見つかったインデックスを取りたいのですが、
うまく検索できません。なぜでしょうか。

ソース
$excel = Import-Excel .\hostname.xlsx
$excel
[Array]::IndexOf($excel,'server3')

結果
host
----
server1
server2
server3
server4
server5
server6
-1

↑2が返ってきてほしいのになぜか-1になるのです。

873 :名無し~3.EXE:2021/07/04(日) 23:31:43.38 ID:HqRw/FcX.net
>>872
[Array]::IndexOf($excel.host,’server3')
または
$excel.host.IndexOf('server3')

874 :名無し~3.EXE:2021/07/04(日) 23:57:04.22 ID:UX05pzk1.net
>>873
ありがとうございます
上手くできました!

875 :名無し~3.EXE:2022/02/17(木) 00:20:05.08 ID:UBGKXvXU.net
今までコマンドプロンプトを使っていましたが、windows power shellに乗り換えました。

コマンドプロンプトでは、エクスプローラーからドラッグ&ドロップでファイルパスが入力できましたが、
windows power shellではできませんでした。
ファイルパスを楽に入力する方法はないんでしょうか?

876 :875:2022/02/17(木) 00:21:33.37 ID:UBGKXvXU.net
よく見たら過疎スレなので、別スレで聞いてきます。

877 :名無し~3.EXE:2022/04/01(金) 14:14:02.72 ID:BCOOn1qr.net
7.2.2のpwshだけどできたよ
でもCUIでドラッグ&ドロップしようという発想はなかった
ファイラからパスコピーするかファイラからpwsh呼び出してるわ

878 :名無し~3.EXE:2022/04/01(金) 20:00:39.28 ID:3yX+my59.net
ドラッグアンドドロップはできる
別スレでも同じ質問あったけど管理者として実行しているとダメ
コマンドプロンプトも同じ

879 :名無し~3.EXE:2022/04/01(金) 21:29:29.73 ID:bKb60kAk.net
履歴を容易に削除できるようにしてくれ

880 :名無し~3.EXE:2022/04/01(金) 22:08:46.74 ID:+cCpXUkH.net
Clear-History
https://docs.microsoft.com/ja-jp/previous-versions/dd347676(v=technet.10)

881 :名無し~3.EXE:2022/04/03(日) 16:08:25.55 ID:PEsrjATP.net
del /f %appdata%\microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

882 :名無し~3.EXE:2022/04/28(木) 23:49:13.93 ID:8OzqKC3a.net
>>880
消えないんですけれど

883 :名無し~3.EXE:2022/05/02(月) 15:13:03.97 ID:qDhrxcSr.net
可能な限りログというログを消すバッチ
コマンドプロンプト管理者モード実行用だけど
https://pastebin.com/raw/7PYwDkDr

884 :名無し~3.EXE:2022/08/04(木) 21:50:02.45 ID:IX4oNE9v.net
Windows Management Framework 4.0が落とせなくなってる

885 :名無し~3.EXE:2023/01/16(月) 17:41:49.46 ID:HcCG2NQa.net
powershellって.netオブジェクトを扱うために作られたシェルと知って愕然とした
bashやzshのように(慣れは必要なものの)ほぼCUI操作で完結できるようになるかと思いきや、そういう方向じゃないんだな
Windowsユーザでもマウス使いたく人だっているのにな

886 :名無し~3.EXE:2023/01/16(月) 18:45:18.70 ID:83ftxb2a.net
.netオブジェクトを扱うためってのは誰のどういう立場での発言?
どこぞのYouTuber?
仮に公式見解だとして、CUI操作で完結できるようにというゴールと排他だとする理由は?

887 :名無し~3.EXE:2023/01/21(土) 21:10:37.95 ID:N8ya6ZfW.net
Exposing the Power of .NET in a Admin-friendly way
https://learn.microsoft.com/en-us/archive/blogs/monad/exposing-the-power-of-net-in-a-admin-friendly-way

> One of our primary goals for Monad was to: "Expose the power of .NET in an Admin-friendly way"

888 :名無し~3.EXE:2023/03/10(金) 10:17:52.87 ID:+CVSBrk4.net
新しいバージョン 7.3.3 をここから
ttps://github.com/PowerShell/PowerShell/releases/tag/v7.3.3
これを
PowerShell-7.3.3-win-x64.msi
インストールしたのですが、
Win+x メニューから管理者として起動しても、古いものが立ち上がるんです
新しいものが起動するようにするにはどうしたらいいのでしょうか

889 :名無し~3.EXE:2023/03/10(金) 21:10:29.41 ID:BI/uLuCP.net
>>888
よくわからんけど、Win+Xのアレは「Windows PowerShell(5.1系)」でFixされていて、「PowerShell Core(6.x以降)」への変更は無理なのでは?

890 :888:2023/03/10(金) 22:16:36.19 ID:8m8+pSYL.net
>>889
どうもありがとうございます

一般メニューのほうから起動することにしました

891 :名無し~3.EXE:2023/03/14(火) 08:50:14.12 ID:j55kjbdb.net
レジストリに起動設定ないのかな

892 :名無し~3.EXE:2023/03/14(火) 09:33:44.89 ID:nWRh+6Kt.net
手っ取り早いのはwinキー, p, w, s, Enter
必要に応じて矢印キーでrun as administratorを選ぶ
Windows11なら「設定」で標準のコンソールを変えることができる
Windows10なら %LOCALAPPDATA%\Microsoft\Windows\WinX の中身を手で書き換える
desktop.ini も隠れてるので書き換え忘れずに
ミスってメニュー壊しても知らんので自己責任で

893 :名無し~3.EXE:2023/03/14(火) 09:39:21.39 ID:nWRh+6Kt.net
わざわざWin+Xを書き換えなくてもwinキー, p, w, s, Enterが早いしどんなコマンドにも応用が効くのでおすすめ

894 :名無し~3.EXE:2023/03/14(火) 09:48:07.90 ID:nWRh+6Kt.net
応用が効くと書いたので蛇足しとく
Win+R でコマンドをフルに打たなくても最近はスタートメニューにフォーカスがあるときコマンドのインクリメンタルサーチができる
古いほうは powershell.exe、新しいほうは pwsh.exe という実行ファイル名なので pws まで打ち込むと候補が絞れる

895 :名無し~3.EXE:2023/03/14(火) 10:07:04.94 ID:HmOg2wGG.net
15年前以上前からできるのに「最近」とは一体...

896 :名無し~3.EXE:2023/03/14(火) 12:12:30.70 ID:hqk28afV.net
情報は提供しないけど上げ足取るのは大好き!

897 :名無し~3.EXE:2023/03/14(火) 17:57:08.92 ID:e1/OJBFe.net
それが5chクオリティ

898 :名無し~3.EXE:2023/05/10(水) 15:55:14.90 ID:yrDVFTC5.net
PowerShell でxmlファイルをtxtファイルに
返還することはできますか?
自動化したいんです。

899 :名無し~3.EXE:2023/05/10(水) 16:04:04.46 ID:D680VMto.net
>>898
手動化できているのなら、変換元と変換結果をどこかにあげて例示しよう

900 :名無し~3.EXE:2023/05/10(水) 16:35:51.40 ID:/5g/7Kec.net
返還することはできませんね

901 :名無し~3.EXE:2023/05/10(水) 18:17:47.39 ID:yrDVFTC5.net
では読み込んで、クリップボードにコピー
する事はできますか?

902 :名無し~3.EXE:2023/05/10(水) 20:13:02.47 ID:Fa16cDxR.net
はい、できます。$cp::SetText(変数)
最初にSystem.Windows.Formsを読み込んでね

903 :名無し~3.EXE:2023/07/24(月) 23:01:39.73 ID:DAFlq/MA.net
scoop入れてみたけどすごくいいな。使ってる人いない?

てかロクにpowershellのコマンドを知らないものだから irm get.scoop.sh | iex でなんでインストールできるのが不思議だった
賢いなこれw

904 :名無し~3.EXE:2023/08/01(火) 22:09:21.18 ID:GWOIvX2E.net
Get-Contentみたいにテキストファイルを一行毎に配列にしてくれるのを
ファイルじゃなくて標準入力からテキストデータを受け取って配列にする方法はありますか?

905 :名無し~3.EXE:2023/08/02(水) 03:46:42.44 ID:SQJ1trr4.net
セットしたい配列変数が $ary の場合
ヒア文字列で

@"
aaa
bbb
ccc
"@ -split "`n" | tee -Variable ary

とすれば $ary に配列がセットされるけど
画面表示がいらないなら | 以降を

| % {$ary=@()}{$ary+=$_}

としてください

ヒア文字列ではなくてクリップボードの内容を受け取りたい場合は

(Get-Clipboard) | % {$ary=@()}{$ary+=$_.ToString().Trim()}

の様にすれば行毎の文字列の先頭・末尾の空白を消して配列に取り込むことが出来るでしょう

906 :名無し~3.EXE:2023/08/02(水) 05:03:40.44 ID:SQJ1trr4.net
>>898
txtファイルに変換の意味が改行マークの挿入+字下げで良いのなら
xmlファイルの文字コードがUTF8であれば

$f = "$Env:LOCALAPPDATA\Programs\app_foo\config.xml"
$x = New-Object xml; $x.Load($f); $x.Save($f); Remove-Variable x,f

$f のところは xml ファイルのフルパスを入れて下さい

運用する場合
アプリのフルパスが "$Env:LOCALAPPDATA\Programs\app_foo\bar.exe"
テキストエディタが "C:\Program Files\Notepad++\notepad++.exe" であるなら

C:\tools\edit_xml.ps1 の内容
Set-Alias bar "$Env:LOCALAPPDATA\Programs\app_foo\bar.exe"
Set-Alias editor "C:\Program Files\Notepad++\notepad++.exe"
$f = "$Env:LOCALAPPDATA\Programs\app_foo\config.xml"

ps bar -ea SilentlyContinue | % {$_.CloseMainWindow();$_.WaitForExit()}
$x = New-Object xml; $x.Load($f); $x.Save($f); Remove-Variable x
write "編集が終わったらリターンを押してください"
editor $f
pause
Remove-Variable f
start bar

実行する際は & C:\tools\edit_xml.ps1 で
[x] 押したらトレイに遷移するアプリは手動で終了させる or kill に書き換える必要があるでしょう

907 :名無し~3.EXE:2023/08/02(水) 14:48:43.93 ID:/Q0pkvbK.net
>>905
ありがとうございます。
あんたは神ですか?!

908 :名無し~3.EXE:2023/08/02(水) 17:45:22.89 ID:wAUoLFTd.net
いいえ、私はChatGPTです

909 :名無し~3.EXE:2023/08/06(日) 13:37:10.66 ID:trqiuMav.net
n番目の履歴の実行をInvoke-Historyではなくbashみたいに「!n」ってやる方法ありませんか?

910 :名無し~3.EXE:2023/08/06(日) 13:38:10.89 ID:trqiuMav.net
なお、腐れChatGPTの回答はなしでお願いします
聞いたら↓でできるとかデタラメ回答よこしてきたし
function global:history-command { Invoke-History $args[0] }; Set-Alias -Name ! -Value history-command -Option AllScope

911 :名無し~3.EXE:2023/08/09(水) 21:30:00.62 ID:4LDaBT3h.net
PowerShellでは!ではなくrを使う
あとrと番号の間に空白文字をれる
r 3
みたいな感じ

>>910の場合は!の前に&を付ける必要がある
PowerShellの!は論理否定演算子だからな
&! 3

912 :名無し~3.EXE:2023/08/14(月) 00:12:39.99 ID:KvGpu80N.net
文句ばっかし言っていないで、さっさと変数の中身くらいはデバッグで間違いに気付くようになれ

913 :名無し~3.EXE:2023/08/23(水) 18:22:03.67 ID:EtFVSrn5.net
>>911
ありがとうございます
遅レスですいません

914 :名無し~3.EXE:2023/11/19(日) 02:53:30.57 ID:mexehI6A.net
カレントフォルダにあるファイルをタブ補完したら頭に.\がつくのがうざい
つかないようにできん?

915 :名無し~3.EXE:2023/11/19(日) 03:26:27.64 ID:mexehI6A.net
ここのコード試したらできたわ
ttps://superuser.com/questions/1741125/prevent-powershell-autocomplete-from-adding-dot-prefix

中身はさっぱりわからんけどw

916 :名無し~3.EXE:2023/11/23(木) 11:03:13.37 ID:rvVviA7X.net
オレは.\が付いてくれた方がありがたいけどな

917 :名無し~3.EXE:2023/11/23(木) 15:11:54.31 ID:gkbWlZbd.net
powershellではカレントディレクトリにある.exeや.ps1を実行するときには先頭に .¥ を付ける必要がある
だから補完時に .¥ を付けることだけを抑制するのはちぐはぐな対応で普通はデメリットが大きい
.¥ が必要になったのはセキュリティを考慮した仕様で、ネット等から入手したzip等の中にnotepad.exe等の既知のアプリと同名のマルウェアを仕込んで騙して実行させるようなトラップの類のリスクを低減するもの

918 :名無し~3.EXE:2023/11/23(木) 15:14:00.98 ID:gkbWlZbd.net
等を3つも書いてしまった

919 :名無し~3.EXE:2023/11/23(木) 15:25:00.33 ID:jsjqXK6X.net
./

920 :名無し~3.EXE:2023/11/24(金) 00:12:14.61 ID:5Gk4stzh.net
>>917
.\notepad.exeを起動させるんですね
それって安全なの?

921 :名無し~3.EXE:2023/11/24(金) 07:38:54.74 ID:EE37UYxk.net
notepad.exeでカレントディレクトにあるやつが実行されるよりは
ファイル名だけで.¥まで補完すなってのはある
bashなんかは./からタイプしないと補完しないよな

922 :名無し~3.EXE:2023/11/25(土) 22:03:33.70 ID:I/DhCPtf.net
>>920
自ら補完して気づかず起動したらそれまで
この仕様変更によって守られるケースもあるし守れないケースもある
何事にも完璧はないし100じゃないから0じゃないか意味ないと腐すのは愚か者の考え方
セキュリティと利便性はいつだってトレードオフ

923 :名無し~3.EXE:2023/12/24(日) 06:08:00.45 ID:097QTqlv.net
bashの補完ルールがええわ~

924 :名無し~3.EXE:2023/12/24(日) 13:53:39.88 ID:FIsi2fsg.net
>>922
>セキュリティと利便性はいつだってトレードオフ
馬鹿言ってんじゃない。cmdとの互換性なんて要らないのにいまだにカレントディレクトリが探索パスの先頭にあるのが頭おかしいだけ

925 :名無し~3.EXE:2023/12/24(日) 14:30:03.64 ID:FIsi2fsg.net
ん、ちょっと変な書き方になった
要はコマンドライン先頭のコマンド名の箇所の補完でカレントディレクトリのファイルが一番最初にしかも丁寧に.\付きで出てくる仕様自体が
.\を付けないと実行できないようにされてる意味すら無くしてるわけで、毎回ユーザーに目視確認させるんじゃないよって話だ

926 :名無し~3.EXE:2024/01/12(金) 20:50:17.30 ID:2Wn8T/Wv.net
oh my poshって今知ったけどかなりイケてるなこれ
powershell専用と思いきや色んなOS、シェルに対応してる

Windows Terminalでpowershell7とwsl2を両方使う人はこれ使うとプロンプトラインに統一感出ていい感じよ
逆に統一感ありすぎてどっちがどっちか区別つかないかもしれんけど

927 :名無し~3.EXE:2024/01/17(水) 01:06:35.44 ID:rBZz05Ed.net
function hoge { echo "fuga" }
Set-PSReadLineKeyHandler -Chord Ctrl+u -Function hoge
としたらエラーになった
キーバインドでユーザ定義関数は指定できないの?

928 :名無し~3.EXE:2024/01/19(金) 21:32:08.19 ID:hyFU9fES.net
できない
-ScriptBlockを使え

929 :名無し~3.EXE:2024/01/20(土) 03:21:07.48 ID:Gf4/xoxf.net
thxまじか
めんどいな

930 :名無し~3.EXE:2024/03/29(金) 00:17:07.99 ID:WT8Xi9KP.net
何年目かでいうなら今年3年
アイスタイルふざけんなよ上げろや死ね

245 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★