PowerShell -Part 3

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2018/10/09(火) 17:46:48.32ID:G4IJkzod
前スレ
【最強CUI】PowerShell -Part 2
http://mevius.5ch.net/test/read.cgi/tech/1480109402/

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

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

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

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

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

0957デフォルトの名無しさん2019/11/10(日) 17:54:04.00ID:otD8Z0ZU
windows updateも海外なのか?

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

0959デフォルトの名無しさん2019/11/11(月) 08:27:46.29ID://Nnw6zP
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

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

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

0962自己レス2019/11/18(月) 12:09:14.04ID:604fXs7f

0963デフォルトの名無しさん2019/11/18(月) 15:09:03.25ID:Crm1ovkb
test 452452424524524

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

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

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

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

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

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

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

パイプならよかろう、ということで以下の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

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

お騒がせしました。

0970デフォルトの名無しさん2019/11/19(火) 00:02:22.77ID:rlpD1oBO
参考になった ありがとう

0971デフォルトの名無しさん2019/11/20(水) 13:28:40.93ID:aW1lygKI
どういたしまして

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

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

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

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

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

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

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

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

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

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

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

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

0983デフォルトの名無しさん2019/12/18(水) 06:19:20.47ID:DPpTEq4j
ちょっと気づいたのでメモ

ハッシュテーブルからいろいろな型にキャストするのがわりといろんな場面で使える
例えば>>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 } }

としてもいい

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

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

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

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

WSLでよくね?

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

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

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

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

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

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

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

0994デフォルトの名無しさん2019/12/31(火) 22:01:43.89ID:FiZAbpfr
PowerShellのほうが強力だしな

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

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

0997デフォルトの名無しさん2020/01/01(水) 15:19:12.54ID:IT8L/q0G

0998デフォルトの名無しさん2020/01/01(水) 15:19:29.24ID:IT8L/q0G

0999デフォルトの名無しさん2020/01/01(水) 15:19:45.39ID:IT8L/q0G

1000小倉優子 ◆YUKOH0W58Q 2020/01/01(水) 15:20:34.34ID:IT8L/q0G
  ∧,,,∧ 
 (  ・∀・) 1000ならジュースでも飲むか
  (    ) 
  し─J 

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

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。