Archive for category System

Tivoli Storage Manager sometimes triggers frequent reorganization of a collection database

The Tivoli Storage Manager version that is used in Information Archive can sometimes trigger frequent reorganization of the collection database. This situation can degrade the performance of the database.

Cause

The frequent attempts to reorganize the database occur because the automatic reorganization does not succeed.

Diagnosing the problem

Log on to the administrative interface with a user ID that has the tsmAdministrator role.

  1. Expand the ‘Tivoli Storage Manager’ menu item, select Manage Servers and select the server to be checked.
  2. On the ‘Server Properties’ page select ‘Activity Log’ and press Update Table.

If the problem exists, the activity log contains frequently logs lines similar to the following example, for example every 10 minutes:

2011-05-06 00:57:21 ANR0293I Reorganization for table AF.Clusters started.
2011-05-06 00:57:26 ANR0294I Reorganization for table AF.Clusters ended.

 

Resolving the problem

If the problem occurs, you must switch off automatic reorganization temporarily and initiate a manual reorganization. The automatic reorganization is switched on again after the problem is resolved.

Notes about the procedure:

  • The steps require root access to the cluster nodes. If enhanced tamper protection is set, you must install the Emergency Support Access (ESA) patch on the appliance. To obtain the ESA patch, go to the following website:
    https://w3.tap.ibm.com/w3ki02/display/TIAM/ESA+Patch+instructions
  • For the purpose of this example, the user is initially logged on to cluster node server ianode1.
  • The collection in the following example is named “FILE02”. Substitute the correct collection name when you run the commands in the instructions.
  • All examples include the command prompt text and the expected results.

Complete the following steps to resolve the problem:
1. From the KVM console, log onto a cluster node server and change to the root user:

iaadmin@ianode1:~> su
Password:
2. Change to the /tsm directory for the collection and back up the dsmserv.opt file:

ianode1:~ # cd /tiam/FILE02/tsm/
ianode1:/tiam/FILE02/tsm # cp dsmserv.opt dsmserv.opt.orig
3. Append “ALLOWREORGTABLE NO” to the end of the dsmserv.opt file:

ianode1:/tiam/FILE02/tsm # echo "" >> dsmserv.opt
ianode1:/tiam/FILE02/tsm # echo "ALLOWREORGTABLE NO" >> dsmserv.opt
4. Log on to the Information Archive administrative interface:

    1. Ensure that there is no collection I/O activity and suspend the collection by clickingInformation Archive > System Overview > Collections, and the Suspend collection icon.
    2. Resume the collection. The new “ALLOWREORGTABLE” server setting is now active.

5. Change back to the cluster node and find the DB2 instance user for the collection.

You can complete this action on any of the cluster nodes:

ianode1:/tiam/FILE02/tsm # ls -d /tiam/*/tsm/u*

Sample output:

/tiam/FILE02/tsm/u1

In the example, the DB2 instance user is “u1”.
6. Locate the cluster node where the Tivoli Storage Manager server is currently running:

ianode1:/tiam/FILE02/tsm # mb_display_location.py -r -t
7. Locate the line containing “tsm” and the collection name in the output.

In this example, the Tivoli Storage Manager server for collection “FILE02” is running on ianode2.

Sample output:

start of /opt/tivoli/tiam/bin/mb_display_location.py.
mmlsnode
GPFS nodeset Node list
————- ——————————————————-
ianode1 ianode1 ianode2

mmlsnode
GPFS nodeset Node list
————- ——————————————————-
ianode1 ianode1 ianode2

returned from /opt/tivoli/tiam/bin/mb_display_location.py:
9.155.104.9|ianode1|||
9.155.104.12|ianode1|ctdb||
9.155.104.10|ianode2|||
9.155.104.11|ianode2|ctdb||
172.31.4.1|ianode2|tsm|FILE02|
end of /opt/tivoli/tiam/bin/mb_display_location.py. (None)

8. If the Tivoli Storage Manager server is running on a different cluster node than where you are currently logged on as root, log on to the cluster node where the Tivoli Storage Manager server is running.

ianode1:/var/opt/tivoli/tiam/log # ssh ianode2
Last login: Fri Apr 29 10:39:26 2011 from ianode1
9. Change the properties of the DB2 database, by completing the following steps:

a. Change to the DB2 instance user and run the following command:

ianode2:~ # su - u1
b. Run the following command to “source” the DB2 profile:

u1@ianode2:~> .  ~/sqllib/db2profile
c. Connect to the Tivoli Storage Manager database:

u1@ianode2:~> db2 connect to TSMDB1
Expected result:

Database Connection Information

Database server        = DB2/LINUXX8664 9.5.5
SQL authorization ID   = U1
Local database alias   = TSMDB1

d. Manually reorganize the database, by running the following command:
u1@ianode2:~> db2 reorg table TSMDB1.AF_CLUSTERS

Expected result:

DB20000I  The REORG command completed successfully.
e. Run the DB2 “RUNSTATS” command:

u1@ianode2:~> db2 RUNSTATS ON TABLE TSMDB1.AF_CLUSTERS AND SAMPLED DETAILED INDEXES ALL

Expected result:

DB20000I  The RUNSTATS command completed successfully.
f. Exit from the DB2 instance user, by running the following command:

u1@ianode2:~> exit

Expected results:

logout
g. If you changed to a different cluster node server to run the DB2 commands, change back to the cluster node where you were originally logged on, by running the following command:

ianode2:~ # exit
Expected results:

logout
Connection to ianode2 closed.
10. Restore the backup of the dsmserv.opt file:

ianode1:/var/opt/tivoli/tiam/log # cp dsmserv.opt.orig dsmserv.opt
11. Change back to the administrative interface, and complete the following steps:

    1. Suspend the collection.
    2. Resume the collection.

The original Tivoli Storage Manager server setting is now active. The automatic database reorganization is switched on again.

Related information

TSM database considerations

 

 

, ,

Leave a comment

IBM released Storage Management Pack 1.1.0 for SCOM

This document contains information related to obtaining the IBM Storage Management Pack for Microsoft System Center Operations Manager v1.1.0. 

 

Download Description

The package is a set of software modules, or management packs, which allow you to access and monitor IBM storage systems Storwize V7000, SVC, XIV and DS8000, using the host-based Microsoft SCOM interface. Please refer to the release notes and user guide for detailed storage devices’ version support.

 

Prerequisites

URL LANGUAGE SIZE(Bytes)
IBM Storage Management Pack Release Notes v1.1.0 English 136588
Installation Instructions
URL LANGUAGE SIZE(Bytes)
IBM Storage Management Pack User Guide v1.1.0 English 1336807
Download package
DESCRIPTION DOCUMENTATION Download Options
Platform Windows Not Applicable
English
Byte Size 42075880
Date 1-5-2011



IBM Storage MP v1.1.0 32 bits FTP
Platform Windows Not Applicable
English
Byte Size 36438392
Date 1-5-2011



IBM Storage MP v1.1.0 64 bits FTP
Cross Reference information
Segment Product Component Platform Version Edition
Disk Storage Systems System Storage DS8700


https://www-304.ibm.com/support/docview.wss?mynp=OCSTUVMB&mync=E&uid=ssg1S4000937&myns=s028

 

,

Leave a comment

Search,Enable or Disable user/computer accounts in Active Directory over Web page (LDAP ASP)

through this code/ASP in below/file, you can search users,computers, printers and other objects in Active directory over web page, as a result of this search, you can get object’s location in AD. You can enable and disable the user/computer accounts of this page in Active Directory. Also You’ll able to move accounts into a Organization Unit when disable or enable accounts. (you can set different Organization Unit for Enable and Disable process). I mean you can collect disabled user/computer accounts into one Organization Unit or separated OUs.

 

To publish this ASP page over web site in IIS 6 or 7,ASP page need administrative privilege for working but for search just need authorized users. So at least ISS default authentication method should be change to basic authentication. For prevent unauthorized user to disable/enable accounts in Active Directory.

 

You can download ASP file here

source : http://www.emrullahekmekci.com.tr/?p=400

 

<%

‘    10 / 05 /2011 — Emrullah Tahir Ekmekçi
‘    Search, Enable or Disable Users and Computer account in Active Directory over Web browser
‘    1.0

response.charset=”windows-1254″
Response.CacheControl = “no-cache”
response.Clear()
%>

<title>Search/Enable/Disable Users/Computers Accounts</title>
<body>
<br>
<br>

<center><form id=”form1″ name=”form1″ method=”post” action=”ADAramaAcmaKapama.asp”>
<label>User/Computer name
<input name=”is” type=”hidden” value=”is” /><input type=”text” name=”uname” id=”uname” />
</label>
</form></center>

</body>
</html>

<%

Dim strCN, objRootDSE, strDNSDomain, adoCommand, adoConnection
Dim strBase, strFilter, strAttributes, strQuery, adoRecordset
Dim strDN, strDisplay, strObjectCategory, intIndex

‘ Kullanici ve Bilgisayar hesabi acma ve kapatma

if request(“hesap”)  <> “” and request(“y”)  <> “” and request(“t”) <> “” then

strCN = request(“hesap”)
ka = request(“y”)

Set objRootDSE = GetObject(“LDAP://RootDSE”)

strDNSDomain = objRootDSE.Get(“defaultNamingContext”)

Set adoCommand = CreateObject(“ADODB.Command”)
Set adoConnection = CreateObject(“ADODB.Connection”)

adoConnection.Provider = “ADsDSOObject”
adoConnection.Open “Active Directory Provider”
adoCommand.ActiveConnection = adoConnection

strBase = “<LDAP://” & strDNSDomain & “>”

strFilter = “(cn=” & strCN & “*)”

strAttributes = “cn,distinguishedName,sAMAccountName,name,userAccountControl”

strQuery = strBase & “;” & strFilter & “;” & strAttributes & “;subtree”
adoCommand.CommandText = strQuery
adoCommand.Properties(“Page Size”) = 100
adoCommand.Properties(“Timeout”) = 30
adoCommand.Properties(“Cache Results”) = False

Set adoRecordset = adoCommand.Execute

Const ADS_UF_ACCOUNTDISABLE = 2

Set objUser = GetObject (“LDAP://” & adoRecordset.Fields(“distinguishedName”))

strOUDN = “OU=DisabledComputers,DC=fabrikam,DC=com”    ‘ Disabled computers account will be moved this ou
strOUDNE = “CN=Computers,DC=fabrikam,DC=com” ‘ Enabled computers account will be moved this ou

strOUDNU = “OU=DisabledComputers,DC=fabrikam,DC=com”     ‘Disabled users account will be moved this ou
strOUDNEU = “CN=Users,DC=fabrikami,DC=com” ‘ Enabled users account will be moved this ou

intUAC = objUser.Get(“userAccountControl”)

if ka = “k” then

if request(“t”) = “u” then
Set objOU = GetObject(“LDAP://” & strOUDNU)
objUser.Put “userAccountControl”, intUAC OR ADS_UF_ACCOUNTDISABLE ‘ User account is closed.
objUser.SetInfo
objOU.movehere objUser.ADsPath, objUser.name ‘ User account is moving.
end if

if request(“t”) = “b” then

Set objOU = GetObject(“LDAP://” & strOUDN)
objUser.accountdisabled = true ‘ Computer account is closed.
objUser.SetInfo
objOU.movehere objUser.ADsPath, objUser.name ‘ Computer account is moving.
end if

response.write “Account has been closed”
elseif ka = “a” then

if request(“t”) = “u” then
Set objOU = GetObject(“LDAP://” & strOUDNEU)
objUser.Put “userAccountControl”, intUAC XOR ADS_UF_ACCOUNTDISABLE ‘ User account is open.
objUser.SetInfo
objOU.movehere objUser.ADsPath, objUser.name ‘ User account is moving.
end if

if request(“t”) = “b” then

Set objOU = GetObject(“LDAP://” & strOUDNE)
objUser.accountdisabled = false ‘ Computer account is open.
objUser.SetInfo
objOU.movehere objUser.ADsPath, objUser.name ‘Computer account is moving.
end if

response.write “Account has been opened”
end if

response.Redirect “ADAramaAcmaKapama.asp?uname=”&request(“hesap”)&”&is=1″

adoRecordset.Close

response.End()
end if

‘ object search
if request(“uname”) = “” and request(“is”) <> “” then

%><p><b><center>User/Computer name can not be empty.</center></b></font></p><%
elseif request(“uname”) <> “” and request(“is”) <> “” then

strCN = request(“uname”) & “*”

if len(strCN) <4 then
response.Clear()
Response.Write(“Please enter least 3 char.”)
Response.end
end if

Set objRootDSE = GetObject(“LDAP://RootDSE”)

strDNSDomain = objRootDSE.Get(“defaultNamingContext”)

Set adoCommand = CreateObject(“ADODB.Command”)
Set adoConnection = CreateObject(“ADODB.Connection”)

adoConnection.Provider = “ADsDSOObject”
adoConnection.Open “Active Directory Provider”
adoCommand.ActiveConnection = adoConnection

strBase = “<LDAP://” & strDNSDomain & “>”

strFilter = “(cn=” & strCN & “)”

strAttributes = “cn,distinguishedName,sAMAccountName,name,userAccountControl”

strQuery = strBase & “;” & strFilter & “;” & strAttributes & “;subtree”
adoCommand.CommandText = strQuery
adoCommand.Properties(“Page Size”) = 100
adoCommand.Properties(“Timeout”) = 30
adoCommand.Properties(“Cache Results”) = False

Set adoRecordset = adoCommand.Execute

If (adoRecordset.EOF = True) Then
Response.Write(“<center>No record found</center>”)
Response.end
End If

‘ Table has been created what is object will be show.
Response.Write(“<table width=100% height=100% ><tr width=100% height=100% ><td width=100% height=100% align=center valign=center><table border=’1′>”)
Response.Write(“<tr><th> Account Name </th><th> Computer/User name </th><th> Status</th><th> Type </th><th> DN </th></tr>”)
Response.Write(“<font size=-2>”)

Do Until adoRecordset.EOF

vSAMAccountName= adoRecordset.Fields(“sAMAccountName”).Value
vName = adoRecordset.Fields(“name”).Value
vUserAccountControl= adoRecordset.Fields(“userAccountControl”).Value
vDistinguishedName= adoRecordset.Fields(“distinguishedName”).Value
AKR = 0
if vUserAccountControl = 512 then
AKR = 1
vUserAccountControlDesc = “<a href=’./ADAramaAcmaKapama.asp?hesap=”&vSAMAccountName&”&y=k&t=u’ title=’Kapatmak için tiklayin’><center> Close</center> </a>”
elseif vUserAccountControl = 514  then
AKR = 0
vUserAccountControlDesc = “<a href=’./ADAramaAcmaKapama.asp?hesap=”&vSAMAccountName&”&y=a&t=u’ title=’Açmak için tiklayin’><center> Open </center></a>”
elseif vUserAccountControl = 544  then
AKR = 1
vUserAccountControlDesc =  “<a href=’./ADAramaAcmaKapama.asp?hesap=”&vSAMAccountName&”&y=k&t=u’ title=’Kapatmak için tiklayin’><center> Close/ilsd </center></a>”
elseif vUserAccountControl = 66048  then
AKR = 1
vUserAccountControlDesc = “<a href=’./ADAramaAcmaKapama.asp?hesap=”&vSAMAccountName&”&y=k&t=u’ title=’Kapatmak için tiklayin’><center> Close/s </center></a>”
elseif vUserAccountControl = 66050  then
AKR = 0
vUserAccountControlDesc = “<a href=’./ADAramaAcmaKapama.asp?hesap=”&vSAMAccountName&”&y=a&t=u’ title=’Açmak için tiklayin’><center> Open/s </center></a>”
elseif vUserAccountControl = 4096  then
AKR = 1
vUserAccountControlDesc = “<a href=’./ADAramaAcmaKapama.asp?hesap=”&vName&”&y=k&t=b’ title=’Kapatmak için tiklayin’><center> Close </center></a>”
elseif vUserAccountControl = 4128  then
AKR = 1
vUserAccountControlDesc = “<a href=’./ADAramaAcmaKapama.asp?hesap=”&vName&”&y=k&t=b’ title=’Kapatmak için tiklayin’><center> Close </center></a>”
elseif vUserAccountControl = 4098  then
AKR = 0
vUserAccountControlDesc = “<a href=’./ADAramaAcmaKapama.asp?hesap=”&vName&”&y=a&t=b’ title=’Açmak için tiklayin’><center> Open </center></a>”
else

vUserAccountControlDesc = vUserAccountControl
end if

cuc = instr (vSAMAccountName,”$”)
if vUserAccountControl <> “” then

if cuc = 0 then Response.Write(“<tr><td> ” & vSAMAccountName & ” </td>”) else  Response.Write(“<tr><td></td>”)

if AKR = 0 then
response.write (“<td style=’background-color: #FF0000′> “&vName&” </td>”)
else
response.write (“<td style=’background-color: #00FF00′> “&vName&” </td>”)
end if

if cuc = 0 then

Response.Write(“<td style=’background-color: #667C26′>” & ” User ” & “</td>”)
else

Response.Write(“<td style=’background-color: #4863A0′>”& ” Computer ” & “</td>”)
end if

Response.Write(“<td>” & vUserAccountControlDesc & ” </td>”)

Response.Write(“<td align=right > ” & vDistinguishedName & ” </td>”)
else

end if

Response.Write(“</td></tr>”)

adoRecordset.MoveNext
strDisplay = 1

Loop

adoRecordset.Close

if strDisplay = “” then Response.Write(“Can not be search       —” & strDisplay & “—“)

adoConnection.Close

Response.Write(“</font>”)
Response.Write(“</table></td></tr></table>”)
Response.Write(“<br><align=left>P.S. :<br>Open/ilsd = Password will change first logon<br>Open/s = Password never expire<br>Close/s= Password never expire<br><br><br><br>”)

Response.End()
end if%>

 

 

Leave a comment

Gathering PCs info during logon progress

Whole data about your PC in Active Directory will automatically coming from PCs to wherevery you want. You should run this script via Login progress, I ment, use GPO, If you have any Question How/What/Where … , Just ask !

P.S. : Some codes have been obtained from the Internet.

 

link : http://www.emrullahekmekci.com.tr/2011/04/20/gathering-pcs-info-durining-login-progress/


' 20 / 04 /2011 -- Emrullah Tahir Ekmekçi
' user and computer data collection with Text file
' 1.1

On Error Resume Next ' If we do not get any or portion info from computer, will try again copy file for determine computer

' Gathered data will be copying this network path.
Targetpath = "172.28.202.164SharedSL"

'Temp Dir
Set objShell = CreateObject("Wscript.Shell")
TempDir = objShell.ExpandEnvironmentStrings("%temp%")
Set objShell = nothing

 

' Computer Name
set wshnetwork=createobject("wscript.network")
strComputer=wshnetwork.computername
set wshnetwork=nothing

filename = TempDir & "" & strComputer & ".txt"

SET objWMIDateTime = CREATEOBJECT("WbemScripting.SWbemDateTime")
SET objWMI = GETOBJECT("winmgmts:" & strComputer & "rootcimv2")
SET colOS = objWMI.InstancesOf("Win32_OperatingSystem")

' System Last Boot and Up date
FOR EACH objOS in colOS
objWMIDateTime.Value = objOS.LastBootUpTime
LBUT = objWMIDateTime.GetVarDate & vbcrlf & TimeSpan(objWMIDateTime.GetVarDate,NOW)
NEXT

' System Type // Systemtype options will be narrow after gather whole types
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colChassis = objWMIService.ExecQuery _
("Select * from Win32_SystemEnclosure")
For Each objChassis in colChassis
For Each strChassisType in objChassis.ChassisTypes
Select Case strChassisType
Case 1 SystemType = "Other"
Case 2 SystemType = "Unknown"
Case 3 SystemType = "Desktop"
Case 4 SystemType = "Low Profile Desktop"
Case 5 SystemType = "Pizza Box"
Case 6 SystemType = "Mini Tower"
Case 7 SystemType = "Tower"
Case 8 SystemType = "Portable"
Case 9 SystemType = "Laptop"
Case 10 SystemType = "Notebook"
Case 11 SystemType = "Handheld"
Case 12 SystemType = "Docking Station"
Case 13 SystemType = "All-in-One"
Case 14 SystemType = "Sub-Notebook"
Case 15 SystemType = "Space Saving"
Case 16 SystemType = "Lunch Box"
Case 17 SystemType = "Main System Chassis"
Case 18 SystemType = "Expansion Chassis"
Case 19 SystemType = "Sub-Chassis"
Case 20 SystemType = "Bus Expansion Chassis"
Case 21 SystemType = "Peripheral Chassis"
Case 22 SystemType = "Storage Chassis"
Case 23 SystemType = "Rack Mount Chassis"
Case 24 SystemType = "Sealed-Case PC"
Case Else SystemType = "Unknown"
End Select
Next
Next
' very rare but sometimes Select Case could not get any data from strChassisType even "Case Else"
if SystemType = "" or SystemType = " " then
SystemType = "Unknown"
end if

' Windows installed date
Set dtmInstallDate = CreateObject("WbemScripting.SWbemDateTime")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")

For Each objOperatingSystem in colOperatingSystems
dtmInstallDate.Value = objOperatingSystem.InstallDate
installd = dtmInstallDate.GetVarDate
Next

' Collect Computer Info
ComputerInfo = "[ComputerInfo]" & vbCrLf
ComputerInfo = ComputerInfo & strComputer & vbCrLf
ComputerInfo = ComputerInfo & TempDir & vbCrLf
ComputerInfo = ComputerInfo & LBUT & vbCrLf
ComputerInfo = ComputerInfo & SystemType & vbCrLf
ComputerInfo = ComputerInfo & installd & vbCrLf

' Username

Set colSoftware = objWMIService.ExecQuery ("SELECT * FROM Win32_Product")
Set objNetwork = CreateObject("WScript.Network")

Username = objNetwork.UserName
ComputerInfo = ComputerInfo & Username & vbCrLf

' Collect Members of Local Admin Groups

LocalAdminGroup = LocalAdminGroup & vbCrLf & "[LocalAdminGroup]" & vbCrLf

Set objComp = GetObject("WinNT://" & strComputer)
objComp.GetInfo

If objComp.PropertyCount > 0 Then
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators,group")
If objGroup.PropertyCount > 0 Then
For Each mem In objGroup.Members
LocalAdminGroup = LocalAdminGroup & Right(mem.adsPath,Len(mem.adsPath) - 8) & vbCrLf
Next
End If
End If

'Collect Operation System and CPU info

OsInfo = OsInfo & vbCrLf & "[OsInfo]" & vbCrLf

Set colSettings = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")

For Each objOperatingSystem in colSettings
OsInfo = OsInfo & objOperatingSystem.Caption & vbCrLf
OsInfo = OsInfo & objOperatingSystem.RegisteredUser & vbCrLf
OsInfo = OsInfo & objOperatingSystem.ServicePackMajorVersion & vbCrLf
OsInfo = OsInfo & objOperatingSystem.ServicePackMinorVersion & vbCrLf
OsInfo = OsInfo & objOperatingSystem.Version & vbCrLf
Next

Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")

For Each objComputer in colSettings
OsInfo = OsInfo & objComputer.Manufacturer & vbCrLf
OsInfo = OsInfo & objComputer.Model & vbCrLf
OsInfo = OsInfo & objComputer.TotalPhysicalMemory /10241024+1 & vbCrLf
Next

Cpu = Cpu & vbCrLf & "[Cpu]" & vbCrLf

Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
For Each objItem in colItems
Cpu = Cpu & objItem.Description & vbCrLf
Cpu = Cpu & objItem.Manufacturer & vbCrLf
Cpu = Cpu & objItem.MaxClockSpeed & vbCrLf
Cpu = Cpu & objItem.Name & vbCrLf
Next

' Collect Bios Info

bios = bios & vbCrLf & "[Bios]" & vbCrLf

Set colBIOS = objWMIService.ExecQuery ("Select * from Win32_BIOS")
For each objBIOS in colBIOS
bios =bios & objBIOS.Manufacturer & vbcrlf
bios =bios & objBIOS.Name & vbcrlf
bios =bios & objBIOS.ReleaseDate & vbcrlf
bios =bios & objBIOS.SerialNumber & vbcrlf
bios =bios & objBIOS.SMBIOSBIOSVersion & vbcrlf
bios =bios & objBIOS.SMBIOSMajorVersion & vbcrlf
bios =bios & objBIOS.SMBIOSMinorVersion & vbcrlf
bios =bios & objBIOS.Version & vbcrlf
Next

Basebord = Basebord & vbCrLf & "[Basebord]" & vbCrLf

Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_BaseBoard")

For Each objItem in colItems
Basebord = Basebord & objItem.Manufacturer & vbcrlf
if objItem.Model = "" then
Basebord = Basebord & objItem.Model & vbcrlf
Else
Basebord = Basebord & "Veri Yok" & vbcrlf
end if
Basebord = Basebord & objItem.Product & vbcrlf
Basebord = Basebord & objItem.SerialNumber & vbcrlf
Next

' Collect Drivers info

disk = disk & vbCrLf & "[Disk]" & vbCrLf

Set colItems = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk")

For Each objItem in colItems
if objItem.Name <> "" then disk = disk & objItem.Name & vbCrlf
if objItem.Description <> "" then disk = disk & objItem.Description & vbCrlf
disk = disk & objItem.VolumeName & vbCrlf

if objItem.VolumeSerialNumber <> "" then disk = disk & objItem.VolumeSerialNumber & vbCrlf
if objItem.Size <> "" then disk = disk & Int(objItem.Size /1073741824) & vbCrlf
if objItem.FreeSpace <> "" then disk = disk & Int(objItem.FreeSpace /1073741824) & vbCrlf & vbCrlf else disk = disk & vbCrlf
Next

' Collect Modems info

modem = modem & vbCrLf & "[Modem]" & vbCrLf

Set colItems = objWMIService.ExecQuery("Select * from Win32_POTSModem")

For Each objItem in colItems
modem = modem & objItem.AttachedTo & vbcrlf
modem = modem & objItem.DeviceType & vbcrlf
modem = modem & objItem.Model & vbcrlf & vbcrlf
Next

' Collect Network Cards info

Networkb = Networkb & vbCrLf & "[Network]" & vbCrLf

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")

For Each objItem In colItems
For Each objValue In objItem.IPAddress
If objValue <> "" Then
Networkb = Networkb & objItem.Description & vbcrlf & objValue & vbcrlf & objItem.MACAddress & vbcrlf
End If
Next
Next

' Collect Installed Apps

Apps = Apps & vbCrLf & "[Apps]" & vbCrLf

If colSoftware.Count > 0 Then
For Each objSoftware in colSoftware
Apps = Apps & objSoftware.Caption & vbtab & objSoftware.Version & vbCrLf
Next
End If

' Collect Services info

Set cInstances = GetObject("winmgmts:{impersonationLevel=impersonate}//" &_
strComputer & "/root/cimv2:Win32_Service").Instances_

svrc = svrc & vbCrLf & "[Services]" & vbCrLf

For Each oInstance In cInstances
svrc= svrc & oInstance.Properties_("DisplayName").Value & vbTab & oInstance.Properties_("StartMode").Value & vbTab & oInstance.Properties_("State").Value & vbCrLf
Next

' Collect Installed Microsft Updates

Updates = Updates & vbCrLf & "[Updates]" & vbCrLf

Set objSession = CreateObject("Microsoft.Update.Session", strComputer)

If Err.Number <> 0 Then
Set objSearcher = objSession.CreateUpdateSearcher
intHistoryCount = objSearcher.GetTotalHistoryCount
Set colHistory = objSearcher.QueryHistory(1, intHistoryCount)
For Each objEntry in colHistory
Set objIdentity = objEntry.UpdateIdentity
Updates = Updates & objEntry.Date & vbtab & objEntry.Title & vbcrlf
Next
End If

Report = ComputerInfo & LocalAdminGroup & OsInfo & Cpu & Bios & Basebord & Disk & Modem & Networkb & Apps & svrc & Updates

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile( filename , True)

objTextFile.WriteLine Report
objTextFile.Close

Set FSO =CreateObject("scripting.FileSystemObject")

if FSO.FileExists (filename) then
FSO.CopyFile filename ,Targetpath , True
end if

SET objWMIDateTime = Nothing
SET objWMI = Nothing
SET colOS = Nothing
Set objWMIService = Nothing
Set colChassis = Nothing
Set dtmInstallDate = Nothing
Set colOperatingSystems = Nothing
Set colSoftware = Nothing
Set objNetwork = Nothing
Set objComp = Nothing
Set colSettings = Nothing
Set colItems = Nothing
Set colBIOS = Nothing
Set objFSO = Nothing
Set objTextFile = Nothing
Set FSO = Nothing
Set objSearcher = Nothing
Set colHistory = Nothing
Set objIdentity = Nothing

FUNCTION TimeSpan(dt1, dt2)
IF (ISDATE(dt1) AND ISDATE(dt2)) = FALSE THEN
TimeSpan = "00:00:00"
EXIT FUNCTION
END IF

seconds = ABS(DATEDIFF("S", dt1, dt2))
minutes = seconds 60
hours = minutes 60
minutes = minutes MOD 60
seconds = seconds MOD 60

IF LEN(hours) = 1 THEN hours = "0" & hours

 

 

 

 

TimeSpan = hours & ":" & _
RIGHT("00" & minutes, 2) & ":" & _
RIGHT("00" & seconds, 2)
END FUNCTION

 

 

 

 

Leave a comment

To avoid potential loss of access, customers must be on "IBM XIV Host Attachment Kit for Windows, Version 1.5.3" or above

To avoid potential loss of access that might happen during XIV operation or hot upgrade customers must be on “IBM XIV Host Attachment Kit for Windows, Version 1.5.3” or above and before the upgrade

Symptom

Servers disconnect from XIV

Cause

  1. During some cases of module failure (e.g. SMI timeout) Windows 2003 server might disconnect from XIV
  2. During XIV hot upgrade Windows 2003 server might disconnect from XIV
  3. Extreme steady state situations

 

Environment

Windows 2003 or Windows 2003 R2 in a cluster environment connected to XIV

 

Resolving the problem

In a Windows 2003 or Windows 2003 R2 in a cluster environment, customers must be on “IBM XIV Host Attachment Kit for Windows, Version 1.5.3” or above.

This release of “IBM XIV Host Attachment Kit for Windows, Version 1.5.3” contains a fix to avoid potential loss of access.
Here is the link to download “IBM XIV Host Attachment Kit for Windows, Version 1.5.3” :

http://www-01.ibm.com/support/docview.wss?rs=1319&context=STJTAG

&context=HW3E0&dc=D400&q1=ssg1*&uid=ssg1S4000795&loc=en_US&cs=utf-8&lang=en

 

, ,

2 Comments

Storwize V7000 Node Canisters May Shut Down or Reboot Unexpectedly During Normal Operation

Storwize V7000 node canisters may shut down or reboot during normal operation, leading to a loss of host I/O access.

Description:

Stowize V7000 node canisters running V6.1.0.0 – V6.1.0.4 code levels may shut down without warning during normal I/O operations.

These shut down events will typically occur on both node canisters in the Storwize V7000 system, with the second node canister shutting down a number of hours after the first. Once the second node canister has shut down, this will cause a loss of host access to disks presented by the Storwize V7000, until at least one of the node canisters has been manually brought back online.

Workaround:

If this issue is encountered on V6.1.0.0 – V6.1.0.4, the recovery action is to reseat each offline node canister in order to bring it back online.

Partial Fix Introduced in V6.1.0.5

A partial fix was introduced in V6.1.0.5, which caused node canisters that experienced this condition to reboot and automatically resume I/O operations, rather than shut down and remain offline. Customers running V6.1.0.5 code are however still exposed to the risk of both node canisters rebooting at the same time, which could lead to a short, temporary outage to host I/O.

Complete Fix:

This issue has been fully resolved by APAR IC74088 in the V6.1.0.6 release. Please visit the following URL to download the latest V6.1.0.x code:

http://www-01.ibm.com/support/docview.wss?uid=ssg1S1003748&myns=s028&mynp=OCST3FR7&mync=E

, , ,

Leave a comment

IBM released new XIV software for Vmware Vcenter v.2.0.0

The IBM XIV Management Console for VMware vCenter integrates IBM XIV Storage System with VMware vSphere management. It runs as a service on the vCenter Server, and enables storage provisioning, storage management, and monitoring of VMware-attached XIV storage pools and volumes (LUNs), from any VMware vSphere Client.

 

http://www-01.ibm.com/support/docview.wss?uid=ssg1S4000884&myns=s028&mynp=OCSTJTAG&mync=E

, , , ,

Leave a comment