web-dev-qa-db-ja.com

リモートマシンにインストールされているプログラムを表示しますか?

リモートマシンにインストールされているプログラムを表示する簡単で軽量な方法があるかどうか疑問に思っていましたか? Spiceworksを使いたくなりますが、スクリプトのようなもっと軽量なものを使いたいです。私はWMICで少し遊んでいて、自分のコンピューターのプログラムのリストを取得できますが、リモートコンピューターでも同じことができるかどうかわかりません。何か案は?

編集:私はOSを忘れてすみません、私たちはほとんどWindowsを使用していますXPおよび7、私はWindows 7を使用します。現在使用しているユーザーなしでバックグラウンドで実行されるものを探していますコンピューターがわかっていること。私は、人々が仕事をしている平日の間に、それを中断せずにできるようにしたいと思います。Linuxについてもっと学びたいと思っており、いつか個人的に変更する予定があるので、Linuxの回答に感謝します。

19
Mobojo

Sysinternalsツールのいずれかを使用できますPSinfo:

http://technet.Microsoft.com/en-us/sysinternals/bb89755

PsInfo v1.77-ローカルおよびリモートシステム情報ビューアCopyright(C)2001-2009 Mark Russinovich Sysinternals-www.sysinternals.com

PsInfoは、ローカルまたはリモートのWindows NT/2000/XPシステムに関する情報を返します。

使用法:psinfo [-h] [-s] [-d] [-c [-t delimiter]] [filter] [\ computer [、computer [、..]] | @file [-uユーザー名[-pパスワード]]]

 -u        Specifies optional user name for login to
           remote computer.
 -p        Specifies password for user name.
 -h        Show installed hotfixes.
 -s        Show installed software.
 -d        Show disk volume information.
 -c        Print in CSV format
 -t        The default delimiter for the -c option is a comma,
           but can be overriden with the specified character. Use
           "\t" to specify tab.
 filter    Psinfo will only show data for the field matching the

フィルタ。例えば"psinfo service"は、サービスパックフィールドのみを一覧表示します。 computer PsInfoに、指定された1つまたは複数のリモートコンピューターでコマンドを実行するように指示します。コンピューター名を省略すると、PsInfoはローカルシステムでコマンドを実行し、ワイルドカード(\ *)を指定すると、PsInfoは現在のドメイン内のすべてのコンピューターでコマンドを実行します。 @file PsInfoは、指定されたファイルにリストされているコンピューターに対して実行されます。

発行中

PSinfo -s \\ computername

リモートコンピュータにインストールされているものを教えてくれます。

19
RobW

RpmベースのLinuxディストリビューションでは、以下を実行できます。

ssh <user-who-can-run-rpm>@<remote.Host> 'rpm -qa | sort'

Debベースのディストリビューションの場合、これをsshコマンドに渡します。

'dpkg-query -l | sort'

Gentooの場合( Monksy から提供されたコメントによる):

'qpkg -I | sort'

Solarisの場合:

'pkginfo -i | sort'

そしてAIXでは:

'lslpp -a all | sort'
11
warren

WMICは、デフォルトで、Administratorsグループの一部であるアカウントを使用してリモートで使用できます。読み取り専用のWMIアクセスを通常のユーザーに委任できます。

SNMPも使用できます-読み取り専用コミュニティを構成するだけです。 hrSWInstalledテーブルを参照する必要があります:snamwalk -c public -v2c server_IP hrSWInstalled

参照: http://technet.Microsoft.com/en-us/library/bb742610.aspx

6

これは、HKLM\Software\Microsoft\Windows\Uninstallレジストリキーに接続し、キーをプルし、表示名を取得してテキストファイルに送信するPowerShellスクリプトです。

$temparray=@()
$MachineName = 'somecomputername'
$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::'LocalMachine', $MachineName)

#connect to the needed key :

$regKey= $reg.OpenSubKey("software\Microsoft\Windows\currentversion\uninstall\" )

#and list the properties :

$programs = $regkey.GetSubKeyNames()
foreach ($program in $programs)
{   
    $regKey2 = $regKey.OpenSubKey($program)

    $temparray +=  $regKey2.GetValue("DisplayName")
}
$temparray |Sort-Object |Out-File -FilePath "C:\testinstalledprograms.txt" -Force
6
Christopher

これを行う100万のプログラムがあります。他のものより簡単で軽量なものもあります。

これは、これを行う無数のプログラムの1つにすぎません。

http://managepc.net/

2
joeqwerty

Windowsマシンの場合は、スケジュールされたジョブで "WinAudit"(無料、検索のみ)を実行できます。 HTMLまたはテキストレポートなどを生成し、ネットワークドライブに保存してリモートコンピューターから表示できます。

または:

リモートデスクトップ。接続して、ローカルマシンのように使用します。 * nixでも動作します。

1
U4iK_HaZe

PowershellからWMIを使用できます。

gwmi win32_product -ComputerName Computer1

1
Ameer Deen