a:6:{i:0;s:14266:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>IT Consultant</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.rbmplacement.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.rbmplacement.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> IT Consultant</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 2 - 4 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Mumbai</p>
										
					<div>
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="838629">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="892730"><input type="hidden" name="subject" value="Applied for IT Consultant">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Responsibilities and Duties<br />
    * Preparing virtual lab using virtualization software<br />
    * Installation and evaluation of products by reading product<br />
    documents and installing it in lab<br />
    * Should be able to present a solution or demo product features and functionality<br />
    to<br />
    colleagues, customers etc.<br />
    * Extending support (telephone / email / remote / onsite) to<br />
    customers<br />
    * Meeting with clients to determine requirements<br />
    * Working with clients to define the scope of a project<br />
    * Clarifying a client's system specifications, understanding their<br />
    work practices<br />
    and the nature of their business<br />
    * Travelling to customer sites<br />
    * Liaising with staff at all levels of a client organization<br />
    * Defining software, hardware and network requirements<br />
    * Analyzing IT requirements within companies and giving independent<br />
    and<br />
    objective advice on the use of IT<br />
    * Helping clients with change-management activities<br />
* Preparing documentation like Project Plan, Project Documentation,<br />
    Installation Guide, Pre-requisite documents etc.with the help of<br />
    senior colleagues<br />
    * Presenting project progress reports to customers<br />
    Required Experience, Skills and Qualifications<br />
    Required Experience:<br />
    1. Minimum 2-3 Years of hands on experience in Domain (Active<br />
    Directory) Experience in 2008 / 2012 / 2016 (DNS, DHCP, Domain Trust,<br />
    Certificate Authority)<br />
    2. Minimum 2-3 Years of hands on experience in Windows OS 2008 / 2012<br />
    / Windows 10 is must<br />
    3. Minimum 2-3 Years of hands on experience in Exchange Server 2010 /<br />
    2013 / 2016 is must<br />
    4. Basic knowledge of Linux, SQL server, SharePoint, Oracle Database,<br />
    ESXi / VMware, Windows File Server, EMC, NetApp etc.<br />
    5. Understanding of Microsoft Office 365 (Exchange Online, OneDrive,<br />
    Skype for Business & SharePoint Online)<br />
    6. Basic knowledge in Disaster Recovery will be an added advantage<br />
    7. Configuration and installation of third party product</p>
				
				<table class="w100 formTable bdr0 mt10px">				
									<tr>
					<td class="w22 alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">2 - 4 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Vocational Course, Other Bachelor Degree, B.C.A, B.Tech/B.E, Other Master Degree, M.C.A</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">IT Consultant</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">IT Analyst</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">IT Head</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">Rajendra Mhaske</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">Subhashchandra bose Nagar, N-11, B-Sector, T.V.Center Road Hudco</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">8668382241 </td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:rbmplacement@gmail.com"> rbmplacement@gmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="838629">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="892730"><input type="hidden" name="subject" value="Applied for IT Consultant">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-thane.htm" title="Jobs in Thane">Thane</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-vapi.htm" title="Jobs in Vapi">Vapi</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-palghar.htm" title="Jobs in Palghar">Palghar</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-aurangabad.htm" title="Jobs in Aurangabad">Aurangabad</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-surat.htm" title="Jobs in Surat">Surat</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-nagpur.htm" title="Jobs in Nagpur">Nagpur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-ludhiana.htm" title="Jobs in Ludhiana">Ludhiana</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-buldhana.htm" title="Jobs in Buldhana">Buldhana</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxation</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-analytics-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intelligence</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-transportation-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping Jobs">Cargo / Freight / Transportation / Packaging / Shipping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism / Editing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy / Management Consulting</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Training / Counselling / Academic</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Programming / Maintenance</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Customer Service / Operations</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Quality</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR / Media Planning</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-medical-health-care-hospitals-fid.htm" title="Medical / Health Care / Hospitals Jobs">Medical / Health Care / Hospitals</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'NEdRV000ZDRleGJjQVBFVDZFT29Jdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:93:"IT Consultant Jobs in Mumbai - Vacancy in IT Software - Application Programming / Maintenance";i:2;s:174:"IT Consultant Jobs,IT Consultant Jobs in Mumbai,IT Consultant Vacancy in Mumbai,IT Consultant jobs in India,IT Software - Application Programming / Maintenance jobs in Mumbai";i:3;s:288:"Apply for IT Consultant Jobs in Mumbai India - IT Consultant Vacancy  in IT Software - Application Programming / Maintenance field with 2 to 4 years Work Experience, Key Skills are IT Consultant,IT Analyst,IT Head, IT Software - Application Programming / Maintenance jobs in Mumbai  India";i:4;s:2813:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "IT Consultant",
		  "baseSalary": "",
		  "description": "Responsibilities and Duties
    * Preparing virtual lab using virtualization software
    * Installation and evaluation of products by reading product
    documents and installing it in lab
    * Should be able to present a solution or demo product features and functionality
    to
    colleagues, customers etc.
    * Extending support (telephone / email / remote / onsite) to
    customers
    * Meeting with clients to determine requirements
    * Working with clients to define the scope of a project
    * Clarifying a client's system specifications, understanding their
    work practices
    and the nature of their business
    * Travelling to customer sites
    * Liaising with staff at all levels of a client organization
    * Defining software, hardware and network requirements
    * Analyzing IT requirements within companies and giving independent
    and
    objective advice on the use of IT
    * Helping clients with change-management activities
* Preparing documentation like Project Plan, Project Documentation,
    Installation Guide, Pre-requisite documents etc.with the help of
    senior colleagues
    * Presenting project progress reports to customers
    Required Experience, Skills and Qualifications
    Required Experience:
    1. Minimum 2-3 Years of hands on experience in Domain (Active
    Directory) Experience in 2008 / 2012 / 2016 (DNS, DHCP, Domain Trust,
    Certificate Authority)
    2. Minimum 2-3 Years of hands on experience in Windows OS 2008 / 2012
    / Windows 10 is must
    3. Minimum 2-3 Years of hands on experience in Exchange Server 2010 /
    2013 / 2016 is must
    4. Basic knowledge of Linux, SQL server, SharePoint, Oracle Database,
    ESXi / VMware, Windows File Server, EMC, NetApp etc.
    5. Understanding of Microsoft Office 365 (Exchange Online, OneDrive,
    Skype for Business & SharePoint Online)
    6. Basic knowledge in Disaster Recovery will be an added advantage
    7. Configuration and installation of third party product",
		  "educationRequirements": "Vocational Course, Other Bachelor Degree, B.C.A, B.Tech/B.E, Other Master Degree, M.C.A",
		  "experienceRequirements": "2 - 4 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Vocational Course, Other Bachelor Degree, B.C.A, B.Tech/B.E, Other Master Degree, M.C.A",
		     "skills": "IT Consultant,IT Analyst,IT Head"
		  }
		</script>
		";i:5;N;}