2 พ.ย. 2020 เวลา 05:46 • วิทยาศาสตร์ & เทคโนโลยี
การลบ Email ทีละมากๆ ในคอนโซลผู้ดูแล (Google Admin) ด้วย Google Sheets
หัวข้อนี้เหมาะสำหรับผู้ดูแล (Administrator) ขององค์กรที่ใช้ G Suite อยู่แล้วนะครับ เพราะว่าถ้าไม่ใช่มันจะไม่มีคอนโซลผู้ดูแล Google Admin
โจทย์ปัญหา
ต้องการลบผู้ใช้หรืออีเมล์ (Email) ที่ไม่เคยถูกใช้งานเลยออกจากองค์กร ถ้าลบทีละคนเสียเวลามากๆ
ขั้นตอนและวิธีการ
1. ดึงข้อมูลผู้ใช้ในองค์กรออกมาเป็น Google Sheets
2. กรองข้อมูลเฉพาะบัญชีอีเมล์ที่ไม่เคยเปิดใช้งานเลย
3 เขียนสคริปต์ใน Google Sheets เพื่อทำการลบบัญชี
4. ตรวจสอบว่าความถูกต้อง
สิ่งที่คาดว่าจะได้รับจากบทความ
1. รู้วิธีดึงข้อมูลผู้ใช้ออกมาเป็น Google Sheets
2. รู้วิธีกรองข้อมูลที่ต้องการ
3. รู้วิธีเขียนสคริปต์ให้สามารถลบข้อมูลผู้ใช้ในคอนโซล Google Admin
มาเริ่มกันเลย
ขั้นตอนที่ 1 ดึงข้อมูลผู้ใช้ในองค์กรออกมาเป็น Google Sheets
1.1 เข้าสู่ Google Admin คอนโซลผู้ดูแลระบบ เข้าไปที่เมนู ผู้ใช้
1.2 เมื่อเข้ามาในส่วนการบริหารจัดการผู้ใช้งาน ด้านซ้ายหมายเลข 1 ทำการเลือกหน่วยขององค์กรที่ต้องการดึงข้อมูล อันนี้แล้วแต่คุณเลย จะเอาทั้งหมดก็ได้ แต่ในตัวอย่างของผม ผมจะดึงเฉพาะ ชั้น M5 ออกมาเท่านั้น
1.3 เมื่อเลือกดาวน์โหลดผู้ใช้ จะมีป๊อบอับขึ้นมาให้เลือก อันนี้แล้วแต่คุณจะเลือกเลยครับ แต่ในตัวอย่างนี้ผมเลือกตามภาพ
1.4 เมื่อกดดาวน์โหลด ก็ให้รอจนเสร็จสมบูรณ์ จากนั้นกด เปิดใน Google ชีต
ขั้นตอนที่ 2 กรองข้อมูลเฉพาะบัญชีอีเมล์ที่ไม่เคยเปิดใช้งานเลย
2.1 ได้ไฟล์ Google Sheets มาหนึ่งไฟล์
2.1.1 เลือก Filter
2.1.2 เลือก C1 ตรงส่วน Filter
2.1.3 เลือก ล้าง Filter
2.1.4 เลื่อน Scroll ค้นหาคนที่ไม่เคยเข้าระบบในที่นี้คือ Never Logged in
2.1.5 เลือกเช็คถูกเฉพาะ Never Logged in
2.1.6 กดปุ่ม ตกลง
2.2 เราจะได้ข้อมูลที่ต้องการ
ขั้นตอนที่ 3 เขียนสคริปต์ใน Google Sheets เพื่อทำการลบบัญชี
3.1 เตรียมแผ่นงานใหม่
3.1.1 กดเพิ่มแผ่นงาน
3.1.2 เลือกแผ่น
3.1.3 พิมพ์ช่อง A1 เป็น Email เพื่อเป็น email ที่ต้องการลบ และ B1 เป็น Status เพื่อบอกสถานะของการลบ
3.1.4 ไป copy email ที่ต้องการ
3.1.5 เอาไปวางในช่อง email ในแผ่นงานที่ทำขึ้นมาเมื่อกี้
3.2 เปิดโปรแกรมแก้ไขสคริปต์
3.2 ตั้งชื่อสคริปต์ และเขียนสคริปต์ตามนี้ อย่าลืมกดบันทึก
function deleteEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
var firstRow = 2;
var lastRow = sheet.getLastRow();
for (i=firstRow; i<=lastRow; i++) {
if (sheet.getRange(i,2).getValue() == ''){
var email = sheet.getRange(i, 1).getValue();
 
try {
AdminDirectory.Users.remove(email);
var timestamp = new Date();
sheet.getRange(i, 2).setValue(timestamp);
} catch (e) {
sheet.getRange(i , 2).setValue(e);
}
}
}
}
3.3 เพิ่มเมนู Run โปรแกรมง่ายๆ โดยพิมพ์สคริปต์ตามนี้
//create menu
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Delete Email')
.addItem('Del', 'deleteEmail')
.addToUi();
}
3.4 กด Run ให้เกิดการสร้าง Menu ก่อน โดยการเลือกฟังชั่น onOpen แล้วกด run
3.5 ยืนยันสิทธิ์ โดยกดที่ปุ่ม ตรวจสอบสิทธิ์ (จะตรวจสอบเพียงครั้งแรกเท่านั้น)
3.6 เราก็จะได้ menu ตามภาพขึ้น
3.7 ต่อเป็นเป็นขั้นตอนสำคัญคือการเปิดให้ใช้ AdminDirectory เพื่อให้สามารถออกคำสั่งใน Google Admin ได้ ถ้าไม่ทำแบบนี้โปรแกรมจะมี Error ทันที โดยการเลือกเมนูทรัพยากร และ บริการขั้นสูง Google....
3.8 กดปุ่มเปิด AdminDirectory
3.9 เริ่ม Run สคริปต์ลบ Email ได้เลย ครั้งแรกอาจจะถามสิทธิ์ ก็ยืนยันไปเลยครับ แล้วกด run อีกรอบ
3.10 เมื่อกด Run แล้ว ก็รอจนเสร็จ ให้สังเกตช่อง Status จะมีวันที่ขึ้น แสดงว่าทำการลบ email นั้นไปแล้ว
ขั้นตอนที่ 4 ตรวจสอบว่าความถูกต้อง
โดยการกลับไปที่ Google Admin ไปที่ชั้น M5 ที่เราต้องการลบ ค้นหา email ที่ลบไปแล้ว หากไม่พบ แสดงว่าการลบเสร็จสมบูรณ์แล้ว
โฆษณา