Tag: powershell

如何使用Windows任务调度程序自动执行PowerShell脚本?

我有一个发送电子邮件的PowerShell脚本。 我想每1分钟自动执行一次脚本。 我怎样才能做到这一点,使用任务调度? 目前我已经创build了一个任务,并提供了我的脚本的path。 但是这个调度程序打开我的脚本,而不是执行。

从另一个powershell脚本加载variables

我有几个脚本可以重用variables,所以我想在他们自己的Variables.ps1脚本中隔离variables,即 $var1 = "1" $var2 = "2" 我试图加载这些variables,然后在Main.ps1脚本中打印出来,如下所示: .\Variables.ps1 $var1 $var2 这工作如果我第一次运行。\ Variables.ps1但不是如果我只是运行Main.ps1。 我的环境是PowerShell ISE。 我究竟做错了什么?

replace或删除文件夹中所有文件的文件名中的某些字符

如何通过一些batch file执行删除某些字符或用其他字符replace某些字符,一次去除Windows文件夹中的所有文件的文件名,是否有DOS命令?

PowerShell通用集合

我一直在推进到PowerShell中的.NET框架,我碰到了一些我不明白的东西。 这工作正常: $foo = New-Object "System.Collections.Generic.Dictionary“2[System.String,System.String]" $foo.Add("FOO", "BAR") $foo Key Value — —– FOO BAR 但是,这不是: $bar = New-Object "System.Collections.Generic.SortedDictionary“2[System.String,System.String]" New-Object : Cannot find type [System.Collections.Generic.SortedDictionary`2[System.String,System.String]]: make sure t he assembly containing this type is loaded. At line:1 char:18 + $bar = New-Object <<<< "System.Collections.Generic.SortedDictionary“2[System.String,System.String]" 他们都在同一个集会,所以我错过了什么? 正如在答案中指出的,这几乎只是PowerShell v1的一个问题。

Powershell:仅为单个命令设置环境variables

在Linux上,我可以这样做: $ FOO=BAR ./myscript 在设置环境variablesFOO的情况下调用“myscript”。 在Powershell中是否有类似的可能,即不必先设置variables,调用命令,然后再次取消设置variables? 为了更清楚我的使用情况 – 我不想把它作为脚本的一部分。 相反,我有第三方脚本,其行为我可以使用环境variables来控制,但在这种情况下,不是命令行参数。 所以能够在打字之间交替 $ OPTION=1 ./myscript 和 $ ./myscript 只是非常方便。

PowerShell的UTF-8输出

我正在尝试使用带有redirectI / O的Process.Start来使用string调用PowerShell.exe ,并使用UTF-8获取输出。 但我似乎无法做到这一点。 我试过了: 传递命令通过-Command参数运行 使用UTF-8编码将PowerShell脚本作为文件写入磁盘 使用带有BOM编码的UTF-8将PowerShell脚本作为文件写入磁盘 使用UTF-16将PowerShell脚本作为文件写入磁盘 在我的控制台应用程序和PowerShell脚本中设置Console.OutputEncoding 在PowerShell中设置$OutputEncoding 设置Process.StartInfo.StandardOutputEncoding 使用Encoding.Unicode而不是Encoding.UTF8 在任何情况下,当我检查给出的字节时,我得到不同的值到我原来的string。 我真的很喜欢解释为什么这不起作用。 这是我的代码: static void Main(string[] args) { DumpBytes("Héllo"); ExecuteCommand("PowerShell.exe", "-Command \"$OutputEncoding = [System.Text.Encoding]::UTF8 ; Write-Output 'Héllo';\"", Environment.CurrentDirectory, DumpBytes, DumpBytes); Console.ReadLine(); } static void DumpBytes(string text) { Console.Write(text + " " + string.Join(",", Encoding.UTF8.GetBytes(text).Select(b => b.ToString("X")))); Console.WriteLine(); } static int ExecuteCommand(string […]

如何在PowerShell中从脚本文件重新加载用户configuration文件

我想从脚本文件重新加载我的用户configuration文件。 我以为从脚本文件中获取它的点会做到这一点,但它不起作用: # file.ps1 . $PROFILE 然而,如果我从PowerShell的解释器中find它,它确实有效。 我为什么要这样做? 我每次更新我的configuration文件时都运行这个脚本,并且想testing它,所以我想避免重新启动PowerShell来刷新环境。

从PowerShell脚本调用REST API

如何从PowerShell脚本调用基于rest的API并处理Json答案?

我可以在PowerShell中获得详细的exception堆栈跟踪吗?

运行这样的脚本: 1: function foo() 2: { 3: bar 4: } 5: 6: function bar() 7: { 8: throw "test" 9: } 10: 11: foo 我懂了 test At C:\test.ps1:8 char:10 我可以得到一个详细的堆栈跟踪吗? At bar() in C:\test.ps1:8 At foo() in C:\test.ps1:3 At C:\test.ps1:11

如何使用PowerShell引用.NET程序集

我是一名C#.NET开发人员/架构师,并且明白它使用对象(.NET对象)而不仅仅是stream/文本。 我想能够使用PowerShell调用我的.NET(C#库)集合的方法。 如何在PowerShell中引用程序集并使用程序集?