問題タブ [psexec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scripting - Psexec、cmd、およびバッチファイル
winserver2008デスクトップにa.batという名前のバッチファイルがあります。
そのバッチファイルは、SessionID(環境変数から)のみをローカルイベントログに書き込みます。
cmdを使用してリモートで実行したい(そうしないと、SessionNameが表示されません)。
だから私は試しました
また
これらはすべて、リモートマシンでターミナルを開くだけですが、バッチは実行しません。
何かアイデアはありますか?
よろしくお願いします、
psexec - Psexec「(リモート)管理者として実行」
PSexeを使用するc#コードをいくつか作成しました。LANに接続されたマシンでリモートexeを実行したい。
そのexeは、新しいローカルユーザーを作成します。そのexeをリモートマシンでローカルに実行すると(右クリック->「管理者として実行」の後)-正常に動作します。Psexecから右クリック->「管理者として実行」をシミュレートする方法がわかりません。-lフラグを試しましたが、機能しませんでした
powershell - start-job 内で実行すると PSExec が完了しない
48台のコンピューターのリストでcmdファイルを実行しようとしています。各コマンドが完了するまでに約10分かかるため、実行して順番に完了するのを待ちたくありません。WinRM はオプションではありません。どちらも WMI ではありません。PSExecはオプションです....しかし、Start-Job 内で動作させることはできないようです。
私は次のようなことをしています:
これにより、一連のジョブが作成されます....しかし、決して完了せず、それらのいずれかでReceive-Jobを実行すると、元に戻ります
次のような関数を実行すると、問題なく実行されます。
サーバー 2008r2 ボックスの Powershell v2.0 で開始スクリプトが実行される ドメイン管理者のユーザー ID でログインしているときに、domain2 のボックスで試してみました (同じ結果)。
windows - Nant-リモート共有がすでに存在するかどうかを確認します
Nantを使用してアプリケーションをデプロイしているため、プロセス中に共有が作成されるようにする必要があります。
とを使用psexec
しnet share
て共有を作成しますが、共有がすでに存在する場合、これは失敗し、Nantを停止します。
共有がすでに存在することを検出する方法はありますか?
共有を作成しようとする前、またはのリターンコード2
またはThe name has already been shared
からのメッセージを検出できるようになる前のいずれpsexec
か。
私は試しdirectory::exists
ましたが、これは常にfalseを返します。
ファイルをリモートディレクトリにコピーしようとしましたfile::exists
が、これは常にfalseを返します。
vbscript - VBScript を使用して (Nant 経由で) MSMQ 権限を設定する
Nant を使用してアプリケーションを展開していますが、プロセス中にいくつかの MSMQ キューを作成する必要があります。
Nant/psexec/cscript を使用して VBScript を呼び出し、キュー自体を作成しますが、権限も設定する必要があります。
これはプログラムで行うことができますか?
スクリプトで MSMQ キューにアクセス許可を設定することは承知していますが、その質問は PowerShell または VBScript を要求しており、PowerShell に対する受け入れられた回答があります。PowerShell を利用できないため、この質問は VBScript に固有のものです。
c# - 現在ログインしているユーザーのセッション ID を取得するには?
を使用してWindowsサービス内からプロセスを実行しています
問題は、ローカル システム アカウントでサービスを実行すると問題なく実行されるのに、プログラムのウィンドウが表示されないことです。ユーザー資格情報をサービス プロパティに入力しようとしましたが、[デスクトップとの対話をサービスに許可する] チェックボックスが無効になります。
サービスから呼び出してアプリを実行する必要があり、アプリのウィンドウを表示する必要があります。
お願い助けて。
アップデート。ユーザー名、パスワード、ドメインを取得する Process.Start の過負荷バージョンを使用すると、プログラムがデスクトップにプルされます。しかし、今では 1 つの資格情報でアプリを起動しますが、別のユーザーのデスクトップでそれを示しています。どうして?
UPD2: アイデアがあります。Sysinternals Suite の psexec.exe を使用できます。しかし、問題は、「管理者として」静かに開始する必要があることです。そして、私は方法がわかりません。つまり、既に管理者権限を持っている場合でも、手動で「管理者として実行」と言って、UAC を確認してから準備が整う場合があります。UACを使わずに何かを静かに実行する方法がわかりません....
UPD3: 親愛なる主よ。私はそのことを持っている !ついに。
Ok。当初、問題は実際にセッション 0 の分離にありました。そのため、サービスから開始できる中間アプリを構築する必要がありました。次に、そのアプリが RPC を介してアプリケーションを開始し、デスクトップに表示することを想定しています。中間層アプリを構築する代わりに、psexec ツールを使用することにしました (とにかく、RPC を介して、必要なとおりに動作します)。そして、そのツールを LOCAL SYSTEM アカウントで使用しようとすると、何らかの理由で機能しませんでした。そして、私は気づきました-その理由は、MSがすべてのpstoolに入れているEULAポップアップダイアログであり、ボタンをクリックしてダイアログをローカルシステムアカウントで確認することは不可能でした. したがって、解決策は、レジストリ HKU.DEFAULT\Software\Sysinternals\PsExec に DWORD 値 EulaAccepted = 1 でキーを作成することです。
万歳、今それは動作します! しかし!次に、現在ログインしているユーザーの画面にプログラムを表示する必要があります。そのためには、セッション ID が必要です。
問題は、現在ログインしているユーザーのセッション ID を取得する方法です。まだ誰もログインしていない場合はどうなりますか? それはどのようなセッション ID でしょうか?
UPD4: それだけです! 私はそれを手に入れました!
[DllImport("Kernel32.dll", EntryPoint = "WTSGetActiveConsoleSessionId")] public static extern int WTSGetActiveConsoleSessionId();
君たちありがとう!
c# - どのプログラムがエラーコードを返したかを検出するにはどうすればよいですか?
プログラムで一連のコマンドを実行し、エラーコードを読み取り、これらのコードが成功または失敗を示しているかどうかを検出して、それに応じて対応できるようにしようとしています。
現在、私のコマンドはpsexecを使用しており、psexecはrobocopyを起動します。プログラムが成功した場合、ほとんどのコマンドはエラーコード0を返しますが、robocopyは、操作が成功した場合でも0〜8の範囲の値を返すという点で奇妙であるため、ロジックを追加しています。 robocopyがエラーコードを返すときに注意するエラー検出。それ以外の場合は失敗を示唆します。
問題は、この同じコマンドセットで、PSExecを使用して他のさまざまな実行可能ファイルやバッチファイルを起動しているため、robocopyがこれらのエラーコードを返すのはいつか、またはPSExecであるかどうかを知ることができるエラー検出ソリューションが必要なことです。通常、robocopyのエラーコード5は問題ありませんが、PSExecのエラーコード5は、アクセスが拒否されたことを示しています。
だから私の質問は、どのプログラムがエラーコードを返したかをどうやって知るのですか?私はc#.NET 4.0を使用しており、Processクラスを使用してこれらのプログラムをプログラムで起動しています。プログラム名をpsexecとして設定し、引数にはrobocopyまたは他のプログラムが含まれています。次に、実行して終了を待ち、エラーコードを保存してから、解析を試みます。
皆さんは何を提案しますか?
コードスニペットは次のとおりです。
c# - PSExec と CMD を使用して JAR ファイルを実行する
リモート マシンで jar ファイルを実行する必要があります。jar はいくつかの引数を取ります。
誰かがこれを行う方法を教えてもらえますか? 私が得た最も近いものは、コマンドではなくCMDを起動することです。
iis-7 - PsExec & Windows Server 2008: 権限と認証の問題
アプリケーションを Windows Server 2008 マシンに自動展開するのに役立つアプリケーションを作成しています。このプロセスの一環として、テスト マシンから 2008 サーバーの IIS Web サイトをリモートで開始および停止する必要があります。
私の2008年のマシンの範囲から、私は使用しています:
このコマンドは、コマンド プロンプトから実行しただけでは機能しません。返されるエラーは次のとおりです。
エラー (メッセージ: W3SVC サービスが利用できません - 最初にサービスを開始してください。)
ただし、「管理者として実行」でコマンドプロンプトを使用すると、これは機能します。それは素晴らしいことですが、別のマシンからこれを実行できるようにする必要があります。ドメイン アカウント (管理者と見なされる) を使用すると、テスト (非 2008) マシンの観点から、コマンドを実行した PsExec は次のようになります。
PsExec が起動、実行、および終了すると、上記と同じエラーが表示されます。2008 マシンで「管理者として実行」せずにコマンド プロンプトからこのコマンドを実行した場合と同じです。
Windows ファイアウォールがオフになっています。他の場所で提案されているように「LocalAccountTokenFilterPolicy」を設定しましたが、アイデアがありません。これを修正する方法または回避する方法はありますか?
windows-xp - 2 台の XP マシンの PsExec で「アクセスが拒否されました」と表示される
2 台の XP マシンがあり、次の状況にあります。
- comp1からpsexecを実行しています
- comp2 にはパスワードがありません
私のバットファイルコマンド
/li>
私が得るエラーメッセージは
comp2 にアクセスできませんでした: アクセスが拒否されました
また、comp2にパスワード「abcd」で新しいユーザー「test」を追加し、comp1からログインしました。命令した
しかし、エラーは同じままです。助けてください。