2011年10月27日 星期四

[Walter原創] OCS Inventory NG 2.0.2版 Agents 完美派送法 (How to Deploy OCS Inventory Agents)

OCS Inventory NG是一套非常強大的免費可商業使用的資產管理軟體,
是各行各業IT在預算不足下的好朋友,
但是因為是可免費使用的軟體,所以官方的WIKI我覺得並沒有即時update,
很多資訊照打......還是會有問題
甚至寫的語焉不詳........更不用說網路上找的到的華文文章了,
以下文章都是Walter我本人一個字一個字key進來的,請尊重智慧財產權,有興趣的網友要轉發請註明此Blog : http://walter6.blogspot.com

在安裝完OCS主機後,若非先經過規劃
通常所有的電腦都已經交給User去使用了

總不可能幾百幾千台電腦全部要User一台一台搬回來給IT安裝吧?

在正常情況下,OCS Inventory的派送有兩種方式
1.使用Packager - 利用Psexec & OCS Inventory 的官方 OCS Inventory NG Packager 去封裝 Agents,
然後再使用GPO強制登入或開機執行該軟體
2.使用OCSNG-Agent-Deploy-Tool - 利用掃IP的方式 使用Psexec去遠端執行 Agents軟體

Walter我自己比較喜歡使用第一種方式
畢竟現在很多公司電腦都會有簡易的防火牆軟體、像卡巴斯基就滿讓人頭痛的
若用GPO  強制登入時執行軟體,就等於是繞過防火牆去執行軟體,方便很多

廢話不多說

Walter我自己的派送環境如下: (網路上的文章大部份都版本太舊,若照做保證做到死也不會成功)

硬體:
1.主機: OCS NG主機 - IBM X61
沒啥好介紹的,因為管理的電腦不會超過300台,所以一般桌機夠用了,等公司購入Vmware再轉到大型主機去吧

2.Client: Asus、Acer 、HP,各廠牌都有,筆電、Laptop也都有

軟體:以下 1 & 2軟體皆從 http://www.ocsinventory-ng.org  下載
1.OCSNG-Windows-Server-2.0.2.zip
 Server 端,這是必備的,我想安裝上並不會有太多問題,記得若登入時會出現警告訊息
一個是install.php未刪除,請記得到主機端刪掉它
一個是ocs預設密碼是ocs,請記得到localhost端 登入phpmyadmin 把ocs的密碼改掉,若改掉後造成無法正常inventory,請參閱本人blog的另一篇文章,有兩個檔案要修改預設密碼

2.OCSNG-Windows-Agent-2.0.2.zip
  Agent端,沒啥好說的,就下載吧。

3. PsTools
  Google 一下就有了
 我下載的地點是
  http://download.sysinternals.com/Files/PsTools.zip

4.Packager 1.3.2.exe
  官方下載的,派送整合包


派送開始:
先把要派送的軟體給設定好,事先說明:
Walter我自己的方法只在2.0.2版上試過,
網路上的文章能找的華文文章我大概都看過了,包括官方的 wiki都是寫的不清不楚,甚至是只有舊版的才會work 的方法

所以若您也是使用2.0.2版,但用我的設定方式不會work,不用試網路上的其他方法了,請再三檢查是不是網址key錯、密碼打錯,格式弄錯.......

1.將PsTools 解壓縮
2.將OCSNG-Windows-Agent-2.0.2.zip 解壓縮到與PsTools同一個目錄
3.將Packager 1.3.2.exe也放在與PsTools同一個目錄下。

執行Packager 1.3.2.exe
請對照下圖填入您的相關資訊



最可能會有問題的就是 Command line options

/S 代表 silent mode
/SERVER 一定要指定,請忘掉你在網路上查的什麼把檔案名稱改成ip.exe這種方法 .後面一定要接/ocsinventory
/NOW 個人習慣,安裝完之後立即做一次inventory
/NO_SYSTRAY  畫面上沒有,但我個人還是習慣不要出現在右下角處,以免User問東問西


接下來按Next就會問你要放置到何處

直接再按Next就會產生一個叫ocspackage.exe的檔案

既然是遠端派送,檔案就要放在每個人都讀的到的地方,例如公用槽或者是AD主機上

接下來就是用GPO派送囉
GPO的相關設定算另一篇文章了

基本上就是進到GPO的設定頁面,直接指定剛剛的ocspackage.exe位置即可
如下圖:

不用再加什麼 /Install /np的參數了... (DO NOT add any parameters )

接著就是等隔天使用者登入後就可以收網囉。

2011年10月26日 星期三

OCS Inventory NG - 改 ocs 密碼後無法正常使用

2.0.2版
出現警告訊息之後若修改ocs密碼
會造成新機無法連入 或者 連首頁都進不去的問題


有兩個檔案要修改
一個是
c:\xampp\apache\conf\extra\ocsinventory-server.conf file


另一個是


C:\xampp\htdocs\ocsreports\dbconfig.inc.php

2011年10月7日 星期五

隨手筆記-2

; A simple custom messagebox that uses the OnEvent mode

#include

Opt('MustDeclareVars', 1)
Opt("GUIOnEventMode", 1)

Global $ExitID

_Main()

Func _Main()
Local $YesID, $NoID

GUICreate("Reset TCP/IP @Walter", 270, 80)

GUICtrlCreateLabel("  Press Reset Button To Reinstall TCP/IP", 10, 10)
$YesID = GUICtrlCreateButton("Reset", 30, 50, 80, 20)
GUICtrlSetOnEvent($YesID, "OnYes")
$ExitID = GUICtrlCreateButton("Exit", 140, 50, 50, 20)
GUICtrlSetOnEvent($ExitID, "OnExit")

GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit")

GUISetState()  ; display the GUI

While 1
Sleep(1000)
WEnd
EndFunc   ;==>_Main

;--------------- Functions ---------------
Func OnYes()
Local $sUserName = "Administrator"
Local $sPassword = "password"
RunAsWait($sUserName, @ComputerName, $sPassword, 2 , "cmd.exe /c netsh int ip reset c:\resetlog.txt ", @SystemDir)
MsgBox(0, "Reboot Request", "Reset OK, Please reboot your computer now.")
EndFunc   ;==>OnYes

Func OnExit()
Exit
EndFunc   ;==>OnExit


隨手筆記-1

如果要快速把AD上的使用者加入到本機POWER USER群組,
第一個方法是,我會在AD上設定開機指令,讓他執行


net LOCALGROUP "Power Users" "Domain Users" /ADD


不過要正確執行這行指令,同樣最少要有POWER USERS以上的權限才能執行,所以我可能會混合其他方式想辦法讓這行指令執行的時候是較高的權限.


另外一種方法就是
同樣是執行那行指令,但是我是用sysinternal的psexec來讓遠端電腦執行這行指令.
在這邊可以下載:


http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
然後假設我要讓網段內 192.168.0.1 ~ 192.168.0.255 的電腦都執行這段程式,我就在我的CMD中執行


FOR /L %I IN (1,1,255) DO psexec \\192.168.0.%I -u domain\administrator -p Password cmd /c net LOCALGROUP "Power Users" "domain\Domain Users" /ADD
然後放著給他跑




http://www.microsoft.com/taiwan/technet/sysinternals/utilities/psexec.mspx

# 如果是網域的環境執行
# 在遠端的電腦會出現regedit的畫面出現
# 如果是要做互動式的話,必需要加上以下的 " -i -d " 的參數
psexec \\192.168.1.2 -i -d -u Domain01\user01 -p password555 "c:\windows\regedit.exe"

# 如果是一般工作群組的環境
# 並且是執行一般的程式
psexec \\192.168.1.2 -u user01-p password555 ipconfig /all