X



PowerShell -Part 3
■ このスレッドは過去ログ倉庫に格納されています
0051デフォルトの名無しさん
垢版 |
2018/10/12(金) 19:06:14.75ID:VxeOAG4j
>>50
>CMDKEY [{/add:ターゲット名 | /generic:ターゲット名}] [/smartcard] [/user:ユーザー名 [/pass[:パスワード]] [/delete{:ターゲット名 | /ras}] [/list[:ターゲット名]]
って構文だけど
>password : パスワード
のところでパス登録できてないんじゃね?
詳しくねーけど
0052デフォルトの名無しさん
垢版 |
2018/10/12(金) 19:28:53.77ID:tfCNN8gU
あーパスワードじゃなくて、パスか
そこの違いかな
0054デフォルトの名無しさん
垢版 |
2018/10/12(金) 19:51:45.48ID:Vm21lImY
こっちの問題じゃないの?
「Windows 資格情報を構成すると、接続先サーバーへユーザー名やパスワードを都度入力することなく、RDPなどで接続できるようになります。
しかし、既定では資格情報を利用したRDP接続は無効化された状態です。そのため、ローカルセキュリティポリシーやグループポリシーを利用して、資格情報を利用した接続を許可する必要があります。」
https://mhiroblog.wordpress.com/2016/12/05/windows-%E8%B3%87%E6%A0%BC%E6%83%85%E5%A0%B1%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%9Frdp%E6%8E%A5%E7%B6%9A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/
0055デフォルトの名無しさん
垢版 |
2018/10/12(金) 21:45:22.73ID:tfCNN8gU
おお、ポリシーの問題ですかね
0056デフォルトの名無しさん
垢版 |
2018/10/12(金) 21:53:31.40ID:3rr2tBek
まず問題の切分をしようよ
・GUIで普通に接続する時はログインを省略出来るのか
・コマンドプロンプトでコマンド直打ちした際はどうなるのか
正直言えばPS関係あるの?って話なんだが
0058デフォルトの名無しさん
垢版 |
2018/10/12(金) 22:51:10.68ID:tfCNN8gU
あ、すみませんでした
そこのスレで同じく聞いてみます
0059デフォルトの名無しさん
垢版 |
2018/10/15(月) 20:17:08.40ID:amvePWoq
バッチファイルのコードをパワーシェルに変換できるツールってないんでしょうか?
0061デフォルトの名無しさん
垢版 |
2018/10/15(月) 21:34:07.14ID:E6pr56BO
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
0065デフォルトの名無しさん
垢版 |
2018/10/16(火) 11:41:07.30ID:7RIuHdb8
こういうインフラ系の疑問ってQAサイト無いのかな?
teratailはプログラム関係以外お断りっぽいし、stackoverflowかね、知恵遅れは質が悪くて
0066デフォルトの名無しさん
垢版 |
2018/10/16(火) 12:07:46.38ID:s3pweWJX
パワーシェルのifで数字を比較するとき、 1<5>10
のように複数の演算子使うことできますか?
0073デフォルトの名無しさん
垢版 |
2018/10/16(火) 20:41:51.75ID:7RIuHdb8
DOSコマンドプロンプトの伝統を引き継いだ説
equ → -eq
neq → -ne
lss → -lt
leq → -le
gtr → -gt
geq → -ge
0075デフォルトの名無しさん
垢版 |
2018/10/16(火) 20:58:38.76ID:tHbhOnY/
コマンドプロンプト互換用にリダイレクトは要るけどPowerShell的には使い道あんまり無い気がする
0076デフォルトの名無しさん
垢版 |
2018/10/16(火) 23:56:23.47ID:VMcjBADQ
普通にfortranの比較演算子だからな
0077デフォルトの名無しさん
垢版 |
2018/10/17(水) 04:23:05.21ID:fXyyO1tZ
いやFortranでもDOSでもなくてシェルスクリプトを意識してるでしょ
Fortranなら.GT.とかだし<>=も使える
0078デフォルトの名無しさん
垢版 |
2018/10/17(水) 22:05:24.45ID:Ny9Q/0jK
また低学歴知恵遅れの知ったかがテキトーなこといってるわ。。。
昔のfortranは<>=なんか使えない

あとな、シェルスクリプトなんかよりfortranのほうが
はるかに歴史が古い
0079デフォルトの名無しさん
垢版 |
2018/10/17(水) 23:43:13.88ID:uJo2tnoC
やっとPowershell core 6.1入れてみた。
defaultがUTF-8に変わって
sjisテキストの入出力は難しくなった。
-encoding ([System.Text.Encoding]::GetEncoding(932))と書くか-encoding oemならまだ通るんだね
0080デフォルトの名無しさん
垢版 |
2018/10/18(木) 17:54:54.30ID:VXAXqhVo
非常に浅学で申し訳ないんだがScreenshot_2017-09-14-00-32-38では下のURLのプログラムは機能するんだけどScreenshot_20170914-003238ってファイル名だとどうイジれば対応させられますかね…?
1日あれこれ調べたけどregexの正規表現の羅列あたりが特によく分からなかった。出来ればご教示お願いします。

ttp://bannan.hatenadiary.jp
/entry/2018/04/10/210807
0081デフォルトの名無しさん
垢版 |
2018/10/18(木) 19:03:43.40ID:RGjTx9dN
>>80
これでいいよ
下手に汎用性もたせようとするとそんな風に失敗してるものができる

ls -file | where name -match "Screenshot_(\d{4})(\d{2})(\d{2})-(\d{2})(\d{2})(\d{2})" |
foreach { $_.CreationTime = $_.LastWriteTime = "{0}/{1}/{2} {3}:{4}:{5}" -f $Matches[1..6]; $_ }
read-host "何かキーを押すと終了"
0084>>80
垢版 |
2018/10/18(木) 23:03:06.79ID:AkEYj+KW
>>81
おお、サンプルまで作って頂きありがとうございます!!
瞬く間に1000枚に情報入力出来ました!
where nameの働きと-f $Matchesの左右の表現が調べても最後までピンと来なかったのでもっと学んで見たいと思います
0085デフォルトの名無しさん
垢版 |
2018/10/23(火) 11:35:11.62ID:Hcq+1RfE
PowerShellってキャリア採用の条件で提示するようなもん?
・PowerShellができる方
ってどこまで理解していればこれに該当するかな
0087デフォルトの名無しさん
垢版 |
2018/10/23(火) 19:08:54.72ID:R3+D42hK
パワーシェル単体ではちょっと弱い

パワーシェル扱ってるということはインフラ系だと思うからプラスアルファでvbaやvbsなどインフラ系スクリプト言語やAJSなどのバッチサーバの経験がほしい
0089デフォルトの名無しさん
垢版 |
2018/10/23(火) 21:36:09.49ID:Cxf5lQdo
パワーシェルだけじゃ仕事ないっていう観点はあっている
0090デフォルトの名無しさん
垢版 |
2018/10/23(火) 21:56:38.39ID:xD54VN5l
クセと多いがpowershell好きw
できるだけ小文字で書きたいのだが、インテリセンスが大文字混ぜるのをなんとかしたい、なにか手はある?
あとパラメータとか短縮表記になったのを伸ばすツールある?
0092デフォルトの名無しさん
垢版 |
2018/10/24(水) 08:55:14.55ID:paw2wRgq
PowerShellEditorServicesはオープンソースだから改造すればえんちゃう
0093デフォルトの名無しさん
垢版 |
2018/10/24(水) 15:40:32.38ID:+Ub61VYb
クリップコマンド使うとなぜか改行がはいってしまいます、改善策ないでしょうか?

"test" |clip
で、メモ帳などに貼り付けると改行ついていて不都合があります!
0094デフォルトの名無しさん
垢版 |
2018/10/24(水) 17:13:32.82ID:K/10T0Yf
set-clipboardコマンドレット使えば行けそう
今はテスト出来ないしPowershell5.0以降が必要だけど(Windows10なら標準)
0095デフォルトの名無しさん
垢版 |
2018/10/24(水) 18:07:46.88ID:+Ub61VYb
Windowsサーバ2012r2なんですがそのコマンドあるかな・・・
0096デフォルトの名無しさん
垢版 |
2018/10/24(水) 18:33:39.42ID:+Ub61VYb
ちなみにですがバッチファイルだと下のコマンドで改行なしにできるのですが、パワーシェルからからこのコマンド呼び出すと<がリダイレクトマークなのでつかえません!ってエラーがでます
このコマンドをパワーシェルで使う方法などありますか?

set /p <nul="test" | clip
0098デフォルトの名無しさん
垢版 |
2018/10/24(水) 19:01:25.53ID:+Ub61VYb
コマンドプロンプト部分をシングルコーテートでくくってcmdのオプションで/cつければ他のコマンドも実行できるんですか?
試してみます、ありがとうございます
0099デフォルトの名無しさん
垢版 |
2018/10/24(水) 19:04:05.43ID:SZPDhNVG
>>95
2012R2だとPowerShell4.0だね。5.0にするならWMF5.1のインストールが必要みたい

ちなみにset-clipboardだと改行は入らなかった
0100デフォルトの名無しさん
垢版 |
2018/10/24(水) 20:12:04.59ID:SZPDhNVG
Win10 1809のWin Powershellなんだけど
powershell -Version 3.0
でも$PSVersionTableで3.0にならない
2.0だと変わる、バグかな
0101デフォルトの名無しさん
垢版 |
2018/10/25(木) 03:52:38.91ID:BKSYttF8
基本的なことですいません。
tab補完で、最初にカレントディレクトリの./がつくのをつかないようにできませんか。
javaを実行するときjava ./hogehogeとなって、いちいち./消すのが面倒なもので
0103デフォルトの名無しさん
垢版 |
2018/10/25(木) 17:13:59.66ID:ehGwymsw
PowerShellはコマンドプロンプトと同じように使おうとしてハマる奴多いな
コマンドプロンプトとは別物として考えた方が良いと思うんだけど
0105デフォルトの名無しさん
垢版 |
2018/10/25(木) 23:48:32.38ID:BKSYttF8
>>102
>javac hogehoge.java
>java hogehoge
としたいんです。
javaで実行くるときはファイルではなく、クラスを指定するので、カレントディレクトリの指定があると実行できないんです。
0108デフォルトの名無しさん
垢版 |
2018/10/26(金) 03:54:22.79ID:9wT1H/41
>>105
何で./があると実行できないのか俺にはわからんが
そのjavaというプログラムの第一引数は単なるファイル名ではないってことか
PowerShellウィンドウとは相性が悪いプログラムってことだな
上にあるようにIDEを使うか、コマンドプロンプトで使うしかないだろう
0109デフォルトの名無しさん
垢版 |
2018/10/26(金) 06:31:22.94ID:FXq8Nzbn
Powershellの自動補完のせいじゃないだろ、そんな所でtabを叩く操作がおかしい
0110デフォルトの名無しさん
垢版 |
2018/10/26(金) 07:44:23.03ID:fUEsFsck
いちいち手作業が面倒くさいときこそシェルスクリプトを書くべきじゃまいか
引数のパスからクラス名を取り出して他の引数はそのままjava.exeに渡す
このスクリプトにパスを通しておく
coかcomまで辿ればパッケージにも対応できるな
0114デフォルトの名無しさん
垢版 |
2018/10/26(金) 18:35:01.07ID:zbWSKzqB
プログラムとスクリプトとシェルの違いって何ですか?
パワーシェルは何?
0115デフォルトの名無しさん
垢版 |
2018/10/26(金) 18:46:34.50ID:xBIHPZW8
コマンドプロンプト・PowerShell・bash は、コマンドを入力できるから、シェル

コマンドプロンプト用に、ファイルに書いたプログラムは、バッチファイル。
PowerShell・bash用に、ファイルに書いたプログラムは、シェルスクリプト
0116デフォルトの名無しさん
垢版 |
2018/10/26(金) 19:16:08.67ID:6wLQ7f7d
>>105
Java11使え。
java ./hogehoge.java
0117デフォルトの名無しさん
垢版 |
2018/10/26(金) 19:30:22.59ID:FXq8Nzbn
クラスファイルに.class 拡張子は付いてないという前提でラクそうな方法
java -classpath
まで入れて、ファイル名一部入力してtab
.\Hogeが保管されるので
Ctrl+←で一回おすと\の後の文字に飛ぶ。
そこでスペースキー
java -classpath .\ Hoge
Javaは拡張子は見ませんだの、ファイル名見ませんだの、大文字小文字区別だのいろいろ面倒ね
0119デフォルトの名無しさん
垢版 |
2018/10/26(金) 20:14:30.49ID:mtqgcbcu
ComObjectみたいにJavaObjectをNewできたら便利だとおもう
Java相互運用ラッパーを自動生成するコマンドレットない?
0120デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:50:26.09ID:E3+jW7oE
>>116
11からコンパイルいらないんでしたっけ?便利ですよね。
結局プロファイルでmyjavaっていう11みたいに動作するようにしました。
0122デフォルトの名無しさん
垢版 |
2018/10/29(月) 21:10:57.38ID:UusL+Srb
>>121
最近追ってなかったから知らんかったけど
Markdownに対応してんやね
びっくりやわ
0123デフォルトの名無しさん
垢版 |
2018/10/30(火) 00:22:31.97ID:LZVff6s3
パワーシェルやバッチってプログラム言語と言えるの?
0124デフォルトの名無しさん
垢版 |
2018/10/30(火) 04:04:48.57ID:ZaLbntHv
シェルスクリプト(awk sed,perl)含むの記述がプログラムか?と問われたら是非別れるのと同じ気がする。用法、組み方によるのでは?
各種言語を切り貼り利用できるグルー言語資質と、プロトタイピング性に優れてる。
データ扱いが常にオブジェクトというのがそれらと大きく異質。
0126デフォルトの名無しさん
垢版 |
2018/10/30(火) 07:27:28.27ID:H5WVH8ZO
一般的な基準として、チューリング完全な、プログラムを記述するための形式言語ならプログラミング言語
Powershellはbrainf*ckインタープリタを書けるらしいのでチューリング完全
だからプログラミング言語と言って差し支えない
0128デフォルトの名無しさん
垢版 |
2018/10/30(火) 19:29:22.59ID:5BbWkodl
WindowsPEのvbsがシステムフォントの変更によって使い物にならなくなったので
PowerShellでフォントを指定したメッセージボックスを使いたいです。

インプットボックスでフォントを指定したサンプルは見つけましたが
メッセージボックス版が見つけられません。

コードを教えていただけますでしょうか。

バッチスレの住人でPowerShellは門外漢なのです。
0129デフォルトの名無しさん
垢版 |
2018/10/30(火) 20:40:30.78ID:LZVff6s3
よくわからんけどmsgコマンドじゃあかんの?
0130デフォルトの名無しさん
垢版 |
2018/10/30(火) 21:16:30.95ID:J8L+p3HY
>>129
WindowsのPro版にある「Msg.exe」の事ですか?
WindowsPEに有りませんし、持って来ても動きませんでした。
WindowsPEはx86のexeをx64で動かせないので
x86しかexeが無い場合は使えません。
その点、スクリプトはビット数を選ばないので都合がいいのです。
0131デフォルトの名無しさん
垢版 |
2018/10/30(火) 21:25:14.89ID:eTO/K+Ns
Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.MessageBox]::Show("メッセージ", "タイトル")

で行けるかね?
PEでWindowsForms使えるか分からんけど
0132デフォルトの名無しさん
垢版 |
2018/10/30(火) 21:41:00.25ID:OyNBi9EH
そもそもPEなんてしょぼ環境にPowershellや.NETランタイム入ってるんだっけ
逆にPSが動作するぐらいならSysWOW64ぐらい入っててもよさそうだが
0135デフォルトの名無しさん
垢版 |
2018/10/31(水) 01:30:38.10ID:FlI1cXqx
バッチから引数付きで呼び出す時に、引数 ※param() でエラーが出た時って
%ERRORLEVEL% は 0 ですよね?
trapやtry〜catchもできないし。。。
param での例外を判定する方法はないでしょうか
0136デフォルトの名無しさん
垢版 |
2018/10/31(水) 10:46:10.57ID:7QmHbGvy
WindowsFormsつかってフォントかえるなら
FormつくってLabelのfontに
Add-Type -AssemblyName System.Drawing
$Font = New-Object System.Drawing.Font("メイリオ",18)
でぶち込むくらいしか知らねい
0137デフォルトの名無しさん
垢版 |
2018/10/31(水) 19:08:52.44ID:TK2x4mB7
>>135
Powershellをバッチの部品として使うのは非効率だしなぁ
Powershellスクリプトで書けば良くない?
引数のエラー処理なんて関数ごとtry〜catchすりゃいいし
0138デフォルトの名無しさん
垢版 |
2018/10/31(水) 19:25:39.36ID:zoWehdgp
今更ながらに気が付いた話。
大容量のcsvファイルをimport-csvで読むとメモリーの問題があり・・・・
と思い込んでいたんだけど。
.NETが基本なんで、もしかして中身はIEnumerable利用なんかな?
と思い、ためしに130万件で20項目のデータを使って
import-csv をそのままパイプでgroup-objectにつないで集計してみたら
何の問題もなく結果が得られた。

そうだよね、遅延実行してくれてるんだよね。
処理速度は別として、1億件でもメモリー圧迫なしで処理できるんだ。
自作コマンドレット作ると、デカいデータをPowerShell使った処理が
可能だな。

と気が付いた次第。
皆にとっては当たり前かもしれんけど、いま気が付いたよ。
0139デフォルトの名無しさん
垢版 |
2018/10/31(水) 20:54:57.34ID:2eQnYqe5
>>134
>>136
すみませんが、その説明でも分からないレベルですので
コードを全て教えて頂けないでしょうか。
Formとかlabelとか全然分からないのです。
0140デフォルトの名無しさん
垢版 |
2018/10/31(水) 21:31:23.96ID:1CGtBgIK
135です
自己解決しました

>>137
既存の置き換えなのでそうもいかないのです^^;
結局、呼び出したps1ファイルの中で関数化してInvoke-commandでスクリプトブロックを呼び出しました
0141138
垢版 |
2018/10/31(水) 22:05:02.46ID:zoWehdgp
PCで時間計測してみた
819万件20項目のCSVファイルで2項目を指定したクロス集計。
CSV読み込みからクロス集計まで。
環境はmac mini。OSはwin7
結果:17分16秒
まあ許せるんじゃないでしょうか。
ついでなんでSASで同じことをやってみた、読み込みからクロス集計。
結果:0分9秒

・・・・・・がっくり
0143デフォルトの名無しさん
垢版 |
2018/10/31(水) 22:13:11.37ID:7QmHbGvy
>>139
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$form = New-Object System.Windows.Forms.Form
$form.Text = "タイトル"
$form.Size = New-Object System.Drawing.Size(260,180)
$form.StartPosition = "CenterScreen"
$form.MaximizeBox = $false
$form.MinimizeBox = $false
$form.FormBorderStyle = "FixedSingle"

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Point(130,100)
$OKButton.Size = New-Object System.Drawing.Size(75,30)
$OKButton.Text = "OK"
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $OKButton
$form.Controls.Add($OKButton)
0144デフォルトの名無しさん
垢版 |
2018/10/31(水) 22:13:40.92ID:7QmHbGvy
>>139
$Font = New-Object System.Drawing.Font("メイリオ",18)

$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,30)
$label.Size = New-Object System.Drawing.Size(250,30)
$label.Text = "メッセージ"
$label.font = $Font
$form.Controls.Add($label)

$form.Topmost = $True

$result = $form.ShowDialog()
0145デフォルトの名無しさん
垢版 |
2018/10/31(水) 22:26:30.11ID:zoWehdgp
統計関係で有名なソフト
データ加工がめちゃ便利で速い。値段が高い。
GoogleやAppleが会社(仕事環境:オフィスや会社の環境)は
SASの本社(SAS Institute)を参考にしたそうだ。
0147デフォルトの名無しさん
垢版 |
2018/10/31(水) 22:37:39.56ID:zoWehdgp
私のデスクトップ環境で、ソフト年間レンタル初年度120万、次年度60万円
個人じゃ買えないよね〜。でも金融機関や大手の分析BI系(統計やマイニング)は
ほとんどこのソフト。DBもETLもいらないんであとはExcelがあればいいという感じ。
このソフト入れると、DBはただの元データ置き場になっちゃって、皆これをDB代わり
にも使ってしまうことが多い。ただ高いので結構利用部門とか限定される事も多い。
0148138
垢版 |
2018/10/31(水) 22:50:51.47ID:zoWehdgp
ついでに、機械学習(マイニング・AI)専用のKNIME(これはフリー)で
同じこと(819万件20項目のCSV読み込みと2項目のクロス集計)をやってみた。
結果:3分48秒

PowerShell遅かったけど、十分実用性あると思うわ。
一般のツール使ったらやはり10分位はかかると思うんで。
0149デフォルトの名無しさん
垢版 |
2018/11/01(木) 00:33:44.20ID:PBz6MbCm
>>138
PowerShell は遅延実行だったのか

Ruby では、外部イタレータのEnumerator なら遅延実行になる

Enumeratorから、to_a して配列の実体を作ると、全部読み込まれてしまうから、
ずっと、Enumeratorを返すメソッドをチェーンしていって、最後にストリーム処理する

Java のStream とか、C# のLinq みたいな感じ
0150デフォルトの名無しさん
垢版 |
2018/11/01(木) 01:13:45.19ID:c7Wqsl8P
Powershellパフォーマンス計測やってたブログで
パイプラインは遅延実行でメモリ使用は少ないけど遅い
foreach(foreach-objectフィルタじゃなくてコマンドの方)はオブジェクトをメモリに読み込むからリソース使うけど速い
とかテストしていた所があった

ただ結構昔の記事だから最近のバージョンだと違うかも
■ このスレッドは過去ログ倉庫に格納されています

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