Espacio de nombres: microsoft.graph
Actualice las propiedades de un recurso compartido de impresora. Este método se puede usar para intercambiar impresoras.
Por ejemplo, si se interrumpe un dispositivo de impresora física, un administrador puede registrar un nuevo dispositivo de impresora y actualizar esta impresoraShare para que apunte a la nueva impresora sin necesidad de que los usuarios realicen ninguna acción.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso |
Permisos con privilegios mínimos |
Permisos con privilegios más altos |
| Delegado (cuenta profesional o educativa) |
PrinterShare.ReadWrite.All |
No disponible. |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
No admitida. |
No admitida. |
Solicitud HTTP
PATCH /print/shares/{printerShareId}
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
| Content-Type |
application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione los valores de los campos printerShare pertinentes que se deben actualizar. Las propiedades existentes que no se incluyen en el cuerpo de la solicitud mantienen sus valores anteriores o se recalculan en función de los cambios realizados en otros valores de propiedad. Para obtener el mejor rendimiento, no incluya valores existentes que no hayan cambiado.
Se pueden actualizar las siguientes propiedades:
| Propiedad |
Tipo |
Descripción |
| impresora |
microsoft.graph.printer |
La impresora a la que comparte esta impresora está relacionada. Use la printer@odata.bind sintaxis como se muestra en el ejemplo siguiente para actualizar a qué impresora está asociado este recurso compartido de impresora. |
| displayName |
Cadena |
Nombre del recurso compartido de impresora que deben mostrar los clientes de impresión. |
| allowAllUsers |
Booleano |
Si es true, a todos los usuarios y grupos se les concede acceso a este recurso compartido de impresora. Esto reemplaza a las listas de permitidos definidas por las propiedades de navegación allowedUsers y allowedGroups. |
Nota:
Si va a actualizar la propiedad de impresora , no se pueden actualizar otras propiedades en la misma solicitud.
Respuesta
Si se ejecuta correctamente, este método devuelve un 200 OK código de respuesta y un objeto printerShare actualizado en el cuerpo de la respuesta.
Ejemplos
Solicitud
PATCH https://graph.microsoft.com/v1.0/print/shares/{printerShareId}
Content-Type: application/json
{
"displayName": "PrinterShare Name",
"printer@odata.bind": "https://graph.microsoft.com/v1.0/print/printers/{printerId}",
"allowAllUsers": false
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new PrinterShare
{
DisplayName = "PrinterShare Name",
AllowAllUsers = false,
AdditionalData = new Dictionary<string, object>
{
{
"printer@odata.bind" , "https://graph.microsoft.com/v1.0/print/printers/{printerId}"
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Print.Shares["{printerShare-id}"].PatchAsync(requestBody);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewPrinterShare()
displayName := "PrinterShare Name"
requestBody.SetDisplayName(&displayName)
allowAllUsers := false
requestBody.SetAllowAllUsers(&allowAllUsers)
additionalData := map[string]interface{}{
"printer@odata.bind" : "https://graph.microsoft.com/v1.0/print/printers/{printerId}",
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
shares, err := graphClient.Print().Shares().ByPrinterShareId("printerShare-id").Patch(context.Background(), requestBody, nil)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
PrinterShare printerShare = new PrinterShare();
printerShare.setDisplayName("PrinterShare Name");
printerShare.setAllowAllUsers(false);
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("printer@odata.bind", "https://graph.microsoft.com/v1.0/print/printers/{printerId}");
printerShare.setAdditionalData(additionalData);
PrinterShare result = graphClient.print().shares().byPrinterShareId("{printerShare-id}").patch(printerShare);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const printerShare = {
displayName: 'PrinterShare Name',
'printer@odata.bind': 'https://graph.microsoft.com/v1.0/print/printers/{printerId}',
allowAllUsers: false
};
await client.api('/print/shares/{printerShareId}')
.update(printerShare);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\PrinterShare;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new PrinterShare();
$requestBody->setDisplayName('PrinterShare Name');
$requestBody->setAllowAllUsers(false);
$additionalData = [
'printer@odata.bind' => 'https://graph.microsoft.com/v1.0/print/printers/{printerId}',
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->escapedPrint()->shares()->byPrinterShareId('printerShare-id')->patch($requestBody)->wait();
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Import-Module Microsoft.Graph.Devices.CloudPrint
$params = @{
displayName = "PrinterShare Name"
"printer@odata.bind" = "https://graph.microsoft.com/v1.0/print/printers/{printerId}"
allowAllUsers = $false
}
Update-MgPrintShare -PrinterShareId $printerShareId -BodyParameter $params
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.printer_share import PrinterShare
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = PrinterShare(
display_name = "PrinterShare Name",
allow_all_users = False,
additional_data = {
"printer@odata_bind" : "https://graph.microsoft.com/v1.0/print/printers/{printerId}",
}
)
result = await graph_client.print.shares.by_printer_share_id('printerShare-id').patch(request_body)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Respuesta
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#print/shares/$entity",
"id": "d837c17b-3296-4384-a053-828d56e10f50",
"displayName": "PrinterShare Name",
"createdDateTime": "2020-02-04T00:00:00.0000000Z",
"isAcceptingJobs": true,
"allowAllUsers": false,
"status": {
"state": "stopped",
"details": ["disconnected"],
"description": ""
}
}