Articles of PowerShell的

如何使用PowerShell设置文件夹的权限

我正在尝试编写一个脚本,在所有文件服务器上添加“CreatorOwner”权限以在configuration文件$文件夹中; 即将“CreatorOwner”权限添加到“\ FileServer \ Profile $” 任何人都可以告诉我最新的命令和语法吗? 请问有没有问题。

如何成功更改执行策略并启用PowerShell脚本的执行

我在更改Windows Server 2008+操作系统中的执行策略时遇到问题。 这是我第一次尝试运行我需要资源完全访问权限的脚本,并且在高级模式下启动Powershell后,我尝试以下方法: Set-ExecutionPolicy Unrestricted 但是我得到这个: Set-ExecutionPolicy:Windows PowerShell更新了您的执行策略 成功,但是这个设置被一个更多的策略所覆盖 具体范围。 由于重写,你的shell将保持其当前 RemoteSigned的有效执行策略。 input“Get-ExecutionPolicy -List” 查看您的执行策略设置。 欲了解更多信息,请参阅 “Get-Help Set-ExecutionPolicy”。 在行:1 char:1 + Set-ExecutionPolicy不受限制 + ~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ + CategoryInfo:PermissionDenied:(:) [Set-ExecutionPolicy],SecurityException + FullyQualifiedErrorId:ExecutionPolicyOverride,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand 虽然我是pipe理员,但我无法更改执行策略。 该怎么办?

我怎样才能从一个.bat文件variables的PowerShell脚本?

我用PowerShellreplace.bat脚本的部分。 batch file的configuration是通过set适当的环境variables的文件完成的。 我正在寻找一种方法来将这些variables值加载到.ps1脚本中,而无需修改.bat文件(因为它们也在其他地方使用。 一个例子.bat如下所示: set VAR_ONE=some_value set VAR_TWO=/other-value 在批处理脚本中,我只是CALLconfiguration文件,variables将可用。 我已经尝试了源代码( . filename.bat )和调用( & filename.bat )来自PowerShell的configuration文件,这些都没有使variables可见。 尝试使用$VAR_ONE和$env:VAR_ONE语法访问它们。 加载这样的configuration文件,而不修改磁盘上的格式是一个好的方法?

如何避免Powershell中的反斜杠

我正在写一个PowerShell程序来replace使用的string -replace "$in", "$out" 它不适用于包含反斜杠的string,我该如何逃避它?

如何执行控制台EXEs而不产生新的控制台窗口?

我有一个通常从Windows PowerShell调用的Python脚本,带有一些命令行参数。 我想以.exe格式分发这个脚本,并且我想保留基于控制台的相同“用户界面”的用法。 用户打开Windows Powershell。 用户从shell调用myscript.exe程序: myscript.exe argument1 argument2 argument3 该程序在相同的控制台中执行,并将其输出写入同一控制台 。 其实我有一个myscript.exe程序,这当然从PowerShell获得参数,但不幸的是,执行程序在另一个在调用产生的控制台。 我怎样才能避免这种行为,并保持在同一个控制台的一切? 编辑:我已经按照http://www.py2exe.org/index.cgi/Tutorial上的教程。 对于我使用的setup.py构build文件: console关键字(提供myscript.py作为列表​​中的唯一元素) zipfile关键字(设置为True) options关键字optimize: 2 , bundle_files: 1 , compressed: True 。 编译工作正常,程序做它应该做的事情。 唯一不希望的是打开一个专用的控制台,而不是在同一个控制台上执行。 编辑2:这正是我的setup.py代码。 from distutils.core import setup import py2exe, sys, os sys.argv.append('py2exe') setup( options = {'py2exe': {'bundle_files': 1, 'compressed': True, 'optimize': 2}}, console = [{'script': "myscript.py"}], zipfile = […]

Windows PowerShell中的PerlIO和CMD.exe

显然,我有一个Perl脚本的结果在两个不同的输出文件,这取决于我是否在Windows PowerShell或cmd.exe下运行它。 脚本可以在这个问题的底部find。 文件句柄用IO::File打开,我相信PerlIO正在做一些棘手的事情。 看起来好像在cmd.exe下select的编码是更紧凑的编码(4.09 KB),相比PowerShell生成的文件几乎两倍的大小(8.19 KB)。 该脚本需要一个shell脚本并生成一个Windowsbatch file。 看起来像在cmd.exe下生成的只是常规的ASCII(1字节字符),而另一个似乎是UTF-16(前两个字节FF FE ) 有人可以validation并解释为什么PerlIO在Windows Powershell下的工作方式与cmd.exe不同? 另外,如何使用IO::File显式获取ASCII-magic PerlIO文件句柄? 目前,只有使用cmd.exe生成的文件是可执行的。 UTF-16 .bat (我认为是编码)不能由PowerShell或cmd.exe执行。 顺便说一句,我们使用Perl 5.12.1 MSWin32 #!/usr/bin/env perl use strict; use warnings; use File::Spec; use IO::File; use IO::Dir; use feature ':5.10'; my $bash_ftp_script = File::Spec->catfile( 'bin', 'dm-ftp-push' ); my $fh = IO::File->new( $bash_ftp_script, 'r' ) or die $!; […]

$ LastExitCode = 0,但在PowerShell中$?= False。 将stderrredirect到stdout会导致NativeCommandError

为什么Powershell会在下面的第二个例子中显示出令人惊讶的行为? 首先,一个理智行为的例子: PS C:\> & cmd /c "echo Hello from standard error 1>&2"; echo "`$LastExitCode=$LastExitCode and `$?=$?" Hello from standard error $LastExitCode=0 and $?=True 没有惊喜。 我打印一条消息给标准错误(使用cmd的echo )。 我检查variables$? 和$LastExitCode 。 如预期的那样,它们分别等于“真”和“0”。 但是,如果我要求PowerShell通过第一个命令将标准错误redirect到标准输出,我得到一个NativeCommandError: PS C:\> & cmd /c "echo Hello from standard error 1>&2" 2>&1; echo "`$LastExitCode=$LastExitCode and `$?=$?" cmd.exe : Hello from standard error At […]

使用PowerShell重命名文件

我需要在Windows PowerShell中一次重命名一堆文件。 我在这里阅读HTG的文章,这有一点帮助。 我的问题是,它只会重命名目录顶部的文件,没有更深的。 例如:有FOLDER A,FOLDERA内部是文件和FOLDER B,FOLDER B内部是另一个文件。 两个文件夹和两个文件都需要重新命名。 现在它的工作方式是,文件夹A,文件夹A中的文件和文件夹B正在重命名,但不是文件夹B中的文件。 我目前的代码是: Dir | Rename-Item –NewName { $_.name –replace “ “,”_” } 谢谢您的帮助!

如何将unicode文件名批量转换为Ascii文件名Windows XP或PowerShell

问题:出于某种奇怪的原因, windows zip util不会压缩包含Unicode文件名的文件夹 。 所以,我需要将一大组文件名(不是内容)转换为ASCII文件名。 这里的答案讨论内容转换 如何批量/批量转换/重命名Windows CMD行或Power Shell中的文件名本身。 我不在乎输出文件的名字有多余1等 //While this changes the content inside the file. it does not rename my file name! COPY /Y UniHeader.txt Unicode_Output.txt CMD /U /C Type ANSI_Input.txt >> Unicode_Output.txt

从Powershell运行R脚本

在批处理脚本中,我可以使用以下语法运行R脚本: Rterm.exe –quiet –slave –vanilla < "C:\some_script.R" 但是,Powershell似乎已经为未来的扩展保留了“<”。 我想知道是否有一个直接的方法来运行另一个Powershell脚本中的R脚本。