Jump to content

Shutdown


mekanis
 Share

Recommended Posts

Boas pessoal

Tipo eu quero fazer um programa para gerir uma sala de computadores e estou na parte do desligar os pc's e reiniciar, todos de uma vez ou um por um, etc

já tenho o codigo Shell("shutdown -s -t 0") que encerra o meu pc neste caso em 0 segundos de intervalo, mas neste caso eu queria fazer a um conjunto de computadores ou a um só, conforme a minha necessidade (podia ser por exemplo com o ip)...

Agradeço desde já a vossa disponibilidade.

Cumps e boas programações 😛

Link to comment
Share on other sites

Criares um serviço de windows que corre em background e que te encerrasse ou reiniciasse os pc's.

Vê este exemplo: http://vbtuga.blogspot.com/2008/09/vbnet-windows-service-filesystemwatcher.html

Não entendo muito bem o que queres, mas é apenas reiniciar e encerrar ?

tipo é encerrar e reiniciar mas quando eu quero e não passado algum tempo como tu disseste, penso eu que foi que quiseste dizer.

Queria tambem quando clicasse no número do pc que me mostrasse numa label o ip desse mesmo pc e numa richtextbox mostrasse os processos activos.

Percebes o que quero?

Obrigado.

Link to comment
Share on other sites

Ok, então tu através do comando shutdown podes indicar qual a máquina a desligar através do parâmetro -m. O que disse era para instares um programa que te desligasse todos os dias à mesma hora, mas isto não é o que tu queres.

Exemplo:

"shutdown -m \\nomedocomputador -t 0"

Faz "shutdown ?" numa janela de DOS para teres acesso ao help com todas as opções disponíveis.

Se precisares de saber o nome do computador dinâmicamente, podes utilizar a classe WMI. Vê este exemplo http://www.freevbcode.com/ShowCode.Asp?ID=4571

Link to comment
Share on other sites

Este tópico deu-me uma ideia para fazer uma app aqui para gerir os pc's da empresa, mas tenho um problema adicional, nos computadores o utilizador é limitado, e não tem privilégios para aceder ao comando shutdown, existe alguma forma de contornar o problema?

Não sei ... posso até tentar mas só para semana Se conseguires avançar com uma experiência na tua empresa era bom.

lool essa tua empresa por acaso não é a escola? xD

Testaste ? Está a funcionar ?

Link to comment
Share on other sites

lool essa tua empresa por acaso não é a escola? xD

Não não é, a escola deixa saudades, mas já lá vão quase 10 anos, é uma fabrica, e os computadores que necessito de "controlar" são os da produção, que obviamente estão com utilizadores limitados.

Eu bastava-me que houvesse um comando alternativo ao "Shutdown".

O método que estou a pensar usar será 1 Programa "Commander" e vários programas "Terminal" em que o Commander envia as ordens por socket por exemplo e os Terminal executariam no computador em que estão instalados.

Eu experimentei executar o Shutdown manualmente numa dessas máquinas com o tal utilizador limitado mas diz que não tem previlégios para executar aquilo.

Não existe algo similar com o rundlll32.exe?

Edit:

Estive a pesquisar e realmente existe algo, depois testo se o user limitado tem acesso a isto:

C:\Windows\RUNDLL32.EXE shell32 SHExitWindowsEx n

Where n is:

0 = Log Off

1 = ShutDOwn

2 = Restart

4 = Forced

8 = Poweroff

Knowledge to the masses


Link to comment
Share on other sites

Boas.

A função ExitWindowsEx funciona no XP e superior.

Mais informação aqui:

http://msdn.microsoft.com/en-us/library/aa376868(VS.85).aspx?ppud=4

"The Dark Side Clouds Everthing. Impossible To See The Future Is."My rig: Intel Core 2 Quad Q9450 | abit IP35P | 4G Kingston 800 Mhz | XFX GeForce 9800 GX2 1G ddr3 | 2X WD5000AAJS 500Gb Sata 2 | PSU 600W || Caixa El-Diablo | Creative XMod

Link to comment
Share on other sites

Saca o pstools da microsoft e copia para a pasta system32 do windows, depois é só escreveres no DOS psshutdown\\ip e tem outras funções engraçadas como listar os processos activos no pc

Uma boa maneira de implementar isto seria na instalação do programa no pc alvo, que copiaria automaticamente as bibliotecas para o /system32/.

Link to comment
Share on other sites

Conheci este forum precisamente por este tópico. Também preciso de um código que funcione, a minha ideia é uma ideia digamos de noob que consiste em usar o comando Send.SendKeys para desligar o PC.

Ou seja usar o SendKeys para carregar ALT+F4, mais outro SendKeys desta vez a enviar a palavra "encerrar", e outro para carregar no OK.

Se o SO não for português é que não dá. Tive já a procurar em vários sitios mas só vejo altos testamentos de código a usar a API ExitWindowsEx, a dar os previçégios e ETC.

O que nos era capaz de dar mesmo jeito é o programa do senhor "Foskasse" que desliga o pc assim do nada.

Ele no post dá-nos o código fonte, só que eu tou a usar o VB.net 2003 e a vesão que ele usa é superior, por isso se alguém puder colocar aqui ou enviar-me por pm estaria muito grato.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.