2017-08-16 57 views
4

そのタイトルは本当に流れます。Powershell経由でStrongAuthenticationUserDetailsをAzureADのPhoneNumberに設定していますか?

Azure Active Directoryで使用するコンピュータを設定するときは、ITに初期設定と設定を行います。これにはAzure Active Directoryへの最初のサインインと参加が含まれていました。サインインすると、検証方法を選択する必要があります。卓上電話や携帯電話を使いやすくしています。

第2因子の電話番号を更新する時が来ています。 Azure AD Web UIを使用して手動で行う方法はわかっていますが、PowerShellでその数値を設定するためのスクリプトによる方法を探しています。

PowerShellで番号を取得する方法は次のとおりです。コードはこの情報を返すこと

Get-msoluser -UserPrincipalName "[email protected]" | Select-Object -ExpandProperty StrongAuthenticationUserDetails 

ExtensionData      : System.Runtime.Serialization.ExtensionDataObject 
AlternativePhoneNumber   : 
Email        : 
OldPin       : 
PhoneNumber      : +1 5554445555 
Pin        : 

しかし、StrongAuthenticationUserDetailsを設定するための同様の選択肢はなさそうです。

すべての検索で、2段階認証を一括して有効にする方法がわかりました。これは私がやりたいことではありません。私はStrongAuthenticationを電話番号を更新するだけで同じままにしたい。

+1

1週間前に同じ問題が発生しました。 MSOLコマンドレットはこれを行う方法が不足しているようです。同じことがAzureADコマンドレットにも当てはまります。 – bluuf

+0

@bluufポスト申し訳ありません。速く読んではいけない。とにかく、それはpowershellのための読み取り専用アクセスがあるように見えます。そのチケットも開かれています - https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/13539441-phone-factorそれを行う計画はありますが、ETAはありません。あなたは答えが得られないという答えですか? – tukan

+0

私はそれをプログラム的に行う方法はないと思った:/何か回避策があるかどうかを数日待つべきかどうかは分からない。 –

答えて

1

私がコメントしたところでは、powershellには読み取り専用アクセスがあるようです。

Azure feedbackに開封されたチケットもあります。

これを行う予定はありますが、ETAはありません。私の推測では、PowerShellのみを使用したい場合は待たなければならないということです。

回避策としては、Internet Explorerを経由して、それを自動化するためにWatin recorderPowerShellの & watir for .NET OR Watinを使用することができます。私はテストAzureを持っていないので、私はあなたのために実行可能なコードを作成することはできません。

WatinとPowerShellを使用して - あなたがチェックすることができ:

https://cmille19.wordpress.com/2009/09/01/internet-explorer-automation-with-watin/

に次のテキストやコードを、私はそれがここでは、上記のページ(著者へのすべてのクレジット)から取られたバックアップしたかったです

次に、レコードボタンをクリックし、 の自動化するHTML要素をクリックします。 WatINレコーダーを停止し、 クリップボードアイコンへのコピーコードをクリックします。

// Windows 
WatiN.Core.IE window = new WatiN.Core.IE(); 

// Frames 
Frame frame_sd_scoreboard = window.Frame(Find.ByName("sd") && Find.ByName("scoreboard")); 

// Model 
Element __imgBtn0_button = frame_sd_scoreboard.Element(Find.ByName("imgBtn0_button")); 

// Code 
__imgBtn0_button.Click(); 
window.Dispose(); 

だから、私は今、ボタンの名前を知っていて、それが3つのフレームの深さであること:これはただのPowerShellに翻訳 にする必要があるいくつかのC#のコードを生成します。 A WatINオブジェクトの探索が少し遅れて、私は、 スクリプトを思いつきました。これは50分ごとにボタンをクリックします。

#Requires -version 2.0 
#powershell.exe -STA 

[Reflection.Assembly]::LoadFrom("$ProfileDirLibrariesWatiN.Core.dll") | out-null 
$ie = new-object WatiN.Core.IE("https://sd.acme.com/CAisd/pdmweb.exe") 
$scoreboard = $ie.frames | foreach {$_.frames } | where {$_.name –eq ‘sd’} | foreach {$_.frames } | where {$_.name –eq ‘scoreboard’} 
$button = $scoreboard.Element("imgBtn0_button") 

while ($true) 
{ 
    $button.Click() 
    #Sleep for 50 minutes 
    [System.Threading.Thread]::Sleep(3000000) 
} 
+0

これは質問とは関係ありません。あなたのコマンドは、MFA設定の電話番号ではなく、ユーザーの電話番号を設定します。 – bluuf

+0

他の誰かがより良い答えを出さない限り、別の解決策がないようですので、私はこれを受け入れて賞与を授与します。今のところ、コンソールのjavascriptで十分です。 –

+0

@BožoStojkovićあなたはすでにいくつかの回避策があります。 – tukan