I have a c# UWP app that I'm intending to run on a Raspberry PI with Windows 10 IoT Core. The problem I have is when I try to connect to a UNC share to copy some files.
The network is just a home network with local user credentials, share is on another computer on the same network.
When running the app locally I can just use await StorageFolder.GetFolderFromPathAsync(@"\\share\folder");
to connect to the share and this works fine, I'm assuming this is because the credentials I'm using are saved on the local machine. When ran on the RPi the error received is: "The system cannot find the file specified."
Does anyone have any ideas on how I would connect to this drive, I'm game for anything at this stage to get it to work...
What I've tried:
await StorageFolder.GetFolderFromPathAsync(@"\\share\folder");
("The system cannot find the file specified.")net use "\\share\folder" "password" /USER:"user"
works and unc can be browsedWNetAddConnection2
as in Prevent WNetAddConnection2 class which allows prohibited user to access shared folder
WNetUseConnection
with both user prompt and without (neither works)Thanks in advance,
Paul.
Download and Install the Windows 10 IoT Dashboard application on your host Windows 10 computer. Launch the dashboard application and select “set up a new device” to flash your Raspberry Pi. Insert the flashed MicroSD card into the Pi and power it up. Connect to the Pi remotely through the IoT Dashboard on your host PC.
Turn on the remote display functionality on your Windows 10 IoT Core device. Connect your device to the Internet and connect to Windows Device Portal. Choose the page "Remote" from the options on the left, and mark the check box labeled "Enable Window IoT Remote Server".
Once you install it and run the Windows IoT Remote Control app, you can control and interact with the device remotely. Now, you can start developing for the Raspberry Pi using Windows 10.
Have you tried impersonation yet? Here is what I use in one of my projects:
[DllImport("advapi32.dll", SetLastError = true)]
public static extern bool LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
private void Impersonate(Enum domainName, string userName, string password)
{
IntPtr _tokenHandle = IntPtr.Zero;
int Logon32_Provider_Default = 0;
int Logon32_Logon_Interactive = 2;
bool userSuccess = LogonUser(userName, domainName.ToString(), password, Logon32_Logon_Interactive, Logon32_Provider_Default, ref _tokenHandle);
if (!userSuccess)
{
throw new Win32Exception(Marshal.GetLastWin32Error());
}
WindowsImpersonationContext _impersonatedUser = new WindowsIdentity(_tokenHandle).Impersonate();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With