Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Graph API删除Azure AD应用程序_Azure_Azure Active Directory_Azure Ad Graph Api - Fatal编程技术网

通过Graph API删除Azure AD应用程序

通过Graph API删除Azure AD应用程序,azure,azure-active-directory,azure-ad-graph-api,Azure,Azure Active Directory,Azure Ad Graph Api,我的任务是编写一些powershell脚本来自动化Azure AD租户中的一些基本操作。我已经成功地添加和删除了用户和域,并且通过Azure Graph API添加了新的应用程序,但是我没有成功地删除这些应用程序 这方面的文档似乎很少,我还没有找到任何这样做的例子。根据对受支持操作下的应用程序的引用,它应该是可能的(): 支持的操作 应用程序支持以下操作(括号中列出了HTTP方法): 创建(发布) 读(读) 更新(补丁) 删除(删除) 那么URI应该是什么样子呢?我找不到直接答案,但要删除用户,

我的任务是编写一些powershell脚本来自动化Azure AD租户中的一些基本操作。我已经成功地添加和删除了用户和域,并且通过Azure Graph API添加了新的应用程序,但是我没有成功地删除这些应用程序

这方面的文档似乎很少,我还没有找到任何这样做的例子。根据对受支持操作下的应用程序的引用,它应该是可能的():

支持的操作

应用程序支持以下操作(括号中列出了HTTP方法):

创建(发布)

读(读)

更新(补丁)

删除(删除) 那么URI应该是什么样子呢?我找不到直接答案,但要删除用户,请使用以下命令:

https://graph.windows.net/myorganization/users/{user_id}[?api-version]
因此,我想尝试类似的方法来删除应用程序:

https://graph.windows.net/company.onmicrosoft.com/applications/{application_id}?api-version=1.6
如果这是正确的,那么应用程序ID是什么?客户端ID和应用程序ID URI对我来说最有意义,但到目前为止,它们和应用程序名称都不适用于我。可能是格式问题吗?根据我的尝试,我会得到不同的错误

应用程序名称:

https://graph.windows.net/company.onmicrosoft.com/applications/application4?api-version=1.6
屈服

Invoke-RestMethod : {"odata.error":{"code":"Request_BadRequest","message":{"lang":"en","value":"Invalid object identifier 'application4'."},"values":null}}
Invoke-RestMethod : {"odata.error":"code":"Request_ResourceNotFound","message":{"lang":"en","value":"Resource '00000000-0000-0000-0000-000000000000' does not exist or one of its queried reference-property objects are not present."}}}
客户端ID(此处归零):

屈服

Invoke-RestMethod : {"odata.error":{"code":"Request_BadRequest","message":{"lang":"en","value":"Invalid object identifier 'application4'."},"values":null}}
Invoke-RestMethod : {"odata.error":"code":"Request_ResourceNotFound","message":{"lang":"en","value":"Resource '00000000-0000-0000-0000-000000000000' does not exist or one of its queried reference-property objects are not present."}}}
应用程序ID URI-不确定如何添加此内容。也许我需要一些编码吗?尝试了两种方法:

https://graph.windows.net/company.onmicrosoft.com/applications/application4.company.com?api-version=1.6
产生

Invoke-RestMethod : {"odata.error":{"code":"Request_BadRequest","message":{"lang":"en","value":"Invalid object identifier 'application4.company.com'."},"values":null}}

我怀疑这就是编码的用武之地。目前,它只会产生收益

Invoke-RestMethod : {"odata.error":{"code":"Request_BadRequest","message"{"lang":"en","value":"Bad request. Please fix the request before retrying."}}}

知道我哪里出错了吗?

您需要使用objectId。除了客户机id之外,应用程序(与所有AAD对象一样)还有一个objectId

因此,URL应该是:

https://graph.windows.net/company.onmicrosoft.com/applications/{application_objectId}?api-version=1.6

应用程序也有一个ObjectId。你试过了吗?成功了!非常感谢:)我现在看到objectID在应用程序的清单中,但在门户的其他地方看不到它。不知道为什么。不过,以编程方式查找它不应该是个问题。我会投票给你,但我还没有这个名声:(