権限が違う場合の秀丸の追加起動時にエラNo.40701
COBOLER さん 23/07/07 14:57
 
仕事用貸与PCの変更に伴い今まで管理者権限のユーザから一般権限のユーザに変更と
なりました。
管理者として実行用のIDは与えられています。
一般ユーザでサインインしたPCで一般ユーザで秀丸を起動した後管理者権限で秀丸を
起動すると
「共有メモリの確立に失敗しました。(03)別アカウント制御で実行されている…
となり続行不可となります。逆の順番で起動しても同様です。
管理者ユーザでサインインしたPCで実施した場合、いずれの順番でも
「権限を変更して起動しますが?」と聞いてきて、続行は可能でした。

なぜこのような手番が必要かというと、強力なファイル検索ソフト「MasterSeeker」
を使用していて
検索結果のソースを秀丸で表示する場合、既に他のテキストを開けている時があるた
めです。

「権限を変更して起動しますが?」のように回避するようにできませんでしょうか。

[ ]
RE:40701 権限が違う場合の秀丸の追加起動No.40703
秀丸担当 さん 23/07/07 18:07
 
「共有メモリの確立に失敗しました。(03)」のエラーは、別のユーザー名の秀丸エデ
ィタが同じデスクトップ空間にあるときに出るエラーになっています。
Windowsとしてのサインインが別のユーザーで、複数のデスクトップが存在して切り
替えるような状況だと使えますが、
Windowsとしてのサインインは1つで、デスクトップは1つだと、別のユーザー名で
同時には使えないです。
その場合、既に起動していた秀丸エディタをいったん終了し、タスクバーの隅の常駐
秀丸エディタも全部終了させてからでないと起動できないです。

似たケースとして、Windowsとして管理者ユーザーのサインインで、昇格の秀丸エデ
ィタが既にある場合や、非昇格の秀丸エディタが既にある場合は、相互に権限を変え
て起動し直す選択をするダイアログがあります。
今回のケースでも同じようにできないか試してみたところ、標準ユーザーから管理者
ユーザーへの切り替えは可能でした。
しかし管理者ユーザーから標準ユーザーへの指示は難しそうでした。
やはりいったん全部終了してからでないとできなさそうです。

[ ]
RE:40703 権限が違う場合の秀丸の追加起動No.40705
でるもんたいいじま さん 23/07/08 08:46
 
秀丸愛用者の「でるもんた・いいじま」です。

> 「共有メモリの確立に失敗しました。(03)」のエラーは、
> 別のユーザー名の秀丸エディタが同じデスクトップ空間に
> あるときに出るエラーになっています。

追試してみました。

> Windowsとしてのサインインが別のユーザーで、
> 複数のデスクトップが存在して切り替えるような状況だと使えますが、

これは例えば、最初のユーザーの画面で Win+L を押して画面をロックし、そこから
別のユーザーでサインインするような場合のことですね。

一方で、

> Windowsとしてのサインインは1つで、デスクトップは1つだと、
> 別のユーザー名で同時には使えないです。

というのはたとえば

C:\Users\Taro\Desktop> runas /user:Ichiro c:\progra~2\hidemaru\hidemaru.exe

といった操作をするケースのことで、確かに私のところでも同じエラーが出ました。

☆ ☆ ☆

さて、元のご相談には

> なぜこのような手番が必要かというと、
> 強力なファイル検索ソフト「MasterSeeker」を使用していて
> 検索結果のソースを秀丸で表示する場合、
> 既に他のテキストを開けている時があるためです。

とありますが、この「MasterSeeker」を管理者ユーザーで走らせて、そこから(同じ
ユーザーで)テキストビューワを起動する、という流れだと思いますので、2つほど
選択肢が考えられると思います。

@もし、MasterSeekerでヒットしたファイルを閲覧する際に管理者権限が不要なら、
次のようなバッチファイルを用意して、MasterSeekerからはそれを呼び出す。

(ひょっとして、こちらの方法は既にご存じですかね?)

@echo off
setlocal
set hm="c:\progam files (x86)\hidemaru\hidemaru.exe"

@echo on
runas /user:ippanjin %hm% /bb %*
@echo off

「一般ユーザでサインイン→管理者ユーザでプロセスを起動→元の一般ユーザに出戻
り」という流れなので恐らくパスワードの再入力は求められないと思いますが、もし
実際に試してみて再入力が必要だった場合は、/user:ippanjin の前に /savecred オ
プションをつけることで、パスワードの入力は初回のみで済みます。
なお、その際にシステムに保存されたパスワード情報は、必要に応じてコントロール
パネルから削除できるとのことです。
参考) https://atmarkit.itmedia.co.jp/ait/articles/0606/17/news015.html


Aもう一つの選択肢としては、「編集機能のない、テキストビューワ機能だけのアプ
リ」を何か別途インストールする、という方法も考えられます。こちらの方法なら、
検索結果のファイルをうっかり書き換えてしまうリスクも下げられます。

☆ ☆ ☆

以上、ご参考までに。

[ ]
RE:40705 権限が違う場合の秀丸の追加起動No.40706
でるもんたいいじま さん 23/07/08 09:15
 
でるもんた・いいじまです。スミマセン訂正と新規情報。

> @もし、MasterSeekerでヒットしたファイルを閲覧する際に
> 管理者権限が不要なら、次のようなバッチファイルを用意して、
> MasterSeekerからはそれを呼び出す。
>
> @echo off
> setlocal
> set hm="c:\progam files (x86)\hidemaru\hidemaru.exe"
>
> @echo on
> runas /user:ippanjin %hm% /bb %*
> @echo off

このコマンドライン、落とし穴がありました。runasで起動するアプリに引数をつけ
る時は、全体をダブルクォートでくくる必要があります。
つまりこの例だと、

(前略)
set hm=c:\proga~2\hidemaru\hidemaru.exe

@echo on
runas /user:ippanjin "%hm% /bb %*"
@echo off

とする必要があります。%* の中に ダブルクォートが含まれないという保証はどこに
もないので、バッチファイルではダメです。

というわけて、WSHなりPowerShellなりを使ってもいいのですが(特にPowerShellな
ら、わざわざrunas.exeを呼び出さなくても組み込みコマンドでユーザー変更ができ
るかもしれません)、もうひとつ、別の方法がありました。

すばり、「hidemaru.exe の最初の引数として /@private をつける」です(V9.19以
降の秀丸が必要)。そうすると、既に稼働中の秀丸のプロセスとは無関係に秀丸が起
動してくれます。
他のデフォルト設定も自動では一切読み込まないので、もしかしたら少々難があるか
もしれませんが、一時しのぎとしてはこういう方法もある、ということで。

[ ]
RE:40706 権限が違う場合の秀丸の追加起動No.40707
秀丸担当 さん 23/07/10 11:39
 
情報ありがとうございます。
runasコマンドでユーザーを指定する方法があるのですね。
コンソール画面でパスワードを入れるのがあれかと思いましたが、/savecredを使う
といい感じでした。
テストも含めて何かと使えそうです。

/@privateは分離して動くのでどこでも起動はできますが、言われている通り設定が
素のままなので一時しのぎにしかならないかもしれません。

[ ]
RE:40707 権限が違う場合の秀丸の追加起動No.40708
(-L-) さん 23/07/10 15:15
 
runasは最初に思いつくものですね。
runasで秀丸を管理者モードで常駐させておけば、すべてが管理者モードで統一され
るのでユーザー問題がそもそも起きないかなと思いついていたのですが、管理者モー
ドで秀丸を常駐させたあとに、管理者権限ではないユーザーで新しいファイルを編集
しようとする毎に秀丸エディタが管理者で開くけどいい?的なメッセージを出してく
る仕様のようだったので傍観していました。
(そもそもの使い方が限定的っぽいので、そのために現仕様の修正を提案するほどの
動機は私にはなかったので)

ということで、runasの話題がでてきたのでちょっとコメント汚しさせていただきま
した。(ご参考まで)

[ ]
RE:40705 権限が違う場合の秀丸の追加起動No.40709
COBOLER さん 23/07/11 09:15
 
でるもんたいいじま様

遅くなって申し訳ありません。

>@もし、MasterSeekerでヒットしたファイルを閲覧する際に管理者権限が不要なら
管理者権必要なのです。MFT(Master File Table)内のデータを直接参照して検索を
行う、というためではないかと思います。
管理者権限無しで起動すると、ファイル検索ができなくなってしまいます。

[ ]
RE:40703 権限が違う場合の秀丸の追加起動No.40710
COBOLER さん 23/07/11 10:50
 
秀丸担当様

ご回答ありがとうございました。
>一般ユーザで秀丸を起動した後管理者権限で秀丸を起動
というのが、逆の場合と違って昇格ではなく管理者権限の別ユーザでの実行となると
いうことで全然違いますね。
安直に考えておりました。

MasterSeekerは管理者権限で実行しないとファイル情報を取得できず、またビューワ
など細かい設定ができないので、一旦ワーク用ディレクトリに
コピーして開けるなどで対応するようにします。または別の検索ツールに変える
か。。。


[ ]
RE:40710 権限が違う場合の秀丸の追加起動No.40711
秀丸担当 さん 23/07/11 12:02
 
一般ユーザー秀丸が、管理者権起動し直すのは、どちらかというと楽なほうで、ボタ
ンを用意すれば一応できます。
今やっている昇格/非昇格の相互の、昇格と全く同じで、そのときにパスワードを求
められるだけになります。

別ユーザーの管理者が、一般ユーザーで起動し直すのが、ちょっと難しいということ
でした。
今やっている昇格/非昇格の相互では、非昇格側に起動を委託するみたいな感じです
が、それだとうまくいかないです。
実は別の方法もあって、普通にWindowsにサインインしているユーザーとして起動す
る方法もあります。
幾つかのインストーラでもしているのですが、管理者のインストーラが最後にサイン
インしているユーザーとして普通にアプリ起動するものです。
今現在どっちの状態の判別とか、ストアアプリでできないとか、懸念があるのですが、
いろいろ判別せずに2つのボタンを出してどっちかはうまくいくようなようにしてみ
ようと思います。

[ ]
RE:40711 権限が違う場合の秀丸の追加起動No.40728
COBOLER さん 23/07/18 10:09
 
V9.25β3 「Windowsのサインインが標準ユーザーのとき、管理者などの異なるユー
ザー名が同時に起動するときのエラーで、別ユーザーで起動し直すか通常に起動し直
すかのボタンを追加。」

確認しました。
@通常ユーザで秀丸エディタを起動した後、MasterSeeker等管理者から追加でエディ
タを起動した場合「通常実行」で続行可能。
A逆の場合は「別ユーザで実行」で管理者ID/Passを入力を行うことで続行可能。
いずれの場合も続行可能で要望で書かせていただいた件が解消しました。
Aは少々面倒ですが、基本的に@の場合がほとんどなので問題ありません。

対応ありがとうございました。

[ ]
RE:40728 権限が違う場合の秀丸の追加起動No.40729
秀丸担当 さん 23/07/18 10:55
 
早速のご確認ありがとうございます。
現在の状態を判別していないので、どちらを選べばいいかということがあるのですが、
把握されていれば大丈夫になるかと思います。
できたということでよかったです。

[ ]