我在stackoverflow上问过这个问题……但我想我应该在这里问:是否可以将文件或文件夹从一个位置复制到另一个位置而不修改其属性数据?
例如,如果我在网络驱动器上有一个文件夹,它是在 2/3/2007 创建的,我想将它复制到我的 c: 驱动器 .. 但将日期/时间戳保留为 2/3/2007 ...那可能吗?
每次我执行这个命令
invoke-command -computername REMOTEPC -scriptblock { import-module WebAdministration; new-item "$env:systemdrive\inetpub\testsite" -type directory; New-WebSite -Name TestSite -Port 81 -PhysicalPath "$env:systemdrive\inetpub\testsite" }
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Invalid class string (Exception from HRESULT: 0x800401F3 (CO_E_CLASSSTRING))
+ CategoryInfo : NotSpecified: (:) [Get-ChildItem], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Microsoft.PowerShell.Commands.GetChildItemCommand
Run Code Online (Sandbox Code Playgroud)
据我所知,该网站已成功创建。
以下命令在枚举 testsite 时给出相同的错误
Invoke-Command -computername REMOTEPC { import-module webadministration; dir -path IIS:\Sites\ }
Name ID State Physical Path Bindings PSComputerName
Default Web Site 1 Started http *:80: REMOTEPC
Invalid class string (Exception from HRESULT: 0x800401F3 (CO_E_CLASSSTRING))
+ CategoryInfo : …Run Code Online (Sandbox Code Playgroud) 你好,
我正在玩 Powershell(相对 NewBie),我正在寻找从另一个脚本中调用具有提升权限的 Powershell 脚本的最简单方法。
我知道 start-process 的 runas 动词,它允许我使用不同的帐户启动一个新脚本。然而,我的问题是,在 Vista(UAC 活动)下,每个管理员帐户都有两个访问令牌,一个是普通权限,一个是提升权限。
如果我使用 runas 方法,第二个脚本将在正确的帐户下启动,但使用非提升的访问令牌。有没有简单的方法来控制这个?
非常感谢你的帮助!
乌尔里希
我希望从命令行让用户拥有运行服务的最低权限。cmd.exe 或 powershell.exe 都是选项,但 cmd.exe 更可取。到目前为止,我得到了这个:
net user /add testUser227e5910-d1ac-11df-bd3b-0800200c9a66
net localgroup Users testUser /delete
Run Code Online (Sandbox Code Playgroud)
下一步是授予此用户“作为服务登录”的权限。我似乎无法弄清楚如何做到这一点。这是一篇博客文章,所以我想要一个适用于 Windows XP、2003、2008、2008R2、Vista 和 Windows 7 的解决方案。
是否可以使用 powershell 在 Windows Server 2008 R2 中安装 SSL 证书?
如果不是,是否可以使用 cmd 命令行?
我现在正在用 mmc 做这件事,但用 PowerShell 做这件事会很好。
powershell windows-server-2008 command-line-interface windows-server-2008-r2
我刚刚编写了一个快速的小 PowerShell 脚本,以使我的生活更轻松地完成我面临的任务。我认为把它放在互联网上会很好,其他人可能也会发现它有用。麻烦的是,为我的小脚本打开一个新的 CodePlex 或 SourceForge “PROJECT”感觉有点过分了。
是否有类似的站点用于共享或开源脚本?
这是我得到的 UNC 路径。\\sharespace\test1\10.0.1212.1
我可以得到它的父路径\\sharespace\test1\吗?
如果我在不同的机器上有多个 Powershell Prompts,它会变得混乱。虽然命令提示都显示了我所在的机器,但我试图找到一个解决方案,将标题栏更改为我连接的机器。
或者我愿意接受任何其他建议。
我们部门正在实施一项新的管理政策:我们支持的部门中的每个人都将获得对其计算机的管理员访问权限。我们需要知道(当我们在这个部门执行这个“试点计划”政策时)谁在任何机器上登录,以及他们什么时候登录。那么我如何(使用 powershell 脚本、cmd 脚本或其他自动方式)找出谁登录到给定的 Windows 7 或 XP 机器?
powershell windows-7 windows-xp logging windows-command-prompt
假设我在 Exchange 中有一个当前存在的通讯组,并且拥有大约 20 个成员。
在PowerShell中2,我已经获得约七名单百需要添加到组谁更多的人。我能够做到这一点的唯一方法是一次一个用户:
Add-DistributionGroupMember -Idneity GROUP-NAME -Member Member1
Add-DistributionGroupMember -Idneity GROUP-NAME -Member Member2
....
Add-DistributionGroupMember -Idneity GROUP-NAME -Member MemberN
Run Code Online (Sandbox Code Playgroud)
是否有一种机制可以让我只用一个函数调用添加所有用户,如以下伪代码所示?
SOME-CMDLET-TO-ADD-LOTS-AT-ONCE -Identity GROUP-NAME -Member COLLECTION-OF-PEOPLE
Run Code Online (Sandbox Code Playgroud)
我不是在寻找循环结构。我正在寻找一个函数或 cmdlet,它可以一次添加所有成员,理想情况下只使用一个引用整个列表的参数。我不敢想象 Powershell 会用 700 多个命令行参数做什么……
(我希望如果可能的话,我可以传递要添加的数组或对象集合。)
有什么建议?我没有看到名为“set-distributiongroupmember”的命令,而且在“set-distributiongroup”中也看不到任何有希望的东西。
powershell ×10
windows ×2
bash ×1
copy ×1
iis ×1
logging ×1
open-source ×1
scripting ×1
share ×1
uac ×1
web-server ×1
windows-7 ×1
windows-xp ×1