system('shutdown /r')

조회 수: 10 (최근 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