[表示 : 全て 最新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/

829 名前:デフォルトの名無しさん [2019/08/29(木) 03:16:31.66 ID:RYMiansx.net]
基本的なことが分かってない気がするのだけど教えてください
get-date, get-childitem, get-location といったコマンドレットの代わりに
get 無しで date, childitem, location と入力しても同じ結果になる
これら get 無しコマンドは get 付きのエイリアスなのか? と最初は思ったのだけど
そんなエイリアスはないと言われる
これらの get 無しコマンド(?) はどういう立ち位置なんでそ?

ちなみに例えば location.bat とかを PATH の通った場所に置いておくと
そっちが実行されるので、これらは

830 名前:Tーチパスより優先度が低いようです []
[ここ壊れてます]

831 名前:デフォルトの名無しさん mailto:sage [2019/08/29(木) 04:05:52.42 ID:TR1/uwdi.net]
>>795
基本的なことはここにまとまってる
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-6#qualified-names

1. Alias
2. Function
3. Cmdlet
4. Native Windows commands

の順に探す
ただこの文書にはGetを省略した場合について書いてない
以下のコマンドを実行すればだいたいわかる

Trace-Command CommandDiscovery { date } -PSHost

すると上記の1〜4の順に探してもコマンドが見つからなかった場合、以下のようなデバッグ出力が見つかる

>The command [date] was not found, trying again with get-prepended

つまり1〜4でコマンドが見つからなかった場合は、頭にGetを付加してもう一回1〜4を探すよってこと

832 名前:デフォルトの名無しさん mailto:sage [2019/08/29(木) 04:22:51.28 ID:RYMiansx.net]
>>796
明快な回答ありがとうございます

> Trace-Command CommandDiscovery { date } -PSHost

これ勉強になりました

833 名前:デフォルトの名無しさん mailto:sage [2019/08/29(木) 19:25:49.72 ID:+UUfxV7s.net]
初心者で右も左もわからない状況で申し訳無いのですが、
明示的に設定してる共有ディレクトリとアクセス権を一括で出力ってできたりするんですかね?

Get-wmiobject -class win32_share
だとアクセス権までは出力されなかったんで...

詳しい方教えて頂きたいです。

834 名前:デフォルトの名無しさん [2019/08/30(金) 00:19:55.56 ID:kVpvpBih.net]
「powershell アクセス権限 確認」で検索!

こんな感じ?

ls | Get-ACL

835 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 10:55:43.01 ID:uzgqDeg8.net]
>>799
ありがとうございます。
検索してみます。

PowerShellはほんとに難しいです...

836 名前:デフォルトの名無しさん mailto:sage [2019/09/06(金) 17:24:06.26 ID:LE0BBPZ5.net]
ふぁあああ・・・・
解決してよかったよぉお
ハロー優しい世界、だねええええ^^

837 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 01:23:05.71 ID:SOW3zbb3.net]
Set-ACLは使うな



838 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 06:28:56.33 ID:jlJXcZnh.net]
>>802
替わりに何を使ったら良いですか?

839 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 06:44:55.31 ID:jb/JoUUS.net]
>>802
why?

840 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 10:39:33.44 ID:sSufJvsQ.net]
>>804
俺は >>802 ではないが、Set-Acl は使いづらい。
そもそもの理由は Windows の ACL (ACE) が複雑だからなのだが、対象にセットする ACL オブジェクトを作るのが分かりづらい。

例:All Users のスタートメニューのアクセス権を変更し、一般ユーザにも書き換えられるようにする場合(既存の権限に追加)
https://pastebin.com/R3JBWF2h

他のフォルダなどから ACL オブジェクトをコピーし、それをそのままターゲットに適用するだけなら簡単なのだけど。

>>803
「何が何でもすべて PS でやる!」 というポリシーでないのなら、cscls.exe、icacls.exe のほうがお手軽。

841 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 10:48:02.60 ID:jlJXcZnh.net]
>>802に答えて欲しいな

842 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 11:08:11.46 ID:sSufJvsQ.net]
>>806
ごめんね

843 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 15:10:43.76 ID:SOW3zbb3.net]
>>802だけどSet-ACLは所有権絡みで問題抱えてる
下サイトで説明されてる
https://qiita.com/carbonss/items/cc6d33fe6645a86171ad

844 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 15:12:47.14 ID:SOW3zbb3.net]
あ、>>803への答えはicaclsコマンド使えね
powershellは変な仕様あるから割と警戒した方がいい

845 名前:デフォルトの名無しさん mailto:sage [2019/09/08(日) 20:21:13.64 ID:d6DJW1MN.net]
F:/ に SDカードがマウント

846 名前:ウれているのを
アンマウントするコマンドは何ですか?
[]
[ここ壊れてます]

847 名前:デフォルトの名無しさん mailto:sage [2019/09/08(日) 21:55:23.61 ID:D+CIKcq7.net]
>>810
(New-Object -comObject Shell.Application).Namespace(17).ParseName('F:').Verbs()|?{$_.Name -match '取り出し'}|%{$_.Doit()}



848 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 16:38:34.04 ID:8EKyQA8Q.net]
>>811
thanks

849 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 21:38:04.40 ID:Eo4YqZPr.net]
■C:\hoge.txtの内容

aaa
bbb
bbb
bbb
ccc
ccc
ccc
ccc
ccc

↑のようなテキストファイルがある場合に、↓の結果(タブ区切り)を得るにはどうすれば良いのでしょうか?

aaa 1
bbb 3
ccc 5

850 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 22:19:37.38 ID:L5QX1JAH.net]
>>813
Group-Object

851 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 22:36:34.85 ID:hrOpSOVs.net]
頼むから順不同なのかそうじゃないのか
書いてから質問してくれ

852 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 23:28:19.24 ID:Eo4YqZPr.net]
>>814
gc C:\hoge.txt | Group-Object
などとやってみたのですがうまく動かず…

>>815
ソート済みです><

853 名前:デフォルトの名無しさん mailto:sage [2019/09/10(火) 23:30:43.39 ID:L5QX1JAH.net]
>>816
上手く動かずじゃよくわからんからどういう出力なのか書いて
エラーになるの?

854 名前:デフォルトの名無しさん mailto:sage [2019/09/11(水) 00:05:23.05 ID:TMos3buL.net]
あータブ区切りの文字列にしたいんか
gc hoge.txt | group | foreach { $_.name,$_.count -join "`t" }

855 名前:816 mailto:sage [2019/09/12(木) 00:24:07.29 ID:W/V8jwbc.net]
>>818
★★★★★
ありがとうございます!
実はまだ試せてないのですが、期待を込めて★5つです!(^_^)

856 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 10:44:16.82 ID:W/V8jwbc.net]
>>805
icaclsってps1ファイル内でも普通に呼出せるのね
ps1→bat→icaclsみたいに呼出さなきゃならないのかと思った
コマンドというより単なるexeってことか

857 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 13:07:06.37 ID:9SxJRVV0.net]
これからは>>819みたいに★で評価しよう
★☆☆☆☆ クソレス
★★★★★ 問題解消



858 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 14:46:18.96 ID:pQlsfVOK.net]
ふーむ、アホがアホに同調するアホな好例だな、アホすぎてオレにはよく分らんのだが、アホだということは分かる

アホA「ありがとうございます! まだ試していないけど! ★5つです!(^_^)」
アホB「・・これは良い! これからは★で評価しよう!」
ボク「・・いやいや、まだ試してもいないのだから評価もくそもねーだろ、★2〜3の定義もねーし、こいつらアホの極みだな」

859 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 14:53:12.75 ID:j3ZoG8EK.net]
>>822


860 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 17:51:47.62 ID:TUHPbFV0.net]
>>822
これが噂のヤラセレビューってやつか?

861 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 18:29:54.11 ID:5CMOpd/7.net]
>>822


862 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 19:50:41.33 ID:igJ/H+nC.net]
icaclsとか括弧を多用するコマンドはエスケープうざいですね
ヒアドキュメントみたいな感じでスマートに書けませんか

863 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 20:13:01.19 ID:Vx47yrR/.net]
PowerShellで非同期処理って酷く書きづらいと思ってるんだが、こんなもんなんか?
変数を渡すのにめっちゃ苦労したんだが…

864 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:35:11.86 ID:3ZdspPUD.net]
具体的にはどんなコードを書いたの?

865 名前:デフォルトの名無しさん mailto:sage [2019/09/13(金) 21:49:24.82 ID:Vx47yrR/.net]
あまりにもニッチな製品の負荷テスト用スクリプトだから具体的には言えないが、平たく言えば自作関数とWin標準コマンドを引数変えながら並列投入するだけ
bashと比べちゃ駄目なんだろうが、スクリプト書いててキレそうになったのは久

866 名前:しぶりだわ []
[ここ壊れてます]

867 名前:デフォルトの名無しさん [2019/09/13(金) 23:05:20.75 ID:ha69B7nJ.net]
runspaceでやってるのかjobでやってるのか



868 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 01:25:26.61 ID:XbAlqDVd.net]
そんな苦労するもんだっけか

869 名前:デフォルトの名無しさん [2019/09/14(土) 01:53:38.89 ID:ogAZWftq.net]
runspaceの中で親スコープで宣言した関数を(特に書き換えずに)呼ぼうとするとややこしい
ちょっとggって出てくる方法だと面倒
https://devblogs.microsoft.com/scripting/powertip-add-custom-function-to-runspace-pool/


解決策:まとめて文字列にして渡す

# runspaceで実行したいスクリプトブロック
$cmd = {
param($func_parent)
$func_current = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(子)スコープの関数リスト
compare-object $func_current $func_parent | % inputobject | Invoke-Expression # 親スコープで宣言した関数のみを定義する

<# 実行したい処理 #>

}

$func = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(親)スコープの関数リスト

$ps = [PowerShell]::Create()
$ps.AddScript($cmd).AddArgument($func) | Out-Null

$result = $ps.BeginInvoke()
$ps.EndInvoke()
$ps.Dispose()
}

870 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 01:55:28.35 ID:ogAZWftq.net]
$ps.EndInvoke($result)
だわ

871 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 20:16:09.07 ID:atxyCPua.net]
変数じゃねーじゃねーか!

872 名前:デフォルトの名無しさん [2019/09/14(土) 20:31:39.96 ID:jbpc8Cnk.net]
連想配列にして渡そうぜ
https://devblogs.microsoft.com/scripting/beginning-use-of-powershell-runspaces-part-2/

873 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 20:49:09.80 ID:atxyCPua.net]
渡したかったのは関数だって言ってんじゃねーか!

874 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 21:11:58.91 ID:ogAZWftq.net]
>>836
>>832のスクリプトブロック内のInvoke-Expressionをした時点で渡した関数(というか親スコープの関数全部)使える
特定の関数にしたかったら$function:関数名.Ast.ToString()で必要分を配列に突っ込んで渡してiexするだけや

875 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 22:03:58.44 ID:atxyCPua.net]
psm1にまとめて読み込んだほうが楽そう…

876 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 22:24:21.00 ID:Tzf8a7mL.net]
うむ

877 名前:デフォルトの名無しさん [2019/09/15(日) 15:45:03.86 ID:4TgO8+RX.net]
>>813-819
大文字小文字が区別されないから、-CaseSensitive オプションも付けた方がよい

"Aa", "b", "aa" | group-object -noelement | where {$_.Count -gt 1}

出力
2 Aa

"A", "a" | group-object -noelement -CaseSensitive

出力
1 A
1 a



878 名前:デフォルトの名無しさん [2019/09/15(日) 17:42:03.16 ID:tc+PQ4bB.net]
5.1から4.0に戻さないと日本語でいろいろ書いてくれないからわからないんです…
どうやって戻したらいいんでしょうか…(´・ω・`)

879 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 18:02:21.21 ID:LMFjfaUx.net]
どういうこと(´・ω・`)

880 名前:デフォルトの名無しさん [2019/09/15(日) 19:37:50.46 ID:tc+PQ4bB.net]
(´・ω・`)すみません自己解決しました 更新プログラムの一部を削除したら望む結果が得られました お騒がせしました

881 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 20:17:50.41 ID:aATf+6N9.net]
WMF 5 に上げるとUIの表示が英語になるやつかねたぶん

882 名前:デフォルトの名無しさん mailto:sage [2019/09/15(日) 20:48:36.32 ID:ORV+CvDJ.net]
win7pcのPSを5.1にした時に日本語化探したけどわかんなかったから詳しく書いてほしかった感

883 名前:デフォルトの名無しさん [2019/09/15(日) 22:28:51.53 ID:tc+PQ4bB.net]
>>844
たぶん

884 名前:それですお騒がせしました
これから精進していきます
[]
[ここ壊れてます]

885 名前:デフォルトの名無しさん [2019/09/15(日) 22:30:29.90 ID:tc+PQ4bB.net]
>>845
ざっくり言うと
コントロールパネルからプログラムと機能に行って
インストールされた更新プログラムの項目を開いて
WMF5をアンインストールしたという流れです

886 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 09:25:06.97 ID:jcGpm5QT.net]
v6.1.6
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.6
v6.2.3
https://github.com/PowerShell/PowerShell/releases/tag/v6.2.3

887 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 12:47:39.59 ID:iUGh13ZQ.net]
バッチファイルでいう、
echo %errorlevel%
はパワーシェルではどうやればいいんでしょうか?



888 名前:デフォルトの名無しさん mailto:sage [2019/09/18(水) 14:54:54.64 ID:nNyCwAkD.net]
echo $LASTEXITCODE

889 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 16:12:06.99 ID:yWN8gkqC.net]
[2018.11.27] 納品書A社
[2018.11.29] 納品書B社
[181129] 納品書C社

このようなフォルダ構造になっている状態で、
このフォルダ階層だけ
3行目の"[YYMMDD] 〜〜"のような書式にフォルダ名を変更したいと思っています。
" 納品書A社"などはそのままで
元の日付も保持します

正規表現では"([2][0][1][0-9])\.([01][0-9])\.([0-3][0-9])"
に反応するものだけで出来ればと思います
どのように書けばよいのでしょうか?

890 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 18:10:16.40 ID:mK3aarjp.net]
>>851
Get-ChildItem -Directory |
Where-Object Name -match "^\[20(1[0-9])\.([01][0-9])\.([0-3][0-9])\](.*)" |
Rename-Item -NewName { "[{0}{1}{2}]{3}" -f $Matches[1..4] } -PassThru

これ日付の妥当性チェックはガバいけどそれは別にいいんでしょ
-match演算子を使ったらその結果は変数$Matchesに入ってることを覚えておくといい

891 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 22:41:23.65 ID:CUAPT5Qo.net]
NewNameにスクリプトブロック渡せるんだ
%{〜}の中で整形して渡す発想しかなかった

892 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 22:54:01.34 ID:GUxJcSSn.net]
DIRとって一つずつ条件に合致するオブジェジェクトをパイプ渡しするだけだよ

893 名前:デフォルトの名無しさん mailto:sage [2019/09/23(月) 23:39:14.69 ID:mK3aarjp.net]
>>853
Delay Bindingっていって以下の条件を満たすパラメータにスクリプトブロックを渡すと
パイプラインから値が入ってくる度にパラメータの値を評価してくれる

・ ByValue, ByPropertyName属性が付加されてること
・ 型が明示的に指定されてること(ただし[scriptblock]または[object]以外)

894 名前:デフォルトの名無しさん mailto:sage [2019/09/24(火) 10:08:27.83 ID:hYZHYmb1.net]
>>852
横だけど、すごく参考になった。ありがとう。

895 名前:851 mailto:sage [2019/09/24(火) 15:33:38.23 ID:SPmBMSDI.net]
>>852
やりたいことが出来ました。ありがとう!

896 名前:デフォルトの名無しさん mailto:sage [2019/09/25(水) 10:57:26.88 ID:E/zWVp/e.net]
PowerShell って、「Shell」と一括にされてるんだっけ?

The Top Programming Languages 2019
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2019

897 名前:デフォルトの名無しさん mailto:sage [2019/09/25(水) 20:24:06.99 ID:idiO5sU0.net]
素のCが3位とかだから老害向けランキングでしょ



898 名前:デフォルトの名無しさん mailto:sage [2019/10/14(月) 15:09:43.96 ID:WeKpLulI.net]
LL言語入門で有名なM.Hiroiさんは
なんでpowershellにかたくなに手を出さんのかと思ってたけど
bashとかシェルスクリプト方面は全く手を付けてないので納得

今はまさかのtcltkのページを更新中というマイペースぶり

899 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 22:39:49.38 ID:xAr/pqiO.net]
3位PowerShellってマジかよ

ガチ調査版::2019年

900 名前:プログラミング言語 求人人気ランキング
https://qiita.com/bitai/items/c8941da683ebedd135fd
[]
[ここ壊れてます]

901 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 07:15:39.57 ID:4jedgKvl.net]
>>861
決め方テキトーだからあてにならんよ

902 名前:デフォルトの名無しさん mailto:sage [2019/10/23(水) 08:54:10.32 ID:1cyp8e5C.net]
>>861
開発案件ではなく Windows のインフラ運用系案件の求人数が及ぼした結果だと思う。
求人の要件には「必須スキル」と「スキルが有るなら尚可」とあるけど、PowerShell のスキルは
後者じゃないかと推測。

Windows 系以外でも最近は管理用のスクリプティング環境として PowerShell の採用例が
いくつかあるから、そういう案件もカウントされてるかもしれない。
自分がガッツリ使ってるところだと vSphere かな。これのスクリプティング環境 (PowerCLI) は非常に整備されてて、とても便利。

903 名前:デフォルトの名無しさん [2019/10/27(日) 10:53:22.24 ID:NsKzBf3L.net]
詳しい方、教えて下さい!

シェバン記法でバッチファイル化して実行したいのですが、自スクリプトパスを取得する方法がわかりません。
誰か教えて下さい。

904 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 10:58:27.15 ID:Lik42TLZ.net]
PowerShell、起動が遅いのがなー
なんとかならんかなー

905 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 11:38:43.07 ID:7LOf++Wk.net]
シェバン記法てなぁに?

906 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 11:42:15.29 ID:NsKzBf3L.net]
>>866
以下を頭につけて拡張子を.batにするとダブルクリック実行できるようになるという記法のことです。

@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\");&$s" %*&goto:eof

907 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 11:47:16.24 ID:7LOf++Wk.net]
ありがと



908 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 11:48:06.40 ID:hJUpCTqv.net]
Ruby では、__FILE__ が現在評価中のスクリプトファイル名

シェバンは、Linux では、
#!/usr/bin/ruby

Windows に、シェバンってあるの?

.bat に、ruby .\script.rb
と書いて、ダブルクリックで起動したりする事はあるけど

.vbs でも、起動ファイルを作れる

909 名前:869 mailto:sage [2019/10/27(日) 11:52:51.51 ID:hJUpCTqv.net]
.bat に、powershell .\script.ps1
と書けば、ダブルクリックで起動できないか?

または、.vbs に、
CreateObject("WScript.Shell").Run "powershell .\script.ps1", 0

910 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 12:06:15.48 ID:NsKzBf3L.net]
>>869
その方法だとファイルが2つになってしまうでしょう?
一つが良いんです。

911 名前:869 mailto:sage [2019/10/27(日) 12:21:42.69 ID:hJUpCTqv.net]
よく知らないけど、powershell は、ダブルクリックで起動するような、

危険なことは出来ないのじゃないか?

912 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 12:38:31.80 ID:pI9qWgY0.net]
>>872
バッチやvbsならダブルクリックも安全だとおっしゃるのでしょうか?

913 名前:869 mailto:sage [2019/10/27(日) 12:54:36.77 ID:hJUpCTqv.net]
ダブルクリックで起動するのは、危険!
あくまで、個人用途

仕事ではやらない方が良い。
危険すぎる

914 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 12:57:45.64 ID:gYi3Gz62.net]
スクリプトのパスなら$MyInvocation.MyCommand.Path

915 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 13:07:05.42 ID:hKAQ6fM+.net]
>>873
そのとおり

916 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 13:40:21.93 ID:Lik42TLZ.net]
>>874
ダブルクリックで起動するのは危険だから
コマンドラインから起動してください。
危険なコードでもコマンドラインから起動すれば、安全です。

こうですか?

917 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 13:50:19.81 ID:NsKzBf3L.net]
>>874
どう危険なのですか?顧客提供して不特定多数が使うわけでもないのに何が危険なのですか?

>>875
シェバンした場合、それだと動作しません。

>>876
なぜ?



918 名前:869 mailto:sage [2019/10/27(日) 14:01:18.04 ID:hJUpCTqv.net]
ダブルクリックで起動するのは、危険!

ファイルをちょっと触っただけでも、
ダブルクリックになって起動起動されてしまうから、Microsoft も禁止してる!



919 名前:Linux のシェバンでも、
ファイル名だけじゃ起動できないようにしてるだろ

./ファイル名
みたいに、パス付きじゃないと起動しないようにしてる

これも、ファイル名だけでリターンキーを触ってしまうと、起動されてしまって危険だから!

ダブルクリック起動では、多くの被害者が出てる
[]
[ここ壊れてます]

920 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:05:08.75 ID:v/8cx3Zl.net]
vbsはファイルを全部パースしようとするからシェバン記法は使えないな

921 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:05:49.29 ID:Lik42TLZ.net]
ダブルクリックは危険!
ファイルをクリックしただけで起動しちゃう!
エクスプローラーからファイルをクリックできない
全部開いちゃう!

こうですか?

922 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:06:46.38 ID:v/8cx3Zl.net]
危険はexeでもバッチでも同じだろうに
powershellスクリプトだけを危険とする理由はない

923 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:13:43.83 ID:Lik42TLZ.net]
バッチファイルは危険じゃない!
APIが使えない。PowerShellスクリプトは何でもできる!
バッチファイルは他のスクリプトを呼び出すぐらいしかできない!

こうなるんですかね?

924 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:22:52.49 ID:4/fJTv/Q.net]
>>878
引数の名前を指定して%~dpnx0を渡せばいいのでは

# D:\a.bat
@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\"); & $s" -hoge %~dpnx0 %* & goto:eof

Param(
[string]$hoge
)
Write-Host $hoge
Write-Host $args[0]
Write-Host $args[1]
Write-Host $args[2]
pause
# D:\a.bat eof


D:\>a 0 1 2
D:\a.bat
0
1
2
続行するには、Enter キーを押してください...:

925 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:26:31.81 ID:vcUKQgsd.net]
>>865
PC買いかえろよ…

926 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:31:11.79 ID:vcUKQgsd.net]
>>878
> シェバンした場合、それだと動作しません。
そりゃスクリプトを動的に作ってるんだからスクリプトファイルなんてないからね
バッチファイルのパスを知りたいならバッチから引数で渡せばいいだけ

927 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:32:02.36 ID:v/8cx3Zl.net]
マシン替えても相対的に速くなるだけで起動が遅いのは変わらないよ



928 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 14:57:41.64 ID:vcUKQgsd.net]
>>887
何を言ってるんだ?w

929 名前:デフォルトの名無しさん mailto:sage [2019/10/27(日) 15:18:23.27 ID:FsLuN3Ol.net]
前から気になってたんだがダブルクリックでps1が起動できない設計にどれだけのセキュリティの効能があるんだろな
batの中にPSスクリプトを埋め込んで実行ポリシーも上書きできるなら実質batのセキュリティレベルまで落ちる
batをメールに添付すると自動でフィルタリングされるけどps1なら安全だからフィルタされず拡張子を書き換える手間が省ける、というレベルの価値なのかな






[ 続きを読む ] / [ 携帯版 ]

前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