如何自动保存记事本文件并关闭Powershell中的记事本

时间:2016-01-25 21:39:16

标签: powershell

我对Powershell很新。我一直在努力解决这个问题。我一直在尝试将此文件保存并保存在我的计算机中。我尝试了不同的方式并询问Stack Overflow

当我执行此代码时

$ie = New-Object -ComObject 'internetExplorer.Application'
$ie.Visible= $true
$ie.Navigate("https://idp.appery.io/idp/")

while ($ie.Busy -eq $true){Start-Sleep -seconds 1;}  

$usernamefield = $ie.Document.getElementByID('j_username')
$usernamefield.value= $username

$passwordfield = $ie.Document.getElementByID('j_password')
$passwordfield.value = $password

$Link=$ie.Document.getElementByID("loginBtn")
$Link.click()

while ($IE.Busy -eq $true)

{

Start-Sleep -Milliseconds 2000;

}

$ie.Navigate("https://appery.io/bttttn/rest/1/admin/databases")

当我在代码上面执行时,Notepad会自动弹出" database.json",我在C驱动器中寻找这个json文件的位置,但我找不到它。它似乎只是打开文件, 所以我想

  1. 保存这个" database.json"到我的文件夹

  2. 关闭记事本窗口,

  3. 我该怎么做?

    非常感谢!!!

1 个答案:

答案 0 :(得分:1)

很遗憾,您无法自动记事本! (你可能会向它发送击键,但它会变得非常混乱并且容易破损)

更好的方法是使用invoke-webrequest登录然后下载文件

$request = Invoke-WebRequest $loginpage -SessionVariable "session"
$form = $request.Forms[0]
$form = $request.form['username']
$form = $request.form['password']
$request = Invoke-WebRequest -Uri ('$downloadlink + $form.Action) `
                 -WebSession $session -Method POST `
                 -Body $form.Fields -OutFile $filepath

如果页面没有返回表单对象,则可以执行

$form = @{ "username" = $username
           "password = $password} 

您需要查看登录页面并提取用户名/密码的变量名称。

我还没有测试过它!所以它来自记忆,但它应该让你在一个更可靠的轨道上。