Archive for April, 2011

Getting Last Logon time for Computers in Domain as list with VBA

Last week, I need to find how many inactive computers in our Active Directory with computers name and last logon date. I can use this info various way after gather from our Active Directory.

There are lot of scripts about it in Internet but problem is which one should I use and how to! Also I need to export those computers as a text or csv file and how to move those computers in a Organization Unit in Active directory.

So I developed this application. I can gather/do  whole this.

Application has some setting like you can set a Day period and set DN location in Active directory for where those computers account will moved.

Also Application has two language support, Turksih and English.

 

Here the app.

P.S. : Zip file password is “ete”

 

source : http://www.emrullahekmekci.com.tr/2011/04/27/getting-logon-times-for-computers-in-domain-as-list-with-vba/

 

Advertisements

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

IBM XIV Storage Plug-in for Microsoft Cluster Server (MSCS), Version 1.0.2.1

The plug-in enables failover automation of XIV storage services that run on two geographically dispersed cluster nodes, enabling deployment of MSCS in a geo-cluster configuration.

 

MSCS and the XIV storage system support one-button fail over initiation for automated recovery, or manual fail over for step-by-step control over the recovery process. Both accommodate a broad range of fail over scenarios and infrastructure components. Version 1.0.2.1 includes a hotfix for a known issue.

 

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

, , ,

2 Comments

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