Search Windows and Linux Networking

Friday, February 24, 2012

GENERAL TROUBLESHOOTING TIPS

BLACKBERRY TROUBLESHOOTING TIPS

In following site has explain very good troubleshooting step for Blackberry Device.

for Balckberry Enterprise Activation , BES sync , Encryption Key Out of Sync and many more. I think this will help someone.


http://forums.crackberry.com/blackberry-administrators-f50/bes-troubleshooting-guide-50779/
  

Thursday, February 9, 2012

How to connect Windows Remote Desktop from Linux Step by Step


Connecting Windows Remote Desktop from Linux

If you are running Centos (Linux system) and wanted to connect Remote windows system from CentOS then you have to install rdesktop Remote Desktop Client. Using rdesktop you can easily connect Windows system from Linux. rdesktop is an open source client for Microsoft's RDP protocol. It work with Windows NT 4 Terminal Server,2000, XP, 2003, 2003 R2, Vista, 2008, 7, and 2008 R2. And it support RDP Version 4 and 5.

Installing rdesktop:-

You can download package go to http://pkgs.org  as per your distribution. Or you can install rdesktop from repository :-

For CentOS/RedHat:-

# yum install rdesktop

For Ubuntu:-

# apt-get install rdesktop

After that you are ready to access Windows Remote Desktop from terminal with following command. For more help use man command (man rdesktop)

# rdesktop <Server Name OR IP Address>

Eg:-

# rdesktop 192.168.125

Wednesday, February 8, 2012

How to Install and Configure Proftpd Server on CentOS Step by Step


Installing Proftpd Server on CentOS (Linux)
 
Proftpd is the Highly configurable GPL-licensed FTP server software .it is an enhanced, secure and highly configurable FTP server. Its configuration syntax is very similar to apache web server. You can know more information from http://www.proftpd.org .

Download proftpd rpm package from http://pkgs.org/ and install with rpm –ivh <Package name>.rpm

OR

If you want to install using yum then add repository  and then install proftpd server

#  cd /etc/yum.repos.d/
# wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
# rpm --import http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
# Vi /etc/yum.repos.d/ kbsingh-CentOS-Extras.repo
Set both enable=1
# yum clean all
# yum update all

Now install Proftpd

# yum install proftpd

Now your ftp server is ready to functional  with default configuration but you should check following values for your Basic ftp server in /etc/proftpd.conf configuration file

Server Name, Server Type and Port

Now start proftpd and set on for startup

# service proftpd start
# chkconfig proftpd on

Check running process for proftpd
# ps -ef | grep proftpd
nobody    4463     1  0 23:35 ?        00:00:00 proftpd: (accepting connections)
root      4470  4202  0 23:36 pts/2    00:00:00 grep proftpd

OR you can verify whether your FTP server is running using:

# netstat -an | grep -F tcp | grep -F LISTEN | grep -F 21
tcp        0      0 :::21                       :::*                        LISTEN


Now when you try to connect ftp server it will be ask you for your name and password type valid user name and password as per /etc/passwd file . it will take you home directory of that user. 

Anonymous FTP Server :-

If you wanted Anonymous access uncomment Anonymous directive. Or you can add following in /etc/proftpd.conf file
# vi /etc/proftpd.conf

<Anonymous /var/ftp/pub>
AnonRequirePassword       off
User                                   ftp
Group                                 ftp
RequireValidShell                off
<Directory *>
<Limit WRITE>
          DenyAll
</Limit>
</Directory>
</Anonymous>


 Note: - user and group must be valid

verify configuration :-

# proftpd –t6

If it not given any error then reload configuration

# service proftpd reload

Now if you try to access FTP server it will not ask you any password and show you contain of /var/ftp/pub directory.
If you wanted to allow user to upload data then in Limit WRITE directive change it AllowAll.

Wednesday, February 1, 2012

Script to update Active Directory Database from Excel file

Script to update Active Directory Database from Excel file
Flow Chart :- 

Excel file before Update:-
Excel file after Update:-

Script :- 

'Script to update Active Directory Database from Excel file

Option Explicit
Dim strExcelPath,ObjExcel,objSheet,intRow,strUserFirstName,strUserLastName
Dim strUserTitle,strManagerFirstName,strManagerLastName
Dim adocommand, adoconnection, strBase, strFilter, strAttributes
Dim objRootDSE, strDNSDomain, strQuery, adoRecordset, strName, strCN , strGivenNAme ,strSN, strmail, strADsPath
Dim objUser,varTotalUsers,strFilter2,strQuery2,strManager,i,strValue

' Specify File.

strExcelPath = "c:\test.xls"

'Open File
Set ObjExcel = CreateObject("Excel.Application")

On Error Resume Next
objExcel.Application.Visible = True
objExcel.Workbooks.Open strExcelPath
If Err.Number <> 0 Then
  On Error GoTo 0
  Wscript.Echo "Unable to open spreadsheet " & strExcelPath
  Wscript.Quit
End If
On Error GoTo 0

Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)

' Start with row 2 of spreadsheet.
' Assume first row has column headings.

intRow = 2

' Read each row of spreadsheet until a blank value

Do Until objExcel.Cells(intRow,1).Value = ""

  ' Read values from spreadsheet for this user.
 
  strUserFirstName = Trim(objSheet.Cells(intRow, 1).Value)
  strUserLastName = Trim(objSheet.Cells(intRow, 2).Value)
  strUserTitle = Trim(objSheet.Cells(intRow, 3).Value)
  strManagerFirstName = Trim(objSheet.Cells(intRow, 4).Value)
  strManagerLastName = Trim(objSheet.Cells(intRow, 5).Value)
  On Error Resume Next
 
'Setup ADO Objects.
Set adocommand = CreateObject("ADODB.Command")
Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADsDSOobject"
adoConnection.Open "Active Directory Provider"
Set adoCommand.ActiveConnection = adoConnection

' Search entire Active Directory Domain
Set objRootDSE = GetObject("LDAP://RootDSE")

strDNSDomain = objRootDSE.Get("defaultNamingContext")
strBase = "<LDAP://" & strDNSDomain & ">" 
 
' Filter on user objects.

strFilter2 = "(&(objectCategory=person)(objectClass=user)(givenName=" & strManagerFirstName &")(sn=" & strManagerLastName&"))"
'Comma delimited list of attribute values to retrieve.
strAttributes = "sAMAccountName,cn,givenName,sn,mail,ADsPath"
'Constuct the LDAP syntax query
strQuery2 = strBase & ";" & strFilter2 & ";" & strAttributes & ";subtree"
adocommand.commandText = strQuery2
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("TimeOut") = 30
adoCommand.properties("Cache Results") = False
' Run the query
Set adoRecordset = adoCommand.Execute
' Enumerate the resulting recordset.
 If adoRecordset.Fields("sAMAccountName").Value = "" Then
     Wscript.Echo "Manager Record not found for user " & strUserFirstName & " " & strUserLastName
     ObjExcel.Cells(intRow,4).Font.Bold = TRUE
     ObjExcel.Cells(intRow,5).Font.Bold = TRUE
     ObjExcel.Cells(intRow,4).Font.Color = vbRed
     ObjExcel.Cells(intRow,5).Font.Color = vbRed
 else
 Do Until adoRecordset.EOF
   
   ' Retrieve values and display.
   varTotalUsers =adoRecordset.RecordCount
   'Wscript.Echo varTotalUsers
   If varTotalUsers = 1 Then
   strADsPath = adoRecordset.Fields("AdsPath").Value
   strValue = Split(strADsPath,"://")
   For i = 0 to Ubound(strValue)
    strManager=strValue(1)
   Next
   WScript.Echo strManager
   'Wscript.Echo "Display Name: " & strCN & ", ADsPath:" & strADsPath
   WScript.Echo "manager " & strCN & " found"
   ElseIf varTotalUsers > 1 Then
   ObjExcel.Cells(intRow,4).Font.Bold = TRUE
   ObjExcel.Cells(intRow,5).Font.Bold = TRUE
  
   End If
  'Move to the Next Record in the recordset.
  adoRecordSet.MoveNext
  Loop
  End IF

'Wscript.Echo strManagerFirstName & " " & strManagerLastName & " is manager of " & strUserFirstName & " " & strUserLastName


strFilter = "(&(objectCategory=person)(objectClass=user)(givenName=" & strUserFirstName &")(sn=" & strUserLastName&"))"
'Constuct the LDAP syntax query
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"

adocommand.commandText = strQuery
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("TimeOut") = 30
adoCommand.properties("Cache Results") = False

' Run the query
Set adoRecordset = adoCommand.Execute

 ' Enumerate the resulting recordset.
 If adoRecordset.Fields("sAMAccountName").Value = "" Then
     Wscript.Echo "User Record not found"
     ObjExcel.Cells(intRow,1).Font.Bold = TRUE
     ObjExcel.Cells(intRow,2).Font.Bold = TRUE
     ObjExcel.Cells(intRow,1).Font.Color = vbRed
     ObjExcel.Cells(intRow,2).Font.Color = vbRed
 else
Do Until adoRecordset.EOF
   ' Retrieve values and display.
   varTotalUsers =adoRecordset.RecordCount
   'Wscript.Echo varTotalUsers
   If varTotalUsers = 1 Then
   strADsPath = adoRecordset.Fields("AdsPath").Value
   set objUser = GetObject(strADsPath)
   objUser.Put "manager", strManager
   objUser.Put "description",strUserTitle
   objUser.Put "title", strUserTitle
   objUser.Put "company", "Glam Media"
   objUser.SetInfo
   'Wscript.Echo "Display Name: " & strCN & ", ADsPath:" & strADsPath
   WScript.Echo "User " & strCN & " found"
   ElseIf varTotalUsers > 1 Then
   ObjExcel.Cells(intRow,1).Font.Bold = TRUE
   ObjExcel.Cells(intRow,2).Font.Bold = TRUE
   End If
  'Move to the Next Record in the recordset.
  adoRecordSet.MoveNext
  Loop
  End IF

' Wscript.Echo "First Name: " &  strUserFirstName & "Last Name: " & strUserLastName

       
intRow = intRow + 1

Loop
objExcel.ActiveWorkbook.Saveas "C:\updated_File.xls"
objExcel.Quit
ObjWcript.Quit