system('shutdown /r')

6 次查看(过去 30 天)
Matlab2010
Matlab2010 2012-5-1
I wish to restart my machine from MATLAB at 3am say and then call a bat file to run MATLAB from windows task scheduler.
When I put the code:
system('shutdown /r')
at the end of my MATLAB process it restarts the machine fine, but only takes it to the windows login page. Hence task scheduler will not work from this point - it needs to be logged in (caveat - task scheduler can still call processes, but those processes may not be able to run as they need to be logged in -e.g. if they have a GUI).
how can I fully restart my machine from matlab, specifying my password (and perhaps my username/ login)?
I am running win7, MATLAB 2010B, 64bit.
many thanks
  6 个评论
Kevin Holst
Kevin Holst 2012-5-1
You started out your question stating that system('shutdown /r') restarted your computer just fine. That's not really a MATLAB question more like a statement. The real question is how do you get past your login and restart MATLAB, so as Daniel said, you'll probably be better served through a Windows site.
Daniel Shub
Daniel Shub 2012-5-1
I am not trying to be negative, I was just trying to guide you someplace that might get you an answer faster.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2012-5-1
In Windows 7 this allows to enable an auto login:
control userpasswords2
Start this either in command section of the start menu or per system() command from Matlab. Admin privilegs are required.
[EDITED] I cannot imagine a situation, where a shut-down and auto-login is really helpful. Everything, what can be performed during a shutdown + reboot can be done with an active machine also.
Perhaps a virtual machine could solve your problem. You can restart it from Matlab without the need to shut-down before. And the security problem is smaller.
  4 个评论
Daniel Shub
Daniel Shub 2012-5-2
I think the security issue is bigger than that. I think the machine can be compromised remotely. I believe the password is being stored in plain text someplace, so the security issues are similar to storing the password in plain text in a bat file. Someone with limited remote access may be able to gain your password and then gain "full" control.
Walter Roberson
Walter Roberson 2012-5-2
When I was managing unix servers, it wasn't uncommon for them to be up for over a year. Memory fragmentation is not a problem in any modern operating system.

请先登录,再进行评论。

更多回答(2 个)

Matlab2010
Matlab2010 2012-5-1
This seems to be a commonly asked question.
It seems like the most likely command I need to pass to system.m is "net logon".
This allows you to pass your username domain name and password at the command line.
However, I can not get the syntax working in win7.
  3 个评论
Jason Ross
Jason Ross 2012-5-1
an example where you would use "net logon" would be if you needed to get to a network share but you were not a member of the domain. You could use "net logon" to set up the credentials you wanted to use, then use "net use" to map the drive.
An equivalent GUI method is using "map network drive" to map a network drive as someone other than the user you are logged in as.
Matlab2010
Matlab2010 2012-5-1
ok. this agrees with what I was reading on various forums re map network drive GUI. clearly not what I need then.

请先登录,再进行评论。


Jason Ross
Jason Ross 2012-5-1
NOTE: THIS IS A GIANT SECURITY HOLE SINCE YOUR PASSWORD WILL BE STORED IN PLAIN TEXT IN THE REGISTRY. USE AT YOUR OWN RISK AND THINK ABOUT WHAT YOU ARE DOING.
You can set your machine to login automatically using the three Registry keys described in the following article:
Did I mention this is a huge security hole?
  3 个评论
Jan
Jan 2012-5-1
The linked article concerns Windows 2000. See my answer.
Jason Ross
Jason Ross 2012-5-1
It works for all versions of Windows I've ever used.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by