a:6:{i:0;s:12292:"					<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-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(9)</b></span>
										<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-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-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-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-rewari.htm" title="Jobs in Rewari">Rewari</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">(7)</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-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">(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">(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">(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">(1)</span><a href="jobs-in-telecom-software-fid.htm" title="IT Software - Telecom Jobs">IT Software - Telecom</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-csr-sustainability-fid.htm" title="CSR / Sustainability Jobs">CSR / Sustainability</a></p>
										<p class="mb5px "><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 "><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>
										<p class="mb5px spanlist dn"><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 spanlist dn"><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 spanlist dn"><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 spanlist dn"><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>
										<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;}