{"id":618,"date":"2023-01-20T15:42:57","date_gmt":"2023-01-20T06:42:57","guid":{"rendered":"https:\/\/sumomo.ohwaki.jp\/wordpress\/?p=618"},"modified":"2023-01-20T15:42:57","modified_gmt":"2023-01-20T06:42:57","slug":"microsoft-graph%e3%81%a7%e3%82%a2%e3%82%ab%e3%82%a6%e3%83%b3%e3%83%88%e3%83%91%e3%82%b9%e3%83%af%e3%83%bc%e3%83%89%e5%a4%89%e6%9b%b4","status":"publish","type":"post","link":"https:\/\/sumomo.ohwaki.jp\/wordpress\/?p=618","title":{"rendered":"Microsoft Graph\u3067\u30a2\u30ab\u30a6\u30f3\u30c8\u30d1\u30b9\u30ef\u30fc\u30c9\u5909\u66f4"},"content":{"rendered":"\n<p>Office365\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5fd8\u308c\u308b\u793e\u54e1\u304c\u591a\u3044\u306e\u3067\u3001\u306a\u3093\u3068\u304b\u81ea\u52d5\u5316\u3057\u305f\u3044\u306a\u3068\u601d\u3044\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d5\u30ed\u30fc\u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\u3092\u884c\u306a\u3046\u4ed5\u7d44\u307f\u3092\u8003\u3048\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"737\" height=\"766\" src=\"https:\/\/sumomo.ohwaki.jp\/wordpress\/wp-content\/uploads\/2023\/01\/8983d7ee2bbcbd72a0565f8b4b09a802.png\" alt=\"\" class=\"wp-image-619\" srcset=\"https:\/\/sumomo.ohwaki.jp\/wordpress\/wp-content\/uploads\/2023\/01\/8983d7ee2bbcbd72a0565f8b4b09a802.png 737w, https:\/\/sumomo.ohwaki.jp\/wordpress\/wp-content\/uploads\/2023\/01\/8983d7ee2bbcbd72a0565f8b4b09a802-289x300.png 289w\" sizes=\"auto, (max-width: 737px) 100vw, 737px\" \/><\/figure>\n\n\n\n<p>Microsoft Graph\u3092\u4f7f\u7528\u3057\u3066\u30e6\u30fc\u30b6\u30fc\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5f37\u5236\u7684\u306b\u518d\u8a2d\u5b9a\u3059\u308b\u306b\u306f\u3001\u4e0b\u8a18\u306e\u3088\u3046\u306b\u3001PasswordProfile\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002Microsoft Graph API\u306e.ChangePassword()\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u65e7\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u5fc5\u9808\u306a\u305f\u3081\u65e7\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u5206\u304b\u3089\u306a\u3044\u3068\u3001\u5909\u66f4\u3067\u304d\u306a\u3044\u306e\u3067\u30fb\u30fb\u30fb<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-csharp\" data-file=\"\u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\" data-lang=\"C#\"><code>using Microsoft.Graph;\nusing Azure.Identity;\n\u30fb\u30fb\u30fb\nvar options = new TokenCredentialOptions\n{\n    AuthorityHost = AzureAuthorityHosts.AzurePublicCloud\n};\nvar cred = new UsernamePasswordCredential(AdminUsername,AdminPassword,TenantId,ServiceId,options);\n\n\/\/ scope\u306b\u306fUser.ReadWrite.All,Directory.ReadWrite.All\u304c\u5fc5\u8981\nvar graphClient = new GraphServiceClient(cred,scopes);\n\n\/\/ \u30c6\u30f3\u30dd\u30e9\u30ea\u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u751f\u6210\nstring newPassword = GeneratePassword();\n\/\/ \u30d1\u30b9\u30ef\u30fc\u30c9\u306e\u5909\u66f4\ntry {\n    User user = new User();\n    user.PasswordProfile = new PasswordProfile() {\n        ForceChangePasswordNextSignIn = true,           \/\/ \u6b21\u306e\u30ed\u30b0\u30a4\u30f3\u6642\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u5f37\u5236\u5909\u66f4\n        ForceChangePasswordNextSignInWithMfa = false,\n        Password = newPassword                          \/\/ \u30c6\u30f3\u30dd\u30e9\u30ea\u30d1\u30b9\u30ef\u30fc\u30c9\n    };\n    \/\/ \u30d1\u30b9\u30ef\u30fc\u30c9\u60c5\u5831\u306e\u66f4\u65b0\n    await graphClient.Users[targetaccount]\n        .Request()\n        .UpdateAsync(user);\n} catch (Exception e) {\n    Message = $&quot;\u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002&lt;br\/&gt;{e.Message}&quot;;\n    return;\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u3061\u306a\u307f\u306b\u3001HTTP\u30e1\u30bd\u30c3\u30c9\u306fUpdateAsync()=PATCH\u3092\u4f7f\u7528\u3059\u308b\u3002<\/p>\n\n\n\n<p>\u5099\u5fd8\u9332\u3068\u3057\u3066\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Office365\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5fd8\u308c\u308b\u793e\u54e1\u304c\u591a\u3044\u306e\u3067\u3001\u306a\u3093\u3068\u304b\u81ea\u52d5\u5316\u3057 &hellip; <a href=\"https:\/\/sumomo.ohwaki.jp\/wordpress\/?p=618\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,9,16,4],"tags":[],"class_list":["post-618","post","type-post","status-publish","format-standard","hentry","category-net","category-c","category-microsoft-graph","category-4"],"_links":{"self":[{"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=618"}],"version-history":[{"count":2,"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/618\/revisions"}],"predecessor-version":[{"id":621,"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/618\/revisions\/621"}],"wp:attachment":[{"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sumomo.ohwaki.jp\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}