ฉันจะสร้างทางลัดของการเชื่อมต่อเดสก์ท็อประยะไกลและรวมรหัสผ่านได้อย่างไร


13

ฉันต้องการเปิดการเชื่อมต่อเดสก์ท็อประยะไกลโดยตรงจากทางลัดและฉันต้องการฝังรหัสผ่านชื่อผู้ใช้ภายในทางลัด

ฉันจะรับเส้นทางของเดสก์ท็อประยะไกลจากทางลัด RDP และเราสามารถตั้งรหัสผ่านในทางลัด RDP ได้อย่างไร


คำตอบมีให้ในขั้นตอนที่: stackoverflow.com/a/40017890/4361073
parasrish

คำตอบ:


12

เมื่อบันทึกไฟล์ RDP ให้เลือกช่องทำเครื่องหมายบันทึกรหัสผ่านของฉัน นี่จะบันทึกรหัสผ่านของคุณไปยัง.RDPไฟล์ในรูปแบบที่เข้ารหัส ระวังให้ดีเพราะคนรู้วิธีถอดรหัส :

ข้อความแสดงแทน


วิธีเพิ่มรหัสผ่านด้วยตนเองเพื่อเปิดไฟล์ RDP ในแผ่นบันทึก
metal gear solid

นี่ไม่ใช่ปัญหากับ MSTSC v6 อีกต่อไป - ข้อมูลประจำตัวจะถูกเก็บไว้ที่อื่นในระบบ (Local Settings \ Application Data \ Microsoft \ Credentials) และเท่าที่ฉันรู้พวกเขาจะถูกเข้ารหัสด้วยรหัสผ่านเข้าสู่ระบบของผู้ใช้
user1686

ฉันมีไฟล์ RDP แล้ว ฉันต้องการแก้ไขไฟล์และใส่รหัสผ่าน
metal gear solid

@Jitendra password:abc123ร้านค้าไฟล์รหัสผ่านในรูปแบบเข้ารหัสก็ไม่ง่ายเหมือนการเปิดและการพิมพ์ หากคุณสามารถหาเครื่องมือในการเข้ารหัสให้เป็นรูปแบบนั้นคุณก็สามารถทำได้ แต่ฉันสงสัยว่าบางคนจะรบกวนการสร้างเครื่องมือดังกล่าว
John T

ไม่มีตัวเลือกในการป้อน / บันทึกรหัสผ่านใน Windows 7 คุณช่วยได้ไหม?
digitguy

5

ลองแก้ไขไฟล์. rdp โดยตรง ฉันพบบทความว่ารหัสผ่าน rdp มีการเข้ารหัสอย่างไรและลึกลงไปในโพสต์มีบางรหัสสำหรับวิธีการทำเช่นนี้ใน C # ด้วย:

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Security.Cryptography;
using System.Linq;
using System.Text;

class Mstscpw
{
    private const int CRYPTPROTECT_UI_FORBIDDEN = 0x1;
    // Wrapper for the NULL handle or pointer.
    static private IntPtr NullPtr = ((IntPtr)((int)(0)));
    // Wrapper for DPAPI CryptProtectData function.
    [DllImport("crypt32.dll", SetLastError = true,
    CharSet = System.Runtime.InteropServices.CharSet.Auto)]
    private static extern bool CryptProtectData(
    ref DATA_BLOB pPlainText,
    [MarshalAs(UnmanagedType.LPWStr)]string szDescription,
    IntPtr pEntroy,
    IntPtr pReserved,
    IntPtr pPrompt,
    int dwFlags,
    ref DATA_BLOB pCipherText);
    // BLOB structure used to pass data to DPAPI functions.
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
    internal struct DATA_BLOB
    {
        public int cbData;
        public IntPtr pbData;
    }

    private static void InitBLOB(byte[] data, ref DATA_BLOB blob)
    {
        blob.pbData = Marshal.AllocHGlobal(data.Length);
        if (blob.pbData == IntPtr.Zero)
            throw new Exception("Unable to allocate buffer for BLOB data.");

        blob.cbData = data.Length;
        Marshal.Copy(data, 0, blob.pbData, data.Length);
    }

    public string encryptpw(string pw)
    {
        byte[] pwba = Encoding.Unicode.GetBytes(pw);
        DATA_BLOB dataIn = new DATA_BLOB();
        DATA_BLOB dataOut = new DATA_BLOB();
        StringBuilder epwsb = new StringBuilder();
        try
        {
            try
            {
                InitBLOB(pwba, ref dataIn);
            }
            catch (Exception ex)
            {
                throw new Exception("Cannot initialize dataIn BLOB.", ex);
            }

            bool success = CryptProtectData(
            ref dataIn,
            "psw",
            NullPtr,
            NullPtr,
            NullPtr,
            CRYPTPROTECT_UI_FORBIDDEN,
            ref dataOut);

            if (!success)
            {
                int errCode = Marshal.GetLastWin32Error();
                throw new Exception("CryptProtectData failed.", new Win32Exception(errCode));
            }

            byte[] epwba = new byte[dataOut.cbData];
            Marshal.Copy(dataOut.pbData, epwba, 0, dataOut.cbData);
            // Convert hex data to hex characters (suitable for a string)
            for (int i = 0; i < dataOut.cbData; i++)
                epwsb.Append(Convert.ToString(epwba[i], 16).PadLeft(2, '0').ToUpper());
        }
        catch (Exception ex)
        {
            throw new Exception("unable to encrypt data.", ex);
        }
        finally
        {
            if (dataIn.pbData != IntPtr.Zero)
                Marshal.FreeHGlobal(dataIn.pbData);

            if (dataOut.pbData != IntPtr.Zero)
                Marshal.FreeHGlobal(dataOut.pbData);
        }
        return epwsb.ToString();
    }
}
// Test code:
class program
{
    static void Main(string[] args)
    {
        Mstscpw mstscpw = new Mstscpw();
        string epw = mstscpw.encryptpw("password");
        Console.WriteLine("Encrypted password for \"password\" {0} characters: \r\n{1}", epw.Length, epw);
        Console.ReadLine();
    }
}

2

Remote Desktop Plusจาก Donkz.nl

คุณสมบัติ # 1:

เข้าสู่ระบบโดยอัตโนมัติจากบรรทัดคำสั่ง

ตัวอย่าง:

rdp /v:nlmail01 /u:administrator /p:P@ssw0rd! /max

0

ถูกต้องบางส่วนคุณไม่สามารถแก้ไขข้อมูลประจำตัวของ Microsoft ได้อย่างง่ายดายและคำสั่งนั้นไม่ได้rdpแต่ถ้าคุณเรียกใช้คำสั่งmstscมันจะแก้ไขปัญหา 'บันทึกรหัสผ่าน' ใน WinXP

เข้าถึง Remote Desktop ผ่าน Commandline

mstsc [<connection file>] [/v:<server[:port]>] [/admin] [/f[ullscreen]] [/w:<width>] [/h:<height>] [/public] | [/span] [/edit "connection file"] [/migrate] [/?]

เพียงเปิดหน้าต่าง CMD พิมพ์mstscใส่ชื่อ PC หรือ IP คลิกตัวเลือกและดำเนินการอย่างสนุกสนาน แต่ทำ Save As ... เพื่อให้คุณมีทางลัดที่ใช้งานได้ในภายหลัง


0

อีกวิธีหนึ่งคือสร้างแบทช์สคริปต์ (.bat) ด้วยบรรทัดต่อไปนี้:

cmdkey /generic:"computername or IP" /user:"username" /pass:"password" mstsc /v:"computer name or IP"

หมายเหตุแทนที่ IP ชื่อผู้ใช้และรหัสผ่านในสคริปต์ด้วยข้อมูลประจำตัวที่ถูกต้อง

ตอนนี้รันสคริปต์โดยเพียงแค่ดับเบิลคลิกที่มัน

วิธีนี้ใช้ได้ผล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.