Tenho vários laptops nos quais posso acessar remotamente, mas não sei se eles têm uma webcam funcionando. Eu não consigo vê-los. Não preciso acessar as webcams; Só preciso saber se está presente.
Existe uma maneira de saber remotamente se um laptop tem uma webcam?
Eu preferiria algum tipo de cmd
código que eu pudesse acionar em cada um para me fornecer rapidamente uma impressão copiável de tais informações para compilar em computadores.
No Windows, você pode consultar o Gerenciador de dispositivos para verificar se existem dispositivos de câmera. Essa verificação também pode ser realizada usando o PowerShell ou Prompt de Comando, sem direitos especiais.
Prompt de comando:
Irá imprimir:
PowerShell:
Irá imprimir:
Você não pode distinguir com segurança câmeras internas e externas usando filtros triviais (como mostrado acima). Você terá que ir pelo nome ou outras dicas.
Algumas webcams mais antigas que não usam a classe de vídeo USB podem não aparecer na classe Camera . Em vez disso, poderia estar usando a classe Image , que hoje é geralmente usada para scanners de documentos e similares.
Com
pnputil
, você terá que executar dois comandos para obter as duas classes. Com o PowerShell, você só precisa de um:Saída (PC diferente, sem
-PresentOnly
, daí o Desconhecido ):No entanto, novamente, isso se aplica apenas a hardware muito antigo e também captura dispositivos que não sejam câmeras, como a impressora multifuncional acima.
O PowerShell parece uma boa opção. Em Usar o PowerShell para descobrir a webcam do laptop, algumas opções são fornecidas.
O que funcionou para mim é
Você pode ter que executar o comando algumas vezes com variações de "camera" ou "cam" ou outros termos que podem capturar todas as várias opções. Minha câmera, por exemplo, é uma Microsoft LifeCam que não será vista se você pesquisar por "câmera"
Você poderá ver mais se modificar sua pesquisa para procurar
O que mostraria todos os dispositivos de imagem e pode incluir scanners e outros dispositivos.
Eu não testei extensivamente isso, mas
Get-PnpDevice -PresentOnly | Where-Object { $_.Class -match '^Camera' }
parece funcionar - meio que comecei com esta resposta SO e ajustei para caberEle também fornecerá o nome do modelo da câmera em 'nome amigável'