Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否在客户端计算机上执行Powershell脚本?_Javascript_Php_Powershell - Fatal编程技术网

Javascript 是否在客户端计算机上执行Powershell脚本?

Javascript 是否在客户端计算机上执行Powershell脚本?,javascript,php,powershell,Javascript,Php,Powershell,我被要求创建一个简单的数据收集表单,该表单还需要包含一些客户机信息(不简单的部分)。基本上,公司希望我用客户机的打印机列表预先填充表单值。他们慷慨地为我提供了一个powershell脚本来演示他们需要什么 "Printers" >> c:\Printers.txt get-WmiObject -class Win32_printer | ft name, systemName, shareName >> c:\printers.txt 我一直在考虑如何以一种能最大限度地

我被要求创建一个简单的数据收集表单,该表单还需要包含一些客户机信息(不简单的部分)。基本上,公司希望我用客户机的打印机列表预先填充表单值。他们慷慨地为我提供了一个powershell脚本来演示他们需要什么

"Printers" >> c:\Printers.txt
get-WmiObject -class Win32_printer | ft name, systemName, shareName >> c:\printers.txt
我一直在考虑如何以一种能最大限度地减少客户参与的方式来实现这一点

例如,我会让用户下载一个脚本,单击它执行,然后打开一个文本文件,这样他们就可以将收集到的信息复制并粘贴到一个网页表单字段中。但这似乎涉及到非技术人员

有没有一种方法可以让这更自动化一点。可能会自动执行脚本。我在服务器端使用PHP,我可以自由地使用任何我想要的JavaScript,,,因为JavaScript不能访问文件系统,我看不出还有比我最初的想法更多的东西


对于如何做到这一点,同时最大限度地减少客户必须采取的步骤数量,您有什么建议吗?

您可以执行以下操作

$computers = Import-Csv C:\ListOfTargetComputers.csv
$cred = (Get-credential)

foreach ($comp in $computers) {

get-WmiObject -class Win32_printer -ComputerName $comp -Credential $cred | ft name, systemName, shareName | Out-File \\share\PublicFolder\project\printers-$comp.txt

}
因此,获取一个要针对其运行此操作的计算机列表,并将其粘贴到csv中,在本例中为:“ListOfTargetComputers.csv”

然后,循环以列表中的每台计算机为目标,使用指定的凭据(这些凭据需要是计算机上的本地管理员,因此需要域管理员帐户等等),然后将数据粘贴到文件共享的公用文件夹中的.txt文件中

因此,这一切都需要设置,但应该是可行的

  • 在所有计算机上设置为本地管理员的帐户
  • 每个人都有读写权限的公共共享文件夹
  • 目标计算机的列表

  • 注意:这将不需要最终用户输入,并且应该能够远程运行。

    单击后,您将触发一个powershell脚本,该脚本将获取所有信息,并将创建一个HTML报告,该报告将在脚本完成后立即调用。客户端计算机上尚不存在power shell scrip。它必须下载到它。你不需要。Get-WMIOObject有一个开关-computername。用于远程操作。