Vill du vara del av diskussionerna i forumet, ställa frågor eller hjälpa andra? Registrera dig här!

Stänga av dator över nätverk, CMD/Powershell

Trädvy Permalänk
Medlem
Plats
Hässleholm
Registrerad
Feb 2005

Stänga av dator över nätverk, CMD/Powershell

Vad vill jag uppnå:
1: Starta dator 2 när dator 1 startar = wake on lan i schemaläggaren
2: Stänga av dator 2 när dator 1 stängs av

Dator 1
Windows 10 x64
Inget konstigt gjort med denna

Dator 2
Win 7 x64
Brandvägg av
Remote registry och WMI startade
Finns dedikerat lokalt konto och lösenord som är lokal admin

Dessa kopplas ihop med en rak nätverkskabel och fasta ip-adresser
De är inte med i en domän och ej någon arbetsgrupp.

Hur kan jag lättast stänga av dator 2 över nätverket från dator 1?

Har testat CMD med shutdown /s /m \\$datorid$ -- Får typ access denied
Powershell: Stop-Computer -ComputerName -Credentials \\%datornamn%\$användare%
Får först fråga om lösenord, sedan access denied.
psexec är väldigt långsamt, är inte intresserad av det.

Det enda jag kan komma på är att ändra till ip-adress och inte datorid.

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 3700X ] [ Asus 2070 ROG Strix ] [ Asus Crosshair VI Hero]
[ 16GB G.Skill FlareX 3600Mhz DDR4 ] [ Samsung 960 EVO 500GB + Samsung 850 Pro 256GB ] [ Logitech G933 ] [ Corsair H115i ] [ Win10 x64 Pro ] 10 205p 3DMark TimeSpy [Asus TUF Gaming VG27AQ]

Trädvy Permalänk
Medlem
Plats
Kattlådan
Registrerad
Jul 2009

@SirMacke:
Det krävs lite mer än vad du har gjort men detta How to Remotely Shutdown or Restart a Windows Computer kan troligtvis visa dig hur man sätter upp det.

Det är bättre att fråga och verka dum än att inte fråga och förbli det.

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Okt 2002

För att skapa en credential som du kan använda via ex schedule task efter som jag antar att du är i en workgroup

$secpasswd = ConvertTo-SecureString "Password" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("username", $secpasswd)

stop-computer -computername datorx -credentials $mycreds -force -confirm:$false

Vad vore världen utan silvertejp?

Trädvy Permalänk
Medlem
Plats
Hässleholm
Registrerad
Feb 2005
Skrivet av Belzader:

@SirMacke:
Det krävs lite mer än vad du har gjort men detta How to Remotely Shutdown or Restart a Windows Computer kan troligtvis visa dig hur man sätter upp det.

Satt precis och testade detta i virtualbox och det fungerar:
https://social.technet.microsoft.com/Forums/windows/en-US/4cd...

Det är väl typ samma:

Citat:

CHANGE THE FOLLOWING SETTINGS ON THE REMOTE COMPUTER:

Control Panel, Network and Sharing Center, Change Advanced Sharing settings

"Private" enable "Turn on File and Printer sharing"

Add Registry Key

RUN regedt32.exe

Goto:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Right click and add new DWORD

"LocalAccountTokenFilterPolicy"=dword:00000001

When user name and password are not the same on both computers change the following on the remote computer:

Change Local Security Policy

RUN secpol.msc

Local Security Policy, Security Settings, Local Policies, User Rights Assignment

Add "Everyone" to "Force shutdown from a remote system"

Får testa det live på maskinerna i helgen.

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 3700X ] [ Asus 2070 ROG Strix ] [ Asus Crosshair VI Hero]
[ 16GB G.Skill FlareX 3600Mhz DDR4 ] [ Samsung 960 EVO 500GB + Samsung 850 Pro 256GB ] [ Logitech G933 ] [ Corsair H115i ] [ Win10 x64 Pro ] 10 205p 3DMark TimeSpy [Asus TUF Gaming VG27AQ]

Trädvy Permalänk
Medlem
Plats
Hässleholm
Registrerad
Feb 2005

Ovan verkar fungera.
Dock skulle jag vilja ha detta som ett script vad avstängning av dator 1.
gpedit.msc och Shutdown script fungerar inte.
Troligtvis är nätverket bortkopplat tills dess att scriptet körs.
Kan man göra något åt det?

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 3700X ] [ Asus 2070 ROG Strix ] [ Asus Crosshair VI Hero]
[ 16GB G.Skill FlareX 3600Mhz DDR4 ] [ Samsung 960 EVO 500GB + Samsung 850 Pro 256GB ] [ Logitech G933 ] [ Corsair H115i ] [ Win10 x64 Pro ] 10 205p 3DMark TimeSpy [Asus TUF Gaming VG27AQ]

Trädvy Permalänk
Medlem
Plats
Kattlådan
Registrerad
Jul 2009

@SirMacke:
Om du bläddar ner till Remote Shutdown via Batch File i länken som jag postade så skrivs det hur man skapar en .bat fil med kommandon för att stänga ner en annan dator på nätverket.
Det går troligtvis inte att få det att köra automatiskt vid avstängning av dator 1 (men går troligtligtvis att köra det automatiskt så att dator 2 startas upp vid typ inloggning på dator 1), så .bat filen måste förmodligen köras manuellt innan avstängning av dator 1 för att stänga ner dator 2.

Det är bättre att fråga och verka dum än att inte fråga och förbli det.

Trädvy Permalänk
Medlem
Plats
Hässleholm
Registrerad
Feb 2005

Jag förstår verkligen inte detta.
Testade med 2 W10-installationer i Virtualbox och det fungerade direkt efter inställningarna i länkarna.
Men mot en fysisk maskin, exakt samma ändringar så får jag bara access denied. (5)

Ah, dum jag är.
I testerna med virtuella maskiner så är det samma konto ju, dator 2 är klon av 1.
Så jag får ställa om så det är samma konton på bägge och testa.

EDIT: Slängde upp 2 maskin i Virtualbox igen och testade och får nu access denied. (5), suck!

EDIT2: Löst i den virtuella miljön genom att stänga av detta:

Ske testa på de fysiska maskinerna när det finns möjlighet.

Edit: fungerar på fysiska maskinerna om bägge är W10.
W10 är rätt tungt på den enkärniga Nuc.
Får se om det går att slimma ner.
Eller fortsätta testa mot W7..

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 3700X ] [ Asus 2070 ROG Strix ] [ Asus Crosshair VI Hero]
[ 16GB G.Skill FlareX 3600Mhz DDR4 ] [ Samsung 960 EVO 500GB + Samsung 850 Pro 256GB ] [ Logitech G933 ] [ Corsair H115i ] [ Win10 x64 Pro ] 10 205p 3DMark TimeSpy [Asus TUF Gaming VG27AQ]

Trädvy Permalänk
Medlem
Plats
Skaune
Registrerad
Okt 2002

@SirMacke: Här kommer en väldigt sen tanke
Du kan sätta upp ett script på dator 2 som kör ping med jämna mellanrum. När den har missat x ping så stängs den av. Så slipper du credential-hantering och att dator 1 är ett beroende.

Vet inte om du redan hade något för att starta dator 2 med WoL?! Om inte så bifogar jag ett Powershell-script:

function Send-WOL { <# .SYNOPSIS Send a WOL packet to a broadcast address .PARAMETER mac The MAC address of the device that need to wake up .PARAMETER ip The IP address where the WOL packet will be sent to .EXAMPLE Send-WOL -mac 00:11:22:33:44:55 -ip 192.168.2.100 #> [CmdletBinding()] param( [Parameter(Mandatory=$True,Position=1)] [string]$mac, [string]$ip="255.255.255.255", [int]$port=9 ) $broadcast = [Net.IPAddress]::Parse($ip) $mac=(($mac.replace(":","")).replace("-","")).replace(".","") $target=0,2,4,6,8,10 | % {[convert]::ToByte($mac.substring($_,2),16)} $packet = (,[byte]255 * 6) + ($target * 16) $UDPclient = new-Object System.Net.Sockets.UdpClient $UDPclient.Connect($broadcast,$port) [void]$UDPclient.Send($packet, 102) }

🟢 Main: Ryzen7 2700X | Strix x470-I | 32GB | GTX1070 | Samsung C49RG9
🔵 unRaid: Ryzen5 2600 | B450M DS3H | 32GB
🟠 Tfn: OnePlus 6T Thunder Purple

-:| @ eller citera för svar |:-

Trädvy Permalänk
Medlem
Plats
Hässleholm
Registrerad
Feb 2005

Tack för input.
Jag har idag en fungerande lösning.

Skrivet av GreyWilk:

@SirMacke: Här kommer en väldigt sen tanke
Du kan sätta upp ett script på dator 2 som kör ping med jämna mellanrum. När den har missat x ping så stängs den av. Så slipper du credential-hantering och att dator 1 är ett beroende.

Vet inte om du redan hade något för att starta dator 2 med WoL?! Om inte så bifogar jag ett Powershell-script:

function Send-WOL { <# .SYNOPSIS Send a WOL packet to a broadcast address .PARAMETER mac The MAC address of the device that need to wake up .PARAMETER ip The IP address where the WOL packet will be sent to .EXAMPLE Send-WOL -mac 00:11:22:33:44:55 -ip 192.168.2.100 #> [CmdletBinding()] param( [Parameter(Mandatory=$True,Position=1)] [string]$mac, [string]$ip="255.255.255.255", [int]$port=9 ) $broadcast = [Net.IPAddress]::Parse($ip) $mac=(($mac.replace(":","")).replace("-","")).replace(".","") $target=0,2,4,6,8,10 | % {[convert]::ToByte($mac.substring($_,2),16)} $packet = (,[byte]255 * 6) + ($target * 16) $UDPclient = new-Object System.Net.Sockets.UdpClient $UDPclient.Connect($broadcast,$port) [void]$UDPclient.Send($packet, 102) }

Skickades från m.sweclockers.com

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 3700X ] [ Asus 2070 ROG Strix ] [ Asus Crosshair VI Hero]
[ 16GB G.Skill FlareX 3600Mhz DDR4 ] [ Samsung 960 EVO 500GB + Samsung 850 Pro 256GB ] [ Logitech G933 ] [ Corsair H115i ] [ Win10 x64 Pro ] 10 205p 3DMark TimeSpy [Asus TUF Gaming VG27AQ]

Trädvy Permalänk
Medlem
Plats
Skaune
Registrerad
Okt 2002
Skrivet av SirMacke:

Tack för input.
Jag har idag en fungerande lösning.

Skickades från m.sweclockers.com

👍👍
Hur ser lösningen ut? Du behöver inte gå in på detaljer men intressant. Även undrar jag om varför du använder en sådan uppsättning?

Cheers!

🟢 Main: Ryzen7 2700X | Strix x470-I | 32GB | GTX1070 | Samsung C49RG9
🔵 unRaid: Ryzen5 2600 | B450M DS3H | 32GB
🟠 Tfn: OnePlus 6T Thunder Purple

-:| @ eller citera för svar |:-

Trädvy Permalänk
Medlem
Plats
Hässleholm
Registrerad
Feb 2005
Skrivet av GreyWilk:

👍👍
Hur ser lösningen ut? Du behöver inte gå in på detaljer men intressant. Även undrar jag om varför du använder en sådan uppsättning?

Cheers!

Kan återkomma hur.
Det är i en skjuthall där remote-datorerna visar skjuttavlor/resultat och sitter undangömda.
Därför är det smidigt att dessa startar och stänger av sig tillsammans med huvudmaskinen.

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 3700X ] [ Asus 2070 ROG Strix ] [ Asus Crosshair VI Hero]
[ 16GB G.Skill FlareX 3600Mhz DDR4 ] [ Samsung 960 EVO 500GB + Samsung 850 Pro 256GB ] [ Logitech G933 ] [ Corsair H115i ] [ Win10 x64 Pro ] 10 205p 3DMark TimeSpy [Asus TUF Gaming VG27AQ]