a:6:{i:0;s:11939:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for it service desk in hyderabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.proactive-search.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.proactive-search.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for it service desk in hyderabad</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-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">IT Service Desk Specialist</div>
									<p class="mt7px fw6">Hyderabad</p>
									
				<br>
				<p class="aj mt7px">Job description<br />
<br />
Primary Role Responsibilities:<br />
<br />
Field incoming interactions to the Service Desk via phone, Chat and self-service regarding computer related and mobile device related requests and issues.<br />
During end user interactions, document all pertinent user information, requestissue details and troubleshooting steps taken in the ticketing tool.<br />
Using company established rules, prioritize end user's requests and issues.<br />
Using documented policies and procedures and IT management tools, troubleshoot and resolve the issuerequest or escalate to the appropriate group.<br />
Communicate effectively with end users in all stages of the incident management process; including initial interaction, triage, escalation and status updates as requested.<br />
Manage individual incident queues in a timely manner to ensure all end user requests and issues are addressed within their appropriate SLA.<br />
Attend training sessions to learn relevant IT knowledge and company specific applications to provide timely support to our end users.<br />
Participate in team projects that enhance the effectiveness of the Service Desk.<br />
Skills and Qualifications:<br />
<br />
Associate's Degree in Computer Science or other related field or 1.5 years equivalent work experience.<br />
Working knowledge of computer hardware and software.<br />
Working knowledge of computer operating systems; including<br />
Windows 7, Windows 10 and OS X.<br />
Understanding of Active Directory, Exchange Management Console, SCCM, MobileIron, Citrix XenDesktop and Cisco VPN.<br />
Understanding of mobile device support; including Android and iOS.<br />
Interpersonal skills, with a focus on rapport-building, listening and questioning skills.<br />
Proven customer service skills.<br />
Exceptional written and verbal communication skills.<br />
Other Requirements:<br />
<br />
Effective in a team-oriented environment.<br />
Ability to retain information and training quickly.<br />
Highly self-motivated and directed.<br />
Keen attention to detail.<br />
Strong documentation skills.<br />
Proven analytical and problem-solving abilities.<br />
Punctual and</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 11 Years</td>
				</tr>			
									<tr>
					<td class="alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Hardware / Technical Support / Telecom Engineering</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">SCCM</span>
												<span class="bdr dib p2px10px mr5px mt2px"> MobileIron</span>
												<span class="bdr dib p2px10px mr5px mt2px"> IT Service Desk executive</span>
												<span class="bdr dib p2px10px mr5px mt2px"> android</span>
												<span class="bdr dib p2px10px mr5px mt2px"> ios</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:proactivesearchsystems@gmail.com"> proactivesearchsystems@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="308759">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="913387"><input type="hidden" name="subject" value="Applied for IT Service Desk Specialist">
					</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="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr 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 bdr mr7px mb7px "><a class="dif" href="jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mohali.htm" title="Jobs in Mohali">Mohali</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(1)</b></span>
											<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-uganda.htm" title="Jobs in Uganda">Uganda</a> <b class="alpha50 bn small">(1)</b></span>
										</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(6)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-erp-crm-edp-software-fid.htm" title="IT Software- ERP / CRM / EDP / MIS Jobs">IT Software- ERP / CRM / EDP /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-network-administration-security-fid.htm" title="IT Software - Network Administration, Security Jobs">IT Software - Network Administ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-software-middleware-fid.htm" title="IT Software - Middleware Jobs">IT Software - Middleware</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-telecom-software-fid.htm" title="IT Software - Telecom Jobs">IT Software - Telecom</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-software-mainframe-fid.htm" title="IT Software - Mainframe Jobs">IT Software - Mainframe</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'Z29WdTdCOHJlSVFOL1pITFFMa1VUQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:72:"Job openings for it service desk in hyderabad | Proactive Search Systems";i:2;s:237:"IT Service Desk Specialist Jobs,IT Service Desk Specialist Jobs in Hyderabad,IT Service Desk Specialist Vacancy in Hyderabad,IT Service Desk Specialist jobs in India,IT Hardware / Technical Support / Telecom Engineering jobs in Hyderabad";i:3;s:350:"Apply for IT Service Desk Specialist Jobs in Hyderabad India - IT Service Desk Specialist Vacancy  in IT Hardware / Technical Support / Telecom Engineering field with 5 to 11 years Work Experience, Key Skills are SCCM, MobileIron, IT Service Desk executive, android, ios, IT Hardware / Technical Support / Telecom Engineering jobs in Hyderabad  India";i:4;s:2723:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "IT Service Desk Specialist",
		  "baseSalary": "",
		  "description": "Job description

Primary Role Responsibilities:

Field incoming interactions to the Service Desk via phone, Chat and self-service regarding computer related and mobile device related requests and issues.
During end user interactions, document all pertinent user information, requestissue details and troubleshooting steps taken in the ticketing tool.
Using company established rules, prioritize end user's requests and issues.
Using documented policies and procedures and IT management tools, troubleshoot and resolve the issuerequest or escalate to the appropriate group.
Communicate effectively with end users in all stages of the incident management process; including initial interaction, triage, escalation and status updates as requested.
Manage individual incident queues in a timely manner to ensure all end user requests and issues are addressed within their appropriate SLA.
Attend training sessions to learn relevant IT knowledge and company specific applications to provide timely support to our end users.
Participate in team projects that enhance the effectiveness of the Service Desk.
Skills and Qualifications:

Associate's Degree in Computer Science or other related field or 1.5 years equivalent work experience.
Working knowledge of computer hardware and software.
Working knowledge of computer operating systems; including
Windows 7, Windows 10 and OS X.
Understanding of Active Directory, Exchange Management Console, SCCM, MobileIron, Citrix XenDesktop and Cisco VPN.
Understanding of mobile device support; including Android and iOS.
Interpersonal skills, with a focus on rapport-building, listening and questioning skills.
Proven customer service skills.
Exceptional written and verbal communication skills.
Other Requirements:

Effective in a team-oriented environment.
Ability to retain information and training quickly.
Highly self-motivated and directed.
Keen attention to detail.
Strong documentation skills.
Proven analytical and problem-solving abilities.
Punctual and",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "5 - 11 Years",
		  "industry": "IT Hardware / Technical Support / Telecom Engineering",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Telangana",
		      "addressRegion": "Hyderabad"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "SCCM, MobileIron, IT Service Desk executive, android, ios"
		  }
		</script>
		";i:5;N;}