Powershell attiva da remoto Windows


0

Quindi ho un pc con accesso completo alla rete interna (per quello che devo fare) e non sono sicuro se questo è un problema di codice o il mio non capire le cose.

Ma sto cercando di attivare Windows 7 hp da remoto su oltre 300 unità. nessun dominio, tutti i pc remoti sono workgroup. Nessun server licenze, le chiavi sono in un file di testo, i Firewall sono su entrambi i PC. Stesso nome per tutti, Different Ips, e il PC di destinazione ha un account protetto da password.

Ho provato ad attivarlo direttamente, ma ho continuato a bloccarlo, ho pensato che fosse il muro di fuoco, ma ho faticato a spegnerlo direttamente, quindi ora sto cercando di abilitare File e Pritner Sharing & amp; WMI perché mi ha permesso di attivarlo senza problemi. (Nessun accesso a Internet)

ForEach ($IP in Get-Content "input.txt")
Invoke-Command { netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes }
psexec \\E:\FINAL\Enable FP\test.txt]][-u David [-p ] netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=yes

Risposte:


0

Dominio o Gruppo di lavoro, non puoi usare questo ...

Invoke-Command

... a meno che PowerShell Remoting non sia abilitato e si stia utilizzando un account utente che si trova nel gruppo di amministratori locali sul computer remoto e che il firewall deve essere impostato per consentirlo.

L'impostazione di PSRemoting in un gruppo di lavoro richiede più passaggi per configurarlo.

Remoting Week: Remoting non di dominio

Remoting di PowerShell tra due macchine per gruppi di lavoro

Non è necessario utilizzare psexec se si utilizza PSRemoting. Non c'è motivo di usare PSRemoting, se stai usando psexec.

L'unico motivo per combinare psexec e PSremoting è che PSRemoting non consente di eseguire come account utente locale sulla macchina, mentre psexec lo farà.

Per installare il software / abilitare le funzionalità, l'account utente utilizzato deve essere un amministratore locale sull'host remoto.

Il tuo Invoke-Command anche la sintassi non è corretta. Il tuo forloop La sintassi non è corretta.

ForEach ($IP in (Get-Content 'input.txt'))
{
    Invoke-Command -ComputerName $IP -Credential 'domain01\user01' -ScriptBlock {
        netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes 
    }
}

quale versione di PowerShell stai usando? Cosa non stai usando il cmdlet del firewall, vs netsh?

Per fare ciò che stai cercando, usa PSRemoting o psexec.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.