[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/19 17:42 / Filesize : 269 KB / Number-of Response : 1051
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

PowerShell -Part 3



1 名前:デフォルトの名無しさん mailto:sage [2018/10/09(火) 17:46:48.32 ID:G4IJkzod.net]
前スレ
【最強CUI】PowerShell -Part 2
mevius.5ch.net/test/read.cgi/tech/1480109402/

976 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 18:11:26.52 ID:71SUtLbe.net]
Powershellの演算子の優先順位が判るサイトが見当たらないんですがどっかにないですかね
演算子をカテゴリ毎に紹介してるサイトは多く見かけるんですが

977 名前:デフォルトの名無しさん mailto:sage [2019/11/02(土) 20:16:26.21 ID:0WeT0cpY.net]
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_operator_precedence?view=powershell-5.1

978 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 02:57:41.69 ID:hkCRv+PE.net]
>>933
ありがとうございます!助かりました!

979 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 03:32:58.98 ID:Y1hBQ+8z.net]
どういたしまして!

980 名前:デフォルトの名無しさん [2019/11/05(火) 23:35:55.67 ID:ocMK86pm.net]
m(_ _)m誰か教えて下さい。

フォーム上にコンボボックスを大量配置したいのですが、一つずつ以下みたいに書くと大変です。
これを関数化する方法を教えて下さい。

$Combo = New-Object System.Windows.Forms.Combobox
$Combo.Location = New-Object System.Drawing.Point(10,10)
$Combo.size = New-Object System.Drawing.Size(150,30)

981 名前:デフォルトの名無しさん mailto:sage [2019/11/06(水) 02:58:52 ID:+N82MWJ/.net]
>>936
普通に$comboを返す関数を作ればいい
winforms書く時は使えるバージョンならusing namespaceを使った方がすっきりする
個人的にNew-Objectは遅いだけなのでなるべく使わない
暗黙の型変換を積極的に使うとすっきりする

using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms

function Create-ComboBox($Left, $Top, $Width, $Height) {
  $combo = [ComboBox]::new()
  $combo.Location = "$Left, $Top"
  $combo.size = "$Width, $Height"
  $combo
}

$form = [Form]::new()
$form.Size = "200,200"

$combo1 = Create-ComboBox -Left 10 -Top 50 -Width 160 -Height 30
$form.Controls.Add($combo1)

$form.ShowDialog()

982 名前:デフォルトの名無しさん mailto:sage [2019/11/06(水) 05:18:39 ID:+Isovp9U.net]
x.Size="1,2"
こういう書き方できるの知らんかった

983 名前:936 mailto:sage [2019/11/06(水) 11:38:21.31 ID:viRYf3W9.net]
>>937
大変ありがとうございました。助かりました。

なおWin7環境なのでusing...はカットして使ってます。

984 名前:デフォルトの名無しさん mailto:sage [2019/11/06(水) 19:25:34.62 ID:du9DeY6n.net]
>>939
5.0以上にアップグレードすればWin7でも使えるんじゃないの?インストール不可なだめだけど



985 名前:936 mailto:sage [2019/11/08(金) 09:54:16.57 ID:RMGDBEVY.net]
緊急でお願いします。マルチバイト文字のパディングのやり方を教えて下さい。サンプルコードがあると嬉しいです。

986 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 10:20:36.03 ID:weGpRZzk.net]
入力と出力のサンプル位出したら

987 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 10:20:37.27 ID:bpFYbH+Z.net]
うっかり bash と間違えて ctrl+R と打ってしまったんだけど、PowerShel でも同じように機能したんだな。
軽く感動したわ。

988 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 10:41:43.51 ID:wfK2aVsO.net]
ctrl + Alt + shift + /
でショートカット一覧が出るからざっと見ておくといいよ

989 名前:デフォルトの名無しさん [2019/11/08(金) 11:47:48.53 ID:bt2cbsd4.net]
PowerShellにディレクトリ、ファイル名以外の
補完機能ってあるの?

990 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 12:27:29.71 ID:CJ6EXBGx.net]
>>945
オプションとかオプションの値が選択肢ならそれも補完する
ユーザーが作ったコマンドでも補完できるから地味に便利

991 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 14:17:43.58 ID:bpFYbH+Z.net]
>>944
なんと、超便利!


992 名前:閧ェとう! []
[ここ壊れてます]

993 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 14:41:45.11 ID:wfK2aVsO.net]
ついでに以下のコマンドで画面だしとけばチートシートになるよ

Get-PSReadLineKeyHandler | ogv

994 名前:デフォルトの名無しさん mailto:sage [2019/11/08(金) 17:13:11.44 ID:bpFYbH+Z.net]
>>948
「俺専用PowerShellアンチョコ.txt」に記録した。重ね重ねありがとう。



995 名前:デフォルトの名無しさん [2019/11/09(土) 17:39:02.10 ID:LvjWth2U.net]
powershellで海外にアクセスできないように設定できますか?

996 名前:デフォルトの名無しさん mailto:sage [2019/11/09(土) 17:42:01.74 ID:FbsqDOHf.net]
海外とは

997 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 05:11:31 ID:47iDVxCF.net]
そういやweb鯖のサンプルがあったな
ピロキシぐらい作れるよな

998 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 16:21:24.11 ID:LxY6Tlm9.net]
海外鯖を経由しない通信にしたい。
それか海外からの通信をファイアウォールで
全部ブロックしたい。
って考えたらhostsしかないかな?
めんどくさいな。

999 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 16:35:30.22 ID:z3CQn4/q.net]
自分ですべての経路把握する必要あるし無理じゃね?

1000 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 17:15:59.31 ID:iyIsn8nz.net]
>>953
曖昧すぎてアドバイスのしようがないな

1001 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 17:17:57.36 ID:uhrgfz89.net]
hostsに一体いくつ「海外」とやらのホストを指定するのやら
OS側でやるのが適当なのかそれ
業務用なのか個人用なのかもわからん

1002 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 17:54:04.00 ID:otD8Z0ZU.net]
windows updateも海外なのか?

1003 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 20:34:29.07 ID:LxY6Tlm9.net]
すみませんでした。そうなるとなんかややこしくなりそうなのでやめます。
ブラウザの拡張でやりますわ。
ありがとうございました。

1004 名前:デフォルトの名無しさん mailto:sage [2019/11/11(月) 08:27:46.29 ID://Nnw6zP.net]
Windows PowerShell を使用した高度なセキュリティ管理を使用する windows Defender ファイアウォール
https://docs.microsoft.com/ja-jp/windows/security/threat-protection/windows-firewall/windows-firewall-with-advanced-security-administration-with-windows-powershell



1005 名前:デフォルトの名無しさん [2019/11/11(月) 17:18:43.20 ID:WYwNeQAp.net]
ありがとうございました。

1006 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 08:47:59.75 ID:604fXs7f.net]
タブストップ中コンボボックスの文字の背景色を青ではなく薄水色にしたいのですが、やり方がわかりません。ご存知の方、よろしくお願い申し上げます。

1007 名前:自己レス mailto:sage [2019/11/18(月) 12:09:14.04 ID:604fXs7f.net]
>>961
https://stackoverflow.com/questions/38981877/listbox-alternating-shading-powershell

1008 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 15:09:03.25 ID:Crm1ovkb.net]
test 452452424524524

1009 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 15:10:33.45 ID:Crm1ovkb.net]
Windows 10 に標準搭載された OpenSSH と PowerShell の機能だけを使用して、公開鍵をサーバにアップロードしたいと考えています。
(ssh-copy-id は shell スクリプトなので Windows 版の OpenSSH には含まれていない)

1010 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 15:11:33.77 ID:Crm1ovkb.net]
調べた結果、まず以下のコマンドが cmd.exe 上では完璧に動作することを確認しました。
※元のコードを貼ると 403 Forbidden となるので Pastebin を使ってます
https://pastebin.com/kCqKQm9T

これを以下の通り PowerShel に置き換えました。
https://pastebin.com/CSE9sCnB

一応、公開鍵のアップロードまでは出来たんですけど、ssh.exe のプロセスが終了しません。
(wait = $true にした場合はプロンプトが返ってこない)
何が悪いんでしょうね。

1011 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 15:15:42.87 ID:Crm1ovkb.net]
追伸:CloudFlare で 403 Forbidden になってたのはレスに cmd.exe という文字列が含まれいたのが原因のようです。コードは関係なかったっぽい。

1012 名前:デフォルトの名無しさん mailto:sage [2019/1 ]
[ここ壊れてます]

1013 名前:1/18(月) 15:35:44.61 ID:Crm1ovkb.net mailto: どうやら、ssh.exe に対して公開鍵の文字列をパイプで渡した場合は正常終了するのですが、標準入力で渡した場合はプロセスが残ることが分かりました。
cmd.exe 上でも、標準入力で渡した場合はプロセスが残ります。
Start-Process は「You cannot pipe input to this cmdlet.」とのことでパイプからの入力を受け付けないんですけど、なにか良い手はないですかね?
[]
[ここ壊れてます]

1014 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 16:07:26.07 ID:Crm1ovkb.net]
何度もすみません、自己レス。

パイプならよかろう、ということで以下の3パターンで試したところ、ssh.exe は正しく終了するようになったのですが、authorized_keys には CL+LF が追加されてしまいました。
$PubKey = Get-Content "${home}\.ssh\id_rsa.pub"
Write-Output $PubKey -NoEnumerate | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
Out-String -InputObject $PubKey | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
type "${home}\.ssh\id_rsa.pub" | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"

最終的に、これで妥協しました。ダサい。もっとスマートな書き方はないものだろうか。
https://pastebin.com/KpKkuGcQ



1015 名前:デフォルトの名無しさん mailto:sage [2019/11/18(月) 16:13:01.04 ID:Crm1ovkb.net]
ごめんなさい、標準入力では ssh.exe が終了しない原因が分かりました。
sshkeygen で生成された id_rsa.pub は、行末で改行していないためでした。
エディタで開いて改行させたところ、
https://pastebin.com/CSE9sCnB
これでも動作しました。

お騒がせしました。

1016 名前:デフォルトの名無しさん mailto:sage [2019/11/19(火) 00:02:22.77 ID:rlpD1oBO.net]
参考になった ありがとう

1017 名前:デフォルトの名無しさん mailto:sage [2019/11/20(水) 13:28:40.93 ID:aW1lygKI.net]
どういたしまして

1018 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 16:11:02.22 ID:UhvIpOa2.net]
Get-ChildItemで困っている事があります。
解決方法を知っている方がいましたら教えてください。

*.txt *.bin
などの拡張子を持つファイルを一括して集める場合
$result = Get-ChildItem *.txt,*.bin
とすれば集まりますが
hoge,hage.txt
というファイル名に、 ',' が含まれているファイル名があると、 *.txt,*.bin のようなセパレーターとして認識してしまい
ワイルドカードにヒットするbase nameが hoge までになってしまい$resultに値が入ってきません。
','などのセパレーターを含むファイル名を Get-ChildItem でワイルドカード指定するにはどうすればよいでしょうか?

1019 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 16:29:56.73 ID:E4b/CXSq.net]
>>972
何をしたいのかいまいちよくわからんがとりあえず
Get-ChildItem 'hoge,hage.*', '*.txt'
とかでいいんじゃね?

1020 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 20:06:33.13 ID:JDFz9pDe.net]
うちはGet-ChildItem *.txt,*.binで引っかかるけど
dir *.txt,*.bin | ?{ $_.Name -like "h*"}でフィルタして確認してみれば?

1021 名前:デフォルトの名無しさん [2019/11/28(木) 17:33:57.96 ID:G1SJ/xZS.net]
スクリプトで
VPNセッションを張って、opensshでLinuxサーバーにログインしたいんですが、クレデンシャル情報ってどう引き渡せば良いですか?

1022 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 17:35:59.16 ID:KHBZf3ql.net]
どこのクレデンシャル情報を、どこに渡すんです?

1023 名前:デフォルトの名無しさん [2019/11/28(木) 17:40:45.55 ID:G1SJ/xZS.net]
>>976
ssh、vpnのコマンドにです

1024 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 17:41:50.79 ID:KHBZf3ql.net]
そのクレデンシャル情報には何が書かれてるんです?



1025 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 17:42:46.64 ID:KHBZf3ql.net]
ssh、vpnにクレデンシャル情報を渡すとどうなるんです?
どうなるように設定したんですか?

1026 名前:デフォルトの名無しさん [2019/11/28(木) 18:10:58.12 ID:G1SJ/xZS.net]
すいません。
ここで聞いたのが間違いでした。
Linuxサーバーにログインしたいと書いてあるのにどうしたいと言われても困りますので。
では。

1027 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 18:17:16.35 ID:KHBZf3ql.net]
だからログインできるようにLinuxサーバーに設定したんですか?

1028 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 19:03:26.14 ID:o2XGBpkX.net]
VPN関係あるの?
ssh -i 秘密キーファイル ユーザー名
という外部コマンドの呼び出し方を聞いてる

1029 名前:フ? []
[ここ壊れてます]

1030 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 06:19:20.47 ID:DPpTEq4j.net]
ちょっと気づいたのでメモ

ハッシュテーブルからいろいろな型にキャストするのがわりといろんな場面で使える
例えば>>936は次のように書ける

using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms

$form = [Form]@{ Size = "200,200" }
$combo = [ComboBox]@{ Location = "10,50"; Size = "160,30" }
$form.Controls.Add($combo)

$form.ShowDialog()


もし"200,200"ってのが気持ち悪いならさらに

$form = [Form]@{ Size = @{ Width = 200; Height = 200 } }

としてもいい

1031 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 06:21:03.31 ID:DPpTEq4j.net]
すまん>>936じゃなくて>>937だったわ

1032 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 23:38:33.69 ID:kDyrT7eN.net]
キャストでオブジェクト生成か
理屈は判るけどキモイな

1033 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 21:20:43.94 ID:A7bzsjq6.net]
C#のオブジェクト初期化子みたいなものだと思えばいいかも

1034 名前:デフォルトの名無しさん [2019/12/31(火) 07:16:04.44 ID:xfr0s5Fj.net]
怒らないで教えて欲しいんだが

WSLでよくね?



1035 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 07:38:32.37 ID:Ttaqvt+E.net]
いや誰もPowerShellを万能の利器とは考えてない
適材適所

1036 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 09:49:11.63 ID:ZmMnRfLg.net]
>>987
それに答えるためには、お前が何をしたいのかを聞く必要がある

1037 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 09:53:59.69 ID:vL9iUG+A.net]
WSL使うなら最初からLinuxをインストールして使えばいい

1038 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 21:14:44.78 ID:wxhVB0za.net]
WSLていうかUNIXシェルでいいなら、なんでLinuxユーザーがわざわざPowerShellを使ってると思うの?

https://msit.powerbi.com/view?r=eyJrIjoiYTYyN2U3ODgtMjBlMi00MGM1LWI0ZjctMmQ3MzE2ZDNkMzIyIiwidCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsImMiOjV9&pageName=Re

1039 名前:portSection5 []
[ここ壊れてます]

1040 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 21:26:22.98 ID:4NGA+Zr1.net]
>>991
知らない教えて

1041 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 21:58:25.71 ID:ajjU1twk.net]
事情があって嫌々ながらLinux使わざるをえないWindowsユーザーがPowershell採用してる

1042 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 22:01:43.89 ID:FiZAbpfr.net]
PowerShellのほうが強力だしな

1043 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 08:33:54.15 ID:KGLKi7tz.net]
そろそろ Ruby ガイジが出てくる頃かな?

1044 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 13:06:34.59 ID:voSHdO49.net]
rubyくんが出るのは、スクリプトを作れるような質問が出たときだろ



1045 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 15:19:12.54 ID:IT8L/q0G.net]


1046 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 15:19:29.24 ID:IT8L/q0G.net]


1047 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 15:19:45.39 ID:IT8L/q0G.net]


1048 名前:小倉優子 mailto:sage [2020/01/01(水) 15:20:34.34 ID:IT8L/q0G.net]
  ∧,,,∧ 
 (  ・∀・) 1000ならジュースでも飲むか
  (    ) 
  し─J 

1049 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 448日 21時間 33分 46秒

1050 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<269KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef