• 締切済み

アプリケーション管理。

アプリケーション管理。 法人ですが、現在社内はVPNネットワーク化されています。 そこで、全国各地の営業所(私がいるのは本社)のパソコンにインストールされているプログラム(アプリケーション)の管理をしたいと考えております。 いわゆる『プログラムの追加と削除』みたいな感じで他のパソコンの情報が私の使用しているパソコンで調べられたら一番ベストです。 「こういうことをして下さい」と言うと「やばいやばい。一回アレをアンインストールしないと」と思う輩が出てくるため、抜き打ちというか内緒で行いたいのです。 インストールしなくても遊べるゲームとかはありますが、さすがにそれは範疇外ということで。 有償無償にかかわらず、何か方法があれば教えて頂けないでしょうか。 理想は、1台のPCに調査ソフトをインストールし、調査対象PCにはインストールしない。インストールしたPCから調査ソフトを実行させると、調査対象PCから情報を取得できる。それならばいわゆる抜き打ち調査ということになる。といったような具合です。

みんなの回答

回答No.6

#5の発言の続きです。 「全角スペース」を「半角2個のスペースに置換」して使ってください。 Option Explicit '//////////////////////////// ' 環境定数 '//////////////////////////// '出力先フォルダ 'CONST DEF_OUTPUT= "\\netwokrpc\出力先\"'出力先フォルダ Const DEF_OUTPUT = "C:\" '端末名(IPアドレス化) Const DEF_PC_NAME = "192.168.0.130" 'Const DEF_PC_NAME = "." '←ローカルホストの時 'Const DEF_PC_NAME = "名前解決されたPC名" '//////////////// ' 定数(変更不可) '//////////////// Const HKEY_LOCAL_MACHINE = &H80000002 Const KEY_TOP = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" '//////////////// ' 実行 '//////////////// 'メインを実行 Call Main 'このメッセージボックスは消してよし Call MsgBox("終了!") '//////// ' メイン '//////// Sub Main()   Dim l_oReg   Dim l_arrSubKeys   Dim l_strSubKey   Dim l_fsoTs      Set l_oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & DEF_PC_NAME & "\root\default:StdRegProv")   Set l_fsoTs = GetTextSream(l_oReg.Path_.Server)      l_oReg.EnumKey HKEY_LOCAL_MACHINE, KEY_TOP, l_arrSubKeys   For Each l_strSubKey In l_arrSubKeys     Dim l_blnSts     Dim l_strVal     l_blnSts = Not CBool(l_oReg.GetExpandedStringValue(HKEY_LOCAL_MACHINE, KEY_TOP & "\" & l_strSubKey, "DisplayName", l_strVal))     If (l_blnSts) Then       l_fsoTs.WriteLine (l_strVal)     End If   Next      Call l_fsoTs.Close   Set l_fsoTs = Nothing End Sub Function GetTextSream(ByVal p_strServer)   Dim l_fsoObj   Dim l_strFile      Set l_fsoObj = CreateObject("Scripting.FileSystemObject")   l_strFile = DEF_OUTPUT & p_strServer & ".txt"   '既にファイルが存在していたら、ファイルを削除する   If l_fsoObj.FileExists(l_strFile) Then     Call l_fsoObj.DeleteFile(l_strFile)   End If   '書き込み専用で開く   Set GetTextSream = l_fsoObj.OpenTextFile(l_strFile, 2, True) End Function

回答No.5

試されたようですね (質問者さんの言語的なスキルがわからないので、ちょっとだけ不安でした^^;) 補足内容からすると、ネットワーク越しの実行をしてみようとしているのですね 例えば ・実行端末A(192.168.0.1) ・調査端末B(192.168.0.99) という環境の場合 CONST DEF_PC_NAME= "B" または CONST DEF_PC_NAME= "192.168.0.99" です IPアドレスでもOKです んでもって A端末からそのVBScriptを実行する場合 「A端末の実行するログインユーザ」が「B端末に対してのAdmin権限を持っている」というのが前提となります。 ですので、B端末だけではなくC~Zまで調査端末がある場合、「全てにA端末のユーザと同一のパスワード」の設定が必要となります。 これがドメイン環境下であれば、domainadminを各端末にadmin設定してあげるだけなのですが、そうでなければ全端末に同じユーザとパスワードを設定していく必要があります。 [C#]リモートアクセスのProcess取得で「アクセス拒否」 http://okwave.jp/qa/q1601164.html これでも答えたのですが、これと同じ状態です。 それとサンプルはネットワーク越しに実行したとき、全てA.TXTとして作成されてしまいます。 ちょっとだけ説明を省いて、次の発言で改造したサンプルをアップいたします。 「社内にVBA(エクセルのマクロなど)などのVB系言語を知っている人がいたら、その人にコードを見せて検証した方が早いかもです。」

回答No.4

無償でやるなら #3 さんのように WMI をスクリプトで流す方法でしょう。 この場合、手段は大きく分けて 2つあると思います。 1) リモート上にある各 PC にスクリプト ファイルを実行させる方法 2) 管理ユーザーの PC でスクリプトを実行し、リモート上にある各 PC の情報を引っ張ってくる方法 1) の場合は Active Directory であればスクリプト実行を指示できるので楽です。 ただしログオン スクリプトでなく起動スクリプトで実行したほうが良いでしょう。ログオン スクリプトはログオンしようとするユーザーの権限で実行させるためレジストリ等へのアクセスに制限がありますが、起動スクリプトはシステム権限なので制限がありません。 2) に関しては WMI をリモート実行するための敷居が高いです。 各 PC はWMI をリモートから受け入れるためにファイアーウォールに穴を開けたりしておかなければなりません。 ただ、これさえしてしまえばドメイン管理者の権限で相手の情報を引っ張ってこれます。 http://support.microsoft.com/kb/875605/ja 有償製品であれば、有名どころは QAW や LanScope CAT6 とかでしょうかね。 いわゆる "IT 資産管理ツール" と呼ばれるもので、単に各 PC のインストール状況を把握するだけでなく、管理コンソールから各 PC へのアプリケーション インストール指示や、操作制限などを加えることも可能です。

回答No.3

(文字制限で分割しました。) ↓のプログラムを、コピペして[123.vbs]などのファイル名で保存し、実行してみてください。 Option Explicit '//////////////////////////// ' 環境に合わせて変更する定数 '//////////////////////////// '''出力先フォルダ '''CONST DEF_OUTPUT = "\\netwokrpc\出力先\" '出力先フォルダ CONST DEF_OUTPUT = "C:\" 'テスト用に↑を使用しないでローカルのCドライブ直下に出力 '''端末名 '''これはログイン起動時に各端末毎に実行するのであれば、ピリオドのまま実行 '''ネットワーク越しの端末に実行するのであれば、その端末名 CONST DEF_PC_NAME = "." 'PC名 端末にAdmin権限が他端末からも実行可能 '//////////////// ' 定数(変更不可) '//////////////// CONST HKEY_LOCAL_MACHINE = &H80000002 CONST KEY_TOP = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" '//////////////// ' 変数 '//////////////// Dim l_strFileName Dim l_fsoObj Dim l_fsoTs '//////////////// ' 実行 '//////////////// Set l_fsoObj = CreateObject("Scripting.FileSystemObject") l_strFileName = DEF_OUTPUT & CreateObject("WScript.Network").ComputerName & ".txt" 'このメッセージボックスは消してよし Call msgbox (l_strFileName & "にファイルを作成します") '既にファイルが存在していたら、ファイルを削除する If l_fsoObj.FileExists(l_strFileName) Then Call l_fsoObj.DeleteFile(l_strFileName) End If '書き込み専用で開く Set l_fsoTs = l_fsoObj.OpenTextFile(l_strFileName, 2, True) 'メインを実行 Call Main(l_fsoTs) l_fsoTs.Close Set l_fsoTs = Nothing 'このメッセージボックスは消してよし Call msgbox ("終了!") '//////// ' メイン '//////// Sub Main(p_fsoTs) Dim oReg Dim arrSubKeys Dim sSubKey Dim i Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & DEF_PC_NAME & "\root\default:StdRegProv") i = 1 oReg.EnumKey HKEY_LOCAL_MACHINE, KEY_TOP, arrSubKeys For Each sSubKey In arrSubKeys Dim l_blnSts Dim l_strVal Dim l_strkk l_strVal = "" l_blnSts = Not CBool(oReg.GetExpandedStringValue(HKEY_LOCAL_MACHINE, KEY_TOP & "\" & sSubKey, "DisplayName", l_strVal)) If (l_blnSts) Then p_fsoTs.WriteLine (l_strVal) End If Next End Sub

mayoineko_over
質問者

補足

早速やってみました。 自分のPCだと成功ですね。 ただ、他のPCだとうまくいきません。 おそらくは他のPCがAdmin権限でログインしていることが条件だと思いますが。 それと、 CONST DEF_PC_NAME= "." の所は他のPCだとどういうふうに記述するのでしょうか。 例えば、他のPCのフルコンピュータ名が「ZZZ」の時は、 CONST DEF_PC_NAME= "ZZZ" なんでしょうか。あと、IPアドレス指定ではできないのでしょうか。その方が何かと楽なもので。 教えて君で申し訳ないですが、何卒宜しくお願い致します。

回答No.2

アクティブディレクトリなどでドメイン管理されているのであれば、端末起動時のスクリプトを走らせることができるはずです。 もし端末起動時にスクリプトを走らすことができない場合は、「各端末に特定のAdmin権限を持ったユーザを登録する」という状態にし、そのユーザから各端末のレジストリ値を取得することは可能です。 http://okwave.jp/qa/q1253134.html VBのプログラムで書かれていますが、アプリケーションとしてキックしてもよいですが、スクリプト化してレジストリ値を読み取ることもできます。 ↓ ※MicrosoftTechNet レジストリ http://www.microsoft.com/japan/technet/scriptcenter/scripts/os/registry/default.mspx WMIやVBScriptがわかると、手っ取り早く管理できます。

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.1

クライアントに何も入れずにというとかなり難しくなってくると思います 探したところ実際どの程度使えるか分かりませんがこんなのがありました http://www.so-ten.co.jp/products/logvillage/ 数年前同様なこと出来ないかなあと思って どこかで見つけたような気がするのですが今探しても探しきれてません   記憶では上記URLと似た様な情報だったような気がするんですが   クライアントのソフトを入れる必要はあるが入れておきさえすれば   以後の情報取得はサーバ側で出来るといった形だと記憶しています 会社の規模が分からないんですが有料は結構値段がそれなりにかかり フリーではそれなりに機能が限定されるといったことになるかと思います

関連するQ&A

  • インベントリ情報管理について

    有償のソフトを利用せず各クライアントのハードウェア、ソフトウェアの情報収集を行いたいと思っています。 「プログラムの追加と削除」に表示されているインストールプログラム一覧は、レジストリから表示されていると聞きました。レジストリ情報を取得するバッチがわからず困っています。 レジストリより自動で収集出来るバッチやVBS等の作成をご存知の方、ご教授の程よろしくお願いします。 尚、管理対象クライアントはWindows XP/VISTAです。

  • アプリケーションエラー

    教えてください。。。 ウィルスソフトをインストールしたらパソコンを終了するたびにccapp.exeアプリケーションエラーとメッセージがでましてプログラムの終了画面が出てきてしまいます。アンインストールすると直るのですが。。。 どうぞよろしくお願いいたします。

  • たくさんのパソコンの管理はどうするの?

    たくさんのパソコンの管理を考えています。 ローカルでAdministrator権限を与えるとどのような問題がありますか? (Administrator以外の権限だと修正プログラムのインストールができないので) またすでにOSがインストールされた複数台のPCに、決められたアプリケーションを一度にインストールする方法(OSごとインストールではなく)はありますか? そのためのツールはありますか? 何かヒントだけでも結構ですので、ご存知の方は教えてください。 不足点があれば補足してください。 よろしくお願いたします。

  • リモート操作でのアプリケーションソフトの使用権について

    会社に結構高価(約150万円)なパソコン用ソフトを購入して使用しています。 当然、プロテクトがかかっていてインストールしたPCでしか使用できません。 このインストール済みPCをLAN(またはVPN)経由で他のPCからリモート操作してこのソフトを使用した場合、なにか法的な問題が生じますか?

  • PCに添付されてるアプリケーション

    NEC LaVie LL750/DのノートPCを使っています PCに添付されているアプリケーションで 使わないものを「プログラムの追加と削除」で削除していました 今年は年賀状を筆王でと思い「プログラムの追加と削除」 など色々挑戦してインストールしてみたのですが、 どれも「処理中の為インストールできません」とエラーが出ます。 始めは筆王だけだと思っていたので「はがきソフト」のカテゴリーで 質問させて頂いたのですが、他のアプリケーションも 試しに追加の操作をしてみたのですが インストール出来ず同じエラーが出るので こちらでも質問させて貰いました 9月までは確実にインストール出来ていました PCには詳しくないため状態を上手く説明出来ませんが 困っています よろしくお願いします

  • PCに添付されてるアプリケーション

    NEC LaVie LL750/DのノートPCを使っています PCに添付されているアプリケーションで 使わないものを「プログラムの追加と削除」で削除していました 今年は年賀状を筆王でと思い「プログラムの追加と削除」 など色々挑戦してインストールしてみたのですが、 どれも「処理中の為インストールできません」とエラーが出ます。 始めは筆王だけだと思っていたので「はがきソフト」のカテゴリーで 質問させて頂いたのですが、他のアプリケーションも 試しに追加の操作をしてみたのですが インストール出来ず同じエラーが出るので こちらでも質問させて貰いました 9月までは確実にインストール出来ていました PCには詳しくないため状態を上手く説明出来ませんが 困っています よろしくお願いします

  • PDFの論文管理について

    理工系大学で化学を専攻している大学院生です。 PCで多くのPDFの論文を所持しているのですが、 その論文管理に困っています。 なにか良い論文管理ソフトがあったら教えてください。 高価だと困りますが有償、無償は問いません。 使用PCはMac OSX FileMakerなどはインストールされています。 よろしくお願いします。

  • アプリケーションインストールし直し。

    アプリケーションインストールし直し。 パソコンの反応がおそいので、いらないプログラムを削除していたら、必要なものも消してしまったようで 再起動したところ、Core Foundation. dollがみつかりません。アプリケーションをインストールし直してみて下さい。と表示されました。そこで、パソコン購入時に添付されていたMicrosoft Office XPのCDをインストールしてみましたが。変化なしで、プログラム削除と変更を試みましたが、変化ありません。どうしたらよいのでしょうか?教えてください。

  • アプリケーションのインストールをし直す方法

    パソコン起動時に[CMAudioDm.exeーコンポーネントがみつかりません] AVDSHK.DLLが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。[OK」 OKすると、PCサウンドキャプチャー Daemonは動作を停止しました。 問題が発生したため、プログラムが正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はWindowsから通知されます[プログラムの終了] プログラムの終了をクリックすると、デスクトップは通常の状態になります。このアプリケーションをインストールし直すのは、どうすればよいのでしょうか、やり方を教えてください。

  • MACでアプリケーションをコピーするには?

    MACのパソコンを新しく買いました。以前使っていたMACのなかにあるアプリケーションを新しいPCにインストールしたいのですが、元のCD-ROMが紛失してしまいました。もしかして、MACのアプリケーションというフォルダのなかにあるソフトをコピーしてCDRに入れて、新しいのにインストールできるのでしょうか?

    • ベストアンサー
    • Mac