2011-01-12 14 views
0

私はインストールプログラム(ViseXによる)を実行するシェルスクリプトを実行しています。 インストーラは正しく動作するには管理者権限が必要ですが、sudoは使用したくありません。 現在、インストールアプリケーションは管理者権限で実行されないため、正常に動作しません。admin previlegesを使用してシェルスクリプトからapplescriptを呼び出す

管理者権限でAppleScriptを呼び出す方法、またはAppleScript内のインストールアプリケーションに管理者として実行するように指示する方法はありますか。

osascript <<-END 
    tell application "$1" 
    with timeout of 8 * 3600 seconds 
    activate 
    Select "$2" 
    DoInstall 
    end timeout 
end tell 
END 

+0

あなたの質問は何ですか?それは動作しませんか?もしそうなら、どうして失敗するのでしょうか? –

+0

私は私の質問を言い換えました。 – Nir

答えて

0

はあなたが管理者としてアップルスクリプトからシェルスクリプトを実行することができます:this technoteを参照してください

はここで私が使用しているアップルスクリプトです。 このスクリプトを別のスクリプトとして作成した場合は、それを使うことができます。醜いですが、うまくいくはずです。

+0

あなたの言っていることは、私のシェルスクリプトからです。別のアプレットを管理者として実行するシェルスクリプトを実行するアプリケーションスクリプトを実行する必要がありますか?本当に醜い。 – Nir

+0

このメソッドを使用しようとしましたが、 "do shell script"コマンドから変数をappleescriptに送信する際に問題があります。 私はまだ簡単な方法を使いたいと思っています。 – Nir

0

これは、これを行うためのAppleScriptです。シェルコマンドに変えておきます。次のスクリプトは、TextEditを使用してコンピュータ上のホストファイルを開きます。あなたはそのファイルを開くために管理者権限が必要であることに気付くでしょう。それは良い例になります。私はこの特定のタスクをより簡単に行うことができますが、管理者権限でアプリケーションを起動し、そのアプリケーションをターゲットにして他のアプリスクリプトコマンドを実行できるようにするには、このようにしています。...

+0

これはうまくいったが、何か問題があった。 このAppleScriptを使って、シェルスクリプトを外部ファイルとしてターミナル経由で実行しました。私はNotepad.appをTerminal.appに置き換えました。 問題は、スクリプトがルートとして実行されることです。これは問題です。シェルスクリプトで〜/ signを使用する(ログファイルをユーザーのデスクトップに書き込む)ためです。 また、スクリプトから実行しているViseXインストーラは、rootとしてはうまく動作しません。 – Nir

+0

私はViseXにはコメントできませんが、ユーザーのデスクトップにログインする必要がある場合は、「userNameを短いユーザー名に設定する(システム情報を取得)」を使用してユーザー名を取得し、「〜」 。ユーザーが開くことができるようにログを書き込んだ後で、ファイルのアクセス許可を変更する必要があります。 – regulus6633

+0

これはうまくいくかもしれませんが、最大の問題は、ViseXインストーラが単にrootとして動作しないことです。私はバグがViseX(多くのうちの1つ)から来ていると確信しており、私はそれを自分で修正することはできません。私はバグを報告するつもりですが、彼らはそれを修正するつもりはないと思います。 – Nir

0
do shell script "[path/to/app] [param]" user name "[admin name]" password "[password]" with administrator privileges 
関連する問題