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

Permalänk
Medlem

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.

Visa signatur

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 5800X ] [ Zotac RTX3080 Trinity OC] [ Asus ROG Strix X570-F Gaming]
[ 32GB G.Skill TridentZ Neo 3800Mhz DDR4 ] [ Samsung 980 Pro 500GB + 960 EVO 500GB ] [ Logitech PRO X 2 ] [ Corsair H115i ] [ Win11 ] [Asus TUF Gaming VG27AQ]

Permalänk
Medlem

@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.

Visa signatur

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

Permalänk
Medlem

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

Visa signatur

Vad vore världen utan silvertejp?

Permalänk
Medlem
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.

Visa signatur

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 5800X ] [ Zotac RTX3080 Trinity OC] [ Asus ROG Strix X570-F Gaming]
[ 32GB G.Skill TridentZ Neo 3800Mhz DDR4 ] [ Samsung 980 Pro 500GB + 960 EVO 500GB ] [ Logitech PRO X 2 ] [ Corsair H115i ] [ Win11 ] [Asus TUF Gaming VG27AQ]

Permalänk
Medlem

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?

Visa signatur

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 5800X ] [ Zotac RTX3080 Trinity OC] [ Asus ROG Strix X570-F Gaming]
[ 32GB G.Skill TridentZ Neo 3800Mhz DDR4 ] [ Samsung 980 Pro 500GB + 960 EVO 500GB ] [ Logitech PRO X 2 ] [ Corsair H115i ] [ Win11 ] [Asus TUF Gaming VG27AQ]

Permalänk
Medlem

@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.

Visa signatur

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

Permalänk
Medlem

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..

Visa signatur

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 5800X ] [ Zotac RTX3080 Trinity OC] [ Asus ROG Strix X570-F Gaming]
[ 32GB G.Skill TridentZ Neo 3800Mhz DDR4 ] [ Samsung 980 Pro 500GB + 960 EVO 500GB ] [ Logitech PRO X 2 ] [ Corsair H115i ] [ Win11 ] [Asus TUF Gaming VG27AQ]

Permalänk
Medlem

@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) }

Visa signatur

🟢 Main: Ryzen7 5800X | Strix x470-I | 32GB | RTX2070S | Samsung C49RG9
🔵 unRaid: Ryzen5 2700X | B450M DS3H | 32GB
🟠 Tfn: Google Pixel 7 Lime Green

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

Permalänk
Medlem

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

Visa signatur

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 5800X ] [ Zotac RTX3080 Trinity OC] [ Asus ROG Strix X570-F Gaming]
[ 32GB G.Skill TridentZ Neo 3800Mhz DDR4 ] [ Samsung 980 Pro 500GB + 960 EVO 500GB ] [ Logitech PRO X 2 ] [ Corsair H115i ] [ Win11 ] [Asus TUF Gaming VG27AQ]

Permalänk
Medlem
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!

Visa signatur

🟢 Main: Ryzen7 5800X | Strix x470-I | 32GB | RTX2070S | Samsung C49RG9
🔵 unRaid: Ryzen5 2700X | B450M DS3H | 32GB
🟠 Tfn: Google Pixel 7 Lime Green

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

Permalänk
Medlem
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.

Visa signatur

[ Corsair 460X ] [ Corsair HX750i ] [ AMD Ryzen 5800X ] [ Zotac RTX3080 Trinity OC] [ Asus ROG Strix X570-F Gaming]
[ 32GB G.Skill TridentZ Neo 3800Mhz DDR4 ] [ Samsung 980 Pro 500GB + 960 EVO 500GB ] [ Logitech PRO X 2 ] [ Corsair H115i ] [ Win11 ] [Asus TUF Gaming VG27AQ]