Kann ich Dateien über ein Skript oder die Befehlszeile auf einen Netzwerkplatz kopieren?[geschlossen]

StackOverflow https://stackoverflow.com/questions/10313

Frage

Ist es in Windows XP möglich, Dateien über die Befehlszeile, eine Batchdatei oder, noch besser, ein PowerShell-Skript auf einen Netzwerkspeicherort zu kopieren?

Der Versuch, Dateien vom Computer eines Benutzers in einer WSS 3.0-Dokumentbibliothek zu veröffentlichen, hat mich zu dieser Recherche veranlasst.Ich kann der betreffenden Bibliothek kein Laufwerk zuordnen, da die WSS-Site nur für die Authentifizierung über NTLM an einem anderen Port als 80 oder 443 verfügbar ist.Ich nehme an, ich könnte alternativ die WSS-Webdienste verwenden, um die Dateien zu übertragen, aber ich bin jetzt wirklich gespannt auf die Antwort auf diese Frage.

War es hilfreich?

Lösung 6

Nach allem, was ich sehe, scheint es nicht möglich zu sein, über die Befehlszeile direkt auf einen Netzwerkort zuzugreifen bzw. ihn zu manipulieren, sei es in PowerShell oder der einfachen alten Eingabeaufforderung.

@slipsec (#13899):Vielen Dank für den Vorschlag, aber PowerShell unterstützt die Portnummer im Zielpfad nicht mehr als die net use Befehl tut es.

Das Beste, was ich in meiner speziellen Situation tun kann, ist also, in den sauren Apfel zu beißen und etwas wie WebDrive zu kaufen, um die Laufwerkszuordnung über WebDAV auf nicht standardmäßigen Ports zu ermöglichen, oder eine andere Konfiguration vorzunehmen (z. B.(separate Web-App mit einer anderen IP-Adresse und anderen Host-Headern) in SharePoint, um die Site über NTLM auf einem Standardport verfügbar zu machen.

Andere Tipps

Mithilfe einer Batchdatei können Sie sich sowohl bei der Ressource anmelden als auch die Datei kopieren:

Die Batch-Datei würde Folgendes enthalten:

net use \\{dest-machine}\{destfolder} {password} /user:{username}
copy {file} \\{dest-machine}\{destfolder}

z.B.

net use \\Development\myfolder mypassword /user:Administrator
copy newfile.c \\development\myfolder

Wenn Sie sich auf a beziehen windows box, benutz einfach xcopy.Es ist ziemlich normal, es zu haben xcopy verfügbar.

xcopy src \\dest-machine\shared-library-name\dest
xcopy \\src-machine\shared-library-name\dest src

Powershell nutzt die Abstraktion von Providern, um eine gemeinsame Schnittstelle zu Datenspeichern bereitzustellen.Diese scheinen sich an das gebräuchliche Substantiv „Item“ zu halten, sodass Sie eine vollständige Liste erhalten können man *item*.Wenn Sie eine andere Möglichkeit zum Kopieren und anderweitigen Arbeiten mit Daten aus einem Speicher kennen, können Sie diese genauso gut verwenden, aber die Verwendung der Cmdlets bietet einen besseren „Einmal lernen, oft verwenden“-Ansatz.In Ihrem Fall könnten Sie:

Copy-Item test.txt -Destination \\dest-machine\share

Copy-item unterstützt bei Bedarf auch den Parameter -Credential.

„Network Places“ hat nicht wirklich eine API, es sind nur ein paar Verknüpfungen, und die SharePoint-Freigabe verwendet eine Shell-Erweiterung, wenn ich mich richtig erinnere.

All das zu sagen:Zugriff auf Sharepoint als Dateisystem über PowerShell Auch erfordert eine Erweiterung, die SharePoint-Anbieter.

Sie können die „net“-Befehle zur Authentifizierung verwenden und die Dateien dann kopieren.

copy src \\dest-machine\shared-library-name\dest

Ich bin nicht Wirklich Sie wissen genau, wie Sie bei Bedarf mit der Authentifizierung umgehen.

Wenn Sie dafür ein Skript benötigen, sollten Sie darüber nachdenken NAnt.

Es wird hauptsächlich für Build-Skripte verwendet, ist aber sehr leistungsfähig und recht einfach zu bedienen.

Es gibt auch NAntContrib und das Nant-FTP-Aufgabe was Dir weiterhelfen sollte.

Ich könnte mich darin irren, aber ich denke, dass weder Nicks Robocopy-Lösung noch Nathans Copy-Command-Lösung funktionieren werden.Robocopy möchte anscheinend ein zugeordnetes Laufwerk, was ich nicht tun kann, weil es nicht auf Port 80 oder 443 läuft und Windows keinen Pfad verarbeiten kann, der den Port in einem UNC-Namen enthält:

copy src \\dest-machine:45000\shared-library-name\dest

Ich habe auch keine NAnt-Aufgabe gesehen, die diese Situation bewältigen würde.

Ich weiß auch, dass es Tools gibt, mit denen ich WebDAV-Laufwerke zuordnen kann.Ich habe mich eher gefragt, ob es eine Möglichkeit gibt, die eingerichteten Netzwerkorte zu nutzen, ohne die GUI zu verwenden.

Ja, du kannst.Ich schlage vor, ein Tool wie Robocopy zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top