管理者権限を持つユーザー権限を持つユーザーのログオン時に特定のプログラムを自動起動できる方法を探しています。
すでにタスクスケジューラを使用してみましたが、machine\userの形式でユーザー名を入力する必要があり、pxe-image-deployment-systemが自動的にマシン名にパッチを適用して、入力したドメイン\ユーザーが機能しなくなったため、うまくいきませんでした。
[〜#〜] update [〜#〜]:
runas.exeコマンドもこのタスクには適切ではないようです。/user:machinename\Administrator/savcredを使用している場合、イメージング後は無効になります。あるユーザーが提案したのは、。\ Administratorまたはlocalhost\Administratorを使用することでしたが、どちらも私のXP SP3マシンでは機能しませんでした。
PDATE2:
プログラムでは、この関数を実行する必要があります。
[DllImport("user32.dll")]
public static extern int ExitWindowsEx(int uFlags, int dwReserved);
alan Kurasによって提案されたプログラムを使用すると、この関数は失敗します。これは私にとってはダメです。
PDATE:
はい!わかったと思います!別のユーザーコンテキストで実行している場合、ExitWindowsExを使用できなかったようです。
アプリケーションをWTSLogoffSessionに切り替えるだけで、機能するようになりました。
デプロイメントシステムが原因で組み込み関数を使用してこのタスクを実行するのに問題がある場合は、パスワードを知らなくても管理者として実行できるプログラムを送信するなど、他の多くの方法で機能するソリューションがあります。
基本的には、管理者パスワードを含み、別のユーザーとして実行されている指定された権限を取得できるプログラムを作成する必要があります。私の頭に浮かぶいくつかのプログラムがあります:
これらのプログラムは、スクリプト、ユーザー名、パスワードを暗号化し、ユーザー環境でローカル管理者として自動的に実行できます。
あるいは、プログラミング言語を知っている場合は、自分で書くこともできます。なりすましについて読んでください(たとえば C# )
編集2:私の頭に浮かぶ2番目のこと。コンピューター名の取得に問題がある場合%COMPUTERNAME%\ Administratorのような%COMPUTERNAME%変数を使用して、それが機能するかどうかを確認できます。
私は別のルーンプログラム [〜#〜] cpau [〜#〜] を使用してこれを解決しました。
簡単。 msindleが提案したように、ショートカットをスタートアップフォルダーに配置する必要がありますが、管理者として実行する必要がある場合は、a)初めて実行するときに管理者の資格情報を提供し、b)コマンドを使用する必要があります。ラインスイッチ。たとえば、以下は、制限付きユーザーとしてマシンにログオンしながら、ドメイン管理者としてADUCを実行する方法です。 (ショートカットの「ターゲット」フィールド。)
%windir%\system32\runas.exe /user:domain\adminuser /savcred "mmc %windir%\system32\dsa.msc"
最初のビットはrunas.exeを呼び出します。これにより、XPで別のユーザーとしてプログラムを実行できます。/userはユーザーを指定し(ローカルアカウントが必要な場合は、ドメイン名ではなくマシン名を使用します)、/ savcredは保存する資格情報(一度入力した後)。最後のビットは、呼び出されているプログラムです。dsa(ADUC)スナップインを備えたMicrosoft管理コンソールです。
編集:
私も成功しました:
%windir%\system32\runas.exe /user:.\username /savcred "mmc %windir%\system32\dsa.msc"
そして:
%windir%\system32\runas.exe /user:localhost\username /savcred "mmc %windir%\system32\dsa.msc"
しかし、以下のコメントによると、これは正常な動作ではない可能性があります。
これは大雑把な方法ですが、Clonezilla PXEを使用してマシンのイメージを作成する場合、最初のログイン時に開始されるバッチファイルがXP "Startup"フォルダーにありました。バッチファイル4つまたは5つのスケジュールされたタスクを追加してから、それ自体を削除します。
「SCHTASKS/Create」を使用してタスクを追加できます。この方法の使用に興味がある場合の例を次に示します。
SCHTASKS /Create /RU username /RP password /SC hourly /D * /M * /TN taskname /TR C:\folder\process.bat /ST 12:00 /SD 06/20/2012 /F
SCHTASKS/Create /?ヘルプ情報を提供します。
これは私のために働きます:
プログラムを実行するショートカットのターゲットフィールドに、次のように太字のテキストを追加しますC:\ WINDOWS\system32\runas.exe/user:Username/savcred "program_path\program_name.exe"
p.s. Windowsのシステムパスも確認してください!!!
ユーザー名は、program_name.exeがインストールされているアカウントのユーザー名である必要があります