كيفية فرض إعادة تعيين كلمات مرور مستخدمي Google Workspace باستخدام Apps Script

يمكنك استخدام Google Apps Script لإعادة تعيين كلمة مرور المستخدمين تلقائيًا في نطاق Google Workspace. لا يمكن تنفيذ هذا البرنامج النصي إلا ضمن حساب مسؤول Suite. تحتاج أيضًا إلى تمكين خدمة AdminDirectory المتقدمة في محرر البرامج النصية لتطبيقاتك.
يمكنك فرض إعادة تعيين كلمات المرور لأعضاء مجموعة معينة في مؤسستك أو تحديد قائمة بعناوين البريد الإلكتروني وسيستخدم Google Script خدمة AdminDirectory لتغيير كلمة المرور للمستخدمين المحددين.
const getGroupMembers_ = (groupEmail) => {
var emails = [];
var pageToken;
do {
const { members = [], nextPageToken } = AdminDirectory.Members.list(groupEmail, {
maxResults: 200,
pageToken: pageToken,
});
members.forEach((member) => {
if (member.status === 'ACTIVE') {
emails.push(member.email);
}
});
pageToken = nextPageToken;
} while (pageToken);
return emails;
};
const sendEmail_ = (emailAddress, password) => {
MailApp.sendEmail({
to: emailAddress,
cc: 'amit@labnol.org',
subject: `Password changed for ${emailAddress}`,
body: `The Google Workspace admin has changed your Gmail password to ${password}`,
});
};
const changePassword_ = (emailAddress) => {
const temporaryPassword = Utilities.getUuid();
AdminDirectory.Users.update(
{
password: temporaryPassword,
changePasswordAtNextLogin: true,
},
emailAddress
);
sendEmail_(emailAddress, temporaryPassword);
};
const resetUserPasswordsForGroup = () => {
const groupEmail = 'groupemail@labnol.org';
const members = getGroupMembers_(groupEmail);
members.forEach((member) => changePassword_(member));
};
const resetGSuitePasswordForUsers = () => {
const members = ['user1@example.com', 'user2@example.com', 'user3@example.com'];
members.forEach((member) => changePassword_(member));
};
قم بتغيير كلمات مرور GSuite بشكل دوري
يمكنك إنشاء مشغل يعتمد على الوقت في Google Scripts لتشغيل وظيفة إعادة التعيين تلقائيًا على فترات زمنية محددة (مثل تحديث كلمة المرور في أول كل شهر).
ScriptApp.newTrigger('resetGSuitePasswordForUsers').timeBased().onMonthDay(1).create();
تمت كتابة برنامج Google Script في ES6 مع وقت تشغيل V8. إذا لم يتم تمكين V8 لحساب GSuite الخاص بك، فاستبدل البيان appsscript.json
ملف بهذا:
{
"timeZone": "Asia/Kolkata",
"dependencies": {
"enabledAdvancedServices": [
{
"userSymbol": "AdminDirectory",
"serviceId": "admin",
"version": "directory_v1"
}
]
},
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8"
}
تمكين خدمة دليل المسؤول
لاستخدام خدمة Google المتقدمة للدليل المتقدم داخل مشروع Google Apps Script، اتبع الإرشادات التالية:
- افتح Google Script، وحدد قائمة الموارد، ثم اختر خدمات Google المتقدمة.
- في مربع حوار خدمة Google المتقدمة الذي يظهر، قم بتبديل مفتاح التشغيل/الإيقاف بجوار خدمة دليل المسؤول
- انقر فوق “موافق” لحفظ التغييرات.