Table des matières
Contenu de la question
解决方法
Maison développement back-end Golang Comment démarrer un processus PowerShell avec des privilèges d'administrateur et rediriger stdin (os.exec)

Comment démarrer un processus PowerShell avec des privilèges d'administrateur et rediriger stdin (os.exec)

Feb 10, 2024 pm 07:03 PM
shell脚本

如何使用管理员权限启动 powershell 进程并重定向 stdin (os.exec)

L'éditeur PHP Zimo partagera aujourd'hui avec vous une méthode pour démarrer le processus PowerShell avec les privilèges d'administrateur et rediriger stdin. Dans certains cas, nous devons exécuter le script PowerShell avec des droits d'administrateur, mais son exécution directe peut rencontrer des problèmes d'autorisation. À ce stade, nous pouvons utiliser la fonction os.exec pour y parvenir. La fonction os.exec démarre un processus et redirige les entrées vers un script. De cette façon, nous pouvons exécuter des commandes avec des droits d'administrateur dans le script et recevoir des entrées. Dans cet article, nous présenterons en détail comment utiliser cette méthode pour résoudre les problèmes d'autorisation, nous espérons qu'elle sera utile à tout le monde.

Contenu de la question

Je souhaite démarrer un processus PowerShell avec des droits d'administrateur et rediriger stdin vers l'écrivain, j'ai tout qui fonctionne sauf comment l'exécuter en tant qu'administrateur.

// Start powershell
powershell := exec.Command("powershell")
// Add something that will open UAC and give the process admin priviliges

powershell.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
powershell.Env = os.Environ()

// Create pipe to write to it later
stdin, err := powershell.StdinPipe()
if err != nil {
    log.Fatal(err)
}

defer stdin.Close()
Copier après la connexion

Comme il ne semble pas y avoir quelque chose comme process.verb qui puisse être défini sur "runas", j'ai essayé de créer un PowerShell à l'aide de la commande PowerShell start-process ... -verb runas Le processus et l'obtention du pid du processus ont réussi, mais il semble que je ne pourrai pas utiliser le pid plus tard pour faire fonctionner stdin et stdout. process.verb 这样的东西可以设置为“runas”,所以我尝试使用 powershell 命令 start-process ... -verb runas 创建一个 powershell 进程并获取了该进程的 pid成功了,但似乎无法稍后使用 pid 来操作 stdin 和 stdout。

解决方法

感谢@jeroen-mostert,我有点明白了。我以管理员身份启动了 go 可执行文件,并使用了 StartProcess powershell.exe -verb RunAs

Solution🎜🎜Grâce à @jeroen-mostert, j'ai en quelque sorte compris. J'ai démarré l'exécutable go en tant qu'administrateur et utilisé StartProcess powershell.exe -verb RunAs et cela n'a pas fonctionné comme je le voulais en premier lieu, mais au moins cela ne fonctionne plus pour PowerShell. UAC. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment exécuter le fichier .sh sur le système Linux ? Comment exécuter le fichier .sh sur le système Linux ? Mar 14, 2024 pm 06:42 PM

Comment exécuter le fichier .sh sur le système Linux ? Dans les systèmes Linux, un fichier .sh est un fichier appelé script Shell, utilisé pour exécuter une série de commandes. L'exécution de fichiers .sh est une opération très courante. Cet article explique comment exécuter des fichiers .sh dans les systèmes Linux et fournit des exemples de code spécifiques. Méthode 1 : utiliser un chemin absolu pour exécuter un fichier .sh Pour exécuter un fichier .sh dans un système Linux, vous pouvez utiliser un chemin absolu pour spécifier l'emplacement du fichier. Voici les étapes spécifiques : Ouvrez le terminal

Comment convertir des fichiers ESD au format ISO Comment convertir des fichiers ESD au format ISO Feb 19, 2024 am 08:37 AM

Un fichier esd est un format de compression utilisé dans les systèmes d'exploitation Windows, tandis qu'un fichier ISO est un fichier image disque utilisé pour créer une copie de disque ou un lecteur optique virtuel. Lorsque nous devons convertir des fichiers esd en fichiers iso, cela peut être dû au fait que les fichiers ISO sont plus couramment utilisés et plus faciles à utiliser. Ce qui suit vous présentera quelques méthodes courantes pour terminer ce processus de conversion. Méthode 1 : Utiliser ESDDecrypter ESDDecrypter est un programme spécialement utilisé pour décrypter et convertir les fichiers esd en fichiers iso.

Comment lister les périphériques bloqués du système Linux à l'aide de la commande lsblk Comment lister les périphériques bloqués du système Linux à l'aide de la commande lsblk Feb 15, 2024 am 08:10 AM

sblk est une commande utilisée pour répertorier toutes les informations sur les périphériques de bloc disponibles dans un système Linux. Les périphériques de bloc font référence aux périphériques qui peuvent transmettre des données en blocs, tels que les disques durs, les lecteurs optiques, les clés USB, etc. La commande lsblk peut afficher les dépendances entre les périphériques blocs, ainsi que divers attributs tels que la taille, le type, le système de fichiers, le point de montage, etc. La commande lsblk obtient des informations du système de fichiers virtuel /sys et de la base de données udev. S'il n'y a pas de base de données udev ou si lsblk n'est pas compilé avec le support udev, elle essaiera de lire l'étiquette, l'UUID et le type de système de fichiers à partir du périphérique bloc. ce qui nécessite les privilèges root. Dans cet article, nous expliquerons comment utiliser la commande lsblk pour lister les périphériques bloc d'un système Linux à

Secrets du système de fichiers racine Linux Secrets du système de fichiers racine Linux Feb 15, 2024 pm 01:42 PM

Linux est un système d'exploitation open source, portable et personnalisable, largement utilisé dans divers domaines, tels que les serveurs, les ordinateurs de bureau, les appareils embarqués, etc. Le cœur de Linux est le noyau, chargé de gérer les ressources matérielles et de fournir les services de base. Cependant, le noyau n'est pas une entité indépendante et nécessite un système de fichiers pour stocker et accéder à diverses données et programmes. Un système de fichiers est une méthode d'organisation et de gestion de fichiers. Il définit le nom, l'emplacement, les attributs, les autorisations et d'autres informations du fichier. Sous Linux, il existe de nombreux types de systèmes de fichiers, tels que ext4, xfs, btrfs, etc., chacun ayant ses propres caractéristiques et avantages. Cependant, parmi tous les systèmes de fichiers, il existe un système de fichiers spécial, qui constitue la base et le cœur du système Linux, qui est

Pourquoi ne puis-je pas exécuter le fichier bat sous Windows 7 ? Pourquoi ne puis-je pas exécuter le fichier bat sous Windows 7 ? Feb 19, 2024 pm 03:19 PM

Pourquoi Win7 ne peut-il pas exécuter les fichiers bat ? Récemment, de nombreux utilisateurs utilisant le système d'exploitation Windows7 ont signalé qu'ils ne pouvaient pas exécuter les fichiers .bat. Cela a suscité de nombreuses discussions et confusions. Pourquoi un système d'exploitation qui fonctionne bien ne peut-il pas exécuter un simple fichier .bat ? Tout d’abord, nous devons comprendre l’arrière-plan du fichier .bat. Un fichier .bat, également appelé fichier batch, est un fichier texte brut contenant une série de commandes pouvant être utilisées par l'interpréteur de commandes Windows (cmd.ex

Tutoriel de script Windows PowerShell pour les débutants Tutoriel de script Windows PowerShell pour les débutants Mar 13, 2024 pm 10:55 PM

Nous avons conçu ce didacticiel de script Windows PowerShell pour les débutants, que vous soyez un passionné de technologie ou un professionnel cherchant à améliorer vos compétences en matière de script. Si vous n'avez aucune connaissance préalable des scripts PowerShell, cet article commencera par les bases et sera adapté à vos besoins. Nous vous aiderons à maîtriser les étapes d'installation d'un environnement PowerShell et vous guiderons à travers les principaux concepts et fonctionnalités des scripts PowerShell. Si vous êtes prêt à en savoir plus sur les scripts PowerShell, embarquons ensemble dans ce passionnant voyage d'apprentissage ! Qu’est-ce que WindowsPowerShell ? PowerShell est un système de commande hybride développé par Microsoft

Comment automatiser les tâches à l'aide de PowerShell Comment automatiser les tâches à l'aide de PowerShell Feb 20, 2024 pm 01:51 PM

Si vous êtes un administrateur informatique ou un expert en technologie, vous devez être conscient de l'importance de l'automatisation. Surtout pour les utilisateurs de Windows, Microsoft PowerShell est l'un des meilleurs outils d'automatisation. Microsoft propose une variété d'outils pour vos besoins d'automatisation, sans qu'il soit nécessaire d'installer des applications tierces. Ce guide détaillera comment exploiter PowerShell pour automatiser les tâches. Qu'est-ce qu'un script PowerShell ? Si vous avez de l'expérience avec PowerShell, vous avez peut-être utilisé des commandes pour configurer votre système d'exploitation. Un script est une collection de ces commandes dans un fichier .ps1. Les fichiers .ps1 contiennent des scripts exécutés par PowerShell, tels que Get-Help de base

Comment ouvrir le fichier URL Comment ouvrir le fichier URL Mar 28, 2024 pm 06:27 PM

Les méthodes d'utilisation des fichiers URL pour ouvrir des ressources Internet incluent : double-cliquer pour ouvrir à l'aide d'un navigateur Web. Ouvrez-le avec un éditeur de texte, copiez l'adresse du lien et collez-la dans la barre d'adresse du navigateur. Via la ligne de commande, utilisez la commande "start" ou "open" pour spécifier le chemin du fichier URL. Créez un fichier de script contenant la commande pour ouvrir le fichier URL.

See all articles