Avatar billede hopir Novice
05. juli 2017 - 15:49 Der er 4 kommentarer

tilføje intranet zone til IE

Hej, jeg skal oprette en bunke af dns navne i registreringsdatabasen for at de kommer ind i intranet.

Jeg vil gerne gøre dette i powershell men er gået lidt i stå,

Først tjekker jeg om den grundlæggende folderstruktur er lavet, er den ikke det, så opretter jeg den. der hvor der går galt der er når jeg skal tilføje en dword i min foreach løkke. den fejler med at stien ikke findes.

det er denne linie der driller :    New-ItemProperty -Path $Paths$HWDNS -Name "http" -Value 1 -PropertyType "DWORD"

Jeg skal tilføje denne dword til samtlige keys der bliver oprettet i $HWDNS


  $Paths = $path1, $path2, $path3, $path4

  $HWDNS = @("server1.dnsname.com", "server2.dnsname.com" , "server3.dnsname.com")
   
    $path1 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\"
    $path2 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscRanges\"
    $path3 = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscRanges\"
    $path4 = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\"


    $Paths | Foreach-Object {

        if (Test-Path $_) {
            #Write-Host "Path $paths already exist"
        } else {
            #Write-Host "Path NOT exist, path created"
            New-Item –Path $paths -Force
        }
    }

        foreach ($HWDNS in $HWDNS) {
 
  New-Item –Path $paths –Name $HWDNS -Force
  New-ItemProperty -Path $Paths$HWDNS -Name "http" -Value 1 -PropertyType "DWORD"
}
Avatar billede Slettet bruger
07. juli 2017 - 07:34 #1
hvilken fejl får du?
virker kommandoen hvis du kun kører den?
kører du scriptet som administrator?
Avatar billede Slettet bruger
07. juli 2017 - 07:52 #2
din script fejler ved New-item fordi den variable "$paths" indeholder alle paths som du har angivet - og new-item kan ikke håndtere et array;
du skal tilføje en ny løkke feks:

foreach ($path in $Paths){
   New-ItemProperty -Path $Path$HWDNS -Name "http" -Value 1 -PropertyType "DWORD"
    }
så bør det virke
Avatar billede hopir Novice
10. juli 2017 - 09:33 #3
Tak for svaret, jeg fik det til at virke, men kun i powershell editoren, så snart jeg kører det uden for editoren, fejler det. jeg kan heller ikke få det til at køre fra et batch script der starter det som admin.

    $Paths = $path1, $path2, $path3, $path4

    $HWDNS = @("server1.dnsname.com", "server2.dnsname.com", "server3.dnsname.com", "server4.dnsname.com")
   
    $path1 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\"
    $path2 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscRanges\"
    $path3 = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscRanges\"
    $path4 = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\"


$Paths | Foreach-Object {

        if (Test-Path $_) {
            #Write-Host "Path $paths already exist"
        } else {
            #Write-Host "Path NOT exist, path created"
            New-Item –Path $Paths -Force
        }
    }
        foreach ($HWDNS in $HWDNS)
            {
                New-Item –Path $Paths –Name $HWDNS -Force

        foreach ($path in $Paths)
            {
                New-ItemProperty -Path $Path$HWDNS -Name "file" -Value 1 -PropertyType "DWORD"
                New-ItemProperty -Path $Path$HWDNS -Name "http" -Value 1 -PropertyType "DWORD"
                New-ItemProperty -Path $Path$HWDNS -Name "https" -Value 1 -PropertyType "DWORD"
            }
}

Read-Host -Prompt "enter"
Avatar billede Slettet bruger
10. juli 2017 - 10:15 #4
du kan ikke køre det uden for editoren, fordi du har deklareret dine variabler forkert - prøv med disse 2 små ændringer: Jeg har flyttet linjen med paths-declarationen ned (nedenunder hvor du deklarerer de enkelte path1-4); og så tilføjede et "\" ned mellem $path og $hwdns - $path\$hwdns - det virkede også før, men jeg fik fejl da jeg testede):

   
    $HWDNS = @("server1.dnsname.com", "server2.dnsname.com", "server3.dnsname.com", "server4.dnsname.com")
   
    $path1 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\"
    $path2 = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscRanges\"
    $path3 = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscRanges\"
    $path4 = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\"

$Paths = $path1, $path2, $path3, $path4

$Paths | Foreach-Object {

        if (Test-Path $_) {
            #Write-Host "Path $paths already exist"
        } else {
            #Write-Host "Path NOT exist, path created"
            New-Item –Path $Paths -Force
        }
    }
        foreach ($HWDNS in $HWDNS)
            {
                New-Item –Path $Paths –Name $HWDNS -Force

        foreach ($path in $Paths)
            {
                New-ItemProperty -Path $Path\$HWDNS -Name "file" -Value 1 -PropertyType "DWORD"
                New-ItemProperty -Path $Path\$HWDNS -Name "http" -Value 1 -PropertyType "DWORD"
                New-ItemProperty -Path $Path\$HWDNS -Name "https" -Value 1 -PropertyType "DWORD"
            }
}

Read-Host -Prompt "enter"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester