トップページtech
1002コメント336KB

【最強CUI】PowerShell -Part 1

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/09/12(木) 18:35:04.72
スレなかったので立てました
0153デフォルトの名無しさん2014/03/30(日) 12:03:12.26ID:1u4x9v7e
>>152
画面はVSでポトペタをそのまま使える
PowerShellでホストする。
めちゃくちゃ簡単になる。
0154デフォルトの名無しさん2014/03/30(日) 13:20:00.33ID:RDnNVplQ
>>152
それ、VSの立場が理解できてないんだとおもうぞ
0155デフォルトの名無しさん2014/03/30(日) 13:40:34.98ID:o9ag65ui
納品用のPCに泣きながらVSをインストールする>>152を目撃したという未確認情報が入りました
0156デフォルトの名無しさん2014/03/30(日) 15:51:48.19ID:RDnNVplQ
>>152
たとえばWPFなら、VSで作る画面(XAML)をC#で使えるよね
これはC#用に作っているわけじゃなく、XAMLとして作られている。
独立したものなんです。これがコードビハインドという考え方。

だから同じものをVBでも使えるよね。
同じようにPowerShellでも使えるんです。
イメージわかってくれたかな?

知っているかもしれないけど、ついでなんで、
バインドという考え有るよね。
これを組み合わせるとJavaなどと比べて何倍も高い開発効率を
生めるのが、現在の.NETの世界となってきている。
なんで、Javaやめて戻ってきた次第。
0157デフォルトの名無しさん2014/03/31(月) 00:31:05.84ID:3P7ATE0k
>>153
すいませんが、アホの俺にもわかるように教えて下さい。
Powershellでホストするって?
0158デフォルトの名無しさん2014/03/31(月) 00:37:28.56ID:3P7ATE0k
http://d.hatena.ne.jp/ladybug/20111204/p1
こういうことですか?
0159デフォルトの名無しさん2014/03/31(月) 00:51:18.63ID:HPrdAsyG
xamlでUI作ったらPowerShellから読み込んでShowDialog()で呼び出すってだけじゃ?
0160デフォルトの名無しさん2014/03/31(月) 06:31:38.92ID:nFhjZp0H
$arr=ls
$arr.Name
$arr.fullname

Nameでファイル名、fullnameでフルパスを取り出すのは便利
ただし、入力補完ではこれらの候補が出ない
0161デフォルトの名無しさん2014/03/31(月) 09:16:41.02ID:ObzhI129
>>160
そもそも ls.Nameってあったけ?
0162デフォルトの名無しさん2014/03/31(月) 13:34:02.17ID:FswzEzL9
>>160
ls -Nameの間違いかな?

$arr=ls
$arr -Name
としたいということだとすると、無理じゃないかな
new-alias arr ls
arr -Name
ならいけるけど
0163デフォルトの名無しさん2014/03/31(月) 13:42:03.34ID:Z/deP/O+
>>156
データバインドって、Angularのやってるアレ?
スクリプトならnashornで書く方が速いんじゃないの
0164デフォルトの名無しさん2014/03/31(月) 13:56:19.72ID:FswzEzL9
>>163
そういうのは好きなのえらべばいいんじゃないかな。
0165デフォルトの名無しさん2014/03/31(月) 14:04:39.44ID:Z/deP/O+
いきなり他の言語を使えって言われても、コンテキストを思い出せないんだよ
Excel VBAがExcel JScriptに置き換わったら、いよいよだと思うね
0166デフォルトの名無しさん2014/03/31(月) 18:14:36.06ID:fvBhjMHZ
powershell の意味不明な文法はどこ由来なんだろう
0167デフォルトの名無しさん2014/03/31(月) 19:19:51.23ID:HPrdAsyG
>>161-162
Member Enumerationといって、V3からコレクションの各要素のメンバーにアクセスする機能が追加されたんだよ
ttp://blogs.msdn.com/b/powershell/archive/2012/06/14/new-v3-language-features.aspx
0168デフォルトの名無しさん2014/03/31(月) 19:45:07.51ID:2sfUKmxl
いちいちselectしなくても良くなったってことか
それは助かる
0169デフォルトの名無しさん2014/03/31(月) 21:39:20.66ID:FlSL2ost
>>167
それなら、書き方が違うと思うぞ
$arr=ls
$arr.Name
はできないでしょ

$arr=(ls)
$arr.Name
なら可能だけど、
それでも
入力補完はしてくれないね。
0170デフォルトの名無しさん2014/03/31(月) 23:13:53.29ID:HPrdAsyG
>>169
いやどちらでも通るよ?
入力補完はそりゃ利かないだろうけど
0171デフォルトの名無しさん2014/04/01(火) 00:13:09.13ID:n+62zDt+
>>170
ごめん、通った
0172デフォルトの名無しさん2014/04/01(火) 21:14:46.98ID:XUx13Ibi
>>167
意外だ。3まではできなかったのか。
powershellの()とか$()ってオブジェクトがそのまま却ってくると理解してて、その書き方が当たり前と思ってたわ。
01731602014/04/02(水) 02:37:09.60ID:iqksnACc
$arr=ls
$arr.Name
$arr.DirectoryName
$arr.FullName

Nameでファイル名、DirectoryNameでフォルダまでのフルパス、
FullNameで、ファイル名付きフルパスを取り出す

入力補完は、
$arr. で配列のメンバが、
$arr[0]. で配列中のファイル情報のメンバが表示される
0174デフォルトの名無しさん2014/04/02(水) 03:15:22.54ID:DfhRYDJb
ps初心者におすすめの書籍やサイトありませんか?
0175デフォルトの名無しさん2014/04/02(水) 10:47:02.26ID:rXi4eJBj
powershell in actionのセカンドエディションが何故出ないんだろう・・・
英語読めんから、日本語版でてもらいたいんだけど
0176デフォルトの名無しさん2014/04/02(水) 15:40:49.84ID:mZJZP6QO
>>174
やはりTechNetじゃないかい
0177デフォルトの名無しさん2014/04/02(水) 17:16:43.20ID:m0GxFAWI
powershellって、本は少ないよな
というか、読んだことない
日本語の情報も少ない
powershellはバージョンアップで結構大きく変わってるから、ネットの情報も古いのはあまり役に立たない
0178デフォルトの名無しさん2014/04/02(水) 17:36:21.91ID:wdgZMuKf
選ばれし者のみが使うものだから安っぽい一般書籍で下々の者の目に触れさせてはならぬのだ
0179デフォルトの名無しさん2014/04/02(水) 19:56:12.51ID:Y0IuL1ul
>>177
ないことはないが
wshの本だって読んだことないだろ?
0180デフォルトの名無しさん2014/04/02(水) 20:35:42.75ID:OMqTUtFb
歯を磨くのに歯ブラシの本なんか読まないって奴だな
0181デフォルトの名無しさん2014/04/02(水) 21:07:06.51ID:y1aMAgcN
そういえば、Excelの本も読んだことないな
0182デフォルトの名無しさん2014/04/02(水) 21:53:15.82ID:m0GxFAWI
bashの本は結構ある
0183デフォルトの名無しさん2014/04/03(木) 02:45:55.99ID:Ft/oIZi2
>>174
「Windows PowerShell 実践システム管理ガイド」2009初版
この本は一通り、環境設定や文法などを説明しているが、
サーバ管理者じゃなければ、あまり読む所がない

@IT 執筆者は山田 祥寛(よしひろ)
ttp://www.atmarkit.co.jp/fwin2k/win2ktips/1069psffolder/psffolder.html

HIRO's.NET
ttp://hiros-dot.net/PowerShell/index.htm

MS TechNet スクリプトセンター
0184デフォルトの名無しさん2014/04/03(木) 15:09:33.58ID:Ft/oIZi2
ファイル名に入っているすべての空白を、
アンダーバーに置換して、
置換したときのみ、ファイル名を変更する

#複数か所を置換。日本語もOK
$a=$str.Replace(' ','_')

#True, False
#もし、置換されていれば
if(! $a.Equals($str)){ren}

Replaceが置換できたかどうかが分からないため、
Equalsで置換前後の文字列を比べているんですが、これでいい?

Replaceが置換した文字数でも返せば、便利なのに
0185デフォルトの名無しさん2014/04/03(木) 22:15:18.50ID:PIEAAVmi
これが最近になってerrorになるんだが。エラーメッセージは今手元に処理系がないから晒せない。すまぬ。

$ie = new-object -com InternetExplorer.Application
0186デフォルトの名無しさん2014/04/04(金) 03:15:36.79ID:Y0zkgPF2
$ie = new-object -com InternetExplorer.Application
Win8で、動くよ
ただし、このままでは見えないから、
$ie.Visible=$true で見える

それから、$ie.Quit() で終了して、
Remove-Variable ie で変数を完全に削除する
0187デフォルトの名無しさん2014/04/04(金) 03:25:58.26ID:wR4zjFJC
>>186
あ、動かなかった環境はwin7
0188デフォルトの名無しさん2014/04/04(金) 03:26:28.98ID:wR4zjFJC
>>186
ieのバージョンは8
0189デフォルトの名無しさん2014/04/04(金) 05:53:17.18ID:KMj82CKh
>>186 ので Vista (ってかWin2008srv) と IE9だと、今ちゃんとIE起動したなあ。
0190デフォルトの名無しさん2014/05/02(金) 17:26:10.96ID:iN4GJgNf
echoや>の出力がUTF-16LEなのはハマるな
もともとUTF-8で出力するプログラムとかなんかおかしくなるし
0191デフォルトの名無しさん2014/05/02(金) 20:40:03.81ID:HFpQdt1h
そもそも自分でエンコーディング指定しない状態でうまくいくと思うのがおかしくね
0192デフォルトの名無しさん2014/05/10(土) 13:27:52.37ID:rkawSHax
クラシック コマンドと PowerShell の間のエンコード設定
ttp://d.hatena.ne.jp/ladybug/touch/20111203
0193デフォルトの名無しさん2014/05/17(土) 13:01:56.04ID:zPk4Oowy
>>191
おかしくないね
0194デフォルトの名無しさん2014/05/17(土) 13:04:18.77ID:zPk4Oowy
>>191
そもそも自分でエンコーディング指定しない状態でうまくbatは
そのまま実行できた方が便利じゃね

おかしくねってなんだよこのカス
お前のせいでこのスレ過疎ってんじゃねえかよ
俺は苦労なく適応してるスタイリッシュ糞野郎は死ねよ
0195デフォルトの名無しさん2014/05/17(土) 13:05:13.85ID:zPk4Oowy
>>191
そもそも自分でエンコーディング指定しない状態でうまくbatも
そのまま実行できた方が便利じゃね
>>192
それがめんどいって言ってるんだけど

だからこのスレ過疎ってんだけど
0196デフォルトの名無しさん2014/05/17(土) 13:06:51.90ID:zPk4Oowy
>>192
ドヤ顔1行レススタイリッシュでああかっこいい
これでもうまく出来ない
たとばestcmdのことだよ
やってみろごみ
0197デフォルトの名無しさん2014/05/17(土) 13:09:30.55ID:zPk4Oowy
そもそも自分でエンコーディング指定しない状態でうまくCUIコマンドは
そのまま実行できる方が便利とおもわないほうがおかしくね
0198デフォルトの名無しさん2014/05/17(土) 13:10:47.73ID:6QUaAdwh
そもそも自分でエンコーディング指定しない状態で動いてるCUIコマンドは
そのまま実行できた方が便利とおもわないほうがおかしくね
0199デフォルトの名無しさん2014/05/17(土) 13:21:35.98ID:6QUaAdwh
>>192
設定してもestcmdがうまく変換できない
試してみなくても絶対できると思うこむのがおかしくね
0200デフォルトの名無しさん2014/05/17(土) 21:10:33.02ID:blVZ2esz
こちらの質問を投稿されてから少し時間が経ちましたが、その後の状況はいかがでしょうか

とか気持ち悪いからまれ方する掲示板には絶対に書き込みしないが
ここでカスどもを叩きつぶんつ
0201デフォルトの名無しさん2014/05/17(土) 21:25:14.42ID:blVZ2esz
単純にエンコード指定しただけではうまくいかないことがあるのは明白
試しもしないで大嘘書いてんじゃねえよクズ
0202デフォルトの名無しさん2014/05/17(土) 23:03:47.67ID:blVZ2esz
こちらの質問を投稿されてから少し時間が経ちましたが、その後の状況はいかがでしょうか

とかいう気持ち悪いからまれ方する掲示板から出てくんな
0203デフォルトの名無しさん2014/05/21(水) 01:04:44.83ID:sYItXBaD
utf8を出力するコマンドを扱うのは厄介で
普通に実行すると、utf8がsjisに文字化けした文字列が出力され、
これを > しようもんならさらにutf-16leでエンコードされて涙目になる。
> そもそも自分でエンコーディング指定しない状態でうまくいくと思うのがおかしくね
なんていう話ではない>>191>>192

これ(utf8がsjisに文字化けした出力)をファイルに落として(sjisでエンコード指定(Default))
Get-Contentで読み込む(utf-8でエンコード指定)と
文字コードはあってるのにバイトが欠けたような化け方をして元のコードには戻らない。
cmd.exeのutf-8→sjisの変換(iconvとかnkf)ではそんなバイト欠けしないので
暗黙の多重エンコードのせいでバグのような挙動になってるのだろう。

get-content でutf8なファイルを-Encoding utf8指定して読み込むとすべてうまくいくので
コマンドにもutf8でエンコードで指定できればうまくいきそうではある。
でもコマンドにはエンコード指定ができないのだ。
これはcmd.exeと一緒なので普通なんだけど。

cmd.exeでutf8を扱うのはXPからの悲願だったわけで
sjisに化けた文字をどうこうするよりやはり生のutf-8を出力してもらうのが最善であろう

Diagnostics.ProcessStartInfoのStandardOutputEncodingを設定すれば
ナマのutf-8を吐いてくれる。
つまり、Diagnostics.ProcessStartInfo の設定してとあるutf-8出力コマンドに
引数を渡すラッパをpowershellスクリプトで書けばいい

手間といえば手間だが
cmd.exeでutf8を扱うのはXPからの悲願だったわけで
必要な手間だといえる
0204デフォルトの名無しさん2014/05/21(水) 02:18:31.24ID:ta57bKtc
標準出力のutf16leとsjisは自動判別されるがutf8は判別しない。
utf8での出力は問答無用でsjis出力される。$OutputEncoding は関係しないようだ。
.netのDiagnostics.ProcessStartInfoの StandardOutputEncodingをutf8に指定して
プロセスを作成すれば、化けずにutf8で表示できる。

utf8のファイルならば自動判別される。
Get-Contentで文字コードを指定しなくてもutf8のファイルを読み込めるし
> をしたら、化けずに正常にutf16leに変換される。
0205デフォルトの名無しさん2014/05/21(水) 02:27:53.59ID:ta57bKtc
UTF8の標準出力は無視というより
単純にBOMBなしUTF8はスルーされるってだけの話なのか
BOMBなしUTF8は-encoding utf8すれば読めるが強制sjis変換される
BOMBがないutf8はちゃんと表示された
0206デフォルトの名無しさん2014/05/21(水) 02:28:38.07ID:ta57bKtc
×BOMBがないutf8はちゃんと表示された
◯BOMBありのutf8はちゃんと表示された
0207デフォルトの名無しさん2014/05/21(水) 18:11:51.04ID:WiuU0w7h
>>203
俺が言ったのは、エンコーディング指定なしで望みの形に自動で入出力される、なんて都合のいいもんのはずないだろってことだけだが
特にUTF-8が厄介なのはcmd.exeの頃からそうなんだから
0208デフォルトの名無しさん2014/05/22(木) 15:38:40.24ID:/bbRYJfN
テキストはバイト列じゃなくて文字列として扱われる
PHPとかPtyhon2とかしか知らないと、間違う
0209デフォルトの名無しさん2014/05/30(金) 23:45:52.42ID:F99LD7Fr
>テキストはバイト列じゃなくて文字列として扱われる
バイナリとして比較するということを言いたいのかな?
0210デフォルトの名無しさん2014/05/31(土) 01:17:39.96ID:HDDKJJTo
逆だろ
0211デフォルトの名無しさん2014/05/31(土) 01:45:04.55ID:tHdAdTRr
>Diagnostics.ProcessStartInfoのStandardOutputEncodingを設定すれば
>ナマのutf-8を吐いてくれる。

これは勘違いで誤り。
utf-8をsjisに変換してくれる、が正しい。cmd.exeでも同じ挙動。

そもそも適切なエンコーディング指定する方法がないのだから
>そもそも自分でエンコーディング指定しない状態でうまくいくと思うのがおかしくね
で軽々しく済む話ではないのは明らか
0212デフォルトの名無しさん2014/05/31(土) 01:48:59.81ID:YDFuTMoW
むかしは、シフトJISのテキストをバイト列として(バイナリとして=j処理した。
(当初からJavaは、テキストを文字列として処理してきた)

いまは、Perl, Python, Rubyは、文字列としてテキストを処理できる。
スクリプトがどの文字コードでかかれてるか明記。
出力するとき、内部の文字コードから表示の文字コードに変換。
0213デフォルトの名無しさん2014/05/31(土) 02:00:38.69ID:tHdAdTRr
ちょっとエンコーディング指定すればいいなんて手間じゃねえし
なめてんだろ
0214デフォルトの名無しさん2014/05/31(土) 12:22:25.77ID:LqLiNHuI
>>190本人が、何もしなくてもUTF-8形式を適切に処理してくれるって考えは甘いってことを理解してりゃそれでいいよ
0215デフォルトの名無しさん2014/06/02(月) 22:17:32.05ID:iXPDpkrB
>>214
BOM付きUTF8ならば適切に処理されるんだからややこしいのであって
考えが甘いとかそういうことじゃないんだよ

こうやって精神論にすり替えて叩いてくる
どうせわんくまのバカどもが食いついてんだろ
お前らいつも参考にならないんじゃアホ
0216デフォルトの名無しさん2014/06/02(月) 22:30:48.29ID:iXPDpkrB
>>207
口だけのわんくまカス(あるいはそれと類する存在)よ
俺は100%間違ってないみたいな態度とってるんだがお前は間違ってんだよ
都合がどうのこうのだという話はしてない
少なくともお前の書き込みはいらなかったし死んでほしい
利用者のアラをつつくような(もちろんこちらのあらはなかった)グズは死ねよ

以下の挙動がcmd.exeなどとは違っててバグなんじゃないかと言ってるんだが?
アドバイスくれクズ

>>203
>これ(utf8がsjisに文字化けした出力)をファイルに落とし(Set-Content
-Encogin Default指定) て
>Get-Contentで読み込む(-Encoding utf8でエンコード指定)と
>文字コードはあってるのにバイトが欠けたような化け方をして元のコードには戻らない。
>cmd.exeのutf-8→sjisの変換(iconvとかnkf)ではそんなバイト欠けしないので
>バグだと思われる。

hyperestraier のようなutf8出力コマンドで再現可能
0217デフォルトの名無しさん2014/06/02(月) 22:34:16.22ID:iXPDpkrB
>>207
そもそも適切なエンコーディング指定する方法がないのだから
>そもそも自分でエンコーディング指定しない状態でうまくいくと思うのがおかしくね
で軽々しく済む話ではないのは明らか
cmd.exeではこんなビット欠けは起きない
0218デフォルトの名無しさん2014/06/02(月) 22:37:17.51ID:iXPDpkrB
>>207
コマンドの標準出力にはエンコード指定する方法なんかないので
大げさなラッパを作る必要がある
cmd.exeの頃は勝手にutf16leに変換されるなんてことなかったし
変換し直すだけでトラブルはなかった
分かったかわんくまバカ
0219デフォルトの名無しさん2014/06/02(月) 22:43:53.50ID:iXPDpkrB
echoや>の出力がUTF-16LEなのはハマるな
もともとUTF-8で出力するプログラムとかなんかおかしくなるし
0220デフォルトの名無しさん2014/06/02(月) 22:46:54.35ID:iXPDpkrB
じゃあ
echoや>の出力がUTF-16LE
である利点を語ってくれ
標準出力unicode演サは今まで全く覧ヘを入れてこなbゥったことので粕゚願でも何でもbネい
それ�ネ外で
0221デフャHルトの名無しbウん2014/06/02(月) 22:53:46.33ID:iXPDpkrB
>>192
正直そこらへんのブログの落書き情報よりつっこんだ話してるからね
このスレ読めばUTF8関連のトラブルは解決するだろう

もちろん俺だけのおかげであって
わんくまやムタや魔界仮面(宇宙仮面ではない)の出番はなかった
わんくまが役に立ったことなんかないがな
0222デフォルトの名無しさん2014/06/03(火) 00:46:33.05ID:zVTgVwHZ
利点も糞も、echo(write-output)は、生のオブジェクトを扱うことになるわけで、
つまりは、.NET仕様の根幹だから今更変えようがないでしょ。
従って、文字コード変換とかは受け取る側が全部面倒見る必要がある。

が、今どきUTF-8くらい標準(共通パラメータ?)で何とかしろよ、っていう点には同意だが。
0223デフォルトの名無しさん2014/06/03(火) 00:54:23.68ID:Y/pEIVnr
エンコーディングを指定すればいいだろ
0224デフォルトの名無しさん2014/06/04(水) 20:44:17.78ID:L8qA/6qE
Get-Item も Write-Output もオブジェクトの配列を引数に取りますが、

> Get-Item a.txt, b.txt # a.txt, b.txt 両方表示

> Get-Item a.txt b.txt
Get-Item : 引数 'b.txt' を受け入れる位置指定パラメーターが見つかりません。

ここまでは良いのですが、

> Write-Output 1, 2, 3
1
2
3

> Write-Output 1 2 3
1
2
3

Write-Output の2つ目のコマンドがエラーにならないのはなぜでしょうか?
0225デフォルトの名無しさん2014/06/05(木) 00:54:18.00ID:0UtGsb3y
>>224
値を受け付けるパラメータの数が1つだけだとこういう挙動になるのかと思ったけど
Write-Hostでも同じようにエラーにならないな
0226デフォルトの名無しさん2014/06/06(金) 20:42:25.77ID:SJO4baaV
>>215-216
いやお前は必要な情報を提示したつもりだったのかも知れんが、
>>190のレスだけじゃ一般論として文字コード意識しないと駄目だろって話にしかならない
0227デフォルトの名無しさん2014/06/08(日) 09:45:09.57ID:EYTmrCp1
ここで聞いて良いのか分からないけど分かる方居たら教えて下さい。
Get-WmiObject -ComputerName IP -Credential $cre 〜としてサーバの情報取って来ようとしてるんですが、UserAdministrator Passなし で認証のダイアログ等を出さずに実行するだけで取得する方法はありますか?
パスワードの設定がされていればそのまま取ってこれるんですが、パスなしの場合は無理でしょうか。ちなみにドメインには参加していません。
0228デフォルトの名無しさん2014/06/08(日) 15:47:34.27ID:sw1PudVp
WinRMを設定して使う。
SSHみたいにリモートでコマンド実行できる様になる。
0229デフォルトの名無しさん2014/06/09(月) 00:18:43.04ID:5ZVLqxF5
>>228
ちょっと調べてみた感じサーバ側の設定が必要なんですね
まだ入社したばかりで、大量にあるサーバを全手動でチェックしてるのでそこをなんとかしようと思って調べてました
お上にお伺い立てないといけませんが、もうちょっと調べて行けそうなら考えてみます
ありがとうございます
0230デフォルトの名無しさん2014/06/15(日) 12:59:24.56ID:7N5YxzDD
#file1.txt
hoge
fuga

$a = gc file1.txt
$a[0] #=> hoge

---
#file2.txt
hoge

$a = gc file2.txt
$a[0] #=> h

gc file2.txt | %{$_} #=> hoge

ログの集計で軽く嵌ったわ。
柔軟といえば柔軟なんだけど。
0231デフォルトの名無しさん2014/06/20(金) 15:35:56.81ID:HoBg26Gr
バージョン2.0使ってるけどConvertfrom-Csvで変換後にある列がブランクの行をWhereで抽出して表示させようとしたんだけど
他の列は「-eq ""」でいいんだけど最終列だけは「-eq $null」にしないと抽出できないね。
列ごとに書き方変えるの面倒なのでIsNullOrEmpty使うようにしたけどバグに近いレベルの仕様だな。
上位バージョンだと改善されてるのかな?
0232デフォルトの名無しさん2014/06/20(金) 16:53:37.72ID:wHzCGsbi
>>231
IsNullOrEmpty
使うものですよ
0233デフォルトの名無しさん2014/06/20(金) 17:49:45.80ID:1hp3pFc2
CSV自体が欠陥規格だから、変換後のデータをよーく検証しないのが悪い。
0234デフォルトの名無しさん2014/06/21(土) 09:09:56.44ID:OJ/lzG/j
Windows PowerShell 伊瀬
0235デフォルトの名無しさん2014/06/21(土) 10:30:10.12ID:CuxdLLeL
伊瀬って人の名前かと思ったわ
0236デフォルトの名無しさん2014/06/21(土) 11:10:30.86ID:5Gha9VrW
× 伊瀬

○ 伊勢
0237デフォルトの名無しさん2014/06/21(土) 14:55:17.30ID:hhcyEr91
>>233
まあ表示させようとしたのはタブ区切りファイルなんだけどね。(「-delimiter `t」を指定)
ちなみにタブ区切りファイルの全行の末尾にタブ1個追加すると最終列も「-eq ""」で抽出出来た。
余談だけどOutGridViewの表示内容をコピーすると全行の末尾に余分なタブが付いてるのもこれ絡みに理由なんだろうか…
0238デフォルトの名無しさん2014/06/26(木) 07:18:34.55ID:W91RvMJw
>>237
末尾のタブの有無じゃなくて
もしかして、ファイルの最後に改行が入って無いんじゃない?
0239デフォルトの名無しさん2014/08/30(土) 05:31:37.22ID:86Qko6ZX
これはWindowsの内部情報を操る部分にだけ使い、
一般的なUI処理・データ処理はバッチファイルや
PythonやRubyなどを併用した方が良さそうだな
コマンド名が冗長でついていけない
0240デフォルトの名無しさん2014/08/31(日) 08:59:00.04ID:Fxu9rxFN
他のLL覚えてて使用できる環境ならそれで十分だとは思うが
さすがにバッチはないわー・・・
0241デフォルトの名無しさん2014/09/02(火) 09:24:06.69ID:uW2FT7+h
>>239
ls,cd,cpなど、UNIX系の短いコマンド名も使える
0242デフォルトの名無しさん2014/09/02(火) 12:39:30.46ID:Ez2bfEzC
>>239
エイリアスあるだろ
0243デフォルトの名無しさん2014/09/02(火) 12:56:46.77ID:rTXrUpAw
コマンドの命名規則が統一されてるから、細かく覚えてなくても、getcommandとタブの補完で済む
0244デフォルトの名無しさん2014/09/04(木) 21:44:10.03ID:tOnhAyW6
Windows Server 2012 R2 でFPTサーバー機能インストール後
下記コマンドでサイト追加すると物理パスが設定されない

Import-Module WebAdministration
New-WebFtpSite -Name "●●●" -PhysicalPath "パス文字列"

administrator権限で実行してるし、GUIで設定すると問題なくできる
パス文字列をダブルクォテーション無しやシングルクォテーションで囲ったりも試したがダメだった

誰か助けてくれー
0245デフォルトの名無しさん2014/09/04(木) 21:53:03.90ID:uNyEwEdx
>>244
MSのサポートに聞けばいいじゃん
権利持ってるんでしょ
0246デフォルトの名無しさん2014/09/05(金) 13:32:14.07ID:TJ9WELPZ
入力したコマンドとエラーメッセージを、正確に書け

パスは相対・絶対?ドライブ名は?
カレントディレクトリはどこにある?
0247デフォルトの名無しさん2014/09/05(金) 19:56:46.63ID:AtOrYG8X
>>245

ライセンスは会社で買ってるの
マイクロソフトのサポートページからWindows Server 2012 で
カテゴリでpowershell選んでいくと「支払い方法」とか出てきてひよってしまった
もうちょい頑張ってダメなら聞いてみる

>>246

コマンドは下記

Import-Module WebAdministration
New-WebFtpSite -Name "test" -Port 21 -PhysicalPath "P:\test"

エラーメッセージは表示されず、物理パスが空欄でFTPサイトが追加されてる
パスは絶対、ドライブ名はPドライブがありtestフォルダも作成してる
存在しないパスを指定した場合はエラーになる
カレントディレクトリはC:\Users\Administratorだと思う
(AdministratorでログインしてそのままPowerShell実行 いま職場じゃないので正確じゃなくてすまん)

Windows7でも試してみたが同じ状態になる
0248デフォルトの名無しさん2014/09/05(金) 23:18:10.66ID:TJ9WELPZ
PowerShellと同じフォルダにある、powershell_ise で、
-WhatIf オプションを付けて実行してみたら?

このオプションは、実際には実行されず、
何が起こるか表示するだけ
0249デフォルトの名無しさん2014/09/06(土) 00:33:52.22ID:lo5BUZzT
この程度でプレミア使ってたら他で使えなくなるだろw
0250デフォルトの名無しさん2014/09/25(木) 18:53:25.00ID:3nQex4gX
power shellは、ファイルの入・出力の真似事のようなことはできても、
まともにプログラムを作るのは無理だな。
0251デフォルトの名無しさん2014/09/25(木) 23:29:14.42ID:lRwJZ1gU
そりゃ言語部分は、インタプリタの
スクリプトだから、目的が違うよ。
組み合わせれば、いいものもできるが
それだけじゃできても、遅くて無理。
0252デフォルトの名無しさん2014/09/26(金) 11:58:07.40ID:TbsD84QQ
DSCとかいうの話題出てないようだけどあれは何なの
■ このスレッドは過去ログ倉庫に格納されています