직장 내 IT 부서와 관련된 다른 정보를 포함하기 위해 IP 정보를 가져 오기 위해 기본 배치를 확장하려고 노력하고 있습니다. 내 부서는 최종 사용자 및 서버에서 Cisco 장비에 대한 전국 문제 해결을 수행합니다. 지금까지 ipconfig 세부 정보와 일부 제외를 사용하여 mac 주소를 가져 오는 파일이 있습니다. 지금까지 내 코드는 다음과 같습니다.
@echo off
echo Listed below is your network IP information and physical MAC address.
echo\
echo I am logged as %UserName%.
echo My computer's name is %ComputerName%.
echo My IP settings are
ipconfig | find "." | find /i /v ""
echo\
echo My Mac address is
getmac | find /i /v "disconnected" | find /i /v "not present"
echo\
echo Provide this information to the IT team.
echo Press the Space bar to close this window.
echo\
pause > nul
나는 내가 수정할 수있는 상대적인 예를 위해 여기와 다른 사이트를 탐색하고 있지만 분명히 시스코 이외의 것들에 악취가 난다. 다음은 현재 자체 배치로 다른 기사에서 가져온 새 코드입니다.
@echo off
Setlocal Enableextensions
Setlocal Enabledelayedexpansion
for /r %%X in (*.URL) do (
set shortcut="%%X"
echo SHORTCUT: !shortcut!
for /f "tokens=2 delims==" %%i in ('findstr URL !shortcut!') do (
set URL=%%i
echo.
echo URL PATH: !URL!
)
echo ----------------------------------------------------------------
echo.
)
:end
Pause
이것을 실행하여 얻은 결과는 다음과 같습니다.
SHORTCUT: "C:\Users\***\Desktop\Application Catalog, IE only.url"
URL PATH: http://***/cmapplicationcatalog/#/SoftwareLibrary/AppListPageView.xaml
----------------------------------------------------------------
SHORTCUT: "C:\Users\***\Desktop\Test Yahoo.url"
URL PATH: http://www.yahoo.com/
----------------------------------------------------------------
Press any key to continue . . .
*** 내가 잘린 경로입니다.
내가 작동하게되면 이것들을 모두 결합 할 것입니다. 두 번째 배치에서 얻으려는 것은 대상 정보를 가져 오기 위해 CDK 드라이브라고하는 모든 PC 데스크톱의 특정 파일입니다. 대상에는 내가 필요한 완전한 IP 주소 (http : // * .. **. * /)가 있습니다. 바로 가기의 대상 유형은 응용 프로그램이고 파일 자체의 유형은 Shortut (.lnk)입니다. 대상의 예는 다음과 같습니다.
"C:\Program Files (x86)\Internet Explorer\iexplore.exe" http://***.**.209.42/bin/start/wsStart.application
최대한 정확한 정보를 제공하여 최대한의 도움을받을 수 있도록 노력하고 있습니다.
미리 감사드립니다.
업데이트 : 그래서 Powershell을 사용하여 배치를 약간 진행했습니다. 이것은 지금까지 내 Powershell 코드이며 의도 한대로 '거의'작동합니다.
function Get-StartMenuShortcuts
{
$Shortcuts = Get-ChildItem -Recurse "$Env:C:\Users\alexandm\Desktop\Batching" -Include *.lnk
$Shell = New-Object -ComObject WScript.Shell
foreach ($Shortcut in $Shortcuts)
{
$Properties = @{
ShortcutName = $Shortcut.Name
Target = $Shell.CreateShortcut($Shortcut).targetpath
}
New-Object PSObject -Property $Properties
}
[Runtime.InteropServices.Marshal]::ReleaseComObject($Shell) | Out-Null
}
$Output = Get-StartMenuShortcuts
$Output
내 배치에서 실행되면 iexplore.exe에 대한 기본 대상 경로를 보여주는 출력이 표시되지만 추가 한 IP 주소를 포함하여 전체 대상 경로를 제공하지는 않습니다. 내가 무엇을 놓치고 있는지 아십니까?