मैपिंग ड्राइव लेटर के बिना नेटवर्क शेयर एक्सेस (पॉवरशेल)


23

मैं \\SHARE-HOST\ड्राइव अक्षर को मैप किए बिना एक दूरस्थ SMB नेटवर्क शेयर तक पहुंचना चाहता हूं । मैं इसे \\SHARE-HOST\Share_folder\एक्सप्लोरर में टाइप करके विंडोज़ में मैन्युअल रूप से कर सकता हूं । यदि मैं इसे प्रोग्रामेटिक रूप से करना चाहता हूं तो मुझे net useकमांड का उपयोग करना होगा । इसके लिए मुझे एक पत्र निर्दिष्ट करना होगा।


क्या Set-Location \\SHARE-HOST\Share-folderआपके लिए Powershell के भीतर कमांड काम नहीं करता है? क्या कोई त्रुटि संदेश है?
jscott

1
"मुझे नेट उपयोग कमांड का उपयोग करना होगा। इसके लिए मुझे एक पत्र निर्दिष्ट करना होगा।" आपको एक निर्दिष्ट करने की आवश्यकता नहीं है: net use * \\share\folderअगले नि : शुल्क ड्राइव अक्षर (से शुरू Z:) का उपयोग करेगा
kapex

1
वास्तव में, आपको नेट उपयोग के साथ एक पत्र को निर्दिष्ट या उपयोग करने की आवश्यकता नहीं है। यहां देखें पहला जवाब: serverfault.com/questions/580369/…
जोशुआ हैनली

जवाबों:


26

पॉवरशेल पूरी तरह से यूएनसी रास्तों का समर्थन करता है; आप उन्हें हर जगह एक निर्देशिका या फ़ाइल नाम का उपयोग करने की उम्मीद करेंगे:

  • Set-Location \\servername\sharename
  • Get-ChildItem \\servername\sharename
  • Copy-Item \\servername1\sharename1\filename.ext \\servername2\sharename2
  • Remove-Item \\servername\sharename\foldername\filename.ext

हालांकि, आपको वास्तव में रिमोट शेयर से जुड़ने के लिए उचित एक्सेस अधिकारों की आवश्यकता है; इसका मतलब यह है कि या तो आपके उपयोगकर्ता खाते में पहले से ही आवश्यक अनुमतियां होनी चाहिए, या आपको फ़ोल्डर्स और फ़ाइलों तक पहुंचने से पहले रिमोट सर्वर से मैन्युअल रूप से नेटवर्क कनेक्शन स्थापित करना होगा।

यहां भी देखें: /programming/303045/connecting-to-a-network-folder-with-username-password-in-powershell


अजीब तरह से, मैंने ऐसा व्यवहार नहीं किया है, जहां यह संभव नहीं है, उदाहरण के लिए, Get-ChildItemतब तक सामग्री को सूचीबद्ध करें जब तक कि आप अपने वर्तमान स्थान Set-Locationको दूरस्थ मशीन (यानी servername) के साथ नहीं बदलते । संभवतः इसके लिए UAC और या win10 + मशीनों के साथ कुछ करना है, लेकिन निश्चित नहीं है।
पेट्र अब्दुलिन

2

आपको शेयर को "ब्राउज़" करने की आवश्यकता है, जब तक कि आपको पहले से वैकल्पिक क्रेडेंशियल्स के साथ प्रमाणित नहीं करना है, तो आप नीचे का उपयोग कर सकते हैं:

get-childitem \\server\share

2

मैं केवल टाइप करके अपने लैपटॉप पर एक साझा फ़ोल्डर का उपयोग करने में सक्षम हूं

cd \\MYLAPTOP\C$\Games

यदि फ़ोल्डर नाम में स्थान है, तो उद्धरणों का उपयोग करें:

cd "\\MYLAPTOP\C$\Games\Game Name"

यह मुझे दूरस्थ कंप्यूटर की फ़ाइल प्रणाली तक पहुँच प्रदान करता है।

PS Microsoft.PowerShell.Core\FileSystem::\\MYLAPTOP\C$\Games>

सीडी एक उपनाम है Set-Location(s। http://technet.microsoft.com/en-us/library/ee176962.aspx ) जो ऐसे रास्तों का समर्थन करता है।

हालाँकि, मुझे खोजबीन करने वाले पहले उस कंप्यूटर पर लॉग ऑन करना था और वहां रास्ता खोलने की कोशिश करनी थी। फिर इसने PS में भी काम किया। आपको संभवतः पहले PowerShell में लॉगऑन क्रेडेंशियल्स जोड़ने की आवश्यकता है।


1

बस मास्सिमो के जवाब में जोड़ना चाहते हैं कि मैंने यह भी देखा कि अगर मैं अन्य PSDrives में था तो मैं नेटवर्क स्थानों का उपयोग नहीं कर सकता था, लेकिन नियमित स्थान ठीक नहीं थे।

उदाहरण के लिए, यदि मैं अंदर हूं Cert:\LocalMachine\>या PS HKLM:\>नहीं कर सकता हूंcd \\server\share

अगर मैं Set-Location C:और फिर Set-Location \\servername\shareयह ठीक काम करता है।

मैंने यह भी पाया कि मुझे कई कमांड के लिए नेटवर्क स्थान पर स्विच करने की आवश्यकता नहीं थी। उदाहरण के लिए मैं Get-Content '\\127.0.0.1\C$\eula.1028.txt'C: \ ठीक से कर सकता था ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.