none
How can I use a script to uninstall RRS feed

  • 問題

  • 不好一思想請問一下

    我參考這各script

     

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colSoftware = objWMIService.ExecQuery _
        ("Select * from Win32_Product Where Name = 'Personnel database'")

    For Each objSoftware in colSoftware
        objSoftware.Uninstall("C:\Program Files\Trend Micro\OfficeScan Client\NTRmv.exe -331")
    Next

     

    可是我還是沒有辦法去移除軟體ㄋ

    紅色的部分是我修改的地方

    可以幫我看看我有那裡改錯嗎?

    因為我要將這各script放到電腦的原則中讓使用者再開機的時候就先移除此軟體然後在登入

    謝謝各位

    2008年3月26日 上午 11:26

解答

  •  KChang 寫信:

    Set colSoftware = objWMIService.ExecQuery _
        ("Select * from Win32_Product Where Name = 'Personnel database'")

    Name這邊所接的參數,就是你所需要移除的軟體名稱。

    不過這個script的限制在於,只能移除用Windows Installer安裝的軟體,而OfficeScan Client並不符合此條件。

     

     KChang 寫信:

    For Each objSoftware in colSoftware
        objSoftware.Uninstall("C:\Program Files\Trend Micro\OfficeScan Client\NTRmv.exe -331")
    Next

    Uninstall內是不帶參數的,也就是不需紅色文字。
     
    底下是直接執行NTRmv.exe來移除OfficeScan Client的範例,我在本機可以執行,GPO就要請您自行測試。
     
    Code Snippet
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.run """C:\Program Files\Trend Micro\OfficeScan Client\NTRmv.exe"""

     

     

     
    若您的OfficeScan Server有設定client端移除需密碼時,則有可能造成失敗。
    您可以從主控台中取消該密碼再試試看。
    2008年3月26日 下午 01:10

所有回覆

  •  KChang 寫信:

    Set colSoftware = objWMIService.ExecQuery _
        ("Select * from Win32_Product Where Name = 'Personnel database'")

    Name這邊所接的參數,就是你所需要移除的軟體名稱。

    不過這個script的限制在於,只能移除用Windows Installer安裝的軟體,而OfficeScan Client並不符合此條件。

     

     KChang 寫信:

    For Each objSoftware in colSoftware
        objSoftware.Uninstall("C:\Program Files\Trend Micro\OfficeScan Client\NTRmv.exe -331")
    Next

    Uninstall內是不帶參數的,也就是不需紅色文字。
     
    底下是直接執行NTRmv.exe來移除OfficeScan Client的範例,我在本機可以執行,GPO就要請您自行測試。
     
    Code Snippet
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.run """C:\Program Files\Trend Micro\OfficeScan Client\NTRmv.exe"""

     

     

     
    若您的OfficeScan Server有設定client端移除需密碼時,則有可能造成失敗。
    您可以從主控台中取消該密碼再試試看。
    2008年3月26日 下午 01:10
  •  Jimmy Kao 寫信:
     KChang 寫信:

    Set colSoftware = objWMIService.ExecQuery _
        ("Select * from Win32_Product Where Name = 'Personnel database'")

    Name這邊所接的參數,就是你所需要移除的軟體名稱。

    不過這個script的限制在於,只能移除用Windows Installer安裝的軟體,而OfficeScan Client並不符合此條件。

     

     KChang 寫信:

    For Each objSoftware in colSoftware
        objSoftware.Uninstall("C:\Program Files\Trend Micro\OfficeScan Client\NTRmv.exe -331")
    Next

    Uninstall內是不帶參數的,也就是不需紅色文字。
     
    底下是直接執行NTRmv.exe來移除OfficeScan Client的範例,我在本機可以執行,GPO就要請您自行測試。
     
    Code Snippet
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.run """C:\Program Files\Trend Micro\OfficeScan Client\NTRmv.exe"""

     

     

     
    若您的OfficeScan Server有設定client端移除需密碼時,則有可能造成失敗。
    您可以從主控台中取消該密碼再試試看。

     

    您好我想請問一下我有什麼方法可以用gpo的方式套用到電腦的設定上

    應該說我可以移除防毒時是不需要打密碼而且是silence移除掉

    就是在ntrmv後面帶参數 -331可是我用您寫的script在後面待這各參數會出現找不到的錯誤訊息

    不知是否可以麻煩您在幫我想想

    謝謝

    2008年3月27日 上午 08:58
  • 改用cmd帶參數就可以了。
     
    Code Snippet
    Dim oShell
    Set oShell = WScript.CreateObject ("WSCript.shell")
    oShell.run "cmd /C CD C:\Program Files\Trend Micro\OfficeScan Client & NTRmv.exe -331"
    Set oShell = Nothing

     

     

    不過移除時會出現Command prompt,移除完會自動關閉。
    2008年3月27日 上午 10:26
  •  Jimmy Kao 寫信:
    改用cmd帶參數就可以了。
     
    Code Snippet
    Dim oShell
    Set oShell = WScript.CreateObject ("WSCript.shell")
    oShell.run "cmd /C CD C:\Program Files\Trend Micro\OfficeScan Client & NTRmv.exe -331"
    Set oShell = Nothing

     

     

    不過移除時會出現Command prompt,移除完會自動關閉。

     

    不好意思

    我測試後還是無法在使用者登入電腦前就移除軟體

    不過我測試具有權限的使用者用您寫好的script都可以正常移除(這是登入後去執行都正常)

    可是我想要是可以放在電腦那邊的gpo設定

    也就是說有什麼方法是可以讓我再登入電腦前就執行移除軟體的動作而且是具權限

    因為我的使用者都是只有poweruser的權限,可是因為趨勢的防毒有關係到驅動程式的部分所以需要具有localadmin的權限才可以移除

    請在幫幫忙

    謝謝

    2008年3月28日 上午 07:53
  • 都沒有人再回答了

    看來沒有辦法了

    謝謝各位

     

     

     

    2008年3月31日 上午 11:02
  • 若要用local administrator的帳號執行,只要加前面加一段。
     
    Code Snippet
    strComputer = "WinNT://."
    strUser = "administrator"
    strPassword = "password"
     
    Set objDSO = GetObject("WinNT:")
    Set objComputer = objDSO.OpenDSObject _
        (strComputer, strUser, strPassword, _
            ADS_SECURE_AUTHENTICATION OR ADS_USE_ENCRYPTION)

     

     

    administrator為具有本機管理權限的帳號,password為密碼。
    2008年3月31日 上午 11:28
  •  Jimmy Kao 寫信:
    若要用local administrator的帳號執行,只要加前面加一段。
     
    Code Snippet
    strComputer = "WinNT://."
    strUser = "administrator"
    strPassword = "password"
     
    Set objDSO = GetObject("WinNT:")
    Set objComputer = objDSO.OpenDSObject _
        (strComputer, strUser, strPassword, _
            ADS_SECURE_AUTHENTICATION OR ADS_USE_ENCRYPTION)

     

     

    administrator為具有本機管理權限的帳號,password為密碼。

     

    不好意思我還是測試不行

    我的script 內容是

    strComputer = "WinNT://."
    strUser = "administrator"
    strPassword = "password"
     
    Set objDSO = GetObject("WinNT:")
    Set objComputer = objDSO.OpenDSObject _
        (strComputer, strUser, strPassword, _
            ADS_SECURE_AUTHENTICATION OR ADS_USE_ENCRYPTION)
     
    Dim oShell
    Set oShell = WScript.CreateObject ("WSCript.shell")
    oShell.run "cmd /C CD C:\Program Files\Trend Micro\OfficeScan Client & NTRmv.exe -331"
    Set oShell = Nothing
     
    這是我的內容,然後我將它存檔成xxx.vbs然後將這檔案放在我其中一台只有user權限的電腦上,我手動去執行他還沒有辦法帶我local admin的帳號去執行這支ntrmv.exe的程式,會彈出訊息說您沒有權限執行此程式
    想請問一下是我那裏寫錯了嗎?
    P.S我那個administrator的密碼我有換成我local的administrator密碼
    謝謝您
    2008年4月1日 下午 03:43
  • 很抱歉,上面那段關於帳號轉換的Script是不正確的,仔細做過實驗並研讀文件後,發現WMI並不允許在本機執行Script時做帳號轉換,要在user沒有管理者權限的情況下移除OfficeScan並非易事。
    所謂並非易事是因為可以使用RunAs來轉換身分,不過Runas只能在執行時輸入密碼,不能自動化。當然網路上也有教人如何自動帶密碼的Script,不過因為需要停留時間等待視窗開啟來帶入密碼,在這中間若user轉換焦點視窗,Script就會失敗。
     
    所以可行的方法之一,就是必須採用遠端管理的方式移除。在您電腦掃出AD中的電腦帳戶,和本機管理者帳號密碼一起帶入上述Script中,相信就可以輕鬆移除。
     
    範例如下:
     
    Set objOU = GetObject(“LDAP://ou=OUName, dc=domainname, dc=domainname”)
    objOU.Filter = Array(“Computer”)
    For Each objComputer in objOU
     
     strComputer = "WinNT://" & objComputer.CN
     strUser = "administrator"
     strPassword = "password"
     
     Set objDSO = GetObject("WinNT:")
     Set objComputer = objDSO.OpenDSObject _
         (strComputer, strUser, strPassword, _
            ADS_SECURE_AUTHENTICATION OR ADS_USE_ENCRYPTION)
     
     Set WshShell = WScript.CreateObject("WScript.Shell")
     WshShell.CurrentDirectory = "C:\Program Files\Trend Micro\OfficeScan Client"
     WshShell.Run "cmd /K NTRmv.exe -331"
     
    Next
     
    另外,比較好奇的是,若要升級OfficeScan,主控台不是可以自動轉移Client端嗎?
    若是換防毒軟體,廠商沒有支援移除OfficeScan嗎?
     
    2008年4月3日 下午 02:45
  •  

    Dear  Jimmy Kao

     

    因為最近比較忙所以沒有回您

    關於您最後一次寫的Script我還沒有時間測試

    不過客戶端已經將舊的SMB軟體移除了

    當初會有這樣的問題是因為他們的分公司

    都是透過nat方式連回總公司所以有這樣的問題

    謝謝您的幫忙

    2008年4月10日 上午 07:29