标签: powershell

如何更改我的默认 PowerShell 配置文件/对我的 $profile 文件进行数字签名?

我尝试为我的 powershell 环境创建一个终极设置。

我用一堆语句创建了“Microsoft.PowerShell_profiles.ps1”来设置我的默认配置文件。

但是,当我开始 PowerShell 会话时,我得到:

File C:\Documents and Settings\xxx\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded. The file C:\Documents and Settings\xxx\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 is not digitally signed. The script will not execute on the system.

windows powershell

14
推荐指数
2
解决办法
2万
查看次数

如何使用 Powershell 确定 32 位或 64 位版本的 Windows Server 2008?

使用 Powershell 控制台,可以执行哪些命令/命令来确定是否安装了 Windows Server 2008 的 32 位或 64 位 bersion?

powershell windows-server-2008

13
推荐指数
3
解决办法
4万
查看次数

具有多个值的 Powershell Switch 语句

任何人都知道我如何拥有一个包含多个可能值的 switch 语句,如下例所示?

switch ($myNumber) {
   1 3 5 7 9 { write-host "Odd" }
   2 4 6 8 10 {write-host "Even" }
}
Run Code Online (Sandbox Code Playgroud)

曾经在 VBScript 中很容易,所以我确定我只是遗漏了一些简单的东西。

例如在 VBScript 中

Select Case myNumber 
   Case 1,3,5,7,9
      MsgBox "Odd"
   Case 2,4,6,8,10
      MsgBox "Even"
End Select
Run Code Online (Sandbox Code Playgroud)

提前加油,

powershell

13
推荐指数
2
解决办法
4万
查看次数

如何通过 Powershell 为 IIS APPPOOL\* 帐户添加 ACL 权限?

我希望能够为新网站设置 IIS 帐户以具有修改权限。我有以下脚本:

function Set-ModifyPermission ($directory, $username, $domain = 'IIS APPPOOL') {
    $inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
    $propagation = [system.security.accesscontrol.PropagationFlags]"None"
    $acl = Get-Acl $directory
    $user = New-Object System.Security.Principal.NTAccount($domain, $username )
    $accessrule = New-Object system.security.AccessControl.FileSystemAccessRule($user, "Modify", $inherit, $propagation, "Allow")
    $acl.AddAccessRule($accessrule)
    set-acl -aclobject $acl $directory
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,出现如下错误:

Set-Acl : 此工作站与主域之间的信任关系失败。

我认为这是因为IIS APPPOOL它不是一个真正的域,而是一个假帐户上的奇怪前缀。是否有正确的方法来引用该帐户,以便我可以完成这项工作?

iis powershell iis-7 asp.net access-control-list

13
推荐指数
2
解决办法
2万
查看次数

如何将标题添加到 powershell 窗口?

我打开了许多 PowerShell 窗口,其中包含特定于任务的命令历史记录。

在过去的批处理文件时代,我会使用Title finance dptTitle Email Admin. 如何在 PS 中完成此操作?

powershell

13
推荐指数
1
解决办法
1万
查看次数

ServerManager 模块在 Windows 7 上可用吗?

ServerManager 模块在Windows 7 Ultimate上可用吗?

我认为(但我不确定,因为我以前从未看过输出)我以前工作过的 PS 脚本,但在 IIS7 安装出现一些问题后,它停止工作。

以下脚本

import-module servermanager
Run Code Online (Sandbox Code Playgroud)

因错误而失败

Import-Module : The specified module 'servermanager' was not loaded because no valid module file was found in any module directory.
At line:1 char:14
+ import-module <<<<  servermanager
    + CategoryInfo          : ResourceUnavailable: (servermanager:String) [Import-Module], FileNotFoundException
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
Run Code Online (Sandbox Code Playgroud)

我找到了运行的建议

Dism.exe /Online /Enable-Feature /FeatureName:ServerManager-PSH-Cmdlets
Run Code Online (Sandbox Code Playgroud)

在我的机器上,但它也因错误而失败 Feature name ServerManager-PSH-Cmdlets is unknown.

powershell windows-7

13
推荐指数
1
解决办法
7万
查看次数

管理域中所有计算机的本地管理员密码更改的行业标准方法是什么?

尽管似乎有三个可用选项,其中一个实际上是安全的,但似乎只有两个可用选项能够影响更改时未开机或移动且未连接到网络的机器在变化的时候。两者似乎都不是一个安全的选择。我所知道的三个选项是:

  1. .vbs 启动脚本
  2. 使用组策略首选项的 GPO
  3. Powershell 脚本作为计划任务。

我取消了 Powershell 选项,因为我不知道如何有效地定位/迭代,并取消已更改的机器、网络上的所有机器以及会对不必要的网络开销产生什么影响,即使它可能是最好的可用解决方案因为密码本身可以存储在 CipherSafe.NET(第 3 方解决方案)容器中,并且密码传递给目标机器的脚本。我还没有检查 Powershell 是否可以从本地 Windows 计算机的凭据管理器获取密码以在脚本中使用,或者是否可以在那里存储密码以与脚本一起使用。

.vbs 脚本选项是不安全的,因为密码以明文形式存储在 SYSVOL 共享中,该共享可用于网络上的任何域计算机。任何想要找到后门并使用一点谷歌的人都会找到那扇门,如果足够坚持的话。

正如此 MSDN 注释所述,GPO 选项也不安全:http : //code.msdn.microsoft.com/Solution-for-management-of-ae44e789

我正在寻找一种非 3rd 方解决方案,我认为该解决方案应该可用或能够在具有正确知识或指导的情况下在内部开发。

scripting powershell active-directory group-policy password-management

13
推荐指数
1
解决办法
628
查看次数

是否可以在 Windows 8 上从 PowerShell 启用 MSMQ?

是否可以在 Windows 8(.1) 上从 PowerShell启用MSMQ?如果是这样,如何做到这一点?

powershell msmq windows-8 windows-8.1

13
推荐指数
1
解决办法
1万
查看次数

默认情况下,PowerShell 安装在哪个版本的 Windows 中?

我刚刚安装了 XP SP2,我希望安装 PowerShell 1.0;然而,事实并非如此。

看来我必须手动安装它。如果我升级到 SP3,我会得到 PowerShell。

来自维基百科文章


PowerShell 1.0 于 2006 年发布,适用于 Windows XP SP2、Windows Server 2003 和 Windows Vista。它是 Windows Server 2008 的可选组件。

PowerShell 2.0 与 Windows 7 和 Windows Server 2008 R2 集成,并针对带有 Service Pack 3 的 Windows XP、带有 Service Pack 2 的 Windows Server 2003 和带有 Service Pack 1 的 Windows Vista 发布。


PowerShell 1.0 或 2.0 似乎默认没有安装在 XP SP3、2003 和 Vista 中。

我找不到任何具体信息,有人可以确认这一点。

windows powershell windows-xp

13
推荐指数
3
解决办法
2万
查看次数

New-ADUser -Name 长度太长

我需要向 AD 中的 OU 添加大约 500 个用户

我已经编写了我需要的所有内容,但是,它给出了错误: the name provided is not a properly formed

这是脚本

New-ADUser -Name C080CAB1-9756-409F-914D-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true
Run Code Online (Sandbox Code Playgroud)

我进行了几个测试以确认问题是什么:

New-ADUser -Name "C080CAB1-9756-409F-914D-AE3971F67DE7" -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true

New-ADUser -Name 'C080CAB1-9756-409F-914D-AE3971F67DE7' -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false -Enabled $true

New-ADUser -Name C080CAB1`-9756`-409F`-914D`-AE3971F67DE7 -Path "OU=Staging,DC=domain,DC=local" -accountPassword (convertto-securestring "zagreb+scotch8355" -asplaintext -force) -PasswordNeverExpires $True -CannotChangePassword $false …
Run Code Online (Sandbox Code Playgroud)

powershell active-directory windows-server-2012-r2

13
推荐指数
2
解决办法
5916
查看次数