webForumDet fria alternativet

mappa enheter --> \\127.0.0.1\foo

3 svar · 379 visningar · startad av ps

psMedlem sedan juni 2000841 inlägg
#1

Är det möjligt att mappa upp en enhet som kräver användarnamn och lösenord?

som det är nu kan man utanvidare mappa en enhet med tex: \\127.0.0.1\foo om den inte kräver lösenord.

Men hur gör man om det krävs användarnamn och lösenord för att mappa?

Kan tänka mig att det är nåt i stil med den här strängen:

\\127.0.0.1\foo <mittanvändarnamn> <mittlösenord>

spangoMedlem sedan juni 20008 205 inlägg
#2

Det skulle vara ifall URL-formen för Windowsenheter tillåter att man stoppar in lusername och pass. Du kan ju prova med \\luser:pass@127.0.0.1\foo men håll inte andan tills det funkar...

psMedlem sedan juni 2000841 inlägg
#3

Har testat lite granna med det, och det ser inte ut att fungera :(

Några andra förslag?

psMedlem sedan juni 2000841 inlägg
#4

Har inte kommit på nåt bra sätt, men jag har testat lite med en ful-lösning som man kan göra.
Om nån är intresserad så är här lite kod:

<redigerat>
Den här sidan visas inte helt rätt i Opera 6.01.
All kod syns inte. Petar lite på den/dom som har kodat ihop showthread.php ;)
</redigerat>

import java.io.*;
import java.lang.*;

public class CheckConnection
{
	public CheckConnection(String pIP, String pLocation, String pUsername, String pPassword)
	{
		String cmd = "net use * \\\\" + pIP + "\\" + pLocation + " " + pPassword + " /user:" + pUsername;
		
		System.out.print("\nConnecting...");

		String msg = execute(cmd);
		String tmpDrive = getTmpDrive(msg);

		if(tmpDrive == null)
		{
			for(int i = 0; i < 20000; i++)
			{
				String timespender = "mohaha";
			}

			msg = execute("net use /delete " + tmpDrive);
			System.out.println(" failed");
			System.out.println("Disconnecting... done");
			return;
		}

		System.out.println(" done");
		System.out.println("Tmp drive: " + tmpDrive);
		System.out.println(msg);
		System.out.println("CONTENT\n----------------------------------------------");

		File f = new File(tmpDrive);
		String[] list = f.list();

		for(int i = 0; i < list.length; i++)
			System.out.println("\\" + list[i]);

		System.out.println("----------------------------------------------\n");

		for(int i = 0; i < 20000; i++)
		{
			String timespender = "mohaha";
		}

		msg = execute("net use /delete " + tmpDrive);

		System.out.println("Disconnecting... done");

		System.out.println(msg);
	}
	
	private String execute(String command)
	{
		BufferedReader in = null;
		String str = "";
		Process mProcess = null;

		try
		{
			mProcess = Runtime.getRuntime().exec(command);
			in = new BufferedReader(new InputStreamReader(mProcess.getInputStream()));

			String tmpStr = in.readLine();
			while(tmpStr != null)
			{
				str += tmpStr;
				str += "\n";
				tmpStr = in.readLine();
			}

			mProcess.destroy();
		}
		catch(Exception e)
		{
			mProcess.destroy();
			return null;
		}

		return str;
	}

	private String getTmpDrive(String msg)
	{
		String drive = null;

		try
		{
			char first = msg.charAt(6);
			char second = msg.charAt(7);
			if(first == second)
				return null;

			drive = first + "" + second;
		}
		catch(Exception e)
		{
			return null;
		}

		return drive;
	}

	public static void main(String[] args)
	{
		/** Example of connection to your own c: partition */
		new CheckConnection("127.0.0.1", "c$", "myusername", "mypassword");
	}
}
127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)