*F* Skrevet 24. februar 2016 Del Skrevet 24. februar 2016 (endret) Hei. På jobb har vi gjerne flere servere som vi bruker til forskjellige ting. F.eks en til DHCP, en til Printserver, en til AD osv (Egentlig har vi mange servere for alt dette, men det er ikke poenget) Uansett. Noen kjører Windows server 2012, og andre eldre, helt ned til 2008 Alle stort sett knyttet mot samme domene, og jeg kan logge inn på alle med samme brukerkonto. Men om jeg vil lage et script som gjør noe med DHCP resservasjoner, samt redigere noe i AD, og kanskje noe i forbindelse med printere. Hva gjør jeg da? Kan jeg bruke et script på en server og få det til å gjøre ting mot de andre? I så fall, hvordan? Et annet problem er jo at powershell ikke er like godt støttet i eldre versjoner. Endret 24. februar 2016 av Evelen! Lenke til kommentar
ilpostino Skrevet 25. februar 2016 Del Skrevet 25. februar 2016 Det skal ikke være noe i veien for å oppdatere PS hvis du vil det. For å koble opp mot servere kan du sjekke ut New-PSSession Lenke til kommentar
andreasn Skrevet 26. februar 2016 Del Skrevet 26. februar 2016 En kommando som jeg bruker en del er Invoke-Command. Lenke til kommentar
*F* Skrevet 7. mars 2016 Forfatter Del Skrevet 7. mars 2016 Følgende fungerer og gir IPconig remote: PS C:\Users\BRUKERNAVN> $server = New-PSSession -ComputerName MIN_SERVER PS C:\Users\BRUKERNAVN> Invoke-Command -Session $server -ScriptBlock { ipconfig } følgende fungerer også for å gi meg remote IPconfig: PS C:\Users\BRUKERNAVN> Enter-PSSession MIN_SERVER [MIN_SERVER]: PS C:\Users\BRUKERNAVN\Documents> ipconfig ....ipconfig her.... [MIN_SERVER]: PS C:\Users\BRUKERNAVN\Documents> Exit-PSSession PS C:\Users\BRUKERNAVN> For først å ta pssesion, problemet er at man ikke får satt variabler på tvers av maskinene. eks, fra server til pc: PS C:\Users\BRUKERNAVN> Enter-PSSession MIN_SERVER [MIN_SERVER]: PS C:\Users\BRUKERNAVN\Documents> Set-Variable -Name var_test -Value "Fisk" [MIN_SERVER]: PS C:\Users\BRUKERNAVN\Documents> Write-Host $var_test Fisk [MIN_SERVER]: PS C:\Users\BRUKERNAVN\Documents> Exit-PSSession PS C:\Users\BRUKERNAVN> Write-Host $var_test PS C:\Users\BRUKERNAVN> Og fra pc til server: PS C:\Users\BRUKERNAVN> Set-Variable -Name var_test -Value "Kanin" PS C:\Users\BRUKERNAVN> Write-Host $var_test Kanin PS C:\Users\BRUKERNAVN> Enter-PSSession -ComputerName MIN_SERVER [MIN_SERVER]: PS C:\Users\BRUKERNAVN\Documents> Write-Host $var_test [MIN_SERVER]: PS C:\Users\BRUKERNAVN\Documents> Så Invoke-Command, samme problem her: Server til PC: PS C:\Users\BRUKERNAVN> $server = New-PSSession -Computername MIN_SERVER PS C:\Users\BRUKERNAVN> Invoke-Command -Session $server -ScriptBlock { Set-Variable -Name var_test -Value "Katt" } PS C:\Users\BRUKERNAVN> Invoke-Command -Session $server -ScriptBlock { Write-Host $var_test } Katt PS C:\Users\BRUKERNAVN> Write-Host $var_test PS C:\Users\BRUKERNAVN> PC Til Server: PS C:\Users\BRUKERNAVN> Set-Variable -Name var_test -Value "Ulv" PS C:\Users\BRUKERNAVN> Invoke-Command -Session $server -ScriptBlock { Write-Host $var_test } Katt PS C:\Users\BRUKERNAVN> Så, hvordan løser man dette om man vil bruke variabler på tvers? Lenke til kommentar
ilpostino Skrevet 9. mars 2016 Del Skrevet 9. mars 2016 Når du bruker PS-session kjøres vel kommandoene lokalt på den andre serveren? Er iallefall slik jeg har skjønt det. Lenke til kommentar
andreasn Skrevet 9. mars 2016 Del Skrevet 9. mars 2016 Med Invoke-Command kan du bruke -Args (og param()) hvis du vil sende verdier til server og Return for å returnere verdier. PS C:\Users\BRUKERNAVN> $a = "test" PS C:\Users\BRUKERNAVN> $server = New-PSSession -Computername MIN_SERVER PS C:\Users\BRUKERNAVN> Invoke-Command -Session $server -ScriptBlock { param($a); Set-Variable -Name var_test -Value "Katt $a" } -Args $a PS C:\Users\BRUKERNAVN> $b = Invoke-Command -Session $server -ScriptBlock { Return $var_test } PS C:\Users\BRUKERNAVN> Write-Host $b Katt test Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå