2013-12-10 1 views
0

원격 서버의 Powershell 스크립트에 Powershell 스크립트를 통해 mklink를 사용하여 심볼릭 링크를 만들려고합니다. 이 링크는 모든 사용자의 데스크탑에 있어야합니다. 나는 2003 년과 200 년이 될 것입니다! 패치가 존재하는 경우 내가 먼저 확인 서버는 ..원격 서버의 Powershell 스크립트에 대한 심볼릭 링크를 만들려고합니다.

if(!(test-path -path \$hostname\c$\Users)) { 
    Copy-Item ` 
      -Path "\dsfpad\Nagios\Nagios_Downtime\Nagios - Schedule Downtime.lnk" ` 
      -Destination "\$hostname\c$\Documents and Settings\All Users\Desktop\Nagios - Schedule Downtime.lnk"; 
    } else { 
     $s=New-PSSession -ComputerName $hostname Enter-PSSession $s; 
     Invoke-Command -Session $s -ScriptBlock { 
& cmd /c mklink "C:\Users\Public\Desktop\Nagios - Schedule Downtime.lnk" "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -file c:\Nagios\Nagios_Downtime_Window_NRDP.ps1" 
     } 
     exit-pssession; 
     remove-pssession $s; 
    } 

나는 C:\Users\Public\Desktop\Nagios - Schedule Downtime.lnk < < === >>C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -file c:\Nagios\Nagios_Downtime_Window_NRDP.ps1

생성 심볼릭 링크를 얻을하지만 서버에 링크를 실행하려고 할 때, 그것은 아무튼 일하지 마라. 링크 대상을 보면 대상이없는 것 같습니다.

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -file을 대상에 사용하지 않으면 lnk 파일에서 대상을 얻지 만 스크립트를 실행하지 않는 것 같습니다.

팁이나 아이디어가 있으십니까?

답변

0

Symlink는 개별 파일을 가리켜 야합니다. 즉, 디스크상의 다른 위치를 가리키는 포인터입니다. 그들은 (내 지식으로) 매개 변수가 전달 된 실행 파일을 가리킬 수 없습니다.

.LNK 파일은 a specific kind of file입니다. 심볼릭 링크를 만들거나 호출 할 수는 없습니다. lnk을 사용하고 데스크톱에서 새 바로 가기를 만든 것처럼 작동하는 것으로 기대하십시오.

UNC 경로가 잘못되었습니다. 두 개의 백 슬래시 (\\)가 아닌 하나부터 시작해야합니다.

관련 문제