вторник, 7 августа 2007 г.

Сайт про unattended установку

http://unattended.sourceforge.net/index.php

--
С уважением, Ратнер Арсений
a.ratner@autoemex.ru

СКРИПТЫ, Показывает поле примечание пользователя из АД

' Показывает поле примечание пользователя из АД
Set WSHNetwork = CreateObject("WScript.Network")
On Error Resume Next
Path = WSHNetwork.UserName
Set objSysInfo = CreateObject("ADSystemInfo")
strUserDN = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUserDN)
' Echo objUser.DisplayName
' Echo objUser.Description
wscript.Echo objUser.Description

СКРИПТЫ, Все компьютеры из АД складывает в Файл

' Все компьютеры из АД складывает в Файл
Dim oContainer
Set oContainer=GetObject("LDAP://cn=Computers,DC=emexmsk,DC=local")
Set objFSO = CreateObject("Scripting.FileSystemObject")
sFileName = "list of comps.txt"
Set objTextFile = objFSO.CreateTextFile(sFileName, True)
ListComputers oContainer
Set oContainer = Nothing
Sub ListComputers(oObject)
Dim Object
For Each Object in oObject
If Object.Class <> "computer" Then
ListComputers ( Object )
End If
If Object.Class = "computer" Then
Name = Object.Name
Name = Mid( Name, 4 )
objTextFile.WriteLine Name
end if
Next
End Sub

--
С уважением, Ратнер Арсений
a.ratner@autoemex.ru

СКРИПТЫ, Собирает информацию со всех компов в АД, на предмет установленного ПО

' Собирает информацию со всех компов в АД, на предмет установленного ПО
Dim oContainer
Set oContainer=GetObject("LDAP://DC=<YOUR DOMAIN HERE>,DC=com")
ListComputers oContainer
Set oContainer = Nothing
Sub ListComputers(oObject)
Dim Object
For Each Object in oObject
If Object.Class = "organizationalUnit" Then
ListComputers ( Object )
End If
If Object.Class = "computer" Then
Name = Object.Name
Name = Mid( Name, 4 )

WScript.Echo "Computer Name: "
WScript.Echo Name
On Error Resume Next

WScript.Echo "Logged in User(s): "
WScript.Echo GetUser( Name )

WScript.Echo "Installed Applications: "
WScript.Echo InstalledApplications( Name )
WScript.Echo ""
WScript.Echo ""
End If
Next
End Sub
Function GetUser( strComputer )
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
GetUser = GetUser & objComputer.UserName & vblf
Next
End Function
Function InstalledApplications(node)
Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
Set oRegistry = _
GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
& node & "/root/default:StdRegProv")
sBaseKey = _
"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
iRC = oRegistry.EnumKey(HKLM, sBaseKey, arSubKeys)
For Each sKey In arSubKeys
iRC = oRegistry.GetStringValue( _
HKLM, sBaseKey & sKey, "DisplayName", sValue)
If iRC <> 0 Then
oRegistry.GetStringValue _
HKLM, sBaseKey & sKey, "QuietDisplayName", sValue
End If
If sValue <> "" Then
InstalledApplications = _
InstalledApplications & sValue & vbCrLf
End If
Next
End Function

--
С уважением, Ратнер Арсений
a.ratner@autoemex.ru

СКРИПТЫ, проверяет, заблокировани ли аккаунт

' Проверяет, заболкированли аккаунт
Function IsAccountDisabled( strDomain, strAccount )
Dim objUser
on error resume next
Set objComp = GetObject("WinNT://" & strDomain & "/" & strAccount & ",computer")
if err.number <> 0 Then
Wscrip.Echo "Не удачно ..."
End IF
Wscript.Echo = "AAAAAAAAAaa" & objComp.Description
IsAccountDisabled = objComp.AccountDisabled
End Function

Dim strUser, strDomain
'Do
' strUsr = inputbox("Please enter the user account name", "Input")
'loop until strUsr <> ""
strUser = "ral"
' Request the domain name for this user
'do
' strDom = inputbox("Please enter the domain for this account.", "Input")
'loop until strDom <> ""
strDom = "EMEXMSK"

If( IsAccountDisabled( strDom, strUsr ) = True ) Then
WScript.Echo strUser & " Account disabled"
Else
WScript.Echo strUser & " Account enabled"
End If

--
С уважением, Ратнер Арсений
a.ratner@autoemex.ru

Параметры тихой установки для разных иснталяторов

XnView, UltraVNC
start /w "Install XnView" "%~dp0XnView-win-full.exe" /silent /loadinf="%~dp0xnView.inf"

Winrar, этот ключе годится для многих инсталяторов
/s

FireFox, ThunderBird
start /w "install FireFox" "%~dp0Firefox Setup 2.0.0.6.exe" -ma -ms -ira -hideBanner

7zip, winamp
start "7zip" /w "%~dp07z442.exe" /S /install=SFQDRA

--
С уважением, Ратнер Арсений
a.ratner@autoemex.ru

СКРИПТЫ, берет описание компа из АД и устанавливает его Локально.

‘берет описание компа из АД и устанавливает его Локально.

Set WSHNetwork = CreateObject("WScript.Network")

On Error Resume Next

Path = WSHNetwork.ComputerName

Set objSysInfo = CreateObject("ADSystemInfo")

strCompDN = objSysInfo.ComputerName

Set objComp = GetObject("LDAP://" & strCompDN)

strComputer = "."

Set Obj = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2").ExecQuery("Select * FROM Win32_OperatingSystem")

For Each object In Obj

'               Wscript.Echo "OldDescription:" & object.Description & vbCrlf &_

'                            "NewDescription:" & objComp.Description

                object.Description = objComp.Description

                object.Put_

Next

Скрипты, Запуск файла во всех подкаталогах

ВАТник запусти файл autoinst.bat во всех подкаталогах, начинаю с текущего.

@echo off
FOR /R %~dp0 %%G IN (autoinst.bat) DO (
IF EXIST %%G (
echo %%G
call "%%G"
)
)
echo Install complet
pause