2017-07-12 6 views
0

現在、新しく作成されたWindowsシェルに、autounattend.xmlファイルを介してpowershellスクリプトをダウンロードするよう指示しています。そのテクニックでは、私は仕事をするために1つのライナーが必要です。powershell資格のあるファイルをダウンロードするライナー

私はこのワンライナーを使用して、公共の環境からそれらをダウンロードすることができるように使用される:

<Path>powershell -NoLogo -Command "((new-object System.Net.WebClient).DownloadFile('https://some.remote.public.location/myfile.ps1', 'c:\Windows\Temp\myfile.ps1')"</Path> 

しかし、今、私はプライベートの場所から自分のファイルをダウンロードするには、適切な資格情報に与える必要があります。私は、次のことを試してみましたし、それは動作しません:

<Path>powershell -NoLogo -Command "((new-object System.Net.WebClient).Credentials = new-object System.Net.NetworkCredential("user123", "password123")).DownloadFile('https://some.remote.private.location/myfile.ps1', 'c:\Windows\Temp\myfile.ps1')"</Path> 

(私はPowerShellでルーキーだ:/)

私は1つのライナーにDownloadFileメソッドに適切な資格情報を与えることができますどのように?

また、ジョブに適した別のコマンドがありますか?

ありがとうございました。

答えて

1

あなたはPowerShellの3.0以降を使用している場合は、この試みることができる:PowerShellの2.0では

<Path>powershell -NoLogo -Command "Invoke-WebRequest -Uri 'https://some.remote.private.location/myfile.ps1' -OutFile 'c:\Windows\Temp\myfile.ps1' -UseBasicParsing -Credential (New-Object PSCredential('user123', (ConvertTo-SecureString -AsPlainText -Force -String 'password123')))"</Path> 

<Path>powershell -NoLogo -Command "$webClient = new-object System.Net.WebClient; $webClient.Credentials = new-object System.Net.NetworkCredential('user123', 'password123'); $webClient.DownloadFile('https://some.remote.private.location/myfile.ps1', 'c:\Windows\Temp\myfile.ps1')"</Path> 
+0

こんにちは。早速のお返事ありがとうございます。私はどのようなパワーシェルを使用しているのかをどのように知っていますか? (それはWindowsサーバー2012 R2のところである)。 このコマンドを "-EncodedCommand"でも使用できますか? ありがとうございます。 – Quardah

+0

@Quardah Server 2012 R2には、バージョン4.0のPowerShellがあらかじめインストールされています( '$ PSVersionTable'変数を出力するとバージョンが表示されます)。そして、はい、このコマンドをエンコードし、 '-EncodedCommand'に渡すことができます。 –

+0

多くの、多くのおかげでGeorgeは本当に助けに感謝します。良い一日を! – Quardah

関連する問題