Using Powershell to Copy Files to Remote Computers

#Declare location of the files to be copied
$SourceShortcut = "UNC Path"
$SourceBGInfoExec = "UNC Path"
$SourceBGInfoBMP = "UNC Path"
$ServerPath = "c:\Temp\2008Servers.txt"

#Get List of Servers
$servers = Get-Content -Path $ServerPath

#Loop Through Servers
Foreach ($s in $servers) {
    $Dest2K8Startup = "\\" + $s + "\" + "c$" + "\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
    ##$DestLitPath = "\\" + $s + "\" + "c$" + "\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\Desktop Information.lnk"
    $Dest2K3Startup = "\\" + $s + "\" + "c$" + "\Documents and Settings\All Users\Start Menu\Programs\Startup"
    $Dest2KStartup = "\\" + $s + "\" + "c$" + "\Winnt\Profiles\All Users\Start Menu\Programs\Startup"
    $DestWindows = "\\" + $s + "\" + "c$" + "\Windows"
    $DestWinnt = "\\" + $s + "\" + "c$" + "\Winnt"

    if ((Test-Path -Path $Dest2K8Startup) -eq $True){
        Copy-Item $SourceShortcut $Dest2K8Startup
        Write-Host "Copied Destination Information.lnk to a 2008 Server."
        }
    elseif ((Test-Path -Path $Dest2K3Startup) -eq $True){
        Copy-Item $SourceShortcut $Dest2K3Startup
        Write-Host "Copied Destination Information.lnk to a 2003 Server."
        }
    elseif ((Test-Path -Path $Dest2KStartup) -eq $True){
        Copy-Item $SourceShortcut $Dest2KStartup
        Write-Host "Copied Destination Information.lnk to a 2000 Server."
        }

    If ((Test-Path -Path $DestWindows) -eq $True){
        Copy-Item $SourceBGInfoExec -Destination $DestWindows
        Copy-Item $SourceBGInfoBMP -Destination $DestWindows
        Write-Host "Copied EXE and BMP to C:\Windows."
        }
    elseif ((Test-Path -Path $DestWinnt) -eq $True){
        Copy-Item $SourceBGInfoExec -Destination $DestWinnt
        Copy-Item $SourceBGInfoBMP -Destination $DestWinnt
        Write-Host "Copied EXE and BMP to C:\WINNT." 

}

}

posted @ 2011-03-24 08:31  chunchill  阅读(539)  评论(0编辑  收藏  举报