2017-04-21 49 views
1

我正在尝试设置一个Flow与Sharepoint在线度假日历一起使用。MS Flow - “Get-manager”在我的批准流程中不起作用流

我想知道你们中的任何一个人是否可以像MS Flow开发那样向我提示正确的方向。论坛不一致,有时我需要等待一段时间才能得到答案。

所以我的处理是这样的 - 我有一个流程设置,并通过它的逻辑它应该工作正常,但有一个步骤称为“获取经理”,它无法从Azure AD经理字段获取sid这个字段在我的Azure AD中不是空的)。

我的流程是这样的: see this screenshot

我在PowerShell中尝试这个命令安装最新的Azure的模块:

GET-AzureRmADUser -UserPrincipalName

,并没有返回的电子邮件我尝试过的任何用户。所以我怀疑可能有些东西缺少Azure AD设置,但我不完全确定。

+0

你的获得经理的任务是做什么的? –

+0

它检索在Sharepoint Online度假日历中创建项目的用户的经理电子邮件。然后,流程进行,否则,如果没有提供电子邮件,则停止。 – Joe111

回答

0

如果您想使用powershell获取azure广告用户的管理员信息,则可以直接调用Graph API,因为PowerShell基本上封装了API,只是在简化的界面中将它们呈现给您。请参考以下文章,如何从Powershell的调用Azure的活动目录图形API:

https://blogs.technet.microsoft.com/paulomarques/2016/03/21/working-with-azure-active-directory-graph-api-from-powershell/

,并使用Get a user's manager API

GET https://graph.windows.net/myorganization/users/XXXXXX/$links/manager?api-version=1.6 

这里是结果:

PS C:\Users\v-nany> $tenant = "testbasic1.onmicrosoft.com" 
PS C:\Users\v-nany> $token = GetAuthToken -TenantName $tenant 
PS C:\Users\v-nany> $authHeader = @{ 
>> 'Content-Type'='application\json' 
>> 'Authorization'=$token.CreateAuthorizationHeader() 
>> } 
PS C:\Users\v-nany> $uri = "https://graph.windows.net/myorganization/users/[email protected]/$links/m 
anager?api-version=1.6" 
PS C:\Users\v-nany> $ManagerInfo = Invoke-RestMethod -Uri $uri –Headers $authHeader –Method Get –Verbose 
VERBOSE: GET 
https://graph.windows.net/myorganization/users/[email protected]//manager?api-version=1.6 with 
0-byte payload 
VERBOSE: received 1240-byte response of content type 
application/json;odata=minimalmetadata;streaming=true;charset=utf-8 
PS C:\Users\v-nany> $ManagerInfo 


odata.metadata     : https://graph.windows.net/myorganization/$metadata#directoryObjects/@Element 
odata.type      : Microsoft.DirectoryServices.User 
objectType      : User 
objectId      : 9e6efc2c-69b7-4da2-8ef5-9c8624e76a52 
deletionTimestamp    : 
accountEnabled     : True 
signInNames     : {} 
assignedLicenses    : {} 
assignedPlans     : {} 
city       : 
companyName     : 
country      : 
creationType     : 
department      : 
dirSyncEnabled     : 
displayName     : NANYU 
facsimileTelephoneNumber  : 
givenName      : 
immutableId     : 
isCompromised     : 
jobTitle      : 
lastDirSyncTime    : 
mail       : 
mailNickname     : testnanyu1222 
mobile       : 
onPremisesSecurityIdentifier : 
otherMails      : {} 
passwordPolicies    : 
passwordProfile    : @{password=; forceChangePasswordNextLogin=True; enforceChangePasswordPolicy=False} 
physicalDeliveryOfficeName  : 
postalCode      : 
preferredLanguage    : 
provisionedPlans    : {} 
provisioningErrors    : {} 
proxyAddresses     : {} 
refreshTokensValidFromDateTime : 2017-04-03T07:03:00Z 
showInAddressList    : 
sipProxyAddress    : 
state       : 
streetAddress     : 
surname      : 
telephoneNumber    : 
usageLocation     : 
userPrincipalName    : [email protected] 
userType      : Member 

如果我误解了你的要求,请随时告诉我。

+0

现在我只是在我运行这个后得到一个空行,虽然SID在Azure AD中。我错过了什么吗? – Joe111

+0

您是否正确设置了clientId && tenant与上面的代码?使用像fiddler这样的工具来检查是否有错误发生。 –