我尝试为我的 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.
使用 Powershell 控制台,可以执行哪些命令/命令来确定是否安装了 Windows Server 2008 的 32 位或 64 位 bersion?
任何人都知道我如何拥有一个包含多个可能值的 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)
提前加油,
本
我希望能够为新网站设置 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它不是一个真正的域,而是一个假帐户上的奇怪前缀。是否有正确的方法来引用该帐户,以便我可以完成这项工作?
我打开了许多 PowerShell 窗口,其中包含特定于任务的命令历史记录。
在过去的批处理文件时代,我会使用Title finance dpt或Title Email Admin. 如何在 PS 中完成此操作?
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 选项,因为我不知道如何有效地定位/迭代,并取消已更改的机器、网络上的所有机器以及会对不必要的网络开销产生什么影响,即使它可能是最好的可用解决方案因为密码本身可以存储在 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
是否可以在 Windows 8(.1) 上从 PowerShell启用MSMQ?如果是这样,如何做到这一点?
我刚刚安装了 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 中。
我找不到任何具体信息,有人可以确认这一点。
我需要向 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 ×10
windows ×2
asp.net ×1
group-policy ×1
iis ×1
iis-7 ×1
msmq ×1
scripting ×1
windows-7 ×1
windows-8 ×1
windows-8.1 ×1
windows-xp ×1